微机原理与接口技术课后含答案第二版.docVIP

  • 86
  • 0
  • 约1.53万字
  • 约 17页
  • 2020-08-30 发布于山东
  • 举报

微机原理与接口技术课后含答案第二版.doc

微机原理与接口技术课后答案第二版 【篇一:《微机原理与接口技术》 (第二版 )龚尚福-习题 解析和实验指导】 xt2.2 8086 微处理器由哪几部分组成?各部分的功能是什么? 16355 【解】:按功能可分为两部分:总线接口单元 biu (bus interface unit )和执行单元 eu(execution unit )。 总线接口单元 biu 是 8086 cpu 在存储器和 i/o 设备之间的接口部件, 负责对全部引脚的操作,即 8086 对存储器和 i/o 设备的所有操作都 是由 biu 完成的。所有对外部总线的操作都必须有正确的地址和适 当的控制信号, biu 中的各部件主要是围绕这个目标设计的。它提供 了 16 位双向数据总线、 20 位地址总线和若干条控制总线。 其具体任务是:负责从内存单元中预取指令,并将它们送到指令队 列缓冲器暂存。 cpu 执行指令时,总线接口单元要配合执行单元, 从指定的内存单元或 i/o 端口中取出数据传送给执行单元,或者把执 行单元的处理结果传送到指定的内存单元或 i/o 端口中。 执行单元 eu 中包含 1 个 16 位的运算器 alu 、8 个 16 位的寄存器、 1 个 16 位标志寄存器 fr 、1 个运算暂存器和执行单元的控制电路。 这个单元进行所有指令的解释和执行,同时管理上述有关的寄存器。 eu 对指令的执行是从取指令操作码开始的,它从总线接口单元的指 令队列缓冲器中每次取一个字节。如果指令队列缓冲器中是空的, 那么 eu 就要等待 biu 通过外部总线从存储器中取得指令并送到 eu, 通过译码电路分析,发出相应控制命令,控制 alu 数据总线中数据的 流向。 2.3 简述 8086 cpu 的寄存器组织。 【解】:( 1)通用寄存器:通用寄存器又称数据寄存器,既可作为 16 位数据寄存器使用,也可作为两个 8 位数据寄存器使用。当用作 16 位时,称为 ax 、bx 、cx 、dx 。当用作 8 位时, ah、bh 、ch 、dh 存放高字节, al 、bl 、cl 、dl 存放低字节,并且可独立寻址。这样, 4 个 16 位寄存器就可当作 8 个 8 位寄存器来使用。 (2)段寄存器:段寄存器共有 4 个 cs 、ds 、ss 、es 。代码段寄存 器 cs 表示当前使用的指令代码可以从该段寄存器指定的存储器段中 取得,相应的偏移值则由 ip 提供;堆栈段寄存器 ss 指定当前堆栈 的起始地址;数据段寄存器 ds 指示当前程序使用的数据所存放段的 起始地址;附加段寄存器 es 则指出当前程序使用附加段地址的起始 位置,该段一般用来存放原始数据或运算结果。 (3)指针和变址寄存器:堆栈指针 sp 用以指出在堆栈段中当前栈 顶的地址。入栈( push )和出栈( pop )指令由 sp 给出栈顶的偏移 地址。基址指针 bp 指出要处理的数据在堆栈段中的基地址,故称为 基址指针寄存器。变址寄存器 si 和 di 用来存放当前数据段中某个单 元的偏移量。 (4)指令指针与标志寄存器:指令指针 ip 的功能跟 z80 cpu 中的 程序计数器 pc 的功能类似。正常运行时, ip 中存放的是 biu 要取的 下一条指令的偏移地址。它具有自动加 1 功能,每当执行一次取指 令操作时,它将自动加 1,使它指向要取的下一内存单元,每取一个 字节后 ip 内容加 1,而取一个字后 ip 内容则加 2。某些指令可使 ip 值改变,某些指令还可使 ip 值压入堆栈或从堆栈中弹出。标志寄存 器 flags 是 16 位的寄存器, 8086 共使用了 9 个有效位,标志寄存器 格式如图 2.5 所示。其中的 6 位是状态标志位, 3 位为控制标志位。 状态标志位是当一些指令执行后,表征所产生数据的一些特征。而 控制标志位则可以由程序写入,以达到控制处理机状态或程序执行 方式的表征。 2.4 试述 8086 cpu 标志寄存器各位的含义与作用。 【解】: (1) 6 个状态标志位的功能分别叙述如下: cf(carry flag) —— 进位标志位。当执行一个加法 (或减法 )运算,使 最高位产生进位 (或借位 )时,cf 为 1;否则为 0。 pf(parity flag) —— 奇偶标志位。该标志位反映运算结果中 1 的个数 是偶数还是奇数。当指令执行结果的低 8 位中含有偶数个 1 时, pf=1 ;否则 pf=0 。 af(auxiliary carry flag) —— 辅助进位标志位。当执行一个加法 (或减 法)运算,使结果的低 4 位向高 4 位有进位 (或借位 )时,af=1 ;否则 af=0 。 zf(zero flag) —— 零标志位。若当前的运算结果为零,

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档