实验9.3 疑问!
assume cs:codesgcodesg segment
start:mov ax,2000h
mov ds,ax
mov bx,0
S: mov cl,
mov ch,0
inc bx
loop s ;此处为什么会进入死循环,总有cx=0的时候吧? 不解! 即使有inc bx 这个命令,但是,上面的cx已经等0
dec bx ;了啊,cx=0应该继续执行loop下面的语句。
mov dx,bx
mov ax,4c00h
int 21h
codesg ends
end start
也就是说,空格处什么都不填 :loveliness:,哎,自己想通了,执行loop 前,先进行cx-1 0-1=ffff 所以会进入死循环。。。。 嗯。我也刚看到这题。inc cx 好聪明
我想到的。jcxz ok 我想知道inc bx又是什么用意啊,不用也一样啊 inc cx正解补回loop的cx减一 痛苦的信仰 发表于 2012-2-12 22:13 static/image/common/back.gif
我想知道inc bx又是什么用意啊,不用也一样啊
不用怎么一样呢? 从2000的段地址开始查找内存单元为0的地址,不用inc bx 只查第一个就没有了。能一样吗?
还有,刚开始我用or命令判断内存单元为0了,绕了一圈,看答案,发现没有小甲鱼的简洁,大家也可以用or命令试试,加深理解~~~ 一世芳华 发表于 2012-2-12 22:43 static/image/common/back.gif
不用怎么一样呢? 从2000的段地址开始查找内存单元为0的地址,不用inc bx 只查第一个就没有了。能一样吗? ...
谢谢了.是我自己糊涂了,因为debug时2000段内的内容全是0.哈哈 感谢楼主谢谢你 学习了 我想到是这个 loop start 行不行? :smile:smile:smile:smile:smile:smile:smile 好聪明,佩服 留个坐 留个座,好好加油 围观 留个座 执行loop 前,先进行cx-1 0-1=ffff 进入了死循环
页:
[1]