⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zhk2.asm

📁 用8255并行接口控制一个16键的小键盘(用行扫描法或反转法均可)
💻 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 + -