键入字符串,与一个字符。在字符串中查看是否有匹配字符。编译等没有问题,运行时候就只能字符串最后一个字符与输入的字符匹配时,才显示find!,我不知道问题出在哪儿

qq_46364497 2020-05-14 06:24:53
DATA SEGMENT STR DB 80 DUP(?) AIM DB ? STR1 DB 'FIND!$' STR2 DB 'NO FIND!$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA DI,STR MOV CX,0 AGAIN: MOV AH,1 INT 21H CMP AL,0DH JZ DONE MOV [DI],AL INC DL INC CX JMP AGAIN DONE: MOV AH,1 INT 21H MOV AIM,AL MOV DL ,0AH MOV AH,2 INT 21H LEA SI,STR CLD CYCLE:LODSB CMP AL,AIM JNE NEXT LEA DX,STR1 MOV AH,09H INT 21H JMP DONE1 NEXT:LOOP CYCLE LEA DX,STR2 MOV AH,09H INT 21H DONE1:MOV AH,4CH INT 21H CODE ENDS END START
...全文
107 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_46364497 2020-05-14
  • 打赏
  • 举报
回复
引用 1 楼 zara的回复:
调试一下嘛,在输入完开始比较前停下来,看看输入的字符串,就一个字母,这应该是输入时没增缓冲区指针,再去看原码,发现 INC DI 竟然笔误成了 INC DL 故须修改之。
我调试的时候也没发现,谢谢啊啊啊,赞呀,我会注意的,表示内心的感谢skr
qq_46364497 2020-05-14
  • 打赏
  • 举报
回复
我调试的时候也没发现,谢谢啊啊啊,赞呀,我会注意的
zara 2020-05-14
  • 打赏
  • 举报
回复
调试一下嘛,在输入完开始比较前停下来,看看输入的字符串,就一个字母,这应该是输入时没增缓冲区指针,再去看原码,发现 INC DI 竟然笔误成了 INC DL 故须修改之。

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧