汇编语言程序设计第三章习题答案

第三章答案: 3.1

(1)立即数寻址 代码段 (2)寄存器寻址 数据段 (3)寄存器间址 数据段 (4)寄存器间址 数据段 (5)直接寻址 数据段 (6)直接寻址 数据段 (7)基址寻址 堆栈段 (8)直接寻址 代码段 (9)寄存器寻址 数据段 (10)变址寻址 数据段 (11)基址变址寻址 数据段 (12)基址变址寻址 堆栈段 (13)基址变址寻址 堆栈段 (14)基址变址寻址 堆栈段 3.2

(1)直接寻址 30000H+0ABCH=30ABCH (2)寄存器寻址

(3)直接寻址 30000H+2000H=32000H

(4)基址寻址 30000H+0100H+2000H=32100H (5)寄存器间址 30000H+0100H=30100H (6)寄存器间址 30000H+00A0H=300A0H (7)寄存器间址 20000+0010H=20010H

(8)基址变址寻址 20000H+0010H+2000H+00A0H=220B0H (9)基址寻址 30000H+0100H-40H=300C0H (10)变址寻址 30000H+0040H+00A0H=300E0H

(11)基址变址寻址 30000H+0100H+0100H-0040H=301C0H (12)基址变址寻址 20000H+00A0H+0100H+0010H=201B0H (13)变址寻址 30000H+2000H+0002H=32002H

(14)基址变址寻址 41000H+2000H+0100H+0002H=43102H 3.3

第一种:MOV AX,[02C0H] 第二种:MOV AX,[BP]

第三种:MOV AX,0240H[BX] 第四种:MOV AX,0100H[DI] 第五种:MOV AX,0220H[SI] (只要物理地址为095C0H即可) 3.4

(1)错,类型不匹配 (2)错,类型二义性 (3)对

(4)错,立即数不能直接送入段寄存器 (5)错,字节单元无法存放PUSH的值

(6)对 (7)对

(8)错,不能把数据从段寄存器传入段寄存器

(9)错,源操作数与目的操作数不能同时为存储器操作数 (10)错,操作数类型二义性

(11)错,XCHG指令的两个操作数都不能为立即数 (12)错,类型不匹配

(13)错,操作数类型二义性

(14)错,RCL移位不为1时,必须用CL寄存器来操作 (15)错,不能传送入段寄存器CS (16)错,目的操作数不能为立即数 (17)错,格式不正确

(18)错,变址寄存器不能使用寄存器BP (19)错,基址寄存器不能使用寄存器SI (20)错,目的操作数必须为通用寄存器 3.5 (1)(CL)=0F6H (2)(1E4F6)=5678H (3)(BX)=0056H (AX)=1E40H (4)(SI)=00F6H (DS)=1E40H (1E4F6H)=0024H (5)(CX)=00F6H (AX)=5678H (09226H)=1234H 3.6

MOV是数据传送指令,LEA是取地址指令。 MOV AX,TABLE 执行完毕后(AX)=1234H LEA AX,TABLE 执行完毕后(AX)=0032H 3.7

(1)CF=0 AF=0 ZF=1 SF=0 OF=0 (2)CF=X AF=X ZF=X SF=X OF=X (3)CF=X AF=1 ZF=1 SF=0 OF=1 3.8

(1)1200H 0464H 352FH (2)90H 0FBH (3)0FFFFH 1 (4)7E5CH 1 (5)0FFFFH 1 3.9

(1)AND DH,0F8H (2)OR DI,0F800H (3)OR AX,000FH XOR AX,0380H AND AX,1FFFH (4)STI

(5)NEG DX DEC DX

NEG AX (6)NEG B MOV AL,B SUB A,AL MOV AL,A MOV C,AL (7)OR CX,0001H (8)AND CX,FFFEH 3.10

(1)100010100101110000010010 8A5C12H

(2)00100110100010000101110000010010 24885C12H (3)100000111000001110101011000000000011011000010010 (4)1101000111TTT010

(5)1101001001TTT11100010000 (6)1111011111010111 0F7D7H (7)11111001 0F9H (8)00011111 1FH (9)00001110 0EH

8383AB003412H

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4