第二章指令系统习题
1、说明下列指令源操作数的寻址方式(1)MOVAX26立即(3)MOVAXBX寄存器(5)MOVAXESBX寄存器间接(7)MOVAXBXSI基址加变址(2)MOV(4)MOV(6)MOV(8)MOVAX26H直接AXBX寄存器间接AXSI寄存器间接AXVARBXSI相对的基址加变址
2、假定DS3000H,ES3100H,SS2800H,SI00BAH,BP1200H,BX0010H,数据段中变量VAR的偏移地址是0600H,说明下列各种源操作数的物理地址。(1)MOVAXBX;无(2)MOVAX0AHBX;3001AH(3)MOVAXBX;30010H(4)MOVAX260H;30260H(5)MOVAXBP10H;29210H(6)MOVAXESBX;31010H3、设DS3000H,BX1100H,CS0062H,SI0002H,31100H52H,31101H8FH,31162H6BH,31163H99H,31103HF6H,32200HAAH,32201HB6H,32800H55H,32801H77H,给出下列各指令执行后AX寄存器的内容。(1)MOVAXBX;1100H(2)MOVAXBX;8F52H(3)MOVAX4200H;4200H(4)MOVAX2800H;7755H(5)MOVAX1100HBX;B6AAH(6)MOVAX1160HSI;996BH4、设(AX)=11011001B,(CL)=03,(CF)=1,写出下列指令分别执行后AX中的内容(16为二进制数):(1)SARAXCL;001BH(2)SHRAX1;006CH(3)SHRAHCL;00D9H(4)RCRAX1;806CH5、分别执行下列各指令组,写出AX的内容:(1)MOVAX93A4H(2)XYDWAB6C5CH4142HNEGAXMOVAXXY(3)MOVAX2B7EH(4)XADW0BD57H7933HB945HMOVCX4DB5HMOVAX0FBCDHADDAXCXANDAXXA(5)STC(6)MOVAX238AHD010HMOVBX0B69FHMOVBX3468H8D02HMOVAX43A2HIMULBLSBBAXBX6、分析下列指令的对错,错误的请说明原因。(1)MOVDS2010H(2)PUSHAL(3)MOVDXSP(4)INAL0A00H(5)XCHGCLCH(6)SHRAX3(7)AAACX(8)ADDBPDI1000H7、设(SS)=2000H,(SP)=1000H,执行下述指令序列,画图说明SP和堆栈内容变化过程的示意图,并在分号后面标出(AX)(SP)(,,(SP))的内容。MOVAX80AAH
1
fPUSHMOVPUSHMOVADDPOP8、
AXAX0A35HAXBPSPWORDPTRBP2000HAX
80AAH,0FFEH,80AAH0A35H,0FFCH,0A35H0A35H,0FFCH,2A35H2A35H,0FFEH,80AAH
请用三种不同类型的指令将寄存器BX清零。MOVBX,0;XORBX,BX;SUBBX,BX9、写出程序段把DX,AX中双字类型的数据算术右移4位,若DX,AX的初始内容分别是80F2H和9822H,那么该程序段完成后DX,AX的内容各是多少?MOVCX,4NEXT:SARDX,1RCRAX,1LOOPNEXT(DX)F80FH,(AX)2982H10、读程序段,回答问题。1INAL82H2INAL82HXORAHAHMOVBL0AHADDAXAXIMULBLMOVBXAXMOVCX2SHLBXCLADDAXBX问:1程序段(1)的功能是什么?输入82H端口的内r