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

📄 01.asm

📁 查找字符串 TABLE DB "ABCDEFGHIKLMNOPQRSTUVWYZ" STR1 DB "Please enter a string:",0DH,0AH,"$" STR2 DB "Wr
💻 ASM
字号:
DATA   SEGMENT
TABLE  DB  "ABCDEFGHIKLMNOPQRSTUVWYZ"
STR1   DB  "Please enter a string:",0DH,0AH,"$"
STR2   DB  "Wrong! The string is too long!"$"
STR3   DB  "No!$"
STR4   DB  "Ok!$"
BUFFER DB  40
       DB  ?
       DB  40 DUP(?)
TAB_LEN EQU  26
DATA    ENDS
STACK   SEGMENT  STACK
        DB  100  DUP(?)
STACK   ENDS
CODE    SEGMENT
        ASSUME  CS:CODE,DS:DATA,ES:DATA,SS:STACK
SEARCH  PROC    FAR
START:  PUSH   DS
        MOV    AX,0
        PUSH   AX
        MOV    AX,DATA
        MOV    DS,AX
        MOV    ES,AX
        LWA    DX,STR1
        MOV    AH,09
        INT    21H
        LEA    DX,STR1
        MOV    AH,09
        INT    21H
        LEA    DX,0AH
        INT    21H
        MOV    SI,DX
        INC    SI
        MOV    BL,[SI]
        MOV    BH,0
        INC    SI
        LEA    DI,TABLE
        MOV    CX,TAB_LEN
        CMP    CX,BX
        JNC    GOON
        LEA    DX,STR2
        JMP    EXIT
GOON    CLD
        MOV    AL,[SI]S
CAN;    REPNZ  SCASB
        JZ     MATCH
ERROR:  LEA    DX,STRB
        JMP    EXIT
MATCH:  INC    CX
        CMP    CX,BX
        JC     ERROR
        PUSH   CX
        PUSH   SI
        PUSH   DI
        MOV    CX,BX
        DEC    DI
        REPZ   CMPSB
        POP    SI
        POP    CX
        JZ     FOUND
        JCXZ   ERROR
        JMP    SCAN
FOUND:  DEC    DI
        LDA    DX,STR4
EXIT:   MOV    AH,09
        INT    21H
        RET
SEARCH  ENDP
CODE    ENDS
        END    START


























⌨️ 快捷键说明

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