习题解答: 1、8086CPU 从功能上看可分为哪两大部分?它们的主要作用是什么? 答:8086CPU 功能结构可分为两大部分,即总线接口单元 BIU(BUS INTERFASE UNIT)和执行单元 EU(Ex ecu tion Unit)构成。BIU 负责与存储器和外设传递数据,具体地说,BIU 从内存指定部分取出指令,送到指令队列排队;在执行指令时所需的操作数也是由 BIU 从内存的指定区域取出传送到 EU 去执行或者把 EU 的执行结果传送到指定的内存单元或外设中。EU 负责指令的执行,它从指令队列中取出指令,译码并执行,完成指令所规定的操作后将指令执行的结果提供给 BIU。 2、8086CPU 中有哪些通用寄存器?各有什么用途? 答:8086/8088CPU 的通用寄存器包括 4 个数据寄存器 AX、BX、CX、DX,2个地址指针寄存器 SP 和 BP,2 个变址寄存器 SI 和 DI。通用寄存器都能用来存放运算操作数和运算结果,这是它们的通用功能,除此之外在不同的场合它们还有各自的专门用途。 (1)数据寄存器 数据寄存器包括 4 个寄存器 AX、BX、CX、DX,用于暂时保存运算数据和运算结果,由于每个 16 位数据寄存器可分为 2 个 8 位数据寄存器,这 4 个数据寄存器既可以保存 16 位数据,也可保存 8 位数据。 AX(accu mu lator)称为累加器,常用于存放算术逻辑运算的操作数,所有输入输出指令也都通过 AX 与外设进行信息传输。BX(base)称为基址寄存器,常用于存放访问内存时的基地址。CX(cou nt)称为计数器,在循环和串操作指令中用来存放计数值。DX(data)称为数据寄存器,在双字长(32 位)乘除运算中将 DX 与AX 两个寄存器组合成一个双字长的数据,其中 DX 存放高 16 位数据,AX 存放低16 位数据,另外在间接寻址的输入输出指令中把要访问的输入输出端口地址存放在DX 中。 (2)指针寄存器 指针寄存器包括堆栈指针寄存器 SP(stack pointer)和基址指针寄存器 BP(base pointer)。SP 和 BP 都是 16 位的寄存器,用来存放运算过程中的操作数,但更重要的用途是存放堆栈地址。SP 用于存放栈顶的偏移地址,即栈顶单元与栈首(第一个)单元相应的单元数(偏移量),SS 用于存放堆栈段的基地址,即堆栈首单元的基址BP 用于存放要访问的内存单元的基地址。 (3)变址寄存器 变址寄存器包括源变址寄存器SI(sou rce index )和目的变址寄存器DI(destination index ),变址寄存器常用于指令的间接寻址或...