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

📄 7.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
MESS       DB 'PLEASE PRESS KEY',0DH,0AH,'$'
MESS2      DB 'END',0DH,0AH,'$'
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
        LEA DX,MESS
        MOV AH,09H
        INT 21H
NEXT: 
        CALL KEY_INPUT
        CALL DISP
        CALL TEST_EXIT
        CMP EXIT_FLAG,TRUE
        JNZ NEXT
        MOV DISP_BUF,0
        CALL DISP
        LEA DX,MESS2
        MOV AH,9
        INT 21H
        MOV AH,4CH
        INT 21H


TEST_EXIT:
               MOV AL,DISP_BUF
               CMP AL,20
               JNZ TEST_EXIT_RET
                   MOV EXIT_FLAG,TRUE
TEST_EXIT_RET: RET


KEY_INPUT:
                MOV DX,PORT_A
                MOV AL,0
                OUT DX,AL
                MOV DX,PORT_C
                IN AL,DX
                AND AL,0FH
                CMP AL,0FH
                JZ KEY_INPUT_RET
                   INC DISP_BUF
                   CALL DELAY
KEY_INPUT_WAIT:    MOV DX,PORT_C
                   IN AL,DX
                   AND AL,0FH
                   CMP AL,0FH
                   JNZ KEY_INPUT_WAIT
                   CALL DELAY
KEY_INPUT_RET:  RET

DELAY:
                PUSH BX
                PUSH CX
                        MOV BX,20
NEXT2:                  MOV CX,0FFFFH
NEXT1:                  LOOP NEXT1
                        DEC BX
                        JNZ NEXT2
                POP CX
                POP BX
                RET


DISP:
            MOV AL,DISP_BUF
            MOV BL,10
            MOV AH,0
            DIV BL
            MOV CL,4
            SHL AL,CL
            ADD AL,AH
            MOV DX,PORT_A
            OUT DX,AL
            RET

CODE    ENDS
        END START

⌨️ 快捷键说明

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