为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

微机原理第3章习题ppt课件

2021-01-15 39页 ppt 283KB 8阅读

用户头像 个人认证

精品课件

暂无简介

举报
微机原理第3章习题ppt课件第三章习题3.1什么叫寻址方式?8086/8088CPU共有哪几种寻址方式?(略)3.2设(DS)=6000H,(ES)=2000H,(SS)=1500H,(SI)=00A0H,(BX)=0800H,(BP)=1200H,数据变量VAR为0050H。请分别指出下列各条指令源操作数的寻址方式?它的物理地址是多少?(1)MOVAX,BX(2)MOVDL,80H(3)MOVAX,VAR(4)MOVAX,VAR[BX][SI](5)MOVAL,‘B’(6)MOVDI,ES:[BX](7)MOVDX,[BP](8)MOVBX,20H[B...
微机原理第3章习题ppt课件
第三章习3.1什么叫寻址方式?8086/8088CPU共有哪几种寻址方式?(略)3.2设(DS)=6000H,(ES)=2000H,(SS)=1500H,(SI)=00A0H,(BX)=0800H,(BP)=1200H,数据变量VAR为0050H。请分别指出下列各条指令源操作数的寻址方式?它的物理地址是多少?(1)MOVAX,BX(2)MOVDL,80H(3)MOVAX,VAR(4)MOVAX,VAR[BX][SI](5)MOVAL,‘B’(6)MOVDI,ES:[BX](7)MOVDX,[BP](8)MOVBX,20H[BX]解:(1)寄存器寻址无物理地址(2)立即寻址无物理地址(3)立即寻址无物理地址(4)基址-变址-相对寻址PA=(DS)×10H+VAR+(BX)+(SI)=608F0H(5)立即寻址无物理地址(6)寄存器间接寻址PA=(ES)×10H+(BX)=20800H(7)寄存器间接寻址PA=(SS)×10H+(BP)=16200H(8)寄存器相对寻址PA=(DS)×10H+(BX)+20H=60820H3.3假设(DS)=212AH,(CS)=0200H,(IP)=1200H,(BX)=0500H,位移量DATA=40H(217A0H)=2300H,(217E0H)=0400H,(217E2H)=9000H,试确定下列转移指令的转移地址。(1)JMP2300H(2)JMPWORDPTR[BX](3)JMPDWORDPTR[BX+DATA]解:(1)JMP2300H段内直接转移PA=(CS)×10H+(IP)+2300H=05500H(2)JMPWORDPTR[BX]段内间接转移PA=(CS)×10H+[BX]=0200H+(217A0H)=04300H(3)JMPDWORDPTR[BX+DATA]段间间接转移PA=[BX+DATA]=(217E2H)×10H+(217E0H)=90000H+0400H=90400H3.4试说明指令MOVBX,5[BX]与指令LEABX,5[BX]的区别。答:①MOVBX,5[BX]是数据传送类指令,示将数据段中以(BX+5)为偏移地址的16位数据送寄存器BX中。②LEABX,5[BX]是取偏移地址指令,结果为(BX)=(BX)+5,即操作数的偏移地址为(BX)+53.5设堆栈指针SP的初值为2300H,(AX)=50ABH,(BX)=1234H。执行指令PUSHAX后,(SP)=?,再执行指令PUSHBX及POPAX之后,(SP)=?(AX)=?(BX)=?解:执行指令PUSHAX后,(SP)=22FEH执行指令PUSHBX及POPAX之后,(SP)=22FEH,(AX)=(BX)=1234H3.6指出下列指令的错误。(1)MOVAH,CX类型不匹配或两操作数字长不相等(2)MOV33H,AL立即数不能做目的操作数(3)MOVAX,[SI][DI]两变址寄存器不能同时使用(4)MOV[BX],[SI]两操作数不能同时为存储器操作数(5)ADDBYTEPTR[BP],256两操作数类型不匹配(6)MOVDATA[SI],ES:AX源操作数形式错,寄存器操作数不加段重设符(7)JMPBYTEPTR[BX]转移地址的字长至少应是16位(8)OUT230H,AX对I/O指令,端口地址超过8位,必须采用间接寻址(9)MOVDS,BP正确(10)MUL39HMUL指令中操作数不能为立即数3.7已知(AL)=7BH,(BL)=38H,试问执行指令ADDAL,BL后,AF、CF、OF、PF、SF和ZF的值各为多少?解:(AL)=B3HAF=1,CF=0,OF=1,PF=0,SF=1,ZF=03.8试比较无条件转移指令、条件转移指令、调用指令和中断指令有什么异同?(略)3.9试判断下列程序执行后,BX中的。MOVCL,3MOVBX,0B7HROLBX,1RORBX,CL解:该程序是首先将BX内容不带进位循环左移1位,再循环右移3位,即相当于将BX内容不带进位循环右移2位,所以结果为(BX)=C02DH3.10按下列写出相应的指令或程序段(1)写出两条使AX内容为0的指令;MOVAX,0XORAX,AXANDAX,0SUBAX,AX(2)使BL寄存器中的高4位和低4位互换;MOVCL,4ROLBL,CL或RORBL,CL(3)屏蔽CX寄存器的b11、b7和b3位;ANDCX,0F777H(4)测试DX中的b0和b8位是否为1。TESTDX,0101H3.11分别指出以下两个程序段的功能。(1)MOVCX,10LEASI,FIRSTLEADI,SECONDSTDREPMOVSB将数据段中FIRST为最高地址的10个字节数据按减地址方向传送到附加段SECOND为最高地址的向前10个单元中。(2)CLDLEADI,[1200H]MOVCX,0F00HXORAX,AXREPSTOSW将附加段中偏移地址为1200H单元开始的0F00H个字单元清零。3.12执行以下两条指令后,标志寄存器FLAGS的六个状态位各为什么状态?MOVAX,84A0HADDAX,9460H解:(AX)=1900H在两个16位数进行加法运算时,对CF、ZF、SF、OF会产生影响,但对PF和AF标志位,只有其低8位运算影响它们的状态。AF=0,PF=1,CF=1,ZF=0,SF=0,OF=13.13将+46和-38分别乘以2,可应用什么指令来完成?如果除以2呢?解:①将+46和-38分别乘以2,可分别用逻辑左移指令SHL和算术左移指令SAL完成。SHL针对无符号数,SAL针对有符号数,也可用MUL(无符号数)和IMUL(有符号数)②除以2,用SHR或DIV实现+46/2,用SAR或IDIV实现-38/2。3.14已知AX=8060H,DX=03F8H,端口PORT1的地址是48H,内容为40H;PORT2的地址是84H,内容为85H。请指出下列指令执行后的结果。(1)OUTDX,AL将60H输出到地址为03F8H的端口中(2)INAL,PORT1从PORT1读入一字节数据,则(AL)=40H(3)OUTDX,AX将AX=8060H从地址为03F8H的端口输出(4)INAX,48H由48H端口读入16位的数据(5)OUTPORT2,AX将8060H从地址为84H的端口输出3.15试编写程序,统计BUFFER为起始地址的连续200个单元中0的个数。解:LEASI,BUFFERMOVCX,200XORBX,BXAGAIN:MOVAL,[SI]CMPAL,0JNEGOONINCBXGOON:INCSILOOPAGAINHLT3.16写出完成下述功能的程序段。(1)从地址DS:0012H中传送一个数据56H到AL寄存器。MOVDS:BYTEPTR[0012H],56HMOVAL,[0012H](2)将AL中的内容左移两位。MOVCL,2SHLAL,CL(3)AL的内容与字节单元DS:0013H中的内容相乘。MULDS:BYTEPTR[0013H](4)乘积存入字单元DS:0014H中。MOVDS:[0014H],AX3.17若(AL)=96H,(BL)=12H,在分别执行指令MUL和IMUL后,其结果是多少?OF=?CF=?解:①执行MULBL后(AX)=0A8CH,CF=OF=1②执行IMULBL后(AX)=F88CH,CF=OF=1补充作业1.系统有一个堆栈段区,其地址为1250H:0000H—1250H:0100H,(SP)=0052H,则计算以下数值(1)栈顶物理地址(2)栈底物理地址(3)堆栈段寄存器SS中的段地址(4)若把数据3456H存入,此时SP的值解:(1)栈顶地址:逻辑地址为1250H:0052H物理地址为1250H×16+0052H=12552H(2)栈底地址:逻辑地址为1250H:0100H物理地址为1250H×16+0100H=12600H(3)段寄存器:(SS)=1250H(4)若把数据3456H存入,此时(SP)=0050H2.已知(DS)=3000H,(BX)=1000H,(DI)=0020H,MASK=0300H,内存分配如图所示。连续执行下列指令后,DS,SI,DI,AX的内容是什么?标志位状态如何?LEASI,MASK[BX+DI]MOVAX,[SI]LDSDI,[BX+SI]SUBAX,76EBH解:(1)LEASI,MASK[BX+DI],这条指令传送的是源操作数的有效地址而不是内容,(SI)=MASK+(BX)+(DI)=0300H+1000H+0020H=1320H(2)MOVAX,[SI],这条指令传送的是源操作数的有效地址的内容,源操作数的物理地址PA=(DS)×16+(SI)=31320H,则(AX)=1322H(3)LDSDI,[BX+SI],其源操作数的物理地址PA=(DS)×16+(SI)+(BX)=30000H+1320H+1000H=32320H则(DS)=2000H,(DI)=1000H(4)(AX)=1322H,执行SUBAX,76EBH后,(AX)=1322H-76EBH=9C37H标志位状态分别为:CF=1,SF=1,ZF=0,OF=0,PF=0,AF=1补充习题1.一个有16个字的数据区,起始地址为70A0H:DDF6H,则这个数据区末字单元的物理地址是()(A)7E815H(B)7E816H(C)7E814H(D)7E7F8H2.已知(BL)=6FH,执行TESTBL,8FH后,(BL)=()(A)0FH(B)6FH(C)0(D)EFH3.读程序回答问题XORAX,AXMOVBX,1MOVCX,5LOP:ADDAX,BXINCBXINCBXLOOPLOPHLT上述程序段执行后,(AX)=25,(BX)=114.在程序运行过程中,确定下一条指令的物理地址的计算表达式是()(A)(CS)×10H+(IP)(B)(DS)×10H+(DI)(C)(SS)×10H+(SP)(D)(ES)×10H+(SI)5.设(SS)=2000H,则下列程序执行后,(SP)=(),(AL)中数据在内存地址()中,(AH)中数据在内存地址()中。MOVSP,2000HMOVAX,1234HPUSHAX:1FFEH,21FFEH,21FFFH6.有如下程序段MOVAX,1234HMOVBX,5678HADDAL,BLDAA;(AL)=12H,CF=1MOVCL,ALMOVAL,AHADCAL,BHDAA;12H+56H+CF=69H执行程序后,(AL)=69H,(CL)=12H7.寄存器间接寻址时,操作数在()中(A)寄存器(B)存储器(C)堆栈区(D)累加器8.执行返回指令,退出中断服务程序,这时返回地址来自()(A)ROM区(B)程序计数区(C)堆栈区(D)CPU的暂存寄存器9.读程序回答问题MOVAX,1234HMOVCL,4ROLAX,CLDECAXMOVCX,4MULCXHLT执行后,(AH)=8DH,(AL)=00H10.下面程序段中,当满足条件转到NEXT标号执行时,(AL)的值正确的是()CMPAL,0FBHJNBNEXT……NEXT:(A)80H(B)8FH(C)F0H(D)FEH答案:SP=1FFEH,AX=00F0HDX=ACF0H,DI=1234H,CF=0,ZF=0MOVSP,2000HMOVAX,00F0HMOVSI,1234HMOVDX,5678HPUSHSIPOPDISHLDX,1TESTAX,DXPUSHDX11.执行下列程序后,SP=?AX=?DX=?DI=?标志位CF=?ZF=?12.交换SI、DI的内容,正确程序段是(AC)(A)PUSHSI(B)PUSHSIPUSHDIPUSHDIPOPSIPOPDIPOPDIPOPSI(C)MOVAX,SI(D)MOVAX,SIMOVSI,DIMOVBX,DIMOVDI,AXXCHGBX,AX13.完成41H送[2100H],42H送[2101H]的正确程序段是(A)(A)MOVAX,4241HMOV[2100H],AX(B)MOVAX,‘AB’MOV[2100H],AX14.下列程序段执行后,(BX)=?MOVCL,7MOVBX,8016HSHRBX,CL答案:0100H15.假设(SP)=0100H,(SS)=6000H,执行POPAX指令后,栈顶的物理地址是多少?答案:60102H16.近过程NEAR的RET指令把当前栈顶的一个字弹出到(IP),远过程FAR的RET指令弹出一个字到(IP)后又弹出一个字到(CS),IRET指令是(中断返回),从堆栈顺序弹出三个字分别送到(IP)、(CS)和(FLAGS)中。17.程序段如下:MOVAX,0405HMOVBL,06HAADDIVBL执行后,(AX)=?答案:0307H18.AX和CX中内容为无符号数,BX和DX中内容为带符号数,试用CMP指令和条件转移指令,实现以下判断。(1)若AX超过CX,则转至BIGERCMPAX,CXJABIGER(2)若BX超过DX,则转至BIGERCMPBX,DXJGBIGER(3)若AX小于CX,则转至LESSCMPAX,CXJBLESS(4)若BX小于DX,则转至LESSCMPBX,DXJLLESS(5)若AX=CX,则转至EQUALCMPAX,CXJE/JZEQUAL
/
本文档为【微机原理第3章习题ppt课件】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
热门搜索

历史搜索

    清空历史搜索