IBM-PC汇编语言程序设计(第二版)课后习题答案(清华大学出版社)解析.docx
《IBM-PC汇编语言程序设计(第二版)课后习题答案(清华大学出版社)解析.docx》由会员分享,可在线阅读,更多相关《IBM-PC汇编语言程序设计(第二版)课后习题答案(清华大学出版社)解析.docx(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、IBM-PC汇编语言程序设计(第二版)课后习题答案(清华大学出版社)解析 IBM-PC汇编语言程序设计(第二版)课后习题答案(清华大学出版社) (沈美明,温冬蝉著) 第二章 1.解答:有256个 2.解答:如下图.第一个络子为000B0H字单元,注意,是字单元,第五个格子为000B3H字单元 E5 1E 3C 2A 3.解答: 30022H字节单元内容: ABH 30024H字节单元内容: EFH 30021H字单元内容: AB34H 30022H字单元内容: CDABH 4.解答: 这三个物理地址都是3017AH,说明了不同的段地址和偏移地址对应同一物理地址 5.解答: CS+IP 第一个字
2、的物理地址为: 0AAA40H 6.解答: 条件标志OF,SF,ZF,CF,的值依次为:0,0,0,0 7.下列操作可使用那些寄存器? (1)加法和减法AX,BX,CX,DX,当然,还有这几个通用寄存器的高低位了,如AH ,AL等(2)循环计数 CX (3)乘法和除法DX,AX,AH,AL (4)保存段地址CS ,DS,ES,SS (5)表示运算结果为O FLAGS (6)将要执行的指令地址IP (7) 将要从堆栈取出数据的地址BP,SP,SS 8.可以用来指示存储器地址的寄存器有:BX,SP,BP,DI,CS,DS,SI,ES,SS,IP 9.一一对应; 5-A 4-B 2-C 3-D 12
3、-E 9-F 11-G 10-H 13-I 8-J 7-K 6-L 1-M 15-N 14-O 第三章 1.(1)立即寻址没有 (2)直接寻址7237H (3)使用BX的寄存器寻址没有 (4)使用BX的间接寻址 637DH (5)使用BX的寄存器相对寻址0D5B4H (6)基址变址寻址8E18H (7)相对基址变址004FH 2.根据下列要求,写出相应的汇编指令。 (1)ADD DX,BX (2) ADD AL,BXSI (3) ADD BX0B2H, CX (4) MOV AX,2A59H ADD 0524H ,AX (5) ADD AL ,0B5H 3.(1)寄存器间接寻址 MOV BX,
4、OFFSET BLOCK0AH MOV DX ,BX (2)寄存器相对寻址 MOV SI,OAH MOV DX,BLOCKSI (3)基址变址寻址 MOV BX ,BLOCK MOV SI,OAH MOV DX,BXSI 4.现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20220)=12H,(20221)=34H,(20222)=56H,(20223)=78H,(2120 0)=2AH,(20221)=4CH,(21202)=B7H,(21203)=65H,试说明下列各条指令执行完后,AX寄存器的内容。 (1)MOV AX,1200H 1200H (2) MOV A
5、X,BX 0100H (3) MOV AX,1200 4C2AH 注意,是字单元! (4)MOV AX,BX 3412H 同上 (5)MOV 1100BX 4C2AH (6) MOV AX,BXSI 7856H (7) MOV AX,1100BXSI 65B7H 5.(1)7CD9H (2) 0600H (3)098AH 6. MOV BX,2000H LES DI ,BX MOV AX, ES:DI 7.转向地址OBJ的值分别为: (1)064DH (2)0691H (3)05E0H 注意有符号数的符号位 8. (1)MOV AX,0ABH 立即数寻址无物理地址 (2)MOV AX,BX 寄
6、存器寻址同上 (3)MOV AX,100 直接寻址 20220H (4)MOV AX,V AL 直接寻址20220H (5) MOV AX,BX 寄存器间接寻址20220H (6) MOV AX,ES:BX 直接寻址21100H (7) MOV AX,BP 寄存器间接寻址20220H (8)MOV AX,SI 同上200A0H (9) MOV AX,BX+10 寄存器相对寻址20220H (10)MOV AX,V ALBX 同上20220H (11) MOV AX,BXSI 基址变址寻址201A0H (12) MOV AX,V ALBXSI 相对基相变址寻址201F0H 9.(1)的指令:MO
7、V AX, BX0CH MOV ZREO ,AX (2)的指令:MOV AX,ARRAYBX MOV ZREO,AX 10. MOV AX,TABLE 是把符号地址TABLE里的内容送到AX里,指令执行完后,(AX)=1234H LEA AX,TABLE 是把符号地址TABLE 的有效地址(这里是偏移量)送到指定寄存器AX 里,指令执行完后,(AX)=0032H 11.执行完指令后,(AX)=1E00H 12. LEA AX,CSTRING MOV DL,AX MOV DH,AX+6 13.课本上P51-P53 14. LES BX,2000 MOV AX,ES:BX 一条指令的话为MOV A
8、X,ES:8000H 15.运算结果SF,ZF,CF,OF各位的值(从左至右依次往下) (1)74D4H 0 0 0 0 (2) A5C1H 1 0 0 1 (3) 4240H 0 0 1 0 (4) 0000H 0 1 1 0 16.接上表 (1) 5D14 0 0 0 0 (2) A870 1 0 0 1 (3) D870 1 0 0 0 (4) 34E4 0 0 1 0 17. (1)MOV AX,Z ;把Z送到AX SUB AX,X ;Z-X ADD AX,W ;W+(Z-X) MOV Z,AX ;结果保存在Z中 (2)MOV AX,R ;R送到AX中 ADD AX,9 ;R+9 MO
9、V BX,X ;X送到BX中 ADD BX,6 ;X+6 ADD AX,BX ;(R+9)+(X+6),结果保存在AX中 MOV BX,W ;W送到BX中 SUB BX,AX ;W-(R+9)-(X+6),连续减去两个数,相当于减去这两个数的和 MOV Z,BX ;最终结果送到Z中 (3) MOV AX,W ;把W送到AX IMUL X ;W*X 注意:低十六位保存在AX里,高十六位保存在DX里 MOV BX,Y ;把Y送到BX 里 ADD BX,6 ;Y+6 IDIV BX ;(W*X)/(Y+6) 注意:商保存在AX里,余数保存在DX里 MOV Z,AX ;把商送到Z中, MOV R,DX
10、 ;把余数送到R中 (4) MOV AX,W ;把W送到AX中 SUB AX,X ;W-X CWD ;把AX中的十六位带符号数扩展成为32位,低十六位保存在AX中,高十六位保存在DX中 MOV BX,5 ;把5送到BX中 IDIV BX ;(W-X)/5 被除数为32位,除数为16位商为16位 IMUL Y ;上一步结果再乖以Y,积为32位 MOV BX,2 ;把2送到BX中 IMUL BX ;上一步乘法所得的积再乘以2,各为64位 MOV Z,EAX ;把结果中低32位放入Z双字单元中 MOV Z+4,EDX ;把结果中高32位放入Z+4双字单元中 18. 指令本条指令执行完后AX的内容执行
11、完后CF,SF,ZF的值 MOV AX,1234H 1234H 0 0 0 MOV CL,4 1234H 0 0 0 ROL AX,CL 2341H 1 0 0 DEC AX 2340H 1 0 0 MOV CX,4 2340H 1 0 0 MUL CX 8918H 0 0 0 INT 20H 程序结束后,(AX)=8918H (DX)=0000H 19. 指令执行完后AX的内容执行完后CF ,SF,ZF和OF的值 MOV AX,0 0 0010 DEC AX FFFFH 0100 ADD 7FFEH 0000 ADD AX,2 8000H 0101 NOT AX 7FFFH 0101 SUB
12、 AX,0FFFFH 8000H 1101 ADD AX,8000H 0000H 1011 SUB AX,1 FFFFH 1101 AND AX,58D1H 58D1H 0000 SAL AX,1 B1A2H 0101 SAR AX,1 D8D1H 0100 NEG AX 272FH 1000 ROR AX,1 9397H 1001 20. (1)MOV AX,DA TAX ADD DATAY,AX (2)MOV AX,DA TAX ADD DATAY,AX MOV AX,DATAX+2 ADD DATAY+2 ,AX (3)本組指令的作用是:BX -DATAX+DA TAY+1(CF的值)
13、帶進位加法 (4)MOV AX,DA TAX MUL DATAY ;結果的高十六位保存在DX裏,低十六位保存在AX裏 (5)MOV AX,DA TAX MOV DX,DATAX+2 MUL DWORD DATAY ;結果的高三十二位保存在EDX裏,低三十二位保存在EAX 裏 (6)MOV AX,DA TAX DIV 17H ;結果商保存在AL中,余數在AH中 (7)MOV AX,DA TAX CDW DIV DATAY 21. NEG DX NEG AX SBB DX,0 22. MOV AX,A ;把雙字長數的低字放到AX中 MOV DX,A+2 ;把雙字長數的高字放到DX中 TEST DX
14、,8000H ;測試雙字長數的符號 JZ RIGHT ;如果是非負數,則直接保存 NEG DX ;如果是負數,則求補 NEG AX SBB DX,0 RIGHT:MOV B ,AX MOV B+2,DX 23.每條指令單獨執行完後的結果依次為: (1)9AH (2)61H (3)0FBH (4)1CH (5)0 (6)0E3H 24.執行指令序列後,BX的內容為:0DAH 25. (1)把53D乘以2的程序: MOV AX,35H ;53D=35H SHL AX ,1 (2)把53除以2 的程序: MOV AX,35H SHR AX,1 26.這段程序完成的功能是:把DX:AX中的雙字數據左移
15、4位(相當於乘以16D) 27.各條指令單獨執行後,DX的值依次為: (1)5CH(2)17H(3)05C8H(4)72H(5)2022H(6)0CDH(7)0172H(8)05CCH (9)0DCH 28. 該程序段執行完後,BX寄存器的內容是:C02DH 29.(1)从左到右把CONMAE中的字符串伟送到PRLINE的程序实现: LEA SI,CONAME ;把CONAME中第一个字节的偏移地址送到SI中 LEA DI,PRLINE ;把PRLINE中第一个字节的偏移地址送到DI中 MOV CX,20 ;把重复次数放到CX里 CLD ;让SI DI从低地址指向高地址(即从左到右传送) RE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- IBM PC 汇编语言 程序设计 第二 课后 习题 答案 清华大学出版社 解析
限制150内