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

📄 key21.asm

📁 keyboard interfacing
💻 ASM
字号:
.model small
.STACK 64H
.DATA
        PORT_CR EQU 40a3H
        PORT_A EQU 40a0h
        PORT_B EQU 40a1h
        PORT_C EQU 40a2h
	DISP1 DB '0123456789ABCDEF'
.CODE
	MOV AX,@DATA
	MOV DS,AX
	MOV AL,90H
	MOV DX,PORT_CR
	OUT DX,AL
REP1:   MOV DX,PORT_B
        MOV AL,01H
	OUT DX,AL
	MOV DX,PORT_A
	IN AL,DX
        AND AL,0Fh
        CMP AL,00H
	JNZ FIRST_ROW
        MOV DX,PORT_B
	MOV AL,02H
	OUT DX,AL
	MOV DX,PORT_A
	IN AL,DX
        AND AL,0Fh
        
        CMP AL,00H
        JNZ SECOND_ROW
        MOV DX,PORT_B 
	MOV AL,04H
	OUT DX,AL
	MOV DX,PORT_A
	IN AL,DX
       AND AL,0FH
        CMP AL,00H
        JNZ THIRD_ROW 
        MOV DX,PORT_B
	MOV AL,08H
	OUT DX,AL
	MOV DX,PORT_A
	IN AL,DX
        AND AL,0FH
        CMP AL,00H
	JNZ FOURTH_ROW
	JMP REP1
FIRST_ROW:CALL DELAY
	MOV SI,OFFSET DISP1 
        
NEXT1:SHR AL,01H
	JC DISPLAY
	INC SI
	JMP NEXT1
SECOND_ROW:CALL DELAY
	MOV SI,OFFSET DISP1
	ADD SI,04H
        
	
NEXT2:SHR AL,01H
	JC DISPLAY
	INC SI
	JMP NEXT2
THIRD_ROW:CALL DELAY
	MOV SI,OFFSET DISP1
	ADD SI,08H
        
	
NEXT3:SHR AL,01H
	JC DISPLAY
	INC SI
	JMP NEXT3

FOURTH_ROW:CALL DELAY
        MOV SI,OFFSET DISP1
	ADD SI,0CH
        
	
NEXT4:SHR AL,01H
	JC DISPLAY
	INC SI
	JMP NEXT4
		
				
DISPLAY:MOV DL,[SI]
        CMP DL,'F'
	JE EXIT1
	MOV AH,02H
	INT 21H
	JMP REP1
DELAY PROC NEAR
	PUSH AX
	PUSH CX
        MOV CX,08000H
AGAIN3:MOV AX,0ffffH
AGAIN2:DEC AX
JNZ AGAIN2
LOOP AGAIN3
POP CX
POP AX
RET
DELAY ENDP
EXIT1:MOV AH,4CH
INT 21H
END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -