汇编语言:输入两个字符串,判断两字符串是否相同(多组输入)

data segment
str1 db 100
len1 db ?
  db 100 dup(?)
str2 db 100
len2 db ?
  db 100 dup(?)
inf1 db 0ah, 0dh, 'Input string1:','$'
inf2 db 0ah, 0dh, 'Input string2:','$'
inf3 db 0ah, 0dh, 'string1 = string2 ? '
judg db 20h, 20h, 20h, '$'
data ends

stack segment stack
   db 200 dup(?)
stack ends
code segment
assume cs:code, ds:data, ss:stack
start:
mov ax, data
mov ds, ax
input:
lea dx, inf1
mov ah, 09h
int 21h
lea dx, str1
mov ah, 0ah
int 21h

lea dx, inf2
mov ah, 09h
int 21h
lea dx, str2
mov ah, 0ah
int 21h
judge:
mov al, len1
mov ah, len2
cmp ah, al
jnz NO
mov ch, 0
mov cl, al
mov si, 0
mov di, 0
next:
inc si
inc di
mov ah, len1[si]
cmp ah, len2[di]
jnz NO
loop next

mov judg, 'Y'
mov judg+1, 'E'
mov judg+2, 'S'
jmp final
NO:
mov judg, 'N'
mov judg+1, 'O'
mov judg+2, 20h
final:
lea dx, inf3
mov ah, 09h
int 21h
ret
code ends
end start

转载于:https://www.cnblogs.com/vongang/archive/2011/10/22/2221399.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值