📄 01.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 + -