资源描述:
《楼第4章指令系统习题解答》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、习题解答:1、什么叫寻址方式?8086/8088CPU共有哪几种寻址方式?答:指令的寻址方式就是指获得操作数所在地址的方法。8086/8088CPU指令的寻址方式可分为8和「,为立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、基址变址相对寻址、隐含寻址。2、指出下列指令中源操作数和口的操作数的寻址方式(1)MOVAX,[SI]源操作数:寄存器寻址口的操作数:寄存器间接寻址(2)MOVDI,100源操作数:寄存器寻址口的操作数:立即寻址(3)MOV[BX],AL源操作数:寄存器间接寻址口的操作数:寄存器寻址(4)MO
2、V[BX+SI],CX源操作数:基址变址寻址口的操作数:寄存器寻址(5)ADDDX,106H[SI]源操作数:寄存器寻址口的操作数:寄存器相对寻址3、判读以下指令的对错(1)STI对(2)CALL1000H错(3)DIVAX,DL错(4)SHLAL,4错(5)POPAX对(6)INAL,[30H]错(7)INCCS错(8)OUT40H,AL对4、根据已知条件,计算划线部分的物理地址。已知:SS=1000H,ES=2000H,DS=3()()()H,CS=4000H,BX=5000H,DI=1200H,BP=2300H(1)MOVAX,「2300
3、H]计算公式:DSX16+2300H(2)MOV[BXHDI1,AX计算公式:DSX16+BX+DI(3)ADDAX,ES:「21OOH]计算公式:ESXI6+21OOH(4)SUBDX,[BP+6]计算公式:SSX16+BP+6(5)MOVAX,「DI]计算公式:DSX16+DI5、设SP初值为2400H,AX=4000H,BX=3600H,则执行指令PUSHAX后,SP=?,再执行PUSHBX和POPAX后SP=?答:则执行指令PUSHAX后,SP=2400H-2=23FEH,再执行PUSHBX和POPAX后SP=23FEHo6、依次执行M
4、OVAX,84A0H和ADDAX,9460H两条指令后,FLAGS的六个状态位齐为什么状态?答:两个16位数的加法运算不影响PF和AF的标识位状态,只影响其他4个标识位状态,CF=1,ZF=O,SF=O,OF=lo7、判断下列程序段执行后BX中的内容MOVCL,3MOVBX,0B7HROLBX,1RORBX,CL答:先将BX内容不带进位位循坏左移1位,再循环右移3位,执行后BX=0C02DHo8、说明指令MOVBX,5[BX]与指令LEABX,5[BX]的区别。答:前者数据传送类指令,表示将数据段屮以(BX+5)为偏移地址的16位数据送寄存器B
5、X,后者为取偏移地址指令,执行结果BX=BX+5o9、已知AX=8060H,DX=03F8H,端口PORT1的地址是48H,内容为40H,请指出下列指令执行后的结果。(1)OUTDX,AL将60H输出到地址为O3F8H的端口屮(2)INAL,PORT1从地址为48H的端口读入1字节的数据送给AL(3)OUTDX,AX将8060H从地址为03F8H的端口输出(4)INAX,48H从地址为48H的端口读入2字节的数据送给AX10、按耍求写指令(1)写出两条使AX内容为0的指令MOVAX,0XORAX,AX(2)使BL寄存器的高4位和低4位互换MOV
6、CL,4ROLBL,CL(3)屏蔽CX寄存器的bll、b7和b3位。ANDCX,0F777H11、指出下列指令错谋原因(1)MOVAH,CX原因:两操作数字长不等(2)MOV33H,AL原因:MOV指令不允许口标操作数是立即数(3)MOVAX,[SI+DI]原因:寄存器基址变址寻址中不允许两个寄存器都为变址(4)MOV[BX],[SI]原因:两个操作数同为存储器操作数(5)ADDBYTEPTR[BP],256原因:两操作数字长不等(6)MOVDATA[SI],ES:AX原因:源操作数未加段重设符12、若两个数比较大小,可以使用CMP指令,请说明
7、如何通过判断符号位来确定大小(包括有、无符号数)?答:CMP指令主要用来比较两个数的大小关系,可以在比较指令执行后,根据标志位的状态判断两个操作数的谁大谁小或是否相等。判断方法如下:(1)相等关系。如果ZF=1,则两个操作数相等,否则不等。(2)大小关系。分有符号数和无符号数两种情况考虑。①对两个无符号数,根据CF标志位的状态确定,若CF=O,则被减数大于减数,若CF=1,则被减数小于减数②对两个有符号数,需考虑两个数是同号述是异号。可由分析得出当OF©SF=O时,被减数大于减数,当OF©SF=1时,被减数小于减数。13、试比较调用指令和中断指
8、令有什么异同点?答:调用指令是用于调用程序小常用到的功能子程序,是在程序设计屮就设计好的。根据所调用过程入口地址的位置可将调用指令分为段内调用和段间调