匹配.asm
来自「大学时学汇编做的一些小实验」· 汇编 代码 · 共 75 行
ASM
75 行
DATA SEGMENT
KEYWORD DB 10,?,10 DUP(?)
SENTENCE DB 30,?, 30 DUP(?)
MESS1 DB 13,10,'ENTER KEYWORD:','$'
MESS2 DB 13,10,'ENTER SENTENCE: $'
MESS3 DB 13,10,'no match !$'
MESS4 DB 13,10,'match! $'
COUNT DB ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV ES,AX
MOV DX,OFFSET MESS2
MOV AH,9
INT 21H
MOV DX,OFFSET SENTENCE
MOV AH,10
INT 21H
AGAIN:
MOV DX,OFFSET MESS1
MOV AH,9
INT 21H
MOV DX,OFFSET KEYWORD
MOV AH,10
INT 21H
MOV DI,OFFSET SENTENCE+2
MOV BX,DI
MOV AL,SENTENCE+1
SUB AL, KEYWORD+1
INC AL
MOV COUNT ,AL
NEXT:
MOV SI, OFFSET KEYWORD+2
MOV CL , KEYWORD+1
MOV CH,0
CMP COUNT ,0
JL NOMATCH
REP CMPSB
JE MATCH
INC BX
MOV DI,BX
DEC COUNT
JE NOMATCH
JMP NEXT
NOMATCH:
MOV DX,OFFSET MESS3
MOV AH,9
INT 21H
JMP OVER
MATCH:
MOV DX , OFFSET MESS4
MOV AH,9
INT 21H
JMP AGAIN
OVER:
MOV AH,4CH
INT 21H
CODE ENDS
END START
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?