📄 8253.txt
字号:
利用8253的0#通道来定时中断(IRQ0),循环显示“0”-“9”十个数
STACK SEGMENT STACK
DW 64 DUP (?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE
START: PUSH DS
MOV AX,0000H
MOV DS,AX
MOV AX,OFFSET IRQ0
ADD AX,2000H
MOV SI,0020H
MOV [SI],AX
MOV AX,0000H
MOV SI,0022H
MOV [SI],AX
POP DS
MOV AL,0FCH
OUT 21H,AL
MOV AL,15H
OUT 43H,AL
MOV AL,0FFH
OUT 40H,AL
MOV DL,30H
A1: STI
JMP A1
IRQ0: MOV AH,01H
MOV AL,DL
CMP AL,3AH
JNZ A2
MOV AL,0DH
INT 10H
MOV AL,30H
A2: INT 10H
INC AX
MOV DL,AL
MOV AX,0120H
INT 10H
CALL DALLY
MOV AL,20H
OUT 20H,AL
IRET
DALLY: PUSH AX
MOV CX,0100H
A3: MOV AX,0560H
A4: DEC AX
JNZ A4
LOOP A3
POP AX
RET
CODE ENDS
END START
实验步骤
(1)输入程序并检查无误,经汇编、连接后装入系统
(2)运行结果,显示屏上应连续逐行显示“0”-“9”十个数,直到用“RESET”复位开关来终断。
(3)修改8253的0#时常,再运行程序,观察显示的快慢程度。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -