微机原理与接口技术习题答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微机原理第三章习题与参考答案

3.1 已知 (DS) = 1000H,(ES) = 2000H,(SS) = 3000H,(SI) = 0050H,(BX) =0100H,(BP) =0200H,数据变量DISP的偏移地址为1000。指出下列指令的寻址方式和物理地址。

(1) MOV AX,0ABH 立即寻址无

(2) MOV AX,BX 寄存器寻址无

(3) MOV AX,[l000H] 直接寻址 10000H

(4) MOV AX,DATA 直接寻址 (DS*16+DATA )

(5) MOV AX,[BX] 寄存器间接寻址 10100H

(6) MOV AX,ES:[BX] 寄存器间接寻址 20100H

(7) MOV AX,[BP] 寄存器间接寻址 30200H

(8) MOV AX,[SI] 寄存器间接寻址 10050H

(9) MOV Ax,[BX+l0] 寄存器相对寻址 1010AH

(10) MOV AX,DISP[BX] 寄存器相对寻址 11100H

(1l) MOV AX,[BX+SI] 基址变址寻址 10150H

(12) MOV AX,DISP[BX][SI] 相对基址变址寻址 11150H

3.2 分别说明下例指令采用的寻址方式和完成的操作功能。

(1) MOV CX,2000H 立即寻址将立即数2000H送CX寄存器

(2) MOV DS,AX 寄存器寻址将AX寄存器内容送DS段寄存器

(3) AND CH,[1000H] 直接寻址将[DS*16+1000H]单元的内容送CH寄存器

(4) ADD [DI],BX 寄存器间接寻址将CL寄存器的内容送[DS*16+DI]单元

(5) MOV SS:[3000H],CL 直接寻址将CL寄存器的内容送[SS*16+3000H]单元

(6) SUB [BX][SI],1000H 直接寻址将立即数1000H送[DS*16+BX+SI+50H]单元

(7) ADD AX,50H[BX][SI] 相对基址变址寻址将[DS*16+BX+SI+50H]单元的内容送AX寄存器

(8) PUSH DS 寄存器寻址将DS寄存器的内容送[SS*16+SP]单元

(9) CMP [BP][DI],AL 寄存器寻址将AL寄存器的内容送[SS*16+DI+BP]单元

3.3 判断下列指令正误,如果错误请指出原因。

(1)MOV CH,2000H 错两个操作数的长度不一致

(2)XOR DL,BH 对

(3)ADD 100,AH 错目的操作数不能为立即数

(4)MOV DS,2200H 错立即数不能直接传送给段寄存器

(5)IN AL,250H 错源操作数必须为口地址

(6)MOV [BX][SI],[DI] 错两个操作数不能同时为存储器

(7) LEA AX,BL 错源操作数必须为地址标号

(8)MOV CX,ES:BX 错寄存器寻址不能用段超越前缀

3.4 设DS=1000H,SS=2000H,AX=1000H,BX=0020H,CX=2000H,BP=0002H,SI=0010H,DI=0030H,

(10050H)=0102H, (10052H)=1E40H,(1E4F6H)=091DH。试问下列各指令执行后的结果如何?

(l) MOV CL,[BX+20H][SI] CL←[DS*16+0020H+20H+0010H]=[10050H]=02H

(2) MOV [BP][DI], CX [SS*16+0002H+0030H]=[20032H]←CX

(3) MOV AX, [BX+31H] AX←[DS*16+0020H+31H]=[10051H]=4001H

(4) LDS SI, [BX] [DI] AX←[DS*16+0020H+0030H]=[10050H]=0102H

DS←[DS*16+0020H+0030H+2]=[10052H]=1E40H

(5) MOV [SI] , BX [DS*16+0010H]=[10010H] ←BX

(5) XCHG CX, [BX+32H] CX←[10052H]=1E40H [10052H]←CX=2000H

(6) XCHG [BX+21H][SI], AX AX←[10051H]=4001H [10051H]←CX=2000H

3.5 已知(DS) = 2000H, (BX) = 0100H, (SI) = 2, (20100H) = 34H, (20l01H )= 12H, (20102H) = 78H, (20103H) = 56H, (2010AH) = 0FFH, (21200H) = 2AH, (21201H) = 4CH, (2010BH) = 0,(21202H)=0B7H, (2l203H)=65H, 试说明下列各指令执行后AX寄存器的内容。

(1) MOV AX,1200H AX=1200H

(2) MOV AX,BX AX= 0100H

(3) MOV AX,[BX] AX=[ DS*16+0100H]=[20100]=1234H

(4) MOV AX,1100H[BX] AX=[ DS*16+0100H+1100H]=[21200H]=4C2AH

(5) MOV AX,[BX][SI] AX=[ DS*16+0100H+0002H]=[20102H]=5678H

(6) MOV AX,[BX+SI+1100H] AX=[ DS*16+0100H+0002H+1100H]=[21202H]=65B7H

(7) MOV AX,[1200H] AX=[ DS*16+1200H]=[21200H]=4C2AH

(8) MOV AX,[BX+10] AX=[ DS*16+0100H+0010H=[2010AH]=XXFFH

3.6 连续执行以下指令,根据指令执行结果填空。

MOV AX, 1234H AL= 34H AH= 12H CF= 0

MOV ES, AX ES= 1234H AH= 12H CF= 0

ADC AL, AH AL= 12H AH= 12H CF= 0

DEC AX, AL= 11H AH= 12H CF= 0

MOV DX, 256 DL= 00H DH= 01H CF= 0

SUB AX, DX AL= 11H AH= 11H CF= 0

3.7 已知标志寄存器各标志位为0,每条指令执行前AX=FFFFH,BX=8000H,CX=0000H,试分析单独执行下列单条指令后标志寄存器CF、AF、ZF、SF、OF的状态。

(1)MOV AX, BX CF=0、AF=0、ZF=0、SF=1、OF=0

(2)XOR AX, AX CF=0、AF=0、ZF=1、SF=0、OF=0

(3)MOV AX, 0001H CF=0、AF=0、ZF=0、SF=0、OF=0

(4)ADD AX, 00001H CF=1、AF=1、ZF=1、SF=0、OF=0

(5)MOV CX, 0FFFFH CF=0、AF=0、ZF=0、SF=1、OF=0

(6)DEC CX CF=0、AF=1、ZF=0、SF=1、OF=0

(7)MOV BX, 0 CF=0、AF=0、ZF=1、SF=0、OF=0

(8)SUB BL, 80H CF=1、AF=1、ZF=0、SF=1、OF=0

相关文档
最新文档