“微机系统原理与接口技术”第七章习题解答(部分)
1. 8086系统采用向量式中断,试简述
8086系统中中断类型码、中断向量、中断向量
表的含义及其之间的关系。
答:
中断类型码:用于区分不同的中断源,即系统中每个中断源都应该对应一个唯一的类型 码。
8086系统中的中断类型码以 8位无符号数(00H 〜0FFH )表示,一共可以区分 256个
不同的中断源。
中断向量:中断服务程序(ISR )的入口地址,也就是 ISR 的第一条指令在存储器中的 位置。
8086系统中的中断向量由两个字(4个字节)组成,低位字表示入口的偏移地址,高 位字表示入口的段基址。
显然,每个中断类型码对应一个中断向量,则
8086系统中共应有
256个中断向量。
中断向量表:中断向量的存放地。
8086系统将最低的 1KB (00000H 〜003FFH ) RAM 空间用于存放这256个中断向量。
三者之间的关系是:利用中断类型码 n 可以很容易地从中断向量表中找到该中断源所对
应的中断向量,即:中断向量存放的起始地址 m = nX 4,从中断向量表的 m 地址单元开始
连续取出的四个字节就是 n 号中断的ISR 入口地址。
8086CPU 正是用这种方法完成中断索
引的。
系统将广义中断分为异常和狭义中断两大类。
(5)对。
4. 8086系统的RAM 存储单元中,从 0000H:002CH 开始依次存放 23H 、0FFH 、00H 和 0F0H 4个字节的
中断向量,该向量对应的中断类型码是多少?而中断类型码为 14H 的中断
向量应存放在哪些存储单元中?
答:中断向量0F000:0FF23存放在0002CH 双字单元中,说明其对应的中断类型码
N =
2CH - 4= 0BH 。
14H 号中断向量的起始存放地址为
4X 14H = 00050H ,即该中断向量的偏移量部分存放
2.判断下列说法是否正确,如有错,指出错误原因并改正:
(1) (2) (3) (4) (5) 答:
(1)
优先级别高的中断总是先响应、先处理。
8086系统中,中断向量表存放在
ROM 地址最高端。
PC 系统中的主机总是通过中断方式获得从键盘输入的信息。
80486系统和8086系统一样,将中断分为可屏蔽中断和不可屏蔽中断两种。
IBM PC/XT 中,RAM 奇偶校验错误会引起类型码为 2的NMI 中断。
可以算对。
不过这个题说法本身就不太明确,应该是: 源同时
提出中断请求时,
(2) 错。
应该是: (3) 对。
(4) 错。
应该是:
优先级别高的中断总是先响应、先处理。
“ 8086系统中,中断向量表存放在
RAM “一个系统中有多个中断
地址最低端。
”
“8086系统将中断分为内(软)中断和外(硬)中断两大类,而80486
在0050H和0051H单元中,段基址部分存放在0052H和0053H单元中。
5.以下是PC机为某外设中断源装载中断服务子程序的代码, 请问该外中断的类型码是
多少?程序段为它设置的中断向量是什么?
PUSH ES MOV AX , 0 MOV ES , AX
CLD
MOV DI , 24H MOV
AX , 0200H STOSW
MOV
AX , 1000H
STOSW
POP
ES
答:从程序可看出,该外中断的中断向量存放在 ES : DI 所指单元即 0000 : 0024H 单元,
所以该外中断的类型码
N = 00024H 十4 = 9;该中断向量为 1000H : 0200H ( 10200H )。
6.某系统中,要求8086CPU 采用中断方式把一个长 100字节的数据块从首址为 AREA 的存储区传送到端口地址为 37FH 的接口上,每次中断只传送一个字节。
设该中断的类型码
为0AH ,试写出完整的主程序和中断服务子程序。
答:由题意可知,主程序在完成通常的初始化工作(如初始化段寄存器)之后,还需要 完成中断向量的装载;而中断服务子程序则负责完成数据的发送。
DATA SEGMENT
CLI
MOV AL, 0AH MOV AH, 35H
INT 21H
MOV
OLDSEG , ES
AREA DB 100 DUP (?) ;待传送的数据块 CNT
DB 0
;已传送数据的个数
OLDOFF DW ? ;旧中断向量的偏移地址部分 OLDSEG DW ?
;旧中断向量的段基址部分
ENDS
DATA CODE P ROC FAR
常规初始化
P USH DS
MOV AX, 0
P USH
AX
MOV AX, DATA
MOV
DS, AX ;主程序
SEGMENT
START
号中断的原中断向量并保存
取0AH ASSUME CS : CODE ,DS : DATA
MOV OLDOFF, BX 设置新中断向量
PUSH DS
精品文档
你我共享
MOV AX, SEG RECIVE ;取当前中断服务程序入口的段基址
MOV DS, AX
MOV DX, OFFSET RECIVE ;取当前中断服务程序入口的偏移量 MOV AL, 0AH
;中断类型号为0AH
MOV AH, 25H
INT 21H
;将当前中断服务程序入口地址送向量表
POP DS
STI
等待中断传送数据
出师表
两汉:诸葛亮
WAT: CMP CNT, 100 JNZ
WAT
MOV DX, OLDSEG
MOV
DS, OLDOFF
MOV
AL, 0AH
MOV
AH, 25H
INT
21H
RET
START END P
RECIVE P ROC FAR
;中断服务子程序
RECIVE CODE
P USH AX
P USH DX
P USH SI
MOV SI, OFFSET AREA ADD SI, CNT MOV AL, [SI] MOV DX, 37FH OUT DX, AL
INC CNT
POP SI
POP DX
POP AX
IRET
;SI 指向需传送数据的首址
END P ENDS END
MAIN
发完数据后恢复原中断向量
精品文档你我共享
先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。
然侍卫之臣不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之于陛下也。
诚宜开张圣听,以光先帝遗德,恢弘志士之气,不宜妄自菲薄,引喻失义,以塞忠谏之路也。
宫中府中,俱为一体;陟罚臧否,不宜异同。
若有作奸犯科及为忠善者,宜付有司论其刑赏,以昭陛下平明之理;不宜偏私,使内外异法也。
侍中、侍郎郭攸之、费祎、董允等,此皆良实,志虑忠纯,是以先帝简拔以遗陛下:愚以为宫中之事,事无大小,悉以咨之,然后施行,必能裨补阙漏,有所广益。
将军向宠,性行淑均,晓畅军事,试用于昔日,先帝称之曰愚以为营中之
能”,是以众议举宠为督: 事,悉以咨之,必能使行阵和睦,优劣得所。
亲贤臣,远小人,此先汉所以兴隆也;亲小人,远贤臣,此后汉所以倾颓也。
先帝在时, 每与臣论此事,未尝不叹息痛恨于桓、灵也。
侍中、尚书、长史、参军,此悉贞良死节之臣,
愿陛下亲之、信之,则汉室之隆,可计日而待也U。
臣本布衣,躬耕于南阳,苟全性命于乱世,不求闻达于诸侯。
先帝不以臣卑鄙,猥自枉屈,三顾臣于草庐之中,咨臣以当世之事,由是感激,遂许先帝以驱驰。
后值倾覆,受任于败军之际,奉命于危难之间,尔来二十有一年矣。
先帝知臣谨慎,故临崩寄臣以大事也。
受命以来,夙夜忧叹,恐托付不效,以伤先帝之明;故五月渡泸,深入不毛。
今南方已定,兵甲已足,当奖率三军,北定中原,庶竭驽钝, 攘除奸凶,兴复汉室,还于旧都。
此臣所以报先帝而忠陛下之职分也。
至于斟酌损益,进尽忠言,则攸之、祎、允之任也。
愿陛下托臣以讨贼兴复之效,不效,则治臣之罪,以告先帝之灵。
若无兴德之言,则责攸之、祎、允等之慢,以彰其咎;陛下亦宜自谋,以咨诹善道,察纳雅言,深追先帝遗诏。
臣不胜受恩感激。
今当远离,临表涕零,不知所言。