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

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

《汇编语言程序设计》

——王向慧马海波编著(中国水利水电出版社)

部分习题答案

(如发现错误请发送邮件到yadxty@田原)

第一章

1.1 指令:指令是规定处理器完成某种特定操作的命令代码,指令一般包含操作码和操作数两部分,操作码说明该指令的功能及所要完成的操作,操作数指出该操作对象及结果的存储位置。

程序:程序是让计算机完成某些操作、实现某种功能的有序的指令集合。

1.2 答案在书上P2 1.1.2

1.3 P4

1.4 对的,P3最上面一句话,面向机器(硬件)的低级语言。

1.5 答案:P3 表1-1上面的一段话

1.6 对

1.7 C A

1.8 B

1.9 D

1.10~1.14 略

1.15 1011+0100=1111

1010-0111=0011

1010×0101=110010

00101010÷0110=0111

1.16 略

1.17 X=40=0010 1000

Y=120=0111 1000

Z=-18=1110 1110

[X]补+[Y]补=0010 1000+0111 1000=1010 0000 溢出

[X]补+[Z]补=0010 1000+1110 1110=01001100 未溢出

[Y]补-[Z]补=0111 1000-1110 1110=1 0001 0100 溢出

[Z]补-[X]补=1110 1110-0010 1000=11000110 未溢出

1.18 A

1.19 A

1.20 B

1.21

记住:

A=41H=65

a=61H=97

0=30H=48

其他略

1.22

无符号整数8位补码整数压缩BCD码ASC码35H 53 53 35 ‘5’32H 50 50 32 ‘2’5AH 90 90 无效‘Z’72H 114 114 72 ‘r’1.23

答:

16位补码表示的整数无符号数

00FFH 255 255

FFFFH -1 65535

519H 1035 1035

11111111B -1(8位负数补码扩展到16位表示,

在原8位补码最高位前补8个1,

书上P9页中间段落)255(无符号数扩展,前面补8个0)

2.1 略

2.2 略

2.3 intel80x86系列微型机开机启动时,首先进入实模式,这种模式下可寻址的内存空间最大范围是00000H~FFFFFH,使用20根地址线。

2.4 intel80x86系列微处理器中,8086是典型的16位微处理器,它只能工作于实模式。80386是最典型的32位微处理器,有实模式、保护模式、虚拟8086模式,在保护模式下最能发挥其功能。

2.5 不能对ip指针随意读写。

2.6~2.13 A B C A D B D B

2.14 物理地址分别是:

A 31052H

B 1AF80H

C 19A10H

D 1A963H

2.15~2.19 D B C A B

2.20

ZF SF CF OF PF AF

1200+8000 0 1 0 0 1 0

9002+6FFE 1 0 1 0 1 1

5270+E990 0 0 1 0 1 1

2+22 0 0 0 0 1 0

2.21

①88H

②4422H

③44H

④12000H

因为计算机为偶地址寻址,如果使用奇地址需要两次寻址。

⑤012004H,读走后IP=0005H

3.1 略

3.2 ADD AX,BX 寄存器寻址方式

MOV CX,1970 立即寻址方式

MOV BX,[SI] 寄存器间接寻址方式

CMP BX,TABLE 直接寻址方式

CMP AX,[BP+DI] 基址变址寻址方式

CMP AX,ARRAY[BX][DI] 相对基址变址寻址方式

3.3

MOV AL,200H 两个操作数类型不一致

ADD DL,AX 两个操作数类型不一致

MOV 68,AX 立即数不能做目的操作数

MOV DS,2000H 立即数不能不能直接送段寄存器

CMP AL,WORD PTR [BX] 两个操作数类型不一致

MOV CS,BX 目的操作数不可以是段寄存器CS

DEC [SI+DI] 操作数类型不明确且寻址方式不能两个同为变址寄存器

CMP [BX],[SI] 两个操作数不能同时为存储器操作数

MOV AX,[DX] 寄存器间接寻址方式中只能使用BX、BP、SI、DI中的一个MOV DX,ES:AX AX不能作为寄存器间接寻址方式的寄存器且应该加[]。3.4

MOV AX,BX 不影响标志位

CMP AX,BX CF=0 OF=0 SF=1 ZF=0

INC BL 不影响CF OF=1 SF=0 ZF=1

JNZ LL 不影响标志位

CMP CL,-1 CF=0 OF=0 SF=0 ZF=0

ADD AL,BL CF=1 OF=1 SF=0 ZF=0

3.5

MOV AX,DS:[1126H] DS:[1126H]=13126H

MOV AX,[SI] DS:[SI]=12026H

MOV AX,[SI+6] DS:[SI+6]=1202CH

CMP AX, V ALUE[SI+BP] SS:[V ALUE+SI+BP]=30176H

INC BYTE PTR [BP] SS:[BP]=30100H

ADD DX,SS:[SI] SS:[SI]=30026H

3.6~3.10 B BC A C D

3.11

–E命令是用来显示或者修改内存单元的内容的命令。

答:因为这三个逻辑地址指向同一个物理地址120FFH,所以显示的是同一个内存单元的数据,当然完全相同。

3.12 ①该单元内容没有改变,还是00H

②81124H

③11H

相关文档
最新文档