汇编语言程序设计习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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