比较两个字符串STRING1和STRING2中的字符是否相等,相等则显示MATCH,不相等则显示NO MATCH。

本文介绍了一个简单的汇编语言程序,用于比较两个字符串是否完全相同。如果字符串相等,则输出'MATCH';如果不相等,则输出'NOMATCH'。程序首先比较两个字符串的长度,若长度不同则直接输出'NOMATCH',长度相同则逐字符进行比较。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

;比较两个字符串STRING1和STRING2中的字符是否相等,相等则显示MATCH,
;不相等则显示NO MATCH。
DATA SEGMENT
STRING1 DB 'STRING1MATCH'
COUNT1  DW $-STRING1
STRING2 DB 'STRING1MATCH'
COUNT2  DW $-STRING2
MATCH   DB "MATCH!",'$'
NOMATCH DB "NO MATCH!",'$'
DATA ENDS

STACK SEGMENT PARA STACK
          DW 128 DUP(?)
TOP   LABEL WORD
STACK ENDS

CODE SEGMENT
          ASSUME CS:CODE,SS:STACK,DS:DATA
MAIN PROC FAR
START:
         MOV AX,DATA
         MOV DS,AX
         MOV ES,AX
 
         MOV AX,STACK
         MOV SS,AX
         LEA SP,TOP  
 
MOV AX,COUNT1     ;字符串长度不相等则直接显示NO MATCH!
MOV BX,COUNT2
CMP AX,BX
JNE L2
 
LEA SI,STRING1    ;DS:SI ED:DI
LEA DI,STRING2
 
CLD              ;设置方向为正,则DI、SI自增
MOV CX,7         ;需要比较的字符串长度
REPE CMPSB
 
JE  L1
JNE L2
L1:     MOV AH,9
         LEA DX,MATCH
INT 21H
JMP L3
L2:    MOV AH,9
         LEA DX,NOMATCH
INT 21H
JMP L3
L3:     MOV AH,4CH
         INT 21H
CODE ENDS
MAIN ENDP
         END START
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值