实验二:8259 中断控制器实验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二 8259A中断控制器实验

1、编制程序:拨动单脉冲开关,“”送给8259A的IR0,触发中断, 8088计数中断次数,显示于G5区的数码管上

2、运行程序

3、上下拨动单脉冲开关,拨动二次,产生一个“”,观察结果,

数码管上显示的次数与拨动开关次数是否对应。

.MODEL TINY

EXTRN DISPLAY8:NEAR

IO8259_0 EQU 0F000H

IO8259_1 EQU 0F001H

.STACK 100

.DATA

BUFFER DB 8 DUP(?)

COUNTER DB ?

REDISPLAYFLAG DB 0

.CODE

START: MOV AX,@DATA

MOV DS,AX

MOV ES,AX

NOP

CALL INIT8259

CALL WRIINTVER

MOV COUNTER,0

MOV REDISPLAYFLAG,1

STI ;¿ªÖжÏ

START1: CMP REDISPLAYFLAG,0

JZ START1

CALL LEDDISPLAY

MOV REDISPLAYFLAG,0

JMP S TART1

INIT8259 PROC NEAR

MOV DX,IO8259_0

MOV AL,13H

OUT DX,AL

MOV DX,IO8259_1

MOV AL,08H

OUT DX,AL

MOV AL,09H

OUT DX,AL

MOV AL,0FEH

OUT DX,AL

RET

INIT8259 ENDP

WRIINTVER PROC NEAR

PUSH ES

MOV AX,0

MOV ES,AX

MOV DI,20H

LEA AX,INT_0

STOSW

MOV AX,CS

STOSW

POP E S

RET

WRIINTVER ENDP

LEDDISPLAY PROC NEAR

MOV AL,COUNTER

MOV AH,AL

AND AL,0FH

MOV BUFFER,AL

AND AH,0F0H

ROR A H,4

MOV BUFFER + 1,AH

MOV BUFFER + 2,10H ;¸ßÁùλ²»ÐèÒªÏÔʾ

MOV BUFFER + 3,10H

MOV BUFFER + 4,10H

MOV BUFFER + 5,10H

MOV BUFFER + 6,10H

MOV BUFFER + 7,10H

LEA SI,BUFFER

CALL DISPLAY8

RET

LEDDISPLAY ENDP

INT_0: PUSH DX

PUSH AX

MOV AL,COUNTER

ADD AL,1

DAA

MOV COUNTER,AL

MOV REDISPLAYFLAG,1

MOV DX,IO8259_0

MOV AL,20H

OUT DX,AL POP A X

POP D X

IRET ENDSTART

相关文档
最新文档