📄 h8259-1.asm
字号:
CODE SEGMENT
ASSUME CS:CODE
INTPORT1 EQU 0020H
INTPORT2 EQU 0021H
INTQ3 EQU INTREEUP3
INTQ7 EQU INTREEUP7
CONTPORT EQU 00DFH
DATAPORT EQU 00DEH
DATA0 EQU 0580H
DATA1 EQU 0500H
DATA2 EQU 0508H
DATA3 EQU 0518H
DATA4 EQU 0520H
ORG 1800H
START: JMP Tint1
Tint1: CALL FORMAT
CLD
MOV DI,DATA0
MOV CX,08H
XOR AX,AX
REP STOSW
MOV SI,DATA3
CALL LEDDISP ;DISP 8259-1
MOV AX,0H
MOV DS,AX
CALL WRINTVER ;WRITE INTRRUPT
MOV AL,13H
MOV DX,INTPORT1
OUT DX,AL
MOV AL,08H
MOV DX,INTPORT2
OUT DX,AL
MOV AL,09H
OUT DX,AL
MOV AL,0F7H
OUT DX,AL
MOV BYTE PTR DS:[0601H],01H ;TIME=1
STI
WATING: JMP WATING
WRINTVER:MOV AX,0H
MOV ES,AX
MOV DI,002CH
LEA AX,INTQ3
STOSW
MOV AX,CS
STOSW
MOV DI,003CH
LEA AX,INTQ7
STOSW
MOV AX,CS
STOSW
RET
INTREEUP3:CLI
MOV AL,DS:[0601H]
CALL CONVERS
MOV SI,DATA0
CALL LEDDISPD
MOV AL,20H
MOV DX,INTPORT1
OUT DX,AL
ADD BYTE PTR DS:[0601H],01H
CMP BYTE PTR DS:[0601H],06H
JNA INTRE1
MOV SI,DATA4
CALL LEDDISP
INTRE3: JMP INTRE3
CONVERS:MOV BH,0H
AND AL,0FH
MOV BL,AL
MOV AL,CS:[BX+DATA2]
MOV BX,DATA0
MOV DS:[BX],AL
RET
INTRE1: MOV AL,20H
MOV DX,INTPORT1
OUT DX,AL
STI
IRET
INTREEUP7: CLI
MOV SI,DATA1
CALL LEDDISP
MOV AL,20H
MOV DX,INTPORT1
OUT DX,AL
IRET
LEDDISP:MOV AL,90H
MOV DX,CONTPORT
OUT DX,AL
MOV BYTE PTR DS:[0600H],00
LED1: CMP BYTE PTR DS:[0600H],07H
JA LED2
MOV BL,DS:[0600H]
MOV BH,0H
MOV AL,CS:[BX+SI]
MOV DX,DATAPORT
OUT DX,AL
ADD BYTE PTR DS:[0600H],01H
JNZ LED1
LED2: RET
LEDDISPD:MOV AL,90H
MOV DX,CONTPORT
OUT DX,AL
MOV BYTE PTR DS:[0600H],00
LEDD1: CMP BYTE PTR DS:[0600H],07H
JA LEDD2
MOV BL,DS:[0600H]
MOV BH,0H
MOV AL,DS:[BX+SI]
MOV DX,DATAPORT
OUT DX,AL
ADD BYTE PTR DS:[0600H],01H
JNZ LEDD1
LEDD2: RET
FORMAT: MOV BX,0
MOV WORD PTR DS:[BX+0500H],5050H
ADD BX,2
MOV WORD PTR DS:[BX+0500H],0079H
ADD BX,2
MOV WORD PTR DS:[BX+0500H],0000H
ADD BX,2
MOV WORD PTR DS:[BX+0500H],0000H
ADD BX,2
MOV WORD PTR DS:[BX+0500H],063FH
ADD BX,2
MOV WORD PTR DS:[BX+0500H],4F5BH
ADD BX,2
MOV WORD PTR DS:[BX+0500H],6D66H
ADD BX,2
MOV WORD PTR DS:[BX+0500H],077DH
ADD BX,2
MOV WORD PTR DS:[BX+0500H],6F7FH
ADD BX,2
MOV WORD PTR DS:[BX+0500H],7C77H
ADD BX,2
MOV WORD PTR DS:[BX+0500H],5E39H
ADD BX,2
MOV WORD PTR DS:[BX+0500H],7179H
ADD BX,2
MOV WORD PTR DS:[BX+0500H],4006H
ADD BX,2
MOV WORD PTR DS:[BX+0500H],4040H
ADD BX,2
MOV WORD PTR DS:[BX+0500H],6D6FH
ADD BX,2
MOV WORD PTR DS:[BX+0500H],7F5BH
ADD BX,2
MOV WORD PTR DS:[BX+0500H],3F5EH
ADD BX,2
MOV WORD PTR DS:[BX+0500H],5C3FH
ADD BX,2
MOV WORD PTR DS:[BX+0500H],6D6FH
ADD BX,2
MOV WORD PTR DS:[BX+0500H],7F5BH
RET
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -