?? counter.asm
字號:
CODE SEGMENT
ASSUME CS:CODE
INTPORT1 EQU 0020H
INTPORT2 EQU 0021H
INTQ3 EQU INTERUPT3
INTQ7 EQU INTERUPT7
CONTPORT EQU 00DFH
DATAPORT EQU 00DEH
DATA0 EQU 0580H
DATA1 EQU 0500H
DATA2 EQU 0508H
DATA3 EQU 0518H
DATA4 EQU 0520H
DATA5 EQU 0521H
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
MOV AX,0H
MOV DS,AX
CALL WRINTVER
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
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
INTERUPT3: CLI
CALL CONVERS
MOV SI,DATA0
CALL LEDDISP
MOV AL,20H
MOV DX,INTPORT1
OUT DX,AL
MOV SI,DATA5
BITADD: ADD BYTE PTR [SI],01H
CMP BYTE PTR [SI],09H
JNA BIT
MOV BYTE PTR [SI],0H
INC SI
JMP BITADD
BIT: MOV AL,20H
MOV DX,INTPORT1
OUT DX,AL
STI
IRET
CONVERS: MOV BX,DATA0
MOV SI,DATA5
MOV CX,8
CONVERS1: PUSH BX
MOV BH,0
MOV BL,BYTE PTR [SI]
MOV AL,CS:[BX+DATA2]
POP BX
MOV DS:[BX],AL
INC BX
INC SI
LOOP CONVERS1
RET
INTERUPT7: CLI
MOV SI,DATA1
CALL LEDDISP
MOV AL,20H
MOV DX,INTPORT1
OUT DX,AL
STI
IRET
FORMAT: MOV BX,0
MOV WORD PTR DS:[BX+DATA1],5050H
ADD BX,2
MOV WORD PTR DS:[BX+DATA1],0079H
ADD BX,2
MOV WORD PTR DS:[BX+DATA1],0000H
ADD BX,2
MOV WORD PTR DS:[BX+DATA1],0000H
ADD BX,2
MOV WORD PTR DS:[BX+DATA1],063FH
ADD BX,2
MOV WORD PTR DS:[BX+DATA1],4F5BH
ADD BX,2
MOV WORD PTR DS:[BX+DATA1],6D66H
ADD BX,2
MOV WORD PTR DS:[BX+DATA1],077DH
ADD BX,2
MOV WORD PTR DS:[BX+DATA1],6F7FH
ADD BX,2
MOV WORD PTR DS:[BX+DATA1],7C77H
ADD BX,2
MOV WORD PTR DS:[BX+DATA1],5E39H
ADD BX,2
MOV WORD PTR DS:[BX+DATA1],7179H
ADD BX,2
MOV WORD PTR DS:[BX+DATA1],4006H
ADD BX,2
MOV WORD PTR DS:[BX+DATA1],4040H
ADD BX,2
MOV WORD PTR DS:[BX+DATA1],6D6FH
ADD BX,2
MOV WORD PTR DS:[BX+DATA1],7F5BH
ADD BX,2
MOV WORD PTR DS:[BX+DATA1],3F5EH
ADD BX,2
MOV WORD PTR DS:[BX+DATA1],5C3FH
ADD BX,2
MOV WORD PTR DS:[BX+DATA1],6D6FH
ADD BX,2
MOV WORD PTR DS:[BX+DATA1],7F5BH
MOV BX,0
MOV BYTE PTR DS:[BX+DATA5],1H
INC BX
MOV BYTE PTR DS:[BX+DATA5],0H
INC BX
MOV BYTE PTR DS:[BX+DATA5],0H
INC BX
MOV BYTE PTR DS:[BX+DATA5],0H
INC BX
MOV BYTE PTR DS:[BX+DATA5],0H
INC BX
MOV BYTE PTR DS:[BX+DATA5],0H
INC BX
MOV BYTE PTR DS:[BX+DATA5],0H
INC BX
MOV BYTE PTR DS:[BX+DATA5],0H
RET
LEDDISP: MOV AL,90H
MOV DX,CONTPORT
OUT DX,AL
MOV BYTE PTR DS:[DATA4],00H
LED1: CMP BYTE PTR DS:[DATA4],07H
JA LED2
MOV BL,DS:[DATA4]
MOV BH,0H
MOV AL,CS:[BX+SI]
MOV DX,DATAPORT
OUT DX,AL
ADD BYTE PTR DS:[DATA4],01H
JNZ LED1
LED2: RET
CODE ENDS
END START
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -