《西工大微机原理试题例题》由会员分享,可在线阅读,更多相关《西工大微机原理试题例题(13页珍藏版)》请在金锄头文库上搜索。
1、例 75若 8086 系统中采用单片8259A 作为外部可屏蔽中断的优先级管理,正常全嵌套方式,边沿触发,非缓冲连接,非自动中断结束,端口地址为20H和 21H。其中某中断源的中断类型码为0AH ,其中断服务子程序的入口地址是 2000:3A40H 。(1)请为8259A 设置正确的初始化命令字,并编写初始化程序。(2) 请问本题中的中断源应与IR 的哪一个输入端相连,其中断矢量地址是多少,矢量区对应的4 个单元的内容是什么?解(1)ICW1=00010011 (单片,边沿触发,必须设置ICW4 ) ;ICW2=00001000(中断类型码基值为08H,高 5 位为 00001,低 3 位任意
2、设置);无 ICW3 ,因单片 8259A系统,无需设置ICW3 ;ICW4=00000001(正常全嵌套方式,非缓冲连接,非自动中断结束) 。初始化程序如下:MOV AL,13H ;设置 ICW1 OUT 20H,AL MOV AL,08H ;设置 ICW2 OUT 21H,AL MOV AL,01H ;设置 ICW4 OUT 21H,AL (2)本题中的中断源应与IR2 相连,其中断矢量地址为 0000: 0028H, 矢量区对应的4个单元的内容依次为40H,3AH ,00H,20H。【评注】 8259A的 ICW2用来提供中断类型码,中断类型码的高 5 位由用户指定, 低 3 位由 82
3、59A的中断请求输入端的 IR0IR7的编码决定。 中断类型码基值规定最低3 位为 0,故本例中断类型码基值为08H。本题中的中断类型码为 0AH ,即 00001010B,所以此中断源一定连接8259A的 IR2端。中断向量表规定从内存的00000H 开始按中断类型码顺序存放中断向量,每个向量占用4 个单元,所以,该中断源的向量地址为0AH 4=28H,即 0000:0028H;这 4 个单元存放中断服务程序入口地址,规定IP 在前, CS在后,且低位在前,高位在后,故4 个单元的内容依次为40H,3AH ,00H,20H。例 76 下面为对一个主从式8259A 系统进行初始化的程序段。 请
4、对以下程序段详细注释,并具体说明各初始化命令字的含义。主片初始化程序:;设主片的端口地址为140H,141H MOV AL,11H MOV DX,140H OUT DX,AL MOV AL,08H INC DX OUT DX,AL MOV AL,04H OUT DX,AL MOV AL,01H OUT DX,AL 从片初始化程序:;设从片的端口地址为190H,191H MOV DX,190H MOV AL,11H OUT DX,AL MOV AL,70H INC DX OUT DX,AL MOV AL,02H OUT DX,AL MOV AL,01H OUT DX,AL 解根据各命令字的格式可
5、以分析如下。主片初始化程序:;设主片的端口地址为140H,141H MOV AL ,11H MOV DX ,140H OUT DX,AL ;设置 ICW1 ,中断请求信号边沿触发,级联方式,;须设 ICW4 MOV AL ,08H INC DX OUT DX ,AL ;设置 ICW2 ,中断类型码为08H0FH MOV AL ,04H OUT DX ,AL ;设置 ICW3 ,IR2 与从片的 INT 相连MOV AL ,01H OUT DX ,AL ;设置 ICW4 ,完全嵌套方式,非缓冲,正常中断;结束从片初始化程序:;设从片的端口地址为190H,191H MOV DX ,190H MOV
6、 AL ,11H OUT DX ,AL ;同主片 ICW1 MOV AL ,70H INC DX OUT DX ,AL ;设置 ICW2 ,中断类型码为70H77H MOV AL ,02H OUT DX ,AL ;设置 ICW3 ,从片 INT 与主片的 IR2相连MOV AL ,01H OUT DX ,AL ;同主片 ICW4 例 77 若 8259A 以三片级联方式管理22 级中断, A 从片的 INT 接到主片的 IR2 上, B从片的 INT 接到主片的 IR6上,主、从片的中断请求采用边沿触发方式,选用全嵌套、自动结束、非缓冲方式,主片中断类型码为60H67H,A片的中断类型码为70
7、H77H,B片的中断类型码为80H87H,各 8259A的 A0均接到 CPU的 A0,口地址可合理假设,试对该中断管理系统进行初始化编程。解主片初始化(设主片地址位80H,81H)MOV AL,11H OUT 80H,AL ;设置 ICW1 MOV AL,60H OUT 81H,AL ;设置 ICW2 MOV AL,01000100B OUT 81H,AL ;设置 ICW3 MOV AL,00000011B OUT 81H,AL ;设置 ICW4 ;从片 A初始化(设从片A地址为 82H,83H)MOV AL,11H OUT 82H,AL ;ICW1 MOV AL,70H OUT 83H,A
8、L ;ICW2 MOV AL,02H OUT 83H,AL ;ICW3 MOV AL,03H OUT 83H,AL ;ICW4 ;从片 B初始化(设从片B地址为 84H,85H)MOV AL,11H OUT 84H,AL ;ICW1 MOV AL,80H OUT 85H,AL ;ICW2 MOV AL,06H OUT 85H,AL ;ICW3 MOV AL,03H OUT 85H,AL ;ICW4 三. 问答题:2. 8259A对外只有两个端口地址,却有7 个命令字,它是如何识别不同的命令字的?答:8259A 的 7 个命令字为: 4 个初始化命令字ICW1 、ICW2 、ICW3和 ICW4
9、 ,3 个操作命令字OCW1 、OCW2 和 OCW3 。其中 ICW1 、OCW2、OCW3 是写入偶地址的,它们依赖于命令字中的 D4、D3位作标志位来区分;ICW2 、ICW3和 ICW4都写入奇地址,它们总是紧跟于ICW1 后写入的, 8259A收到 ICW1后,便能根据 ICW1的内容逐一识别跟在后面的其它初始化命令字;OCW1也是写入奇地址,但它是初始化设置完后,在工作过程中任意时刻写入的,也就是说,在初始化完成后,写入奇地址的都是OCW1 。四、接口设计题5 某系统采用级联方式,主8259A 的中断类型码从30H开始,端口地址为20H、21H。从 8259A 的 INT 接主片的 IR7,从片的中断类型码从40H开始,端口地址为22H,23H。均不要 ICW4 。试对其进行初始化编程。解:;主片初始化程序:MOV AL,00010001B OUT 20H,AL MOV AL,30H OUT 21H,AL MOV AL,80H OUT 21H,AL ;从片初始化程序:MOV AL,00010001B OUT 22H,AL MOV AL,40H OUT 23H,AL MOV AL,07H OUT 23H,AL