比较两个字符串是否相等?

 我刚刚才学了汇编语言,就写了一个很简单的程序.

下面是程序代码

DSEG SEGMENT
 DATA1 DB 9,0,9 DUP(?)  
 DATA2 DB 9,0,9 DUP(?)
 CNT  DB 8
 STR1 DB 13,10,'Two string is same. $'
 STR2 DB 13,10,'Two string is different. $'
 STR3 DB 'Input the first string: $'
 STR4 DB 13,10,'Input the second string: $'
DSEG ENDS
 
CSEG SEGMENT
   ASSUME CS: CSEG, DS: DSEG,ES:DSEG
 START: MOV AX,DSEG
   MOV DS,AX
   MOV ES,AX
   LEA DX,STR3   ;显示字符串Input the first string
   MOV AH,09H
   INT 21H
   
   LEA DX,DATA1  ;从键盘上输入字符到缓冲区DATA1
   MOV AH,0AH
   INT 21H
   LEA SI,DATA1+1  ;把DATA1的偏移地址送给SI
   
   MOV AH,0CH   ;把缓冲区的字符清除
   MOV AL,08H
   INT 21H
   
   LEA DX,STR4   ;显示字符串Input the second string
   MOV AH,09H
   INT 21H
   
   LEA DX,DATA2  ;从键盘上输入字符到缓冲区DATA1
   MOV AH,0AH
   INT 21H
   LEA DI,DATA2+1  ;把DATA2的偏移地址送给DI
   
   MOV CL,CNT
 AGAIN: INC SI
   INC DI
   MOV AL,[SI]
   CMP AL,[DI]   ;相等继续比较
   LOOPZ AGAIN
   JZ  DISP1
   JMP DISP2
   
 DISP2: LEA DX,STR2
   MOV AH,09H
   INT 21H
   MOV AH,4CH
   INT 21H
 DISP1: LEA DX,STR1
   MOV AH,09H
   INT 21H
   MOV AH,4CH
   INT 21H
 CSEG ENDS
   END START

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值