📄 match.asm
字号:
STACK SEGMENT PARA STACK 'STACK'
DW 128 DUP(?)
STACK ENDS
;**************************************************************
EXTRA SEGMENT PARA 'EXTRA'
EXTRA ENDS
;**************************************************************
DATA SEGMENT PARA 'DATA'
welcome db 'The first string:',13,10,'$'
WELCOME2 DB 13,10,'THE SECOND STRING:',13,10,'$'
string1 label byte
maxlen1 db 25
string1len db ?
string1fld db 25 dup(?)
string2 label byte
maxlen2 db 25
string2len db ?
string2fld db 25 dup(?)
FF DB 13,10,'$'
MESS1 DB 13,10,'MATCH.',13,10,'$'
MESS2 DB 13,10,'NO MATCH.',13,10,'$'
DATA ENDS
;**************************************************************
CODE SEGMENT PARA 'CODE'
ASSUME CS:CODE,DS:DATA,SS:STACK,ES:EXTRA
MAIN PROC FAR
START:
MOV AX,DATA
MOV DS,AX ;Let DS register have data segment address
MOV AX,EXTRA
MOV ES,AX ;Let ES register have extra segment address
;**************************************************************
BEGIN:
LEA DX,WELCOME
MOV AH,09
INT 21H
MOV AH,0AH
LEA DX,STRING1
INT 21H
MOV BH,0
MOV BL,STRING1LEN
MOV CX,25
SUB CX,BX
A1: MOV STRING1FLD[BX],20H
INC BX
LOOP A1
LEA DX,WELCOME2
MOV AH,09
INT 21H
MOV AH,0AH
LEA DX,STRING2
INT 21H
MOV BH,0
MOV BL,STRING2LEN
MOV CX,25
SUB CX,BX
A2: MOV STRING2FLD[BX],20H
INC BX
LOOP A2
LEA SI,STRING1FLD
LEA DI,STRING2FLD
CLD
MOV CX,25
REPZ CMPSB
JZ HI
LEA DX,MESS2
JMP SHORT DISP
HI:
LEA DX,MESS1
DISP:
MOV AH,09
INT 21H
;**************************************************************
MOV AH,4CH ;DOS function call
INT 21H ;Return to DOS
MAIN ENDP
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -