资源描述:
《汇编语言程序设计习题答案》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、第四章汇编语言程序设计习题答案一、单项选择题1. C 2. B 3. C 4. C 5. C 6. A 7. A 8. C 9. B 10. D11. B 12. B 13. D 14. C 15. C 16. A 17. D 18. D 19. A 20. C21. B 22. D 23. D 24.A二、多项选择题1. ABCEF 2. ACE 3. AC 4. ABCD三、填空题1. PARA2. 1, 2, 60, 120, 13. SEGMENT, ENDS4. 12005. 段内转移,段间转移6. AH7. 过程, PROC, RET, NEAR, FA
2、R8. LEA BX,BUF9. 1, 410. .0504H11. ASM, EXE12. 立即寻址,直接寻址四、判断题× × × × V V V × × V五、程序分析题1. 32. 12H,3412H3. 46H,73H4. (1)从目的串中查找是否包含字符‘0’,若找到则停止,否则继续重复搜索。(2)ZF=1,说明已找到字符 ZF=0,说明未找到字符 CX¹0,说明中途已找到字符退出 CX=0,且ZF=0说明串中无字符‘0’5.1,0,3,2,5,4,7,6,9,86.87H,81H7.44AAH, 44D5H8.DEC CX, JNC, JZ9.JNZ
3、L210.ADC DX,0, CLC11.AAS12.STOSB13.1, 3, 1, 2, 214. (2000H)=39H (2001H)=00H 将(2000H),(2001H)两相邻单元中存放的未组合型BCD码压缩成组合型BCD码,并存入(2000H)单元,0®(2001H)15. A)2345H, 6780H B)将DX、AX中存放的32位二进制数向左移动4位16. 0, 1009H 0对数据段内1000H~1008H单元置数,依次送入1,2,4,8,16,32,64,128,0共九个17. 20H, 10, T18.
4、 ①$-BUF ②ASSUMECS:CODE,DS:DATA ③MOVDS,AXMOVAX,0 ⑤JLENEXT ⑥JNZNEXT ⑦JNZLOPA ⑧BEGIN19.不相同,第一个数据段72H在前,04在后,后一个04H在前,72H在后。20.09H, 0EH, 0DH六、简答题1. NUMS分配了180个字节(3分)VAR分配了15个字节2. (1)把SP所指的堆栈顶部的一个字的内容弹回IP,SP加2。(2)段间返回指令把SP所指的堆栈顶部的两个字的内容先弹回IP后弹回CS,SP加4。3. 2,10,204. 地址:00H01H02H03H04H05H0
5、6H07H08H09H0A0H数据:04H00H1AH00H 78H56H41H42H 5. (1)在存储器中分别为TABLE、XAD、YAD、STA分配11字节,1字节,1字节,16字节单元 (2)程序运行后,XAD、YAD,单元中的值为9和39H,屏幕上显示的字符是“9”6. YXGFDCBA96217. 程序功能是将从STRING开始的N个字节中的字符串变成大写存放到从NEWSTR开始的N个字节中。程序执行后,从NEWSTR开始的N个字节中的内容是"ASSEMBLELANGUAGEISPOWERFUL"。七、编程题1. 参考程序:CODESEGMENT
6、ASSUMECS:CODE,DS:CODEGO:MOVAX,DATAMOVDS,AXANDAL,0F0HEXIT:CODEENDSENDGO2. 参考程序:DATASEGMENTORG1000HDATDB'1234$567$8'DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATASTART:MOVAX,DATAMOVDS,AXMOVES,AXCLDMOVBX,1000HMOVCX,100XORAX,AXMOVAL,'$'CALLFOUNDFOUNDPROCNEARPUSHAXCLDREPNESCASBXORAX,AXAND
7、CX,0FFHJZOVERDECBXMOVAL,[DI]OVER:RETPOPAXFOUNDENDPCODEENDSENDSTART3. ORG2100HDATASEGMENTDAT1DB1,2,3,4,5,6,7,8DB1,2,3,4,5,6,7,8DB0,0,0,0,0,0,0,0SUMDB?DATAENDSSTACKSEGMENTST1DB100DUP(?)TPEQULENGTHST1STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVAX,STACKMO