?? 1 字符串匹配設計.asm
字號:
DATA SEGMENT
CHANGE EQU 0AH
ENTER EQU 0DH
TI1 DB 'PLEASE INPUT THE STRING ONE:','$'
TI2 DB CHANGE,ENTER, 'PLEASE INPUT THE STRING TWO:','$'
TI3 DB CHANGE,ENTER, 'NO MATCH','$'
TI4 DB CHANGE,ENTER, 'MATCH','$'
S1 DB 100 ;用戶定義存放100B的緩存區
DB ? ;系統填入實際輸入字符字節數
DB 100 DUP(?) ;存放第一次輸入字符的ASCII碼值
S2 DB 100
DB ?
DB 100 DUP(?) ;存放第二次輸入字符的ASCII碼值
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: PUSH DS
SUB AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV ES,AX
MOV DX,OFFSET TI1 ;DX指向字符串TI1
MOV AH,09H
INT 21H ;9號功能調用,顯示字符串TI1
LEA DX, S1 ;將字符串1首地址送入DX
MOV AH, 0AH
INT 21H ;輸入字符串到內存緩沖區,即接收鍵入的字符串
MOV DX, OFFSET TI2
MOV AH, 09H
INT 21H
LEA DX, S2
MOV AH, 0AH
INT 21H ;
MOV DI, DX ;字符串2首地址送入DI
MOV AL,[DI+1] ;字符串2內容送入AL
LEA SI,S1 ;指針SI指向字符串1首地址
CMP AL, [SI+1]
JNZ EXIT ;字符串1和字符串2不相等,跳到EXIT顯示NO MATCH
ADD DI, 2
ADD SI, 2
MOV CH, 0
MOV CL, AL ;?
CLD ;方向標志清0,使指針按增量方向修改
REPE CMPSB ;重復執行串操作指令
JNZ EXIT
MOV DX,OFFSET TI4
MOV AH,09H
INT 21H
MOV AH,4CH ;返回DOS
INT 21H
EXIT: MOV DX,OFFSET TI3
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -