微机原理黄冰版--作业答案(7)

2019-08-02 00:23

INT 21H POP DS ; 中断服务程序

ATOBCD: MOV CX, NUMB

LEA SI, ASCMM

LEA DI, BCDMM CLD

ALOOP: LODSB

AND AL, 0FH ; ASCII码到BCD码的转换

STOSB LOOP ALOOP IRET

10.编写出只有一片8259A的8088系统中8259A的初始化程序,8259A的地址为02C0H和02C1H,要求:

(1) 中断请求输入采用电平触发; (2) IRQ0请求的中断类型是16; (3) 采用缓冲器方式; (4) 采用普通的EOI命令。 ; ICW1初始化

MOV DX, 02C0H

MOV AL, 0001 1011B ; 1BH OUT DX, AL ; ICW2初始化

INC DX

MOV AL, 0001 0000B ; 10H OUT DX, AL ; ICW4初始化

31

MOV AL, 0000 1001B; (09H)或0000 1101B(0DH) OUT DX, AL

11.编写一将8259A中的IRR、ISR和IMR的内容传送至存储器中REG-ARR为首地址的数组中的程序段,假设CPU为8088,8259A的偶地址为050H,奇地址为051H。

; 读IRR的内容

MOV AL, 0AH ; 写入OCW3,读IRR OUT 050H, AL

NOP ; 延时,等待8259A操作结束 IN AL, 050H ; 读出IRR

MOV REG-ADDR, AL ; IRR送到存储器 ; 读ISR的内容

MOV AL, 0BH ; 写入OCW3,读ISR OUT 050H, AL

NOP ; 延时,等待8259A操作结束 IN AL, 050H ; 读出ISR

MOV REG-ADDR+1, AL ; ISR送到存储器 ; 读IMR的内容

MOV DX, 051H IN AL, DX

MOV REG-ADDR+2, AL ; IMR送到存储器

12.某系统中有5个中断源,它们从中断控制器8259A的IRQ4~IRQ0中以脉冲方式引入系统,它们的中断类型码分别为4BH、4CH、4DH、4EH和4FH,中断入口分别为3500H、4080H、4505H、5540H和6000H。允许它们以完全嵌套方式工作,请编写相应的初始化程序,CPU响应一级中断时,能正确地进入各自的中断服务程序入口。

13.BM PC/AT机中两片8259A的硬件连接图如图7.29所示,请指出8259A主片及从片,并如何从硬件连接中的哪些部分来区分主片和从片?

32

1#:主片,2#:从片

2#芯片的INT引脚接的是1#芯片的IRQ2引脚。

14.上题中,两片8259A的初始化程序如下:

;主8259A初始化

INTA00 EQU 020H INTA01 EQU 021H

;8259A主片端口0 ;8259A主片端口1

; 边沿触发,多片8259级联,需要ICW4 MOV AL, 11H OUT INTA00, AL ; 中断类型码的基值为8 MOV

AL,

8

OUT INTA01, AL ; IRQ2接从8259A MOV AL, 04H

;ICW1

;ICW2

;ICW3

OUT INTA01, AL ; 全嵌套方式,非缓冲方式,非自动结束,8086/8088模式 MOV

AL,

01H

;ICW4

OUT INTA01, AL ;从8259A初始化 INTB00 EQU INTB01 EQU

020H 021H

;8259A从片端口0 ;8259A从片端口1

┇ ; 边沿触发,多片8259级联,需要ICW4 MOV AL, 11H ;ICW1 OUT INTB00, AL ; 中断类型码的基值为70H MOV AL, 70H

;ICW2

OUT INTB01, AL

; 从属8259接主控的IRQ2

33

MOV AL, 02H ;ICW3

OUT INTB01, AL

; 全嵌套方式,非缓冲方式,非自动结束,8086/8088模式 MOV AL, 01H ;ICW4

OUT INTB01, AL

请说明两片8259A的4个初始化命令字的意义。

15.某系统中设置3片8259A级联使用,一片为主8259A;两片为从8259A,它们分别接入主8259A的IRQ2和IRQ4端。若已知当前主8259A和从8259A的IRQ3上各接有一个中断源,它们的中断类型码分别为A0H、B0H、C0H,已知它们的中断入口均在同一段中,其段基址为2050H,偏移地址分别为11A0H、22B0H和33C0H,所有中断均采用电平触发方式、完全嵌套、普通EOI结束。

(1) 画出它们的硬件连接图;

(2) 编写全部初始化程序。

解:(中断类型码认为是三片8259的中断类型基码) (1)

(2)

; 利用DOS功能调用设置中断向量 PUSH DS ; A3H设置 MOV MOV MOV MOV

AX,2050H DS,AX DX,11A0H AX,25A3H

34

INT 21H ; B3H设置 MOV MOV

DX,22B0H AX,25B3H

INT 21H ; C3H设置 MOV MOV INT

DX,33C0H AX,25C3H 21H

POP DS

; 8259A初始化,先定义各8259端口地址,依次为主控、从1#、从2# INTA0 EQU 020H INTA1 EQU 021H INTB0 EQU 0A0H INTB1 EQU 0A1H INTC0 EQU 0B0H INTC1 EQU 0B1H ; 主8259初始化 MOV MOV OUT MOV OUT MOV OUT MOV

DX, INTA0

AL, 0001 1001B ; ICW1:电平触发,多片8259级联,需要ICW4 DX, AL

AL, 1010 0000B ; ICW2:中断类型码基值为0A0H DX, AL

AL, 0001 0100B ; ICW3:IRQ4、IRQ2接从属8259

DX, AL

AL, 0001 0001B ; ICW4:完全嵌套、非缓冲方式、普通EOI结束、8086/8088模式

MOV DX, INTA1

OUT DX, AL ; 从1#初始化 MOV MOV OUT MOV OUT MOV OUT MOV

DX, INTB0

AL, 0001 1001B ; ICW1:电平触发,多片8259级联,需要ICW4 DX, AL

AL, 1011 0000B ; ICW2:中断类型码基值为0B0H DX, AL

AL, 0000 0010B ; ICW3:从属8259接主控的IRQ2

DX, AL

AL, 0001 0001B ; ICW4:完全嵌套、非缓冲方式、普通EOI结束、8086/8088模式

MOV DX, INTB1

OUT DX, AL ; 从2#初始化 MOV MOV OUT MOV

DX, INTC0

AL, 0001 1001B ; ICW1:电平触发,多片8259级联,需要ICW4 DX, AL

AL, 1100 0000B ; ICW2:中断类型码基值为0C0H

35

MOV DX, INTC1


微机原理黄冰版--作业答案(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:九连环活动教学设计

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: