微机原理与接口技术-张颖超-叶彦斐-第3章-习题答案.doc
文本预览下载声明
PAGE
PAGE 3
习题
指出下列指令中操作数的寻址方式
(1) MOV BX, 20H (2) MOV AX, [1245H]
(3) MOV DX, [SI] (4) MOV 100[BX], AL
(5) MOV [BP][SI], AX (6) MOV [BX+100][SI], AX
(7) MOV [1800H], AL (8) MOV [SI], AX
答:
源操作数
目的操作数
1
立即寻址
寄存器寻址
2
直接寻址
寄存器寻址
3
寄存器间接寻址
寄存器寻址
4
寄存器寻址
寄存器相对寻址
5
寄存器寻址
基址加变址寻址
6
寄存器寻址
相对基址加变址寻址
7
寄存器寻址
直接寻址
8
寄存器寻址
寄存器间接寻址
2. 判断下列操作数寻址方式的正确性,对正确的指出其寻址方式,错误的说明其错误原因:
(1) [AX] (2) [SI+DI]
(3) BP (4) BH
(5) DS (6) [BL+44]
(7) [BX+BP+32] (8) [DX]
(9) [CX+90] (10) [BX*4]
(11) BX+90H (12) SI[100H]
答:
(1) 错误,AX不能用于访问内存单元
(2) 错误,两个变址寄存器SI和DI不能同时用于内存单元的有效地址
(3) 正确,寄存器寻址方式
(4) 正确,寄存器寻址方式
(5) 正确,寄存器寻址方式
(6) 错误,寄存器BL不能用于表示内存单元的有效地址
(7) 错误,BX和BP都是基址寄存器,不能同时用于内存单元的有效地址
(8) 错误,DX不能用于表示内存单元的有效地址
(9) 错误,CX不能用于表示内存单元的有效地址
(10)错误,16位寄存器不能乘以比例因子
(11) 错误,没有这样的寻址方式
(12) 错误,书写方式不对,应该写成100H[SI]
3. 已知DS=2000H,ES=1000H,SS=1010H,SI=1100H,BX=0500H,BP=0200H,请指出下列源操作数字段是什么寻址方式?源操作数字段的物理地址是多少?
(1) MOV AL, [2500H]
(2) MOV AX, [BP]
(3) MOV AX, ES:[BP+10]
(4) MOV AL, [BX+SI+20]
答:
源操作数属于直接寻址,物理地址=DS?16+2500H=20000H+2500H=22500H;
源操作数属于寄存器间接寻址,物理地址=SS?16+(BP)=10100H+0200H=10300H
源操作数属于寄存器相对寻址,物理地址
=ES?16+(BP)+100=10000H+0200H+0AH=1020AH
源操作数属于基址加变址寻址,物理地址
=DS?16+(BX)+(SI)+20=20000H+0500H+1100H +14H=21614H
4. 判断下列指令的对错,如果错误请说明原因。
(1) MOV CS, BX (2) MOV CH, SI
(3) PUSH AL (4) MOV DX, [BX][ BP]
(5) MOV CH, 100H (6) XCHG BX, 3
(7) PUSH CS (8) MOV AL, [BX][SI]
答:
(1) CS不能赋值 (2) 操作数类型/长度不匹配
(3) PUSH指令的操作数必须是字 (4) 寻址方式错误,两个基址寄存器不能同时使用
(5) 100H超出了CH表示的范围 (6) 交换指令的操作数不能是立即数
(7) 正确 (8) 正确
5. 给出MOV指令执行后的结果,设有关寄存器及存储单元内容如下:
DS=2000H, ES=2200H, BX=0100H, SI=0004H, (22100H)=12H, (22101H)=34H, (22102H)=56H, (22103H)=78H, (22104H)=9AH, (22105H)=0BCH, (20100H)=1AH, (20101H)=2BH, (20103H)=3CH, (20104H)=4DH, (20105H)=5EH, (20106H)=6FH,
(1) MOV AX, ES:[BX][SI]
(2) MOV AX, BX
(3) MOV AX, [BX]
(4) MOV AX, [BX+SI]
(5) MOV AX, [BX+SI+01]
答:
(1) 物理地址=2200H?16+0
显示全部