[-70]补=BAH 1010 0110 + 1011 1010 0110 0000B
因为D7CY○+ D6CY=1○+ 0=1,所以运算结果产生负溢出。 7、何谓字符串及位串?它们之间有何不同? 答:“字符串”是以字节/字/双字的相邻序列;
8、已知位bi 及bj 在位串中的地址(位偏移量)分别为92 和-88,试求它们各自在位串中的字节地址及其在所在字节中的位置。 解:bi 的字节索引为92÷8 取整数商:11; bi 的位余数为92 mod 8:4 答:bi 位在m+11 字节的D4 位。 解:bj 的字节索引为-88÷8 取整:11; 5
bj 的位余数为-88 mod 8:0 答:bj 位在m-11 字节的D0 位。 9、将下列十进制数变为8421BCD 码: (1)8069
答:8069 对应的8421BCD 码为:1000 0000 0110 1001 (2)5324
答:5324 对应的8421BCD 码为:0101 0011 0010 0100 10、将下列8421BCD 码表示成十进制数和二进制数: (1)01111001B
答:(01111001)8421BCD=79=1001111B (2)10000011B
答:(10000011)8421BCD=83=1010011B 11、写出下列各数的ASCII 代码: (1)51
答:51 的ASCII 代码为:35H31H (2)7F
答:7F 的ASCII 代码为:37H46H (3)AB
答:AB 的ASCII 代码为:41H42H (4)C6
答:C6 的ASCII 代码为:43H36H 第二章习题解答(P69)
1、8086/8088 CPU 中BIU 部件和EU 部件各由哪些部分组成?各自的功能是什么?追踪指令地址的寄存器是什么?
答:8086/8088 CPU 中BIU 部件由4 个段寄存器(CS,DS,ES 和SS)、1 个指令指针寄存器(IP)、
1 个20 位地址加法器、1 个指令队列缓冲器(8086 为6 字节,8088 为4 字节)和总线控制电路等组成。主要功能一是从内存中取指令代码送入指令队列缓冲器中;二是响应EU 的总线请求,负责与内存或输入/输出接口之间的数据传送;三是在执行转移指令时,BIU 使指令队列缓冲器复位,从指定的新地址取指令,并立即传给EU 单元执行。EU 部件由1 个16 位ALU、寄存器组(4 个通用寄存器AX、BX、CX 和DX,2 个指针寄存器BP 和SP,2 个变址寄存器DI 和SI)、1 个标志寄存器FLAGS 和执行控制电路(指令译码和时序产生电路等)等组成。其功能一是从指令队列缓冲器中依次取出指令代码、译码并执行;二是执行含存储器或I/O 口的指令时,形成存储器操作数的段内偏移地址或I/O 口地址送BIU;三是执行转移、调用、中断指令时通知BIU 复位指令队列缓冲器,立即从新地址开始取指令代码。
在8086/8088 CPU 中,追踪指令地址的寄存器是IP(指令指针寄存器),由CS:IP 指出要执行指令的地址。 2、简述堆栈指示器SP 的功能及堆栈的操作过程。 答:8X86 系列微处理器的堆栈如下图所示:
①堆栈是由内存中按照“先进后出”原则组织起来的一片连续的存储器单元组成;
②SP 作为堆栈指针,始终指向“栈顶”; ③堆栈操作
进栈操作(PUSH)先把SP-2,再把源操作数存入SP 所指的字存储器单元;
出栈操作(POP)先把SP 所指字单元的内容取到目的操作数,再将SP+2。