资源描述
微机原理习题册
第 1 章 数制和码制
1.将下列十进制数分别转换为二进制数
(1)147 (2)4095 (3)0.625
解:147=10010011B 4095=111111111111B
0.625=0.101B 0.15625=0.00101B
2. 将下列二进制数分别转换为十进制数
(4)0.15625
(1)10110.101B (2)10010010.001B
解:
(3)11010.1101B
10110.101B=22.625 10010010.001B=146.0625
11010.1101B=26.8125
3.将二进制数转换成十六进制数
(1)10010101B(2)1101001011B(3)1111111111111101B (4)0100000010101B(5)01111111B(6)010000000001B 解:(1)95H(2)34BH(3)FFFDH(4)0815H(5)7FH(6)401H
4.已知 a=1011B, b=11001B, c=100110B,按二进制完成下列运算,并用十进制
运算检查计算结果:
(1)a+b; (2)c-a-b; (3)a·b; (4)c/b;
解:a=1011B=11, b=11001B=25, c=100110B=38
(1)a+b=100100B=36 (2)c-a-b=10B=2
(3)a·b=100010011B=275 (4)c/b=1……1101B(=13)
5.设机器字长为 8 位,写出下列各数的原码和补码:
(1) +1010101B (2)-1010101B (3)+1111111B (4)-1111111B (5)+1000000B (6)-1000000B 解:(1)+1010101B 原码 01010101B 补码 01010101B
(2) -1010101B 原码 11010101B 补码 10101011B
(3) +1111111B 原码 01111111B 补码 01111111B
(4) -1111111B 原码 11111111B 补码 10000001B
(5) +1000000B 原码 01000000B 补码 01000000B
(6) -1000000B 原码 11000000B 补码 11000000B
6.已知 a=00111000B,b=11000111B,计算下列逻辑运算:(1)a AND b;(2)a OR b;(3)a XOR b;(4)NOT a;
解:(1)00000000B(2)111111111B(3)111111111B(4)11000111B
7.求下列组合 BCD 数的二进制和十六进制表示形式:(1.14)
(1) 3251;(2)12907;(3)2006 解:(1)0011 0010 0101 0001B,3251H
(2) 0001 0010 1001 0000 0111 B , 12907H
(3) 0010 0000 0000 0110B , 2006H
8.设下列四组为 8 位二进制补码表示的十六进制数,计算 a+b 和 a-b,并判定其
结果是否溢出:
(1)a=37H,b=57H;(2)a=0B7H,b=0D7H;
(3)a=0F7H,b=0D7H;(4)a=37H,b=0C7H。
解:(1)a=37H, b=57H; a+b=8EH; a-b=[-1]E0H=-32
(2) a=0B7H, b=0D7H; a+b=[1]8EH=-114; a-b=[-1]E0H=-32
(3) a=0F7H, b=0D7H; a+b=[1]CEH=-50; a-b=20H=32
(4) a=37H, b=0C7H; a+b=FEH=-2; a-b=[-1]70H=112
9.写出“0”到“9”共 10 个数符的 ASCII 码。
答:“0”的 ASCII 码是 30H,“1”的 ASCII 码是 31H,
“2”的 ASCII 码是 32H,“3”的 ASCII 码是 33H,
“4”的 ASCII 码是 34H,“5”的 ASCII 码是 35H,
“6”的 ASCII 码是 36H,“7”的 ASCII 码是 37H,
“8”的 ASCII 码是 38H,“9”的 ASCII 码是 39H。
10.将下列算式中的十进制数表示成组合 BCD 码进行运算,并用加 6 和减 6 进行修正。
(1)38+42 (2)99+88
+ 42 BCD
+88 BCD
7AH
121H
+ 06H
+ 66H
80 BCD
187 BCD
解:(1) 38 BCD (2) 99 BCD
第 2 章 8086CPU 结构与功能
1.微处理器内部结构由那几个部分组成?阐述各部分的主要功能?答:微处理器内部结构主要由算术逻辑运算单元(ALU)、控制器、工作寄存器和 I/O 控制逻辑组成。算术逻辑运算单元是 CPU 的核心,它完成所有的运算操作;控制器是 CPU 的“指挥中心”,只有在它的控制下,CPU 才能完成指令的读入、寄存、译码和执行;工作寄存器用于暂时存储寻址信息和计算中间结果;I/O 控制逻辑用于处理 I/O 操作。
2.为什么地址总线是单向的,而数据总线是双向的?答:由于在计算机中地址总是由 CPU 产生的,因此地址总线是单向的。而数据
可从 CPU 写到存储器,也可从存储器读到 CPU,因此数据总线是双向的。
3.8086/8088 微处理器内部有哪些寄存器?其主要作用是什么?(2.4)答:执行部件有 8 个 16 位寄存器,AX、BX、CX、DX、SP、BP、DI、SI。AX、 BX、CX、DX 一般作为通用数据寄存器。SP 为堆栈指针存器,BP、DI、SI 在间接寻址时作为地址寄存器或变址寄存器。总线接口部件设有段寄存器 CS、DS、 SS、ES 和指令指针寄存器 IP。段寄存器存放段地址,与偏移地址共同形成存储器的物理地址。IP 的内容为下一条将要执行指令的偏移地址,与 CS 共同形成下一条指令的物理地址。
4.如果某微处理器有 20 条地址总线和 16 条数据总线,问:
(1) 假定存储器地址空间与 I/O 地址空间是分开的,则存储器地址空间有多大?
(2) 数据总线上传送的有符号整数的范围有多大?
解:存储空间为220 =1048576 =1M 字节, 数据总线上传送的有符号整数的范围
为-32768~+32767。
5.从下列各数中减去 4AE0H,求出其结果及标志位 CF、AF、SF、ZF、OF 和
PF 的值:
(1) 1234H (2)5D90H (3)9090H(4)EA04H 解:(1)1234H-4AE0H=C754H;CF=1,AF=0,SF=1,ZF=0,OF=0,PF
=0
(2) 5D90H -4AE0H=12B0H;CF=0,AF=0,SF=0,ZF=0,OF=0,
PF=0
(3) 9090H-4AE0H=45B0H;CF=0,AF=0,SF=0,ZF=0,OF=0,PF
=0
(4) EA04H-4AE0H=9F24H;CF=0,AF=0,SF=1,ZF=0,OF=0,PF
=1
6.什么是逻辑地址?什么是物理地址?它们之间的关系如何?答:在逻辑空间中每条指令的地址和指令中要访问的操作数地址统称为逻辑地址。内存是由若干个存储单元组成的,每个存储单元有一个编号,这种编号可惟一标识一个存储单元,称为内存地址(或物理地址)。
7.写出下列存储器地址的段地址、偏移地址和物理地址:(1)2134:10A0 (2)1FA0:0A1F (3)267A:B876
解:(1)段地址:2134H; 偏移地址:10A0H; 物理地址:223E0H
(2) 段地址:1FA0H; 偏移地址:0A1F H; 物理地址:2041FH
(3) 段地址:267A H; 偏移地址:B876H; 物理地址:32016H
8.给定一个数据的有效地址为 2359H,并且(DS)=490BH,求该数据的物理地址。
答:4B409H
9.如果在一个程序段开始执行之前,(CS)=OA7F0H,(IP)=2B40H,求该程序段的第一个字的物理地址。
解:物理地址为: 0A7F0H×10H+2B40H=A3330H。
10.IBM PC 有哪些寄存器可用来指示存储器的地址?答:指示存储器地址的寄存器有:SI,DI,BX,BP
11.已知 AH=56H,AL=65H,则 AX 的值是多少?若 AX=AX+0202H,则 AH 和 AL 的值分别是多少?
答:AX=5665H;AH=58H;AL=67H。
12.在 8086CPU 中,从逻辑地址计算出物理地址的部件是什么?答:地址加法器。
13.当 8086CPU 重启后,指令指针指向的内存单元的物理地址是多少?
答:8086CPU 重启后,CS=0FFFFH,IP=0000H,因此指令指针指向的内存单元的物理地址 PA=CS×10H+IP = 0FFFF0H。
第 3 章 8086CPU 指令系统
1.写出完成下列要求的变量定义语句:
(1) 在变量 var1 中保持 6 个字变量:
4512H,4512,-1,100/3,10H,65530;
(2) 在变量 var2 中保存字符串:‘BYTE’,’word’,’WORD’;
(3) 在缓冲区 buf1 中留出 100 个字节的存储空间;
(4) 在缓冲区 buf2 中,保存 5 个字节的 55H,再保存 10 个字节的 240,并将这一过程重复 7 次;
(5) 在变量 var3 中保存缓冲区 buf1 的长度;
(6) 在变量 pointer 中保存变量 var1 和缓冲区 buf1 的偏移地址。
解:(1)var1 DW 4512H,4512,-1,100/3,10H,65530
(2) var2 DB ’BYTE’, ’word’, ’WORD’
(3) buf1 DB 100 DUP(?)
(4) buf2 DB 7 DUP(5 DUP(55H), 10 DUP(240))
(5) var3 DB LENGTH buf1
(6) pointer DW var1, var2
2. 指令正误判断,对正确指令写出源和目的操作数的寻址方式,对错误指令指出原因(设 VAR1,VAR2 为字节变量,L1 为标号):(3.3)
答:(1)MOV SI,100 ;指令正确,源:立即数寻址,目的:寄存器寻址
(2)MOV BX,VAR1[SI] ;指令正确,源:寄存器相对寻址,目的:寄存器寻址
(3)MOV AX, [BX]
器寻址
;指令正确,源:寄存器间接寻址,目的:寄存
(4)MOV AL, [DX]
;指令错误,DX 不能用作为地址寄存器
(5)MOV BP, AL
;指令错误,类型不一致
(6)MOV VAR1, VAR2
传送
;指令错误,MOV 指令不能从存储器到存储器
(7) MOV CS, AX ;指令错误,CS 不能用作为目的操作数
(8) MOV DS, 0100H ;指令错误,MOV 指令不能将立即数传送到段寄存器
(9) MOV [BX][SI], 1 ;指令错误,类型不定
(10) MOV AX, VAR1+VAR2 ;指令错误,MOV 指令中不能完成加法运算
(11) ADD AX, LENGTH VAR1 ;指令正确,源:立即数寻址,目的:寄存器寻址
(12) OR BL, TYPE VAR2 ;指令正确,源:立即数寻址,目的:寄存器寻址
(13) SUB [DI], 78H ;指令错误,类型不定
(14) MOVS VAR1, VAR2 ;指令正确,源:隐含寻址,目的:隐含寻址
(15)PUSH 100H
;指令错误,立即数不能直接压入堆栈
(16)POP CS
;指令错误,CS 不能用作为目的操作数
(17)XCHG AX, ES
;指令错误,XCHG 指令中不能使用段寄存器
(18)MOV DS, CS
器
;指令错误,MOV 指令不能从段寄存器到段寄存
(19)JMP L1+5
;指令正确,段内直接转移
(20)DIV AX, 10
;指令错误,DIV 指令格式错误
(21)SHL BL, 2
;指令错误,移位指令的移位数要么是 1,要么是 CL
(22) MOV AL, 15+23 ;指令正确,源:立即数寻址,目的:寄存器寻址
(23) MUL CX ;指令正确,源:寄存器寻址,目的:隐含寻址
(24) XCHG CL, [SI] ;指令正确,源:寄存器间接寻址,目的:寄存器寻址
(25) ADC CS:[0100], AH ;指令正确,源:寄存器寻址,目的:直接寻址
(26) SBB VAR1-5,154 ;指令正确,源:立即数寻址,目的:直接寻址
3.设(DS)=2000H,(BX)=0100H,(SI)=0002H,(21000)=3412H,(20102) =7856H,(21200)=4C2AH,(21202)=65B7H,求下列指令执行后 AX 寄存器的内容:(3.6)
(1)MOV AX,1200H (2)MOV AX,BX (3)MOV AX,[1200H]
(4)MOV AX,[BX] (5)MOV AX,1100H[BX](6)MOV AX,[BX][SI](7)
MOV AX,1100H[BX][SI]
4.执行下列指令后,DX 寄存器中的内容是多少?
TABLE DW 25,36,-1,-16,10000,13
PYL DW 7
…
MOV BX, OFFSET TABLE
ADD BX, PYL MOV DX,[BX]
答:DX 寄存器中的内容为 10FFH 5.设已用伪指令 EQU 定义了 4 个标识符:
N1 EQU 2100
N2 EQU 10
N3 EQU 20000
N4 EQU 25000
下列指令是否正确?并说明原因。
(1)ADD AL,N1-N2 (2)MOV AX,N3+N4
(3)SUB BX,N4-N3 (4)SUB AH,N4-N3-N1
(5)ADD,AL,N2 (6)MOV AH,N2*N2 答:(1)ADD AL,N1-N2 ;指令错误,因为 N1-N2 超出一个字节的范围
(2) MOV AX,N3+N4 ;指令正确
(3) SUB BX,N4-N3 ;指令正确
(4) SUB AH,N4-N3-N1 ;指令错误,因为 N4-N3-N1 超出一个字节的范围
(5) ADD AL,N2 ; 指令正确
(6) MOV AH,N2*N2 ;指令正确
6.写出完成下列功能的程序段:
(1) 传送 40H 到 AL 寄存器;
(2) 将 AL 的内容乘以 2;
(3) 传送 16H 到 AH 寄存器(4)AL 的内容加上 AH 的内容。计算最后结果(AL)=?
解:(1)MOV AL,40H
(2) SHL AL,1
(3) MOV AH,16H (4)ADD AL,AH 执行后(AL)=96H
7.设(BX)=11001011B,变量 VAR 的内容为 00110010B,求下列指令单独执行后 BX 的内容:
(1)XOR BX,VAR(2)AND BX,VAR(3)OR BX,VAR(4)XOR BX,11110000B
(5)AND BX,00001111B(6)TEST BX,1
解:(1)XOR BX,VAR; 执行后(BX)=00F9H
(2) AND BX,VAR; 执行后(BX)=0002H
(3) OR BX,VAR; 执行后(BX)=00FBH
(4) XOR BX,11110000B;执行后(BX)=003BH
(5) AND BX,00001111B;执行后(BX)=00C4H
(6) TEST BX,1 ; 执行后(BX)=00CBH(不变) 8. 在下列程序运行后,给出相应的寄存器及存储单元填入运行的结果:
MOV AL,10H
MOV CX,1000H MOV BX,2000H
MOV [CX],AL
XCHG CX,BX
MOV DH,[BX]
MOV DL,01H
XCHG CX,BX
MOV [BX],DL
HLT
AL
BL
BH
CL
CH
DL
DH
1000H
2000H
解:
10H
00H
20H
00H
10H
01H
10H
10H
01H
AL
BL
BH
CL
CH
DL
DH
1000H
2000H
9.写出执行下列堆栈指令后,AX,BX,CX,DX 的值?
PUSH 1122H
PUSH 3344H
PUSH 5566H
PUSH 7788H
PUSH 9900H
POP AX
POP CX
POP DX POP BX
HLT
答:AX=9900H;BX=3344H; CX=7788H;DX=5566H。
10.NOP 指令的两个常见用途是什么?答:NOP 指令常用于在程序中标识需要增加指令的位置(即占位)和用于延时程序中。
11.为了使 AL 中的 D0,D2,D5,D7 位置为 0,其余位的值保持不变,则需找到一个数和 AL 相与,则该数是多少?答:
AL
D7
D6
D5
D4
D3
D2
D1
D0
X
X
X
X
X
X
X
X
AND
0
1
0
1
1
0
1
0
0
X
0
X
X
0
X
0
该数是:5AH。
12.已知 CF=1,AF=0,PF=1,SF=1,ZF=0,OF=0,DF=1,TF=1,IF=0,则标志寄存器 PSW 的值是多少?
PSW 的格式:
0
0
0
0
OF
DF
IF
TF
SF
ZF
0
AF
0
PF
0
CF
答:PSW 的值是:0585H。
0
0
0
0
0
1
0
1
1
0
0
0
0
1
0
1
第 4 章 汇编语言程序设计第 5 章 总线及其形成
1.微处理器级总线经过总线形成电路之后形成了 。
答:系统总线
2.什么是总线结构?简述计算机系统采用总线结构的优点。
答:总线结构是微型计算机系统结构的重要特点之一。它是主体部分与其它部分相连接的一种结构方式。其基本思想是,主体部分与其它多个不同部分都通过同一组精心设置的连线相连接,如以微处理器为主体的微处理器级总线和以主机板为主体的系统级总线。
微机所采用的总线式结构具有如下优点:
1) 简化了系统结构。整个系统结构清晰,连线少。
2) 简化了硬件设计。无论是自己选择芯片组成系统机还是在现成的系统机上开发微机应用系统,由总线规范给出了传输线和信号的规定,并对存储器和I/O设备如何“挂”在总线上都作了具体的规定,降低了硬件设计的复杂性。
3) 易于升级更新。在微机更新时,许多时候,不必全部废弃旧机子,而是直接更换主板及过时的部分零配件,以提高微机的运行速度和内存容量。比直接买新微机更经济。
4) 系统扩充性好。一是规模扩充,二是功能扩充。
规模扩充仅仅需要多插一些同类型的插件;功能扩充仅仅需要按总线标准设计一些新插件,插入微机的扩充插槽中即可,这使系统扩充既简单又快速可靠,还便于查错。
3.在8086系统总线结构中,为什么要有地址锁存器?答:因为地址、数据线分时复用。为了将总线周期T1状态下输出的地址信息在总线周期的其他T状态仍保持有效,总线控制逻辑必须有一个地址锁存器,把T1状态输出的20位地址进行锁存。
4.根据传送信息的种类不同,系统总线分为 、 和 。
答:数据总线、地址总线、控制总线。
5.三态逻辑电路输出信号的三个状态是: 、 和 。
答:高电平、低电平、高阻态
6. 微机中的控制总线提供 (H)
A.数据信号流;
B.存储器和I/O设备的地址码;
C.所有存储器和I/O设备的时序信号; D.所有存储器和I/O设备的控制信号; E.来自存储器和I/O设备的响应信号;
F.上述各项;
G.上述C,D两项;
H.上述C,D和E三项。
7.微机中读写控制信号的作用是 (E)
A. 决定数据总线上数据流的方向;
B. 控制存储器操作读/写的类型;
C. 控制流入、流出存储器信息的方向; D. 控制流入、流出I/O端口信息的方向;
E. 以上所有。
8.系统总线中地址线的作用是答:
9.CPU和总线控制逻辑中信号的时序是由 信号控制的。
答:时钟。
10.欲使8086CPU工作在最小方式,引脚MN/MX应接 。
答:高电平。
11.RESET信号是 时产生的,至少要保持4个时钟周期的 电平才有效,该信号结束后,CPU内的CS为 ,IP为 ,程序从 地址开始执行。
答:系统加电或操作员按面板上的RESET键、高、0FFFFH、0、0FFFF0H。
12.当M/IO引脚输出高电平时,说明CPU正在访问 。
答:存储器
13.8086CPU在读写一个字节时,只需要使用16条数据线中的8条,在 个总线周期内完成;在读写一个字时,自然要用到全部的16条数据线,只是当此字的地址是偶地址时,可在 个总线周期内完成,而对奇地址字的访问则要在个总线周期内完成。
答:1、1、2
14.8086最大系统的系统总线结构较最小系统的系统总线结构多一芯片 。
答:8288总线控制器。
15.8086 最小方式下,读总线周期和写总线周期相同之处是:在 状态开始使 ALE 信号变为有效 电平,并输出 信号来确定是访问存储器还是访问 I/O 端口,同时送出 20 位有效地址,在 状态的后部,ALE 信号变为 电平,利用其下降沿将 20 位地址和 BHE 的状态锁存在地址锁存器中;相异之处是从状态开始的数据传送阶段。
答:T1、高、M/IO、T1、低、T2。
16.在最小模式系统中,与读和写有关的 7 个控制引脚是什么?
答:RD,WR,BHE,DT/R,M/IO,DEN,ALE。 17.在最小模式系统中,与中断有关的 3 个引脚是什么?
答:NMI,INTR,INTA。
第 6 章 存储器设计
1.用下列RAM芯片构成32KB存储器模块,各需多少芯片?16位地址总线中有多少位参与片内寻址?多少位可用作片选控制信号?
(1) 1K×1 (2)1K×4
(3) 4K×8 (4)16K×1 解:
题号
芯片规格
所需片数
片内寻址线
可用的片选线
(1)
1K×1
256
A0 ~ A9,10位
A10 ~ A15,6位
( .一台8位微机系统的地址总线为16位,其存储器中RAM的容量为32KB,首地址为4000H,且地址是连续的。问可用的最高地址是多少?
解:由 32K=215=8000H ,首地址为 4000H ,,则可用的最高地址为
H+8000H-1=0BFFFH。该存储器中RAM的寻址范围为4000H~0BFFFH。
)
1K×4
64
A0 ~ A9,10位
A10 ~ A15,6位
( .某微机系统中内存的首地址为4000H,末地址为7FFFH,求其内存容量。
答:因为:(7FFFH+1)- 4000H = 4000H=16K 因此内存容量为:16KB。
)
4K×8
8
A0 ~ A11,12位
A12 ~ A15, .为地址总线为16位的某8位微机设计一个容量为12KB的存储器,要求ROM区为8KB,从0000H开始,采用2716芯片;RAM区为4KB,从2000H开始,采用2114芯片。试画出设计的存储器系统的连线图。
答:提示:2716芯片为EPROM类型,规格为2K×8,要构成8KB的存储空间,需 4片进行字节扩展;2114芯片为SRAM类型,规格为1K×4,要构成4KB的存储空间,需每2片先进行位扩展为1K×8的芯片组,再用4组芯片组字节扩展为4KB,
位
(4)
16K×1
16
A0 ~ A13,14位
A10 ~ A15,2位
因此需8片2114芯片。
5.一台8位微机系统需将内存RAM扩充8KB,其扩充存储空间为8000H开始的连续存储区。设系统的地址总线为A15~A0,数据总线为D7~D0,控制总线为
MREQ(___________)和WR(______),存储器芯片用2114。画出扩充的存储器模块的连接线路图。地址译码器选用3-8译码器74LS138,需要的门电路可自行选择。
答:提示:2114芯片为SRAM类型,规格为1K×4,要构成8KB的存储空间,需每2片先进行位扩展为1K×8的芯片组,再用8组芯片组字节扩展为8KB,因此需16片2114芯片,地址设计上要满足8000H开头的要求。
6.选用合适的存储芯片和译码芯片为 8086 CPU (工作于最小模式)设计一个 8KB 的 ROM 和 16KB 的 RAM 的存储器系统。
答:提示:如用 2716 和 2114 芯片。
7. ROM 是只读存储器,根据写入方式的不同可以分为四类: 、 、和 。
答:掩膜型ROM、PROM、EPROM 和E2PROM。
第 7 章 常用芯片的接口技术
1.主机与外设之间实现数据的输入输出的基本方式有 , 和 。
答:程序直接控制传送方式、程序中断控制方式、存贮器直接存取方式。
2.8086 CPU 有 ① 条地址总线,可形成 ② 的存贮器地址空间,可寻址范围为
③ ;地址总线中的 ④ 条线可用于I/O寻址,形成 ⑤ 的输入输出地址空间,地址范围为 ⑥ ;PC机中用了 ⑦ 条地址线进行I/O操作,其地址空间为 ⑧ ,可寻址范围为 ⑨ 。
答:① 20 ② 1M ③ 00000H ~0FFFFFH
④ 16 ⑤ 64K ⑥ 0000H ~ 0FFFFH
⑦ 10 ⑧ 1K ⑨ 000H ~ 3FFH
3.8086CPU用 指令从端口读入数据,用OUT指令 。
答:IN、向端口写入数据。
4.对于微机而言,任何新增的外部设备,最终总是要通过 和主机相接。
答:I/O 接口。
5.什么叫I/O端口?一般的接口电路中可以设置哪些端口?计算机对I/O端口编
址时采用哪两种方法?在8086/8088CPU 中一般采用哪种编址方法?答:在CPU 与外设通信时,传送的信息主要包括数据信息、状态信息和控制信息。在接口电路中,这些信息分别进入不同的寄存器,通常将这些寄存器和它们的控制逻辑统称为I/O 端口。
(1)一般的接口电路中可以设置数据端口、状态端口和命令端口。
(2)计算机对I/O 端口编址时采用两种方法:存储器映像寻址方式、I/O 单独编址方式。
(3)在 8086/8088CPU 中一般采用 I/O 单独编址方式。
6.某一个微机系统中,有8块I/O接口芯片,每个芯片占有8个端口地址,若起始地址为300H,8块芯片的地址连续分布,用74LS138作译码器,试画出端口译码电路,并说明每个芯片的端口地址范围。
第 8 章 中断系统与可编程中断控制器 8259A
1.什么叫中断?8086 微机系统中有哪几种不同类型的中断?答:在 CPU 执行程序的过程中,由于某个事件的发生,CPU 暂停当前正在执行的程序,转去执行处理该事件的一个中断服务程序,待中断服务程序执行完成后, CPU 再返回到原被中断的程序继续执行。这个过程称为中断。8086 中有:外部不可屏蔽中断、外部可屏蔽中断、内部中断。
2.什么是中断类型?它有什么用处?答:在一个微机系统中,中断源的个数较多。哪个中断源向 CPU 提出中断请求, CPU 响应该中断请求后就应正确的转向该中断源对应的中断服务程序入口,执行该中断服务程序。为了使 CPU 识别中断源,从而能正确地转向该中断源对应的中断服务程序入口,通常用若干位二进制编码来给中断源标号,该编号称为中断类型号。
3.什么是中断嵌套?使用中断嵌套有什么好处?对于可屏蔽中断,实现中断嵌套的条件是什么?答:微处理器在处理级别低的中断过程中,如果出现了级别高的中断请求,微处理器停止执行低级中断的处理程序而去优先处理高级中断,等高级中断处理完毕
后,再接着执行低级的未处理完的程序,这种中断处理方式称为中断嵌套。
4.什么是中断向量?中断类型号为 1FH 的中断向量为 2345H:1234H,画图说明它在中断向量表的存放位置。
答:中断向量是区分不同中断和获取相应的中断服务程序的一个字节的量,由
CPU 产生或由外设在中断响应周期输送至 CPU 的。
34H
12H
45H
23H
0007CH
0007DH
0007EH
0007FH
5.可屏蔽中断的响应条件是什么?答:(1)微处理器处于中断允许状态(IF=1)。(2)没有不可屏蔽中断请求和总线请求。(3)当前指令执行结束。
6.简述中断处理过程?答:中断处理过程包含五个步骤:中断请求、中断判优、中断响应、中断处理和中断返回。
(1)中断请求:中断源发出中断请求信号,送到CPU 的INTR 或NMI 引脚;(2)中断判优:根据中断优先权,找出中断请求中级别最高的中断源,允许中断嵌套;
(3) 中断响应:在每条指令的最后一个时钟周期,CPU 检测INTR 或NMI 信号,在满足一定条件下,CPU 进入中断响应周期,自动完成:向中断源发出INTA 中断响应信号、关中断(清IF)、断点保护( CS、IP 及PSW 自动压栈)、形成并转向中断入口地址;
(4) 中断处理:由中断服务程序完成,包括保护现场;开放中断;中断服务程序;关中断;恢复现场;开放中断;中断返回IRET 等;
(5) 中断返回:执行中断返回指令IRET,CPU 自动返回到断点地址(弹出堆栈内保存的断点信息到IP、CS 和FLAG 中),继续执行被中断的程序。
7.如外设A1、A2、A3、A4、A5 按完全嵌套优先级排列规则,外设A1 的优先级最高,A5 最低。若中断请求的次序如下所示,试给出各外设的中断处理程序的次序。(假设所有的中断处理程序开始后就有STI 指令)
(1) 外设A3和A4同时发出中断请求;
(2) 在外设A3的中断处理中,外设A1发出中断请求;
(3) 在外设A1的中断处理未完成前,发出EOI结束命令,外设A5发出中断请求。
答:外设的中断处理程序的次序为:A3→A1→A3→A4→A5
8. 中断向量表中地址为 0040H 中存放240BH,0042H 单元存放D169H,问:
(1) 这些单元对应的中断类型是什么?
(2) 该中断服务程序的起始地址是什么?答:(1)10H (2)D169H:240BH
第 9 章 并行接口芯片 8255A 应用设计
1.8255A 有三种基本工作方式,分别是: 、 、 。
答:基本的输入/输出、有联络信号的输入输出和双向传送。
2.可编程并行接口芯片 8255A 的方式选择控制字和置 1/置 0 控制字都是写入控制端口的,那么,它们又是由什么来区分的?答:用控制字 D7确定。D7 =1,写入的是方式控制字;D7 =0,写入的是按位置位/复位字。
3.设置 8255A 工作方式,8255A 的控制端口地址为 00C6H。要求端口 A 工作方式 1;输入;端口 B 工作方式 0;输出;端口 C 的高 4 位配合端口 A 工作,低 4 位为输入。
方式控制字格式见 P298 页图 10.3。
解:按要求的方式控制字为 1011 1001B。编程语句为:
MOV AL,0B9H OUT 00C6H,AL
12
展开阅读全文