(完整版)汇编语言与接口技术习题解答,推荐文档

  • 格式:pdf
  • 大小:269.19 KB
  • 文档页数:16

下载文档原格式

  / 16
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

习题一解答:

1.3(1)[0.0000]原=0.0000 [0.0000]反=0.0000 [0.0000]补=0.0000

(2)[0.1001]原=0.1001 [0.1001]反=0.1001 [0.1001]补=0.1001

(3)[-1001]原=11001 [-1001]反=10110 [-1001]补=10111

1.4[N]反=1.0101 [N]原=1.1010 [N]补=1.0110 N=-0.1010

1.5(1)原码运算:比较可知,正数较大,用正数减负数,结果为正

反码运算:01010011-00110011=[01010011]反+[-00110011]反=001010011 +[100110011]反=001010011+111001100=000100000补码运算:01010011-00110011=[01010011]补+[-00110011]补=001010011 +[100110011]补=001010011+111001101=000100000

(2)原码运算:比较可知,负数较大,用负数减正数,结果为负

反码运算:0.100100-0.110010=0.100100+[1.110010]反=0.100100+

1.001101=1.110001

补码运算:0.100100-0.110010=0.100100+[1.110010]补=0.100100+

1.001110=1.110010

1.6(1) (11011011)2=(219)10=(001000011001)BCD

(2) (456)10=(010*********)BCD

(3) (174)8=(124)10=(000100100100)BCD

(4) (2DA)16=(730)10=(011100110000)BCD

1.7(1)9876H看成有符号数时,默认为负数的补码,转换为十进制数是:-26506

(2)9876H看成无符号数时,转换为十进制数是:39030

1.8(1)98的压缩BCD码为:10011000B

(2)98的非压缩BCD码为:0000100100001000B

1.9(1)[S1+S2]补=[S1]补+[S2]补=00010110+00100001=00110111,无溢出

[S1-S2]补=[S1]补+[-S2]补=00010110+11011111=11110101,无溢出

(2)[S1+S2]补=[S1]补+[S2]补=00010110+11011111=11110101,无溢出

[S1-S2]补=[S1]补+[-S2]补=00010110+00100001=00110111,无溢出

(3)[S1+S2]补=[S1]补+[S2]补=01100100+00011110=10000010,有溢出

[S1-S2]补=[S1]补+[-S2]补=01100100+11100010=01000110,无溢出

(4)[S1+S2]补=[S1]补+[S2]补=10011100+11100010=01111110,有溢出

[S1-S2]补=[S1]补+[-S2]补=10011100+00011110=10111010,无溢出

习题二解答:

2.1答:8086有哪些寄存器组?各有什么用途?

①通用寄存器AX、BX、CX、DX

它既可用作16位寄存器,又可将它拆成高、低8位,分别作为两个独立的8位寄存器使用。AX称累加器。常用于存放算术逻辑运算中的操作数,所有I/O指令都使用累加器与外设接口传送数据;BX称基址寄存器。常用来存放访问内存时的基地址或用作间接寻址时的地址寄存器。CX称计数寄存器。在循环和串操作指令中用作计数器,指令执行后CX 寄存器中的内容会自动改变。DX称数据寄存器。在I/O指令中用来存放端口的地址,在乘除指令中用作辅助寄存器。

② 4个专用寄存器

SP堆栈指针寄存器。它在堆栈中存放栈顶偏移指针,;BP基址指针寄存器。一般也用来存放访问内存时的基地址;SI源变址寄存器,DI目的变址寄存器。它们常常用在变址寻址方式中。

③ 4个段寄存器

CS代码段寄存器。存放当前程序所在段的段基址;DS数据段寄存器。存放当前程序所用数据段的段基址;SS堆栈段寄存器。存放当前程序所用堆栈段的段基址,ES附加段寄存器。存放当前程序所用辅助数据段的段基址。

④指令指针寄存器IP

16位的指令指针寄存器IP用于存放下一条执行指令的偏移地址。

⑤标志寄存器FR

它是16位寄存器,但只使用其中的9位,这9位包括6个状态标志位和3个控制标志位。状态标志记录了前面算术逻辑运算结果的一些特征;控制标志是用户自己通过指令设置的,设置后将对其后的操作产生控制作用。

2.2答:8086流水线技术是利用8086内部指令队列,使8086/8088的执行部件和总线接口部件并行工作。其工作过程如下:当8086的指令队列中有两个空字节,或者8088的指令队列中有一个空字节,总线接口部件就自动执行一次指令周期,从内存中取出后续的指令代码放入队列中。当执行部件需要数据时,总线接口部件根据执行部件给出的地址,从指定的内存单元或外设中取出数据供执行部件使用。当运算结束时,总线接口部件将运算结果送入指定的内存单元或外设。当指令队列空时,执行部件等待,直到有指令为止。若总线接口部件正在取指令,执行部件此时正好发出访问总线的请求,则必须等总线接口部件取指令完毕后,该请求才能得到响应。一般情况下,程序按顺序执行,但当遇到跳转指令时,总线接口部件就使指令队列复位,从新地址取出指令,并立即传给执行部件去执行。

所以,8086流水线技术减少了CPU为取指令而等待的时间,提高了CPU的利用率,加快了整机的运行速度,也降低了对存储器存取速度的要求。