二重循环问题

神童i 2017-11-26 08:55:14
assume cs:code, ds:data

data segment

db 'help '
db 'welc '
db 'hous '

data ends

code segment
start_a:mov ax, data
mov ds, ax

mov bx, 0
mov cx, 3
mov dx, cx
s_1:mov di, 0
mov cx, 4

s_2:mov al, ds:[bx + di]
and al, 11011111B
mov ds:[bx + di], al

inc di

loop s_2

add bx, 10H

mov cx, dx

loop s_1

mov ax, 4c00H
int 21H

code ends

end start_a


用debug单步执行到外层循环时就停止了

代码有什么问题吗?
...全文
677 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
zara 2017-11-27
  • 打赏
  • 举报
回复
停止?是死循环了吧?s_1: 的位置不对,应该在前面的那个 mov dx, cx 指令前,否则 dx 的值不会变化,每次循环都是开始赋予的 3,所以就一直循环了。

21,458

社区成员

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

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