📄 zhk2.asm
字号:
DATA SEGMENT
TABLE DW 0101H,0102H,0104H,0108H,0110H,0120H,0140H,0180H
DW 0201H,0202H,0204H,0208H,0210H,0220H,0240H,0280H
CHAR DB ‘ 89ABCDEF01234567’
TS DB ‘ 按下小键盘上任意键,在CRT上显示,按F 键 ,程序推出 ’,0DH,0AH,‘$’
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
MAIN PROC FAR
START:MOV AX, DATA
MOV DS, AX
LEA DX, TS
MOV AH, 9
INT 21H
KY:CALL KEY
CMP DL,‘F’
JNZ KY
MOV AH,4CH
INT 21H
RET
MAIN ENDP
KEY PROC NEAR
INI: MOV DX, 21BH
MOV AL, 82H
OUT DX, AL
WAIT1:MOV DX, 218H
MOV AL, 0
OUT DX,AL
MOV DX, 219H
IN AL, DX
MOV AH, AL
AND AL, 03H
CMP AL, 03H
JZ WAIT1
MOV AL, AH
MOV AH, 0
PUSH AX
PUSH AX
MOV CX, 1000H
DLY: LOOP DLY
MOV DX, 21BH
MOV AL, 90H
OUT DX, AL
MOV DX, 219H
POP AX
Out dx,al
MOV DX, 218H
IN AL, DX
POP BX
MOV AH, BL
NOT AL
MOV SI, OFFSET TABLE
MOV DI, OFFSET CHAR
MOV CX, 16
SKIP: CMP AX, [SI]
JZ DISP
DEC CX
JZ ini
ADD SI, 2
INC DI
JMP SKIP
DISP:MOV DL, [DI]
MOV AH,2
INT 21H
PUSH DX
MOV DX,21BH
MOV AL, 82H
OUT DX, AL
WAIT2:MOV DX,218H
MOV AL, 0
OUT DX, AL
MOV DX, 219H
IN AL, DX
AND AL, 03H
CMP AL, 03H
JNZ WAIT2
POP DX
RET
KEY ENDP
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -