DATAS SEGMENT ;此處輸入數據段代碼
INFO1 DB 0DH,0AH,'INPUT STRING:$'
INFO2 DB 0DH,0AH,'MATCH! $'
INFO3 DB 0DH,0AH,'NO MATCH! $'
BUFA DB 21
DB ?
DB 20 DUP(0)
BUFB DB 21
DB ?
DB 20 DUP(0)
DATAS ENDS
STACKS SEGMENT
DW 100 DUP(?) ;此處輸入堆棧段代碼
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
LEA DX,INFO1
MOV AH,09H
INT 21H ;顯示字符串INF01中的內容
LEA DX,BUFA ;輸入第一個字符串到BUFA
MOV AH,0AH
INT 21H
LEA DX,INFO1
MOV AH,09H
INT 21H ;顯示字符串INF01中的內容
LEA DX,BUFB ;輸入第二個字符串BUFB
MOV AH,0AH
INT 21H
LEA SI,BUFA+2
PUSH DS
POP ES
LEA DI,BUFB+2
MOV CX,0
MOV CL,BUFA+1
CLD
REPE CMPSB
JNZ NOMATCH ;不相等時跳出,ZF=0
LEA DX,INFO2
MOV AH,09H
INT 21H
JMP NEXT
NOMATCH:
LEA DX,INFO3
MOV AH,09H
INT 21H
NEXT:MOV AX,4C00H
INT 21H
CODES ENDS
END START
從鍵盤輸入兩個字符串,如果相等,輸出match,否則輸出no match。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.