一段每年必考的代码


实验一 字符串匹配程序实验

比较两个字符串STRING1和STRING2所含的字符是否相同,若相同则显示‘Match’,否则显示‘No Match’。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
DATAREA SEGMENT
STRING1 DB 'Move the cursor backward.'
STRING2 DB 'Move the cursor backward.'

MESS1 DB 'Match.',13,10,'$'
MESS2 DB 'No match.',13,10,'$'
DATAREA ENDS
PROGNAM SEGMENT
MAIN PROC FAR
ASSUME CS:PROGNAM,DS:DATAREA,ES:DATAREA
START: PUSH DS
SUB AX,AX
PUSH AX
MOV AX,DATAREA
MOV DS,AX
MOV ES,AX
LEA SI,STRING1
LEA DI,STRING2
CLD
MOV CX,STRING2-STRING1
REPZ CMPSB
JZ MATCH
LEA DX,MESS2
JMP DISP
MATCH: LEA DX,MESS1
DISP: MOV AH,09H
INT 21H
RET
MAIN ENDP
PROGNAM ENDS
END START