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

📄 4.asm

📁 一些学习汇编语言的代码
💻 ASM
字号:
PORT_A   EQU  208H
PORT_B   EQU  209H
PORT_C   EQU  20AH
PORT_CW  EQU  20BH

TRUE     EQU  0FFH
FALSE    EQU  0


EXIT_KEY EQU  10000000B   ; K8

DATA SEGMENT
DISP_BUF   DB 0
DISP_FLAG  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
NEXT: 
        CALL KEY_INPUT
        CALL KEY_TEST
        CALL DISP
        CMP EXIT_FLAG,TRUE
        JNZ NEXT
        MOV AH,4CH
        INT 21H

KEY_TEST: 
               MOV AL,0
               MOV DX,PORT_A
               OUT DX,AL
               MOV DISP_FLAG,FALSE
               MOV DX,PORT_C
               IN AL,DX
               TEST AL,7FH
               JZ KEY_TEST_LP1
                  MOV DISP_FLAG,TRUE
KEY_TEST_LP1:  TEST AL,80H
               JZ KEY_TEST_EXIT
                  MOV EXIT_FLAG,TRUE
KEY_TEST_EXIT: RET


KEY_INPUT:
                MOV AH,7
                INT 21H
                MOV DISP_BUF,AL
KEY_INPUT_RET:  RET


DISP:
        CMP DISP_FLAG,TRUE
        JNZ DISP_RET
            MOV AH,2
            MOV DL,DISP_BUF
            INT 21H
            MOV AL,DISP_BUF
            MOV DX,PORT_A
            OUT DX,AL
DISP_RET:   RET

CODE    ENDS
        END START

⌨️ 快捷键说明

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