- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微机(第四版)戴梅萼_第三章_习题答案
3.12 用乘法指令时,特别要注意先判断用有符号数乘法指令还是用无符号数乘法指令,这是为什么?
[ 解答 ] 用乘法指令时,特别要注意先判断用有符号数乘法指令还是用无符号数乘法指令,是因为在执行乘法运算时,要想使无符号数相乘得到正确的结果,有符号数相乘时,就得不到正确的结果;要想使有符号数相乘得到正确的结果,无符号数相乘时,就得不到正确的结果。
3.13 字节扩展指令和字扩展指令用在什么场合?举例说明。
[ 解答 ] 遇到两个字节相除时,要预先执行 CBW 指令,以便产生一个双倍长度的被除数。否则就不能正确的执行除法操作。 CWD 同理。
3.14 什么叫 BCD 码?什么叫组合的 BCD 码?什么叫非组合的 BCD 码? 8086 汇编语言在对 BCD 码进行加、减、乘、除运算时,采用什么方法?
[ 解答 ] 在计算机中,可用 4 位二进制码表示一个十进制码,这种代码叫 BCD 码;用一个字节表示 2 位 BCD 码就是 BCD 码;计算机对 BCD 码进行加、减、乘、除运算,通常采用两种办法:一种是在指令系统中设置一套转专用于 BCD 码的指令;另一种方法是利用对普通二进制数的运算指令算出结果,然后用专门的指令对结果进行调整,或者反过来,先对数据进行调整,再用二进制数指令进行运算。(以上 7 题由陈军解答)
3.15 用普通运算指令执行 BCD 码运算时,为什么要进行十进制调整?具体讲 , 在进行 BCD 码的加、减、乘、除运算时,程序段的什么位置必须加上十进制调整指令?
[ 解答 ] 在 BCD 码中,只允许 0?/FONT9 这 10 个数字出现,但有时候的运算结果会超过此范围,因此要进行十进制调整。进行加、件或乘法运算时,调整指令必须紧跟在算术指令后面,在进行除法运算时,调整指令放在除法指令之前。
3.18 用串操作指令设计实现以下功能的程序段:首先将 100H 个数从 2170H 处搬到 1000H 处,然后,从中检索相等于 AL 中字符的单元,并将此单元值换成空格符。
[ 解答 ]? BUFF1 EQU , 1000H
??????? BUFF2 EQU , 2170H
START : MOV SI , OFFSET BUFF2
??????? LEA DI , BUFF1
??????? MOV CX , 100H
CYCLE : MOV AL , [SI]
??????? MOV [DI] , AL
??????? INC SI
??????? INC DI
??????? LOOP CYCLE
ANOTHER : MOV DI , OFFSET BUFF1
??????? MOV CX , 100
??????? CLD
AGE : ?? SCASB
??????? DEC CX
??????? JZ? FIN
??????? JNZ AGE
??????? JMP OVER
FIN : ?? MOV [DI] , 20H
??????? CMP CX , 0
??????? JNZ AGE
OVER : ? RET
3.20 带参数的返回指令用在什么场合?设栈顶地址为 3000H ,当执行 RET 0006 后, SP 的值为多少?
[ 解答 ] 带参数的返回指令可用在这样的情况:主程序为某个子程序提供一定的参数或者参数地址先送到堆栈中,通过堆栈传递给子程序。当栈顶指针 SP=3000H ,执行 RET 0006 时,弹出 3000H 和 3001H 处的返回地址,腾出 3002H?/FONT3007H 的空间,所以 SP=3008H 。(以上 6 题由张丽解答)
.22 中断指令执行时,堆栈的内容有什么变化?中断处理子程序的人口地址是怎样得到的?
??? [ 答案 ] 中断指令执行时,堆栈内容变化如下:标志寄存器被推入堆栈,且 SP 减 2 ,然后 CPU 将主程序的下一条指令地址即断点地址的段值和偏移量推入堆栈,且 SP 减 4 。 某中断处理子程序的入口地址即中断向量,由该中断类型号的 4 倍为内存地址,在该地址处的 4 个字节内容即该中断向量。
3.23 中断返回指令 IRET 和普通子程序返回指令 RET 在执行时,具体操作内容什么不同?
??? [ 答案 ] IRET 须弹出堆栈中标志寄存器的值,而 RET 则不需要。
3.29 下面的程序段将 ASCII 码的空格字符填满 100 个字节的字符表。阅读这一程序,画出流程,并说明使用 CLD 指令和 REP STOSB 指令的作用,再指出 REP STOSB 指令执行时和那几个寄存器的设置有关? ??????? MOV???? CX, SEG TABLE???????
您可能关注的文档
- 汇编语言程序设计教程2版4章.ppt
- 计算机二级公共基础02.ppt
- 情境1_C课程导论和TC编辑器的使用.ppt
- B2经典汇编课件.ppt
- 二级C培训课件ch02.ppt
- 4ARM嵌入式程序设计基础.ppt
- 面向对象程序设计 第1章_1.ppt
- 第二章 C语言基础与程序结构.ppt
- 第2讲 C语言源程序简介与上机练习.ppt
- CH3 汇编语言程序设计.ppt
- 2025年中国锻铁围栏市场调查研究报告.docx
- 2025年中国椭圆型市场调查研究报告.docx
- 2025年中国无蔗糖原味豆浆市场调查研究报告.docx
- 2025-2031年中国泛在电力物联网行业发展运行现状及投资潜力预测报告.docx
- 2025年中国制袋机零件市场调查研究报告.docx
- 2025年中国智能除垢型电子水处理仪市场调查研究报告.docx
- 2025-2031年中国甘肃省乡村旅游行业市场深度研究及投资策略研究报告.docx
- 2025-2031年中国干海产品行业市场发展监测及投资战略规划报告.docx
- 2025年中国全铝图解易拉盖市场调查研究报告.docx
- 2025年中国人造毛皮服装市场调查研究报告.docx
文档评论(0)