db2比较长度不一样的字符串_比较长度相等的两个字符串相同和不同字母个数

DATAS SEGMENT

STR1 DB ‘ABCD$‘

STR2 DB ‘ABCD$‘

len equ $-str2

;len DW str2-str1

match DB ‘EQU:‘,0DH,0AH,‘$‘

nomatch DB ‘NOEQU:‘, 0DH, 0AH, ‘$‘

change DB 0DH, 0AH, ‘$‘

E DB ‘0$‘

NTE DB ‘0$‘

DATAS ENDS

STACKS SEGMENT

;此处输入堆栈段代码

STACKS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS,SS:STACKS

START:

MOV AX,DATAS

MOV DS,AX

mov si, 0

mov cx, len

dec cx

loop1:

mov al, STR1[si]

mov ah, STR2[si]

cmp al, ah

jne l1

inc E

jmp l2

l1:

inc NTE

l2:

inc si

loop loop1

LEA dx,STR1;显示STR1和STR2两个字符串

MOV ah,09h

INT 21H

LEA dx,change

MOV ah,09h

INT 21H

LEA dx,STR2

MOV ah,09h

INT 21H

LEA dx,change

MOV ah,09h

INT 21H

LEA dx,match

MOV ah,09h

INT 21H

lea dx, E

mov ah, 09h

int 21h

LEA dx,change

MOV ah,09h

INT 21H

LEA dx,nomatch

MOV ah,09h

INT 21H

lea dx, NTE

mov ah, 09h

int 21h

MOV AH,4CH

INT 21H

CODES ENDS

END START

$代表的是当前的地址,所以当前地址减去str2的地址,就是str2的长度,同理len equ $-str1也是一样的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值