收藏 分享(赏)

姚琳 习题C2 答案.doc

上传人:yjrm16270 文档编号:8101755 上传时间:2019-06-08 格式:DOC 页数:9 大小:541.50KB
下载 相关 举报
姚琳 习题C2 答案.doc_第1页
第1页 / 共9页
姚琳 习题C2 答案.doc_第2页
第2页 / 共9页
姚琳 习题C2 答案.doc_第3页
第3页 / 共9页
姚琳 习题C2 答案.doc_第4页
第4页 / 共9页
姚琳 习题C2 答案.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、第二章一思考题(略)二综合题1 设当前 SS=C000H,SP=2000H,AX=2355H,BX=2122H,CX=8788H,则当前栈顶的物理地址是多少?若连续执行 PUSH AX,PUSH BX,POP CX 3 跳指令后,堆栈的内容发生了什么变化?AX ,BX, CX 中的内容是什么?答:物理地址=C0000H+2000H=C2000H;执行指令后,地址 C000H:2001H 内容是 23H;地址 C000H:2002H 内容是 55H;地址 C000H:2003H 内容是 87H;地址 C000H:2004H 内容是 88H;AX=2355H,BX=CX=8788H;2 假设某 C

2、PU 的时钟频率是 8MHz,如果在进行存储器写操作时插入了一个等待周期,完成该写操作的总线周期所需要的时间是多少 ns?答:时钟周期=1/8MHz=125ns;所以所需时间= 时钟周期*5=625ns 。3 设存储器内数据段中存放了两个字 2FE5H 和 3EA8H,已知 DS=3500H,数据存放的偏移地址为 4B25H 和 3E5AH,画图说明两个字在存储器中的存放情况。若要读取这两个字,需要对存储进行几次总线读操作?答:E5H2FHA8H3EH39B25H39B26HH38E5AH38E5BHH2 个字共需要 3 次总线操作。4 8086 中的标志寄存器 FR 中有哪些状态标志和控制标

3、志?这些标志位各有什么含义?假设(AH)=03H, (AL )=82H ,试指出将 AL 和 AH 中的内容相加和相减后,标志位CF、AF、 OF、SF、IF 和 PF 的状态。答:6 个状态标志:CF:进位标志;PF:奇偶标志;AF:辅助进位标志;ZF:零标志;SF:符号标志;OF:溢出标志;3 个控制标志:IF:中断允许标志;DF:方向标志;TF:单步标志。03H+82H=85H 计算后:CF=0; PF=0;AF=0;ZF=0 ;SF=0;OF=0。5 有一个 22 个字的数据组成的数据区,起其实地址为 6101H:1CE7H 。试计算出该数据区首末存储单元的物理地址?答:起始物理地址为

4、:62CF7H数据区末的物理地址为:62CF7H+(22*2-1) 2 = 62D22H6 假设(SS)=20A0H, (SP )=0032H,将(CS)=0A5BH, (IP)=0012H, (AX)=0FF42H, (SI )=537AH, (BL)=5CH 依次压入堆栈保存。要求:(1)画出堆栈数据存放示意图;(2)写出压栈完毕后 SS 和 SP 的值。答:(1)7AH53H00H5CH好 H 20A2AH20A2BHH20A28H20A29HH42HFFH20A2CH20A2DHH12H00H20A2EH20A2FHH5BH0AH20A30H20A31H()H(2 )SS=20A0H,

5、 SP=0028H7 若某存储单元的实际地址为 2BC60H,且该存储单元所在的段首地址为 2AF00H,则该存储单元在段内的偏移地址为多少?答:偏移地址=2BC60H-2AF00H=0D60H1.8086CPU 由哪两部分组成?它们的主要功能是什么? 8086CPU 由总线接口部件 BIU 和指令执行部件 EU 组成,BIU 和 EU 的操作是并行的。 总线接口部件 BIU 的功能:地址形成、取指令、指令排队、读/写操作数和总线控制。所有与外部的操作由其完成。 指令执行部件 EU 的功能:指令译码,执行指令。2.8086CPU 中有哪些寄存器?各有什么用途? 8086CPU 的寄存器有通用寄

6、存器组、指针和变址寄存器、段寄存器、指令指针寄存器及标志位寄存器 PSW。 4 个 16 位通用寄存器,它们分别是 AX,BX,CX ,DX,用以存放 16 位数据或地址。也可分为 8 个 8 位寄存器来使用,低 8 位是 AL、BL、CL、DL,高 8 位是AH、BH 、CH、DH,只能存放 8 位数据,不能存放地址。 指针和变址寄存器存放的内容是某一段内地址偏移量,用来形成操作数地址,主要在堆栈操作和变址运算中使用。 段寄存器给出相应逻辑段的首地址,称为“段基址”。段基址与段内偏移地址结合形成 20 位物理地址。 指令指针寄存器用来存放将要执行的下一条指令在现行代码中的偏移地址。 16 位

7、 标志寄存器 PSW 用来存放运算结果的特征,常用作后续条件转移指令的转移控制条件。5.要完成下述运算或控制,用什么标志位判断?其值是什么?比较两数是否相等? 将两数相减,当全零标志位 ZF=1 时,说明两数相等,当 ZF=0 时,两数不等。两数运算后结果是正数还是负数?用符号标志位 SF 来判断,SF=1,为负数;SF=0,为正数。两数相加后是否溢出?用溢出标志位来判断,OF=1,产生溢出;OF=0,没有溢出。采用偶校验方式。判定是否要补“1”?用奇偶校验标志位判断,有偶数个“1”时,PF=1,不需要补“1”;有奇数个“1”时,PF=0,需要补“1”。(5 )两数相减后比较大小? ZF=1

8、时,说明两数是相等的; ZF=0 时:无符号数时,CF=0,被减数大;CF=1,被减数小。带符号数时,SF=OF=0 或 SF=OF=1,被减数大;SF=1,OF=0 或 SF=0,OF1,被减数小。(6 )中断信号能否允许?用中断标志位来判断,IF=1,允许 CPU 响应可屏蔽中断;IF=0,不响应。6.8086 系统中存储器采用什么结构?用什么信号来选中存储体? 8086 存储器采用分体式结构:偶地址存储体和奇地址存储体,各为 512k。 用 A0 和 BHE 来选择存储体。当 A0=0 时,访问偶地址存储体;当 BHE=0 时,访问奇地址存储体;当 A0=0,BHE=0 时,访问两个存储

9、体。9.实模式下,段寄存器装入如下数据,写出每段的起始和结束地址。实地址方式:与 8086 具有相同的基本结构,只能寻址 1MB 物理存储器空间,逻辑段最大不超过64KB;但可以使用 32 位寄存器、32 位操作数和 32 位寻址方式;相当于可以进行 32 位处理的快速8086。实地址工作方式只能支持实地址存储模型。386 可以假装自己是一个 16 位的 CPU, 用 16 位的分段方式工作, 和保护模式相对的, 这种模式就叫做实模式. a)1000H 10000H1FFFFH b)1234H 12340H2233FH c)2300H 23000H32FFFH d)E000H E0000HEF

10、FFFH e)AB00H AB000HBAFFFH10.在实模式下对下列 CS:IP 的组合,求出要执行的下一条指令的存储器地址。 a) CS:IP=1000H:2000H 12000H b) CS:IP=2000H:1000H 21000H c) CS:IP=1A00H:B000H 25000H d) CS:IP=3456H:AB09H 3F069H11.实模式下,求下列寄存器组合所寻址的存储单元地址: a) DS=1000H,DI=2000H 12000H b) SS=2300H,BP=3200H 26200H c) DS=A000H,BX=1000H A1000H d) SS=2900H

11、,SP=3A00H 2CA00H12. 若当前 SS3500H,SP0800H,说明堆栈段在存储器中的物理地址,若此时入栈 10个字节,SP 内容是什么?若再出栈 6 个字节,SP 为什么值? 堆栈段的物理地址范围:35000H44FFFH 当前栈顶的物理地址为:35000H+0800H=35800H 入栈 10 个字节以后:SP=0800H-000AH=07F6H 出栈 6 个字节以后:SP=07F6H+0006H=07FCH13. 某程序数据段中存放了两个字,1EE5H 和 2A8CH,已知 DS7850H ,数据存放的偏移地址为 3121H 及 285AH。试画图说明它们在存储器中的存放

12、情况。若要读取这个两个字,需要对存储器进行几次操作? 它们的物理地址分别是:78500H+3121H=7B621H,78500H+285AH=7AD5AH 。 1EE5H 的偏移地址是 3121H,是奇地址,需要进行两次操作;2A8CH 的偏移地址是285AH,是偶地址,需要一次操作。15. 说明 8086 系统中“最小模式 ”和“最大模式” 两种工作方式的主要区别是什么? 最小模式为单机系统,系统中所需要的控制信号由 CPU 提供,实现和存储器及 I/O接口电路的连接。 最大模式可以构成多处理器/协处理器系统,即一个系统中存在两个以上微处理器,每个处理器执行自己的程序。系统中所需要的控制信号

13、由总线控制器 8288 提供,8086CPU 提供信号控制 8288,以实现全局资源分配及总线控制权传递。在两种模式中,CPU 的 2431 引脚意义不同。 最小模式中引脚 MN/MX 接5V ,最大模式中该引脚接地。16. 8086 系统中为什么要用地址锁存器? 8282 地址锁存器与 CPU 如何连接? CPU 与存储器(或者 I/O 端口)进行数据交换时,CPU 首先要送出地址信号,然后再发出控制信号及传送数据。由于 8086 引脚的限制,地址和数据分时复用一组总线,所以要加入地址锁存器,先锁存地址,使在读/写总线周期内地址稳定。 8282 是三态缓冲的 8 位数据交换锁存器,由选通信号

14、 STB 与 CPU 的地址锁存允许信号 ALE 相连,当 STB 端选通信号出现, 8 位输入数据锁存到 8 个 D 触发器中。17.哪个标志位控制 CPU 的 INTR 引脚? 中断允许标志位 IF 控制 INTR 引脚的中断输入。18.什么叫总线周期?在 CPU 读/写总线周期中,数据在哪个机器状态出现在数据总线上? 总线周期:BIU 完成一次访问存储器或 I/O 端口操作所需要的时间。 读总线周期,在 T3 或 TW 状态数据出现在数据总线上;写总线周期,在 T2 状态数据出现在数据总线上。20.8086CPU 重新启动后,从何处开始执行指令? 从内存的 FFFF0H 开始执行指令。2

15、1.8086CPU 最小模式系统配置包括哪几部分? 包括时钟发生器、地址锁存器、数据收发器、存储器及 I/O 接口。补充题 1:已知段地址和偏移地址分别为 2015H 和 0028H,此存储单元的物理地址是什么? 存储单元的物理地址:20150H+0028H=20178H补充题 2: 若 CSA000H,求当前代码在存储器中的物理地址范围是什么?若数据段位于 52000H 到 61FFFH 的 64K 范围内,问 DS=? 物理地址范围:A0000HAFFFFH ,DS=5200H。简述 8086CPU 和 8088CPU 的主要区别在 8086 之前,还是 8 位的 CPU,其他外部接口也是 8 位的,而 8086 已经发展到 16 位了,内外都是 16 位。但这样一来,大量的 8 位的外设就要被淘汰。为了满足用户即可以使用新的 CPU,又能利用原来已有的外设,所以就在 8086 的基础上开发了 8088。即 8088 内部是 16 位的,而外部则是 8 位的。一 8086:是完全 16 位机,外部总线和内部总线都是 16 位。8088:内部总线是 16 位,外部总线是 8 位的。二 8086 有 6 字节的指令队列 只要有 2 字节的空闲便会自动取下条指令。8088 有 4 字节的指令队列 只要有 1 字节的空闲便会自动取下条指令。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报