您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 东北大学汇编语言习题课
习题课第三章第四章第五章第六章第七章第八章第十二章3.15已知:BX=1234H,BP=5678H,SI=1357H,DS=0925H,SS=0468H,CS=4B10H。指出下述指令中存储器操作数的有效地址和实际地址。解答这类问题,首先要明确哪一个操作数是存储器操作数,进而确定其寻址方式,并根据寻址方式计算有效地址。要计算实际地址,则必须明确操作数处于哪一个逻辑段中,再根据相应段寄存器的内容得到段基址,加上有效地址即为实际地址。(1)MOVAL,[BX]解:该指令的源操作数为存储器操作数,其寻址方式为寄存器间接寻址,故BX的内容1234H即为有效地址。操作数所处段为隐含段数据段,故段基址为09250H,所以实际地址=段基址+有效地址=09250H+1234H=0A484H。(2)MOVAH,[BP]解:该指令的源操作数为存储器操作数,其寻址方式为基址寻址,故有效地址为BP的内容5678H。操作数所处段为隐含段堆栈段,故段基址为04680H,所以实际地址=段基址+有效地址=04680H+5678H=09CF8H。(3)MOVBH,CS:[SI]解:该指令的源操作数为存储器操作数,其寻址方式为寄存器间接寻址,故SI的内容1357H即为有效地址。操作数所处段为代码段,故段基址为4B100H,所以实际地址=段基址+有效地址=4B100H+1357H=4C457H。3.15已知:BX=1234H,BP=5678H,SI=1357H,DS=0925H,SS=0468H,CS=4B10H。指出下述指令中存储器操作数的有效地址和实际地址。(4)MOVDL,[SI+10H]解:该指令的源操作数为存储器操作数,其寻址方式为变址寻址,故有效地址为SI的内容1357H+10H=1367H。操作数所处段为隐含段数据段,故段基址为09250H,所以实际地址=段基址+有效地址=09250H+1367H=0A5B7H。(5)MOVCH,[BP+20H]解:该指令的源操作数为存储器操作数,其寻址方式为基址寻址,故有效地址为BP的内容5678H+20H=5698H。操作数所处段为隐含段堆栈段,故段基址为04680H,所以实际地址=段基址+有效地址=04680H+5698H=09D18H。3.15已知:BX=1234H,BP=5678H,SI=1357H,DS=0925H,SS=0468H,CS=4B10H。指出下述指令中存储器操作数的有效地址和实际地址。(6)MOVCL,SS:[SI+50H]解:该指令的源操作数为存储器操作数,其寻址方式为变址寻址,故有效地址为SI的内容1357H+50H=13A7H。操作数所处段为堆栈段,故段基址为04680H,所以实际地址=段基址+有效地址=04680H+13A7H=05A27H。(7)MOVBL,DS:[BP+30H]解:该指令的源操作数为存储器操作数,其寻址方式为基址寻址,故有效地址为BP的内容5678H+30H=56A8H。操作数所处段为数据段,故段基址为09250H,所以实际地址=段基址+有效地址=09250H+56A8H=0E8F8H。3.15已知:BX=1234H,BP=5678H,SI=1357H,DS=0925H,SS=0468H,CS=4B10H。指出下述指令中存储器操作数的有效地址和实际地址。(8)MOV[BP+SI+30H],AL解:该指令的目标操作数为存储器操作数,其寻址方式为基址变址寻址,故有效地址为5678H+1357H+30H=69FFH。操作数所处段为隐含段堆栈段,故段基址为04680H,所以实际地址=段基址+有效地址=04680H+69FFH=0B07FH。(9)MOV[BX+SI-40H],AH解:该指令的目标操作数为存储器操作数,其寻址方式为基址变址寻址,故有效地址为1234H+1357H-40H=254BH。操作数所处段为隐含段数据段,故段基址为09250H,所以实际地址=段基址+有效地址=09250H+254BH=0B79BH。3.15已知:BX=1234H,BP=5678H,SI=1357H,DS=0925H,SS=0468H,CS=4B10H。指出下述指令中存储器操作数的有效地址和实际地址。(10)MOVCS:[BX+SI],DH解:该指令的目标操作数为存储器操作数,其寻址方式为基址变址寻址,故有效地址为1234H+1357H=258BH。操作数所处段为代码段,故段基址为4B100H,所以实际地址=段基址+有效地址=4B100H+258BH=4D68BH。3.15已知:BX=1234H,BP=5678H,SI=1357H,DS=0925H,SS=0468H,CS=4B10H。指出下述指令中存储器操作数的有效地址和实际地址。1.DATADB10,20,30,40,50ENTERDW3::MOVBX,OFFSETDATAADDBX,ENTERMOVAX,[BX]AX=3228H0AH14H1EH28H32H03H00HDATAENTER已知数据定义如下,则给定的程序段执行后,寄存器AX的内容是多少?2.DATADW10,20,30,40,50ENTERDW3::MOVBX,OFFSETDATAMOVSI,ENTERMOVAX,[BX+SI]AX=1E00H0AH00H14H00H1EH00H28H00H32H00H03H00HDATAENTER已知数据定义如下,则给定的程序段执行后,寄存器AX的内容是多少?(1)MOVAX,BX(2)MOVDL,CH(3)MOVAX,[SI](4)MOVAL,[SI+1](5)MOVBX,[SI-100H](6)MOVDX,-200H[BX][SI](7)MOV[BX][SI],CX(8)MOV[BX],AX;AX=100H;DL=03H;AX=6978H;AL=69H;BX=3726H;DX=3726H;(3505H)=0302H;(100H)=1234H26H37H:78H69H:A6H35H3305H3306H:3405H3406H:3505H3506H5.5已知:AX=1234H,BX=100H,CX=0302H,SI=3405H,CF=1,当前数据段中(3305H)=26H,(3306H)=37H,(3405H)=78H,(3406H)=69H,(3505H)=35A6H,DX=3205H,指出下述各条指令执行后目标地址中的数值。5.6条件同上题,指出下述指令执行后的结果和标志位状态。(AX=1234H,BX=100H,CX=0302H,SI=3405H,CF=1)26H37H:78H69H:A6H35H3305H3306H:3405H3406H:3505H3506H指令结果OFSFZFAFPFCF(1)ADDAX,BX1334H000000(2)SUBBH,CL0FFH010111(3)CMPAL,[SI-100H]34H000100(4)ANDAL,[SI][BX]24H000×10(5)NOTBX0FEFFH标志位不受影响(6)ORBL,CH03H000×10(7)ADD[SI][BX],AX47DAH000000(8)XORAH,AH00H001×10注:这里×表示状态不确定5.7条件同5.5题,指出下述移位指令执行后目标地址中的内容及标志位状态。(AX=1234H,BX=100H,CX=0302H,SI=3405H,CF=1)26H37H:78H69H:A6H35H3305H3306H:3405H3406H:3505H3506H指令结果OFSFZFPFCF(1)SHRBH,100H00111(2)SARSI,CL0D01H00000(3)RORCH,181H11(4)ROLBX,CL0400H00(5)SALAX,CL48D0H00000(6)SARBYTEPTR[SI],CL1EH00010(7)RCRBYTEPTR[BX][SI],10D3H00(8)SHLWORDPTR[SI],10D2F0H11010注:这里×表示状态不确定,空白表示不受影响。5.8编写完成下列功能的小程序段。(1)将寄存器AL的第3,4位变反,其余位保持不变。解:XORAL,18H(2)将寄存器AL的第3,4位清零,其余位保持不变。解:ANDAL,0E7H(3)将寄存器AL的第3,4位置1,其余位保持不变。解:ORAL,18H(4)DX和AX联合存放一个32位整数(DX存放高16位),将该数据逻辑左移一位。解:SHLAX,1RCLDX,1(5)内存单元MEMB存放着一个8位的数据,将它的高4位和低4位互换。解:MOVCL,4RORMEMB,CL5.8编写完成下列功能的小程序段。解:SHLAL,1RCRAH,1SHLAL,1RCRAH,1SHLAL,1RCRAH,1SHLAL,1RCRAH,15.9编制程序将AL中的第7位和第0位,第6位和第1位,第5位和第2位,第4位和第3位互换。SHLAL,1RCRAH,1SHLAL,1RCRAH,1SHLAL,1RCRAH,1SHLAL,1RCRAH,1MOVAL,AHB6B5B4B3B2B1B00B7CFALB7XXXXXXXAHB5B4B3B2B1B000B6CFALB6B7XXXXXXAH解:MOVCL,iMOVBL,03HSHLBL,CLANDAL,BLNOTBLANDMEM,BLORMEM,AL5.10编制程序将AL中的第i,i+1位写入MEM单元的第i,i+1位,其它位的内容不变。指令OFSFZFPFCF目标地址内容(1)ADDAL,BL110100A5H(2)SUBAH,BL1001053H(3)NEGBH1100180H(4)SARAH,1010010C2H(5)ANDAL,BL0000032H5.20对于下述指令,当AX=8573H,BX=8032H时,写出各指令执行后标志位的状态及目标地址内容。指令OFSFZFPFCF目标地址内容(1)ADDAX,BX110009880H(2)SUBAL,AH100000DH(3)CMPAL,BH1000080H(4)NEGBL0011000H(5)ANDAL,BH0011000H(6)ORAL,AH010100F3H(7)SHLAL,11011100H6.1已知AX=7380H,BX=2500H,写出下述每条指令执行后OF,SF,ZF,PF,CF的状态和目标地址的内容。指令OFSFZFPFCF目标地址内容(8)SHLBL,10011000H(9)SARAL,1010100C0H(10)ROLAH,1100E6H(11)ROLAL,11101H(12)RORBH,11192H(13)ADDAH,AH110000E6H(14)ADDAH,BH1100098H6.1已知AX=7380H,BX=2500H,写出下述每条指令执行后OF,SF,ZF,PF,CF的状态和目标地址的内容。指令OFSFZFPFCF目标地址内容(15)SUBAL,BH100005BH(16)MULBH111280H(17)IMULBX1110B18000H(18)XORBH,AH0001056H(19)NEGAL1100180H(20)SHRAH,10001139H(21)RORAH,111B9H注:这里空白表示不受影响。6.1已知AX=7380H,BX=2500H,写出下述每条指令执行后OF,SF,ZF,PF,CF的状态和目标地址的内容。1.SEGASEGMENT2.DAX:DW2003.DAYDB1000H4.MAXDB0,05.SEGAENDS6.CSEGSEGMENT7.ASSUMECS:CSEG8.ASSUMEDS:SEGA9.CMPAX,DAX10.JGXGY11.JZZERO12.MOVAX,DAY13.XGY:MOVMAX,AX14.ZEROHLT15.ENDS16.ENDSTART6.9下列程序有错,请将它们找出来。已知程序欲完成的功能是从两个无符号数中选出较大者送入MAX单元,若二者相同,将MAX清0。;应将DAX:改为DAX;应将DB改为DW;改为MAXDW
本文标题:东北大学汇编语言习题课
链接地址:https://www.777doc.com/doc-4430834 .html