2.3 习 题 解 答
1.选择题:
西元国际广场
(1)某微机具有16MB的内存空间,其CPU的地址总线应有( )条。A.26 B.28 C.20 D.22 E.24
(2)当RESET信号进入高电平状态时,将使8086/8088 CPU的( )寄存器初始化为0FFFFH。 A.SS B.DS C.ES D.CS
(3 )8086/8088 CPU与慢速存储器或I/O接口之间进行数据传输,为了使传送速度匹配,有时需要在( )状态之间插入若干等待周期TW。
codysafeA.T1和T2 B.T2和T3 C.T3和T4 D.随机
答案:(1)E (2)D (3)C
2.填空题:
(1)8086/8088 CPU执行指令中所需操作数地址由( )计算出( )位偏移量部分送( ),由( )最后形成一个( 三个儿子教学设计
)位的内存单元物理地址。 (2)8086系统的存储体系结构中,1MB存储体分( )个库,每个库的容量都是( )字节,其中和数据总线D滑光轮15~D8相连的库全部由( )单元组成,称为高位字节库,并用( )作为此库的选通信号。
(3)用段基值及偏移量来指明内存单元地址的方式称为( )。
(4)通常8086/8088 CPU中当EU执行一条占用很多时钟周期的指令时,或者在多处理器系统中在交换总线控制时会出现( )状态。
(5)在8086/8088最大方式系统中各微处理器都有两条( )引脚,其中( )比( )具有更高的优先级。
答案:
a)EU,16,BIU,BIU,20
b)2,512K,奇地址,
c)逻辑地址
d)空闲
e)总线请求(输入)/总线请求允许(输出),赵薇 天使旅行箱0 ,
3.8086/8088 CPU中有几个通用寄存器?有几个变址寄存器?有几个指针寄存器?通常哪几个寄存器亦可作为地址寄存器使用?
答:8086/8088 CPU中共有:
8个16位的通用寄存器AX、BX、CX、DX 、BP、SP、SI、DI;
2个变址寄存器SI、DI;
2个指针寄存器BP、SP;
其中BX、BP、SI、DI亦可作地址寄存器。
4.什么是堆栈?它有什么用途?堆栈指针的作用是什么?举例说明堆栈的操作。 答:堆栈是一个按照后进先出(LIFO)的原则存取数据的存储区域。堆栈的作用是为了在调用子程序(或转向中断服务程序)时,把断点及有关的寄存器、标志位及时正确地保存下来,并保证逐次正确返回。利用堆栈指针SP可以实现对栈区的自动管理。 例如:要把AX寄存器中的内容压入堆栈,用入栈指令PUSH AX(设SP原值为1000H),其操作过程如下所示:
第一步:先把SP-l→SP,然后把AH(高位字节)送入SP所指单元(即SP=1FFFH);
第二步:再次使SP-1→SP,把AL(低位字节)送至SP所指单元(此时SP=1FFEH);新两个凡是
数据出栈操作与入栈过程正相反:弹出时,先把AL内容弹出,然后修改SP+1→SP;再把AH内容弹出,再修改SP+1→SP。
5.对于由8086/8088 CPU组成的系统,堆栈的位置如何确立?堆栈的首址(即SS中的值)
是不是栈底?为什么?
答:8086/8088系统中堆栈的位置由SS和SP初始化后确立:其中(SS)*16决定了堆栈段起始单元的地址,即堆栈段首址;(SS)*16+(SP初值)决定了堆栈段最后一个单元的地址,即栈底;(SS)*16+(SP现值)决定了堆栈段当前可用单元的地址,即栈顶。
显然,堆栈首址并不是栈低。一般来说,在堆栈所在的内存区内,栈底为高地址端。堆栈初始化后,未压入数据时,栈底与栈顶是重合的。当堆栈压入数据后,栈顶地址总是小于栈底地址,位于低地址端。
6.试指出下列运算后的各个状态标志,并说明进位标志和溢出标志的区别:
(1)1278H+3469H
答:CF=0 AF=1 ZF=0 SF=0 OF=0 PF=1
(2)54E3H-27A0H
答:CF=0 AF=0 ZF=0 SF=0 OF=0 PF=0