8086汇编语言习题解答
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8086/8088汇编语言习题解答
第一章
、试根据自己使用计算机的经历,列举几个必须使用或最好是使用汇编语言编制程序的事例。
、试完成下列数制间的转换
⑴、十进制数转换为8位二进制数
十进制:100 对应二进制:01100100B
十进制:56 对应二进制:00111000B
十进制:111 对应二进制:01101111B
十进制: 120 对应二进制:01111000B
十进制: 70 对应二进制:01000110B
⑵、8位二进制数(无符号数)转换为十进制数
二进制:01010101B 对应十进制:85
二进制:B 对应十进制:170
二进制:B 对应十进制:240
二进制:00001111B 对应十进制:15
⑶、十进制数转换为十六进制数
十进制:40 对应二进制:00101000B
十进制:80 对应二进制:01010000B
十进制:105 对应二进制:01101001B
十进制: 114 对应二进制:01101101B
十进制: 207 对应二进制:B
、试把下面用补码表示的二进制数转换为对应的十进制真值
二进制补码:01111000 对应的十进制值数真值:+120
二进制补码:对应的十进制值数真值:-39
二进制补码:对应的十进制值数真值:-127
二进制补码:对应的十进制值数真值:-120
二进制补码:00100111 对应的十进制值数真值:+39
二进制补码:对应的十进制值数真值:-16
、由键盘输入字符通常都是以该字符的ASCII码形式表示的。若现在从键盘上输入十六进制数0~F,那么应如何处理才能把十六进制转换为4位二进制数0000~1111.
答:将键盘输入的数0~F的ASCII码,每输入一个字符,减去30H后,再存入内存,这样就完成了把从键盘上输入的十六进制ASCII码转换为4位二进制数0000~1111.
、试分别判断下列各组数据中哪个数据最大哪个最小
①、A= B=0,101D C=0,101H
②、A=1011B B=1011D C=1011H
答:第①组:A=1×21-+1×23-=
B=
C=1×161-+163-=+=
所以A最大,C最小
第②组,B最大,A=B最小
、现有一个二进制数.若将该数看着是无符号数、原码表示的带符号数、补
码表示的带符号数,它对应的十进制数的真值是多少
答:.的无符号数的十进制是:+182;
.的原码带符号数的十进制是:-54
.补码表示的带符号数的十进制是:+74
、下列各组数据均为十进制数,先将各数据转换为补码表示的带符号数,然后用补码的加减运算分别完成下列各小题,并用十六进制数形式回答运算结果。
①、58+36 ②、(-58)+36 ③、58+(-36)④、(-58)+(-36)⑤、
58-36 ⑥、(-58)-36 ⑦、58-(-36)⑧、(-58)-(-36)
答:①、58+36的运算结果是:00111010+00010100=01001110=01011110
②、(-58)+36的运算结果是:+00010100==-000101001
③、58+(-36)的运算结果是:00111010+=00010110
④、(-58)+(-36)的运算结果是:+=
⑤、58-36的运算结果是:00111010+=00010110
⑥、(-58)-36的运算结果是:+=
⑦、58-(-36)的运算结果是:00111010+00010100=01001110=01011110
⑧、(-58)-(-36)的运算结果是:+00010100==-000101001
第二章
2.1、试说明8086/8088CPU中有哪些寄存器各有什么用途
答:寄存器AX、AL:在乘法指令中,存放乘数和乘积;
在除法指令中,存放被除数和商;
在未组合BCD码运算的校正指令中
在某些串操作指令(LODS,STOS,SCAS)中
在输入输出令中作数据寄存器
寄存器AH:在LAHF指令中作目的寄存器
寄存器AL:在组合型BCD码的加减法校正指令中
在XLAT指令中作目的寄存器
寄存器BX:在XLAT指令中基址寄存器
寄存器CX:在循环指令中作循环次数计数器
寄存器CL:在移位指令中作移位次数计数器
寄存器DX: 在字数据的乘法和除法指令中辅助累加器
寄存器SP:在堆栈操作中作堆栈指计
寄存器SI:在串操作指令中作源变址寄存器
寄存器DI:在串操作指令中作目的变址寄存器
2.2、试说明8086/8088CPU中标志寄存器各标志位的意义
答:8086/8088CPU中标志寄存器各标志位的意义是:
CF:进位标志PF:奇遇标志
AF:辅助进位标志ZF:零值标志
SF:符号位标志TF:单步标志
IF: 中断允许标志DF:方向标志
OF:溢出标志
2.3、哪些操作只能隐含使用某个段寄存器,而不能用其他寄存器替代哪些操作除隐含使用某个段寄存器外,还可以用其他段寄存器替代
答:在“取指令”、“堆栈操作”、“存目的串”三操作时,只能分别使用隐含段寄存器“CS”、“SS”“ES”,不能用其他寄存器替代;
在“取源串”、“以BP作基址”、“存取一般变量”三操作时,除了
可分别使用隐含段寄存器“DS”、“SS”“DS外,还可分别使用“CS、