微机原理与接口技术第二版课后习题答案,龚尚福版

上传人:wt****50 文档编号:40127024 上传时间:2018-05-23 格式:DOC 页数:38 大小:1.43MB
返回 下载 相关 举报
微机原理与接口技术第二版课后习题答案,龚尚福版_第1页
第1页 / 共38页
微机原理与接口技术第二版课后习题答案,龚尚福版_第2页
第2页 / 共38页
微机原理与接口技术第二版课后习题答案,龚尚福版_第3页
第3页 / 共38页
微机原理与接口技术第二版课后习题答案,龚尚福版_第4页
第4页 / 共38页
微机原理与接口技术第二版课后习题答案,龚尚福版_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《微机原理与接口技术第二版课后习题答案,龚尚福版》由会员分享,可在线阅读,更多相关《微机原理与接口技术第二版课后习题答案,龚尚福版(38页珍藏版)》请在金锄头文库上搜索。

1、微机原理与接口技术部分答案第二版微机原理与接口技术部分答案第二版主编:龚尚福主编:龚尚福2.22.2 80868086 微处理器由哪几部分组成?各部分的功能是什么?微处理器由哪几部分组成?各部分的功能是什么?1635516355 【解】:按功能可分为两部分:总线接口单元 BIU(Bus Interface Unit)和执行单元 EU(Execution Unit) 。 总线接口单元 BIU 是 8086 CPU 在存储器和 I/O 设备之间的接口部件,负责对全部引 脚的操作,即 8086 对存储器和 I/O 设备的所有操作都是由 BIU 完成的。所有对外部总线 的操作都必须有正确的地址和适当的

2、控制信号,BIU 中的各部件主要是围绕这个目标设计 的。它提供了 16 位双向数据总线、20 位地址总线和若干条控制总线。 其具体任务是:负责从内存单元中预取指令,并将它们送到指令队列缓冲器暂存。 CPU 执行指令时,总线接口单元要配合执行单元,从指定的内存单元或 I/O 端口中取出数 据传送给执行单元,或者把执行单元的处理结果传送到指定的内存单元或 I/O 端口中。 执行单元 EU 中包含 1 个 16 位的运算器 ALU、8 个 16 位的寄存器、1 个 16 位标志寄 存器 FR、1 个运算暂存器和执行单元的控制电路。这个单元进行所有指令的解释和执行, 同时管理上述有关的寄存器。EU 对

3、指令的执行是从取指令操作码开始的,它从总线接口 单元的指令队列缓冲器中每次取一个字节。如果指令队列缓冲器中是空的,那么 EU 就要 等待 BIU 通过外部总线从存储器中取得指令并送到 EU,通过译码电路分析,发出相应控 制命令,控制 ALU 数据总线中数据的流向。 2.32.3 简述简述 80868086 CPUCPU 的寄存器组织。的寄存器组织。 【解】:(1)通用寄存器:通用寄存器又称数据寄存器,既可作为 16 位数据寄存器使用, 也可作为两个 8 位数据寄存器使用。当用作 16 位时,称为 AX、BX、CX、DX。当用作 8 位时,AH、BH、CH、DH 存放高字节,AL、BL、CL、D

4、L 存放低字节,并且可独立寻址。 这样,4 个 16 位寄存器就可当作 8 个 8 位寄存器来使用。 (2)段寄存器:段寄存器共有 4 个 CS、DS、SS、ES。代码段寄存器 CS 表示当前使 用的指令代码可以从该段寄存器指定的存储器段中取得,相应的偏移值则由 IP 提供;堆栈 段寄存器 SS 指定当前堆栈的起始地址;数据段寄存器 DS 指示当前程序使用的数据所存放 段的起始地址;附加段寄存器 ES 则指出当前程序使用附加段地址的起始位置,该段一般 用来存放原始数据或运算结果。 (3)指针和变址寄存器:堆栈指针 SP 用以指出在堆栈段中当前栈顶的地址。入栈 (PUSH)和出栈(POP)指令由

5、 SP 给出栈顶的偏移地址。基址指针 BP 指出要处理的数 据在堆栈段中的基地址,故称为基址指针寄存器。变址寄存器 SI 和 DI 用来存放当前数据 段中某个单元的偏移量。 (4)指令指针与标志寄存器:指令指针 IP 的功能跟 Z80 CPU 中的程序计数器 PC 的 功能类似。正常运行时,IP 中存放的是 BIU 要取的下一条指令的偏移地址。它具有自动加 1 功能,每当执行一次取指令操作时,它将自动加 1,使它指向要取的下一内存单元,每取 一个字节后 IP 内容加 1,而取一个字后 IP 内容则加 2。某些指令可使 IP 值改变,某些指 令还可使 IP 值压入堆栈或从堆栈中弹出。标志寄存器

6、FLAGS 是 16 位的寄存器,8086 共 使用了 9 个有效位,标志寄存器格式如图 2.5 所示。其中的 6 位是状态标志位,3 位为控制 标志位。状态标志位是当一些指令执行后,表征所产生数据的一些特征。而控制标志位则 可以由程序写入,以达到控制处理机状态或程序执行方式的表征。 2.42.4 试述试述 80868086 CPUCPU 标志寄存器各位的含义与作用。标志寄存器各位的含义与作用。 【解】:(1) 6 个状态标志位的功能分别叙述如下:CF(Carry Flag)进位标志位。当执行一个加法(或减法)运算,使最高位产生进位(或 借位)时,CF 为 1;否则为 0。PF(Parity

7、Flag)奇偶标志位。该标志位反映运算结果中 1 的个数是偶数还是奇数。 当指令执行结果的低 8 位中含有偶数个 1 时,PF=1;否则 PF=0。AF(Auxiliary carry Flag)辅助进位标志位。当执行一个加法(或减法)运算,使结果 的低 4 位向高 4 位有进位(或借位)时,AF=1;否则 AF=0。ZF(Zero Flag)零标志位。若当前的运算结果为零,ZF=1;否则 ZF=0。 SF(Sign Flag)符号标志位。它和运算结果的最高位相同。 OF(Overflow Flag)溢出标志位。当补码运算有溢出时,OF=1;否则 OF=0。 (2) 3 个控制标志位用来控制

8、CPU 的操作,由指令进行置位和复位。 DF(Direction Flag)方向标志位。它用以指定字符串处理时的方向,当该位置“1”时, 字符串以递减顺序处理,即地址以从高到低顺序递减。反之,则以递增顺序处理。 IF(Interrupt enable Flag)中断允许标志位。它用来控制 8086 是否允许接收外部中断 请求。若 IF=1,8086 能响应外部中断,反之则不响应外部中断。 注意:IF 的状态不影响非屏蔽中断请求(NMI)和 CPU 内部中断请求。 TF(Trap Flag)跟踪标志位。它是为调试程序而设定的陷阱控制位。当该位置“1”时, 8086 CPU 处于单步状态,此时 C

9、PU 每执行完一条指令就自动产生一次内部中断。当该位 复位后,CPU 恢复正常工作。 2.52.5 80868086 中,存储器为什么采用分段管理?中,存储器为什么采用分段管理? 【解】:8086/8088 的地址总线宽度为 20 位,其最大寻址空间是 1 MB。而其他微处理器则 在实模式下只能访问前 1 MB 的存储器地址。实际上,实模式就是为 8086/8088 而设计的 工作方式,它要解决在 16 位字长的机器里怎么提供 20 位地址的问题,而解决的办法是采 用存储器地址分段的方法。程序员在编制程序时要把存储器划分成段,在每个段内地址空 间是线性增长的。每个段的大小可达 64 KB,这样

10、段内地址可以用16 位表示。存储器分段 的方法虽然给程序设计带来一定的麻烦,但这种方法可以扩大存储空间,而且对于程序的 再定位也是很方便的。 2.62.6 什么是逻辑地址?什么是物理地址?如何由逻辑地址计算物理地址?什么是逻辑地址?什么是物理地址?如何由逻辑地址计算物理地址? 【解】:物理地址:完成存储器单元或 I/O 端口寻址的实际地址成为物理地址,CPU 型号 不同其物理地址也不同。物理地址是指 CPU 和存储器进行数据交换时实际所使用的地址, 而逻辑地址是程序使用的地址。物理地址由两部分组成:段基址(段起始地址高 16 位)和偏 移地址。前者由段寄存器给出,后者是指存储单元所在的位置离段

11、起始地址的偏移距离。 当 CPU 寻址某个存储单元时,先将段寄存器的内容左移 4 位,然后加上指令中提供的 16 位偏移地址而形成 20 位物理地址。在取指令时,CPU 自动选择代码段寄存器 CS,左移 4 位后,加上指令提供的 16 位偏移地址,计算出要取指令的物理地址。堆栈操作时,CPU 自动选择堆栈段寄存器 SS,将其内容左移 4 位后,加上指令提供的 16 位偏移地址,计算 出栈顶单元的物理地址。每当存取操作数时,CPU 会自动选择数据段寄存器(或附加段寄存 器 ES),将段基值左移 4 位后加上 16 位偏移地址,得到操作数在内存的物理地址。 2.9 在在 80x86 微机的输入微机

12、的输入/输出指令中,输出指令中,I/O 端号通常是由端号通常是由 DX 寄存器提供的,但有时也可寄存器提供的,但有时也可 以在指令中直接指定以在指令中直接指定 00H0FFH 的端口号。试问可直接由指令指定的的端口号。试问可直接由指令指定的 I/O 端口数是多少?端口数是多少?【解】:由于在 80x86 的输入/输出指令中,可以直接在 00H0FFH 指定,所以直接由指令 指定的 I/O 端口数是 256。3.13.1 指令分成几部分?每部分的作用是什么?指令分成几部分?每部分的作用是什么? 【解】:每条指令由两部分组成:操作码字段和地址码字段。操作码字段:用来说明该指 令所要完成的操作。地址

13、码字段:用来描述该指令的操作对象。一般是直接给出操作数,或者给出操作数 存放的寄存器编号,或者给出操作数存放的存储单元的地址或有关地址的信息。 3.23.2 指出下列指出下列 MOVMOV 指令的源操作数的寻址方式:指令的源操作数的寻址方式: MOVMOVAXAX,1234H1234H MOVMOVAXAX,BXBX MOVMOVAXAX,BXBX MOVMOVAXAX,TABLETABLE;TABLETABLE ;TABLETABLE 是一个变量名是一个变量名 MOVMOVAXAX,1234H1234H MOVMOVAXAX,BX+1234HBX+1234H MOVMOVAXAX,BPSIB

14、PSI MOVMOVAXAX,BX+SI-1234HBX+SI-1234H 【解】:MOV AX,1234H 立即寻址 MOVAX,BX 寄存器寻址 MOVAX,BX 寄存器间接寻址 MOVAX,TABLE ;TABLE 是一个变量名 直接寻址方式 MOVAX,1234H 直接寻址方式 MOVAX,BX+1234H 寄存器相对寻址 MOVAX,BPSI 基址变址寻址 MOVAX,BX+SI1234H 相对地址变址寻址 3.33.3 设:(设:(DSDS)=2000H=2000H, (BXBX)=0100H=0100H, (SSSS)=1000H=1000H, (BPBP)=0010H=0010

15、H,TABLETABLE 的物理的物理 地址为地址为 2000AH2000AH, (SISI)=0002H=0002H。求下列每条指令源操作数的存储单元地址:。求下列每条指令源操作数的存储单元地址: MOVMOVAXAX,1234H1234H MOVMOVAXAX,BXBX MOVMOVAXAX,TABLEBXTABLEBX MOVMOVAXAX,BPBP MOVMOVAXAX,BPSIBPSI【解】: 存储单元地址:(DS)10H + EA =2000H10H+1234H=21234H存储单元地址:(DS)10H +(BX)=2000H10H+0100H=20100H存储单元地址:(DS)10H+EA=2000H10H+0100H+000AH=2010AH存储单元地址:(SS)10H+EA=1000H10H+0010H=10010H储单元地址:(SS)10H+EA=1000H10H+0010H+0002H =10012H 3.43.4 设设 ARRAYARRAY 是字数组的首地址,写出将第是字数组的首地址,写出将第 5 5 个字元素取出送个

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号