?? 1.asm
字號:
PORT_A EQU 208H
PORT_B EQU 209H
PORT_C EQU 20AH
PORT_CW EQU 20BH
TRUE EQU 0FFH
FALSE EQU 0
DISP_BIT EQU 01
EXIT_KEY EQU 10000000B ; K8
DATA SEGMENT
MESG DB 'PLEASE PRESS ANY KEY',0DH,0AH,'$'
SEG7CODE DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,98H
DB 88H,83H,0C6H,0A1H,86H,8EH
DISP_BUF DB 0
EXIT_FLAG DB 0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV DX,PORT_CW
MOV AL,89H
OUT DX,AL
LEA DX,MESG
MOV AH,9
INT 21H
NEXT: CALL KEYINPUT
CALL DISP
CALL TEST_EXIT_KEY
CMP EXIT_FLAG,TRUE
JNZ NEXT
MOV AH,4CH
INT 21H
KEYINPUT:
MOV AH,0BH
INT 21H
CMP AL,0FFH
JNZ KEYINPUT_RET
MOV AH,1
INT 21H
INC DISP_BUF
KEYINPUT_RET: RET
TEST_EXIT_KEY:
MOV DX,PORT_C
IN AL,DX
TEST AL,EXIT_KEY
JZ TEST_EXIT_KEY_RET
MOV EXIT_FLAG,TRUE
TEST_EXIT_KEY_RET: RET
; INPUT: DISP_BUF
DISP:
LEA BX,SEG7CODE
MOV AL,DISP_BUF
AND AL,0FH
XLAT
MOV DX,PORT_B
OUT DX,AL
MOV AL,DISP_BIT
MOV DX,PORT_A
OUT DX,AL
RET
CODE ENDS
END START
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -