汇编语言编写程序,比较两个字符串所含字符是否相等,如果相等,AX存入1,反之存入0
1个回答
展开全部
data segment
stringa db 'abcdefg'
stringb db 'abcdefg'
data ends
;定义字符串A,B用于比较
stack segment
dw 20 dup(0)
stack ends
;设置一个堆栈(可不要)
code segment
assume cs:code,ds:data,ss:stack
start:
mov ax,data
mov ds,ax
mov cx,7;两字符串共需比较7个对应字符
lea si,stringa;取字符串A偏移地址
lea di,stringb;取字符串B偏移地址
a1:mov al,[si];传A字符串的字符到AL
cmp al,[di];两对应字符比较
jnz a2;不相等转A2
inc si;地址偏移1位
inc di
dec cx;计数器减1
jnz a1;若计数器不为0,继续比较
mov ax,1;7次比较后字符串相同,AX送1
jmp a3
a2:mov ax,0;有不同字符,AX送0
a3:mov ah,4ch;调用系统功能结束汇编
int 21h
code ends
end start
stringa db 'abcdefg'
stringb db 'abcdefg'
data ends
;定义字符串A,B用于比较
stack segment
dw 20 dup(0)
stack ends
;设置一个堆栈(可不要)
code segment
assume cs:code,ds:data,ss:stack
start:
mov ax,data
mov ds,ax
mov cx,7;两字符串共需比较7个对应字符
lea si,stringa;取字符串A偏移地址
lea di,stringb;取字符串B偏移地址
a1:mov al,[si];传A字符串的字符到AL
cmp al,[di];两对应字符比较
jnz a2;不相等转A2
inc si;地址偏移1位
inc di
dec cx;计数器减1
jnz a1;若计数器不为0,继续比较
mov ax,1;7次比较后字符串相同,AX送1
jmp a3
a2:mov ax,0;有不同字符,AX送0
a3:mov ah,4ch;调用系统功能结束汇编
int 21h
code ends
end start
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询