;试编写一程序,要求比较两个字符串STRING1和STRING2所含字符是否相同,
;若相同则显示'MATCH',若不相同则显示'NO MATCH'(用子程序实现)
;尘封の觉醒 技术博客 版权所有,转载请注明来自:http://cstech.cublog.cn
;***********************************************************************
D_SEG SEGMENT
STRING1 DB '12345'
STRING2 DB '1a345'
MATCHSTR DB 'MATCH$'
NOMATCHSTR DB 'NO MATCH$'
D_SEG ENDS
;***********************************************************************
E_SEG SEGMENT
E_SEG ENDS
;***********************************************************************
S_SEG SEGMENT STACK
DW 100 DUP(?)
S_SEG ENDS
;***********************************************************************
C_SEG SEGMENT
ASSUME CS:C_SEG,DS:D_SEG,ES:E_SEG
;MAIN PART OF PROGRAM
MAIN PROC FAR
start:
;set up stack for return
PUSH DS
SUB AX,AX
PUSH AX
;set DS register to current data segment
MOV AX,D_SEG
MOV DS,AX
MOV ES,AX
XOR AX,AX
;MAIN PART OF PROGRAM GOSE HERE
CALL DOCHACK
RET
MAIN ENDP
;-----------------------------------------------------------------------
;PROCEDURE TO CHACK IF THE TWO STRINGS ARE THE SAME
DOCHACK PROC NEAR
LEA DI,STRING1
LEA SI,STRING2
MOV CX,5
REPZ CMPSB
JCXZ CS_PRINT
JMP CNS_PRINT
CNS_PRINT:
LEA DX,NOMATCHSTR
CALL DOPRINT
RET
CS_PRINT:
LEA DX,MATCHSTR
CALL DOPRINT
RET
;PROCEDURE TO PRINT IF THE TWO STRINGS ARE THE SAME
DOPRINT PROC NEAR
MOV AH,9
INT 21H
RET
DOPRINT ENDP
DOCHACK ENDP
;-----------------------------------------------------------------------
C_SEG ENDS
;***********************************************************************
END START
阅读(2361) | 评论(0) | 转发(0) |