西南交大 微机原理及应用 第二章 答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机原理第二章习题答案
2-1.解释下列概念:
(1)分时复用总线——不同的时刻通过相同的总线引脚传送不同的信息
(2)逻辑地址——程序员在程序中使用的地址。
(3)物理地址——又称实际地址PA,是CPU和存储器进行数据交换时所采用的地址。
(4)字地址——如果存放16位的字数据,则需要占用连续的两个单元,其中数据的高8位存放在地址较大的单元,低8位存储在地址较小的单元,并以该单元的值作为该子数据的字地址。
(5)字节地址——8086系统地址总线有20条,内存空间都按字节组织,每个内存单元存储一个字节的数据,并具有一个唯一的20位地址编号,称为字节地址。
(6)规则字——对于16位字数据,若其字地址为偶数,即从地址为偶数的单元开始存放,则称该字数据为规则字。
(7)非规则字——若其字地址为奇数,即从地址为奇数的单元开始存放,则称该字数据为非规则字。
(8)指令周期——执行一条指令所需要的时间称为指令周期。
总线周期——CPU每占用一次系统总线,进行信息的输入输出所需要的时间就成为总线周期。
时钟周期——
2-2. 简述8086/8088采用的重叠解释方式对指令和程序的解释过程及其特点。
在8086系统中,为了加快程序的执行速度,采用了重叠解释方式,各条指令的解释过程是重叠进行的。
每条指令的解释过程也包括取指令和执行指令两个阶段,但是相邻两条指令的解释过程有一部分是同时进行的。
在执行一条指令时,可以同时取出下一条指令。
在当前指令执行完毕后,就可以立即制行下一条指令。
这种重叠解释方式大大加快了程序的执行速度。
2-3.简述8086CPU内部组成以及EU和BIU的作用。
8086微处理器内部配分为两个独立的功能部件:执行部件EU和总线接口部件BIU。
执行部件由通用寄存器、标志寄存器、算术逻辑单元和EU控制系统等组成,专门负责指令的执行,即从指令队列缓冲器中获得指令,然后执行该指令,完成指令规定的操作。
总线接口部件由段寄存器、指令指针、地址形成逻辑、总线控制逻辑和指令队列缓冲器等组成。
主要功能是实现8086CPU与存储器和外部设备之间的数据传送。
2-4.分别写出寄存器AX、BX、CX、DX、SI和DI的隐含用法。
AX:1)在字乘/字除指令中作累加器 2)在字I/O操作时作数据寄存器
BX:1)间接寻址时作地址寄存器和基址寄存器 2)在XLAT指令中作基址寄存器
CX:1)串操作时作串长计数器 2)循环操作时作循环次数计数器
DX:1)字乘/字除指令中作辅助寄存器 2)I/O指令间接寻址时作端口地址寄存器
SI:1)间接寻址时作地址寄存器和变址寄存器 2)串操作时作源变址寄存器
DI:1)间接寻址时作地址寄存器和变址寄存器 2)串操作时作目的变址寄存器
2-5.简述8086标志寄存器各位的含义。
进位标志CF——反映算术运算后最高位是否出现进位或借位,有则为1,无则为0。
辅助进位标志AF——反映运算结果的低4位是否向高位产生进位或借位,有则为1,无则为0。
奇偶标志PF——反映指令执行结果低8位数据中1的个数是否为偶数,是则为1,否则为0。
零标志ZF——反映运算结果是否为零,是则为1,否则为0。
符号标志SF——反映运算结果最高位的状态,并与运算结果最高位状态相同。
溢出标志OF——反映带符号数进行算术运算后是否有溢出,有则为1,无则为0。
方向标志DF——用于控制串操作指令执行时的步进方向,该位为1时,串操作指令按地址递减的顺序对串进行操作,否则按地址递增的顺序进行操作。
中断允许标志IF——指示是否允许系统响应外部的可屏蔽中断请求,为1表示允许(开中断),否则表示禁止(关中断)。
陷阱标志TF——为1时,CPU每执行完一天指令便自动产生一个内部中断,并转去执行一个中断服务程序,常用于程序的调试。
2-9.简述8086系统中内存物理地址的形成过程
将段基值左移4位再加上16位的偏移地址即可。
课本P54页
2-10.写出8086系统复位后执行的第一条指令的逻辑地址和物理地址
[解]逻辑地址CS:IP为: 0FFFFH:0000H,物理地址PA=0FFFF0H
2-11.画出下列各信息在8086系统存储器中的存储示意图,假设各信息存放的起始地址为12340H (1)常数123 123 = 7BH
(2)字符串AB$09 AB$09的ASCII码为41 42 24 30 39
(3)偏移地址2130H 16位数据在内存中存放时,高8位存放在地址较大的单元,低8位放在地址较小的单元。
(4)逻辑地址1234H:5678H 32位的地址指针存放时,偏移地址存入地址较小的单元,段基值存入地址较大的单元
(1)12340H7B
(2)12340H41
12341H42
12342H24
12343H30
12344H39
(3)12340H30
12341H21
(4)12340H78
12341H56
12342H34
12343H12
2-12.有一个由20个字组成的数据区,其起始地址为610AH:1CE7H,试写出该数据区首末单元的实际地址PA。
[分析]20个字占用40个字节即28H个字节,1CE7H+28H-1=1D0EH 所以末地址为610AH:1D0EH [解] 首地址PA=62D87H,末地址PA=62DAEH。
2-13.存储器中每一个段最多为64K字节,当程序routadf运行后,用DEBUG命令显示出当前各寄存器的内容如下,要求:(1)画出此时存储器分段示意图;(2)写出各状态标志的值。
B>C:debug routadf.exe
-r
AX=0000 BX=0000 CX=006D DX=0000 SP=00C8 BP=0000 SI=0000 DI=0000
DS=53A7 ES=11A7 SS=21BE CS=31B8 IP=0000 NV UP EI PL NZ NA PO NC
[分析](1)每一个段最多为64K字节,即FFFFH个字节 对数据段:53A70H+FFFFH=63A6FH [解](1) 数据段:53A70H~63A6FH ; 附加段:11A70H~21A6FH
堆栈段:21BE0H~31BDFH ; 代码段:31B80H~41B7FH
只有堆栈段和代码段之间有地址重叠,其它段之间均无重叠。
(2) OF=0 DF=0 IF=1 SF=0 ZF=0 AF=0 PF=0 CF=0
2-14.已知SS=20A0H,SP=0032H,AX=0FF42H,SI=537AH,BL=5CH,将CS=0A5BH,IP=0012H推入堆栈后,再执行下列指令,
PUSH AX
PUSH BX ;位置1
PUSH SI ;位置2
POPF ;位置3
(1)画出堆栈存放示意图;
(2)画出指令执行到位置1、位置2和位置3时堆栈区及SP指针内容的变化示意图。
图中应标出存储单元的实际地址PA。
[解]
SP=0028H ② 20A28H 7A
SI
20A29H 53
SP=002AH ①③ 20A2AH 5C
BX
20A2BH X X
20A2CH 42
AX
20A2DH F F
20A2EH 12
IP
20A2FH 00
20A30H 5B
CS
20A31H 0A
SP=0032H 20A32H X X
2-15.简述8086总线周期的基本组成。
举例说明什么情况下需要插入等待周期。
一个基本的8086总线周期由4个时钟周期组成,分别以T1~T4表示,每个时钟周期又称为一个T状态。
一个总线周期完成一次数据传输,至少需要有传送地址和传送数据两个过程。
在每个总线周期的一个时钟周期T1期间,CPU输出地址,后三个周期传送数据。
在实际系统中,一些低速设备在三个周期内无法完成数据传送,则在总线周期中插入若干个等待周期Tw。
并通过READY引脚向CPU发出一个请求延长总线周期的信号,8086CPU收到后,就在T3~T4之间插入一个或多个等待周期Tw,直到READY信号变为有效。