编写一个微机原理的程序,比较两个字符串是否相等
编写一个程序,比较两个字符串是否相等。若两个字符串相等,则在RESULT单元存放字符“E”,否则存放字符“N”。...
编写一个程序,比较两个字符串是否相等。若两个字符串相等,则在RESULT单元存放字符“E”,否则存放字符“N”。
展开
3个回答
展开全部
给你个代码
DATAS SEGMENT
buf1 db 90,91 dup(0)
buf2 db 90 dup(0)
;此处输入数据段代码
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
lea dx,[buf1]
mov ah,10
int 21h
lea si,[buf1+2]
mov cl,[buf1+1]
lea di,[buf2]
NEXT:
cmp byte ptr[si],20h
jz lab1
jnz lab2
lab2:
mov al,[si]
mov [di],al
inc di
lab1:
inc si
loop NEXT
mov byte ptr[di],'$'
mov ah,2
mov dl,10
int 21h
mov ah,9
lea dx,[buf2]
int 21h
MOV AH,4CH
INT 21H
CODES ENDS
END START
DATAS SEGMENT
buf1 db 90,91 dup(0)
buf2 db 90 dup(0)
;此处输入数据段代码
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
lea dx,[buf1]
mov ah,10
int 21h
lea si,[buf1+2]
mov cl,[buf1+1]
lea di,[buf2]
NEXT:
cmp byte ptr[si],20h
jz lab1
jnz lab2
lab2:
mov al,[si]
mov [di],al
inc di
lab1:
inc si
loop NEXT
mov byte ptr[di],'$'
mov ah,2
mov dl,10
int 21h
mov ah,9
lea dx,[buf2]
int 21h
MOV AH,4CH
INT 21H
CODES ENDS
END START
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
DATA
SEGMENT
LEN
DB
10
(字符个数)
STR1
DB
'0123456789'
(字符1,单引号中可改,相应的LEN也要变化的)
STR2
DB
'0123456789'
RESULT
DB
0FFH
DATA
ENDS
CODE
SEGMENT
ASSUME
CS:CODE,DS:DATA
START:
MOV
AX,DATA
MOV
DS,AX
MOV
ES,AX
MOV
CL,LEN
MOV
CH,0
MOV
SI,OFFSET
STR1
MOV
DI,OFFSET
STR2
CLD
REPE
CMPSB
JNZ
LP_NO
MOV
RESULT,56H
JMP
LP_END
LP_NO:
MOV
RESULT,4EH
LP_END:
MOV
AH,4CH
INT
21H
CODE
ENDS
END
START
SEGMENT
LEN
DB
10
(字符个数)
STR1
DB
'0123456789'
(字符1,单引号中可改,相应的LEN也要变化的)
STR2
DB
'0123456789'
RESULT
DB
0FFH
DATA
ENDS
CODE
SEGMENT
ASSUME
CS:CODE,DS:DATA
START:
MOV
AX,DATA
MOV
DS,AX
MOV
ES,AX
MOV
CL,LEN
MOV
CH,0
MOV
SI,OFFSET
STR1
MOV
DI,OFFSET
STR2
CLD
REPE
CMPSB
JNZ
LP_NO
MOV
RESULT,56H
JMP
LP_END
LP_NO:
MOV
RESULT,4EH
LP_END:
MOV
AH,4CH
INT
21H
CODE
ENDS
END
START
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询