微机原理第二章习题答案 下载本文

言,各种寻址方式下寻找操作数的范围被限制在64KB以内。而8086/8088有20条地址线,它的直接寻址能力为1MB。这就产生了一个矛盾,即16位的地址寄存器如何去寻址20位的存储器物理地址。解决这个问题是靠存储器分段实现的:将整个1MB的内存储器以64KB为单位分为若干段。寻址一个具体物理地址时,必须要由一个段地址(基地址)左移4位(即乘16)再加上由SP(或IP、BP、SI、DI)等寄存器之值表示的、可由CPU处理的16位偏移量来形成实际的20位物理地址;其中段地址(或基地址)是由8086/8088中的段寄存器形成的。

20. 已知当前段寄存器的基值(DS)=021FH,(ES)=0A32H,(CS)=234EH,则上述各段在存储器空间中物理地址的首址及末地址号是什么?

答:数据段: 021F0H~121EFH 附加段: 0A320H~1A31FH 代码段: 234E0H~334DFH

21. 若(CS)=5200H时,物理转移地址为5B230H,则当CS的内容被设定为7800H,物理转移地址应为多少?

答:按题目条件可知该转移地址距CS所指代码段的段基址的偏移量为9230H (即= 5B230H-52000H),因此若(CS)=7800H,则物理转移地址应为:78000H +9230H=81230H。

22. 若8086工作于最小方式,试指出当 CPU完成将AH中的内容送到物理地址为9100H的存储单元操作时,以下哪些引脚信号出现过低电平:BHE/S7、RD、WR、M/IO、DT/R?

答:WR引脚信号出现过低电平。

23. 若8086工作于最大方式,试指出当CPU完成将CL内容传送到物理地址为91003H单元的操作时,8288输出的哪些总线命令信号应变为有效(低电平)?

答:MWTC(存储器写命令)和DEN(数据有效命令)信号应变为有效。

24. 8086CPU工作在最小模式(单CPU)和最大模式(多CPU)的主要特点是什么?有何区别?

答:8086 CPU工作于最小模式是用来组成单处理器微机系统,此时8086 CPU直接提供所有的总线控制信号。

而8086 CPU工作于最大模式是构成多处理器/协处理器微机系统(所谓多处理器系统即在一个系统中有两个或两个以上的微处理器)。8288总线控制器是8086在最大模式下不可缺少的器件。8288对8086的总线状态码S2、S1、S0进行译码,以产生与多总线结构兼容的各种定时命令和控制信号。

25. 某系统中已知当前(SS)=2258H,(SP)=0800H,说明该堆栈段在存储器中的物理地址范围。若当前堆栈中存入10个字节数据,那么SP内容应为什么值?

答:堆栈段在存储器中的物理地址范围为:22580H~22D80H,其中22580H(=2258H*16)为堆栈段的段基址,而22D80H(=2258H*16+0800H)为栈底地址。在存入10个字节数据后SP内容应为07F6H(=0800H-0AH)。

26. 8086 CPU读/写总线周期包含多少个时钟周期?什么情况下需要插入TW等待周期?TW的多少取决于什么因素?什么情况下会出现空闲状态T1?

答:8086 CPU的基本读/写总线周期包括4个时钟周期。在某些情况下,被写入数据或

被读取数据的存储器或外设在速度上跟不上CPU时,就会由存储器或外设在T3状态启动前向CPU发无效的READY信号,于是CPU将在T3之后插入1个或多个附加的等待周期Tw。

如果在1个总线周期之后不立即执行下一个总线周期,那么总线就处于空闲状态,即执行空闲周期T1。

27. 现有6个字节的数据分别为11H,22H,33H,44H,55H,66H,已知它们在存储器中的物理地址为 400A5H~400AAH,若当前(DS)=4002H,请说明它们的偏移地址值。如果要从存储器中读出这些数据,需要访问几次存储器?每次各读出哪些数据?

答:这几个字节数据的偏移地址值为:0085H~008AH(偏移地址 = 物理地址 - 段基址*16 = 物理地址 - 40020H)

数据是以字节形式存放的。如果是8088CPU,无论如何都要读6次存储器,每次分别读出一个字节。如果是8086CPU,可分为以下三种情况:

若以字节方式读数据,则每读一个字节需要访问一次存储器,共需6个总线周期; 若以字的方式读数据,由于存放格式为非规则字,故每读一个非规则字需要两个总线周期,3个非规则字仍需6个总线周期,每个总线周期读出一个字节;

若对读取方式无具体规定,则可以先读一个奇地址字节11H,然后连续读两个规则存放的字3322H、5544H,最后读偶地址字节66H,这样共需访问4次存储器。

28. 已知当前数据段中存有如图所示的数据,现要求将最后两个字节改成0DH,0AH,请说明需给出的段基值和偏移地址值,并说明其写入过程。

答:需改写的两个单元的段基值为14800H,偏移地址分别为08A7H和08A8H。写入过程为:先向150A6H单元传送一个字数

题2-28图 据,忽略低8位,高8位为0DH;再向150A8H单元传送一个字

数据,忽略高8位,低8位为0AH。