两个字符串的起始地址分别为ad1、ad2,用汇编语言编写比较两字符串的内容是否相同?
汇编语言比较字符串
答案:2 悬赏:40 手机版
解决时间 2021-05-16 23:42
- 提问者网友:蔚蓝的太阳
- 2021-05-16 07:08
最佳答案
- 五星知识达人网友:痴妹与他
- 2021-05-16 08:23
只写程序段
MOV SI,OFFSET AD1
MOV DS,AX
MOV DI,OFFSET AD2
MOV ES,AX
CLD
MOV CX,CNT ;CNT是字符串的长度
REPE CMPSB
根据CX的值来判断,如果cx=0,则相同,反之,则不同
全部回答
- 1楼网友:雪起风沙痕
- 2021-05-16 08:59
assume cs:code, ds:datas
datas segment
ad1 db 'hello,world!',0
len1 equ $-ad1
ad2 db 'hello,world!',0
len2 equ $-ad2
msg1 db 'equal$'
msg2 db 'unequal$'
datas ends
code segment
start:
mov ax, datas
mov ds, ax
mov es, ax
mov cx, 0ffffh
lea si, ad1
lea di, ad2
repz cmpsb
neg cx
dec cx
cmp cx, len1
jl unequal
cmp cx, len2
jl unequal
lea dx, msg1
jmp output
unequal:
lea dx, msg2
output:
mov ah, 9
int 21h
mov ax, 4c00h
int 21h
code ends
end start
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯