汇编 循环 代码

来源:百度知道 编辑:UC知道 时间:2024/06/01 01:32:57
比较两个字符串中字符是否相等,字符串中有五个字符,基相同flag为1.若不相同则flag为0

;用串比较指令cmpsb,配合重复前缀repz,
;若相同就继续比较。比较结束后根据zf标志位判断输出0还是1。
;若zf为1,则两串相同,输出1;否则输出0。
data segment
str1 db 'abcde'
str2 db 'abcdf'
cnt dw $-str2
flag db 0
data ends

code segment
assume cs:code,ds:data ,es:data
start:
mov ax,data
mov ds,ax
mov es,ax
lea si,str1
lea di,str2
mov cx,cnt
cld
repz cmpsb
jz same
mov flag,0
jmp disp
same:
mov flag,1
disp:
mov dl,flag
or dl,'0'
mov ah,2
int 21h
mov ah,0
int 16h
mov ah,4ch
int 21h
code ends
end start