汇编:试编写一个程序,比较两个字符串STRING1和STRING2所含字符是否完全相同,若相同则显示“match”若不
datasegmentstring1db'Thisisthefirststring.','$'string2db'Thisisthesecondstring.,'$'me...
data segment
string1 db 'This is the first string.','$'
string2 db 'This is the second string.,'$'
mess1 db 'NO MATCH',13,10,'$'
mess2 db 'MATCH',13,10,'$'
data ends
code segment
assume cs:code,ds:data,es:data
start:
push ds
sub ax,ax ;ax清零
mov ax,data
mov ds,ax
mov es,ax ;初始化
lea si,string1
lea di,string2
;字符串比较
again:
mov bl,byte ptr [di]
cmp [si],bl
jnz nzero ;转到不等于
add si,1
add di,1
cmp byte ptr [si],'$'
jnz again
;两字符串等于的输出
mov dx,offset mess2
mov ah,09h
int 21h
mov ah,4ch
int 21h
;不等于的输出
nzero:
mov dx,offset mess1
mov ah,09h
int 21h
mov ah,4ch
int 21h
code ends
end start ;结束
它执行的时候提示A4001:extra characters on line,什么意思啊。。。。
还有,怎么修改本身的string1和string2的值啊...? 展开
string1 db 'This is the first string.','$'
string2 db 'This is the second string.,'$'
mess1 db 'NO MATCH',13,10,'$'
mess2 db 'MATCH',13,10,'$'
data ends
code segment
assume cs:code,ds:data,es:data
start:
push ds
sub ax,ax ;ax清零
mov ax,data
mov ds,ax
mov es,ax ;初始化
lea si,string1
lea di,string2
;字符串比较
again:
mov bl,byte ptr [di]
cmp [si],bl
jnz nzero ;转到不等于
add si,1
add di,1
cmp byte ptr [si],'$'
jnz again
;两字符串等于的输出
mov dx,offset mess2
mov ah,09h
int 21h
mov ah,4ch
int 21h
;不等于的输出
nzero:
mov dx,offset mess1
mov ah,09h
int 21h
mov ah,4ch
int 21h
code ends
end start ;结束
它执行的时候提示A4001:extra characters on line,什么意思啊。。。。
还有,怎么修改本身的string1和string2的值啊...? 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询