微机原理编程问题 比较两个串是否相同,相同显示“MATCH”不相同显示“NO MATCH” 不知道哪里错了啊
DATASEGMENTSTRING1DB'ADCD';字符串1CONT1EQU($-STRING1)STRING2DB'ABCD';字符串2CONT2EQU($-STRI...
DATA SEGMENT
STRING1 DB 'ADCD' ;字符串1
CONT1 EQU ($-STRING1)
STRING2 DB 'ABCD' ;字符串2
CONT2 EQU ($-STRING2)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV AL,CONT1 ;比较1和2的字符串长度是否相等
MOV BL,CONT2
CMP AL,BL
JNZ ABC ;如果不等,跳到ABC
LEA SI,STRING1
LEA DI,STRING2
MOV CX,CONT1
CLD
REPE CMPSB ;串比较
JNE ABC ;不相等跳到ABC
JMP ABCD ;相等跳到ABCD
ABC: MOV AH,02H ;显示NO
MOV DL,4EH
INT 21H
MOV DL,4FH
INT 21H
MOV DL,20H
INT 21H
ABCD: MOV AH,02H ;显示MATCH
MOV DL,4DH
INT 21H
MOV DL,41H
INT 21H
MOV DL,54H
INT 21H
MOV DL,43H
INT 21H
MOV DL,48H
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START 展开
STRING1 DB 'ADCD' ;字符串1
CONT1 EQU ($-STRING1)
STRING2 DB 'ABCD' ;字符串2
CONT2 EQU ($-STRING2)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV AL,CONT1 ;比较1和2的字符串长度是否相等
MOV BL,CONT2
CMP AL,BL
JNZ ABC ;如果不等,跳到ABC
LEA SI,STRING1
LEA DI,STRING2
MOV CX,CONT1
CLD
REPE CMPSB ;串比较
JNE ABC ;不相等跳到ABC
JMP ABCD ;相等跳到ABCD
ABC: MOV AH,02H ;显示NO
MOV DL,4EH
INT 21H
MOV DL,4FH
INT 21H
MOV DL,20H
INT 21H
ABCD: MOV AH,02H ;显示MATCH
MOV DL,4DH
INT 21H
MOV DL,41H
INT 21H
MOV DL,54H
INT 21H
MOV DL,43H
INT 21H
MOV DL,48H
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START 展开
1个回答
迪凯特科技(北京)有限公司
2023-07-28 广告
2023-07-28 广告
单片机串口通信的原理是利用单片机的串口通信模块,通过把数据转化为一位一位的用时序方式传送数据,实现单片机与外部设备之间的数据通信。
串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以...
点击进入详情页
本回答由迪凯特科技(北京)有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询