汇编语言习题1_第1页
汇编语言习题1_第2页
汇编语言习题1_第3页
汇编语言习题1_第4页
汇编语言习题1_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章第四章第五章第六章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]

(3)MOVBH,CS:[SI]

3.15已知:BX=1234H,BP=5678H,SI=1357H,DS=0925H,SS=0468H,CS=4B10H。指出下述指令中存储器操作数的有效地址和实际地址。

解:该指令的源操作数为存储器操作数,其寻址方式为基址寻址,故有效地址为BP的内容5678H。操作数所处段为隐含段堆栈段,故段基址为04680H,所以实际地址=段基址+有效地址=04680H+5678H=09CF8H。解:该指令的源操作数为存储器操作数,其寻址方式为寄存器间接寻址,故SI的内容1357H即为有效地址。操作数所处段为代码段,故段基址为4B100H,所以实际地址=段基址+有效地址=4B100H+1357H=4C457H。(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.DATA DB 10,20,30,40,50ENTER DW 3 : :MOV BX,OFFSETDATAADD BX,ENTERMOV AX,[BX]

AX=

3228H0AH14H1EH28H32H03H00HDATAENTER已知数据定义如下,则给定的程序段执行后,寄存器AX的内容是多少?2.DATA DW 10,20,30,40,50ENTER DW 3 : :MOV BX,OFFSETDATAMOV SI,ENTERMOV AX,[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)=1234H

26H37H: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,BX 1334H000000

(2)SUBBH,CL 0FFH010111

(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

SHRBH,100H00111SARSI,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,CL

5.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,AHB6B5B4B3B2B1B00B7CFALB7XXXXXXXAHB5B4B3B2B1B000B6CFALB6B7XXXXXXAHB4B3B2B1B0000B5CFALB5B6B7XXXXXAH解:MOVCL,iMOVBL,03HSHLBL,CLANDAL,BLNOTBLANDMEM,BLORMEM,AL

5.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,AH10000

0DH(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;改为MAXDW0在第8行和第9行之间应插入如下语句:START:MOVAX,SEGAMOVDS,AX MOVAX,DAX;DAX改为DAY;JG改为JA;ZERO改为ZERO:;改为CSEGENDSC>DEBUGEXAM.EXE-RAX=023ABX=0000CX=0045DX=0000SP=FFFEBP=0000SI=0000DI=0000DS=0913ES=0913SS=0913CS=0913IP=0000......-EDS:00913:000059646570045-U30913:0003BE0000MOVSI,000913:00068A04MOVAL,[SI]0913:0008024401ADDAL,[SI+1]0913:000B7906JNS130913:000DF6D8NEGAL0913:000F884402MOV[SI+2],AL0913:0012CCINT30913:0013-G=313AX=

BX=

SI=

DDS:07

:

6.12下面一段信息是用DEBUG命令的结果,填充空白处的内容:02130000000009130000965713BE00008A04

解答这类问题,首先必须明确每一个DEBUG命令的意义以及可以从该命令的显示结果中获得哪些必要的信息。就本题而言,可以从R命令的显示结果中得到我们所需要的某些寄存器的内容。而从E命令的显示结果中可知0913段中0号到2号单元的内容分别为96,57,45。U命令是反汇编命令,其显示结果可分为4部分,其中第一列的内容为当前代码段段基址的高16位,第二列的内容为对应的语句在当前代码段中的偏移地址,第三列的内容为与汇编语句相对应的机器指令,第四列的内容为可执行的汇编语句。G命令是执行命令,等号后面的地址为起始地址,未加等号的地址为断点地址。所以此程序段从地址0913:0003所标识的语句开始执行,当指令指针IP的值为0013时,停止执行程序。因此,各个空的内容分别为:6.12下面一段信息是用DEBUG命令的结果,填充空白处的内容:02130000000009130000965713BE00008A04

AX

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论