| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4316 人关注过本帖, 1 人收藏
标题:初学CX,没设置CX,它是如何能循环的呢,
取消只看楼主 加入收藏
luohua2007
Rank: 1
等 级:新手上路
帖 子:88
专家分:0
注 册:2007-4-11
收藏(1)
 问题点数:0 回复次数:4 
初学CX,没设置CX,它是如何能循环的呢,

补全程序,利用loop指令,实现在内存2000H段中查找第一个值为0的byte,找到后,将它的偏移地址存储在dx中。
问题:一直看不明白这个程序,没有设置CX,它LOOP S如何循环呢,难道说用INC CX做循环条件吗,可这样的话,CX老是等于1,又如何执行下面OK中的程序,请大家指点一下把,没见过没有CX还能循环的例子

assume cs:code
code segment
start:
mov ax,2000h
mov ds,ax
mov bx,0
s:
mov cl,[bx]
mov ch,0
inc cx ;此条指令为题目要求补全的指令//
inc bx
loop s
ok: dec bx
mov dx,bx
mov ax,4c00h
int 21h
code ends
end start

搜索更多相关主题的帖子: 初学 
2007-05-23 14:21
luohua2007
Rank: 1
等 级:新手上路
帖 子:88
专家分:0
注 册:2007-4-11
收藏
得分:0 

知道拉,忽然明白了,谢谢斑竹了,原来如此


来生 再续前缘 孟婆浅浅一笑 低头看那一锅普通的汤 只因加了一味叫遗忘的草料 也抵过了曾经的万千誓言
2007-05-23 21:16
luohua2007
Rank: 1
等 级:新手上路
帖 子:88
专家分:0
注 册:2007-4-11
收藏
得分:0 
[QUOTE]cx 不是设置了吗?
mov cl,[bx]
mov ch,0 //这里 CX 不是等于0吗? 它分高,低8位存的嘛。[/QUOTE]

想了一夜,在想想,又不明白了,假设现在
mov cl,[bx]//{BX]=0了
mov ch 0 //也就是说已经找到值为0的byte了,CH是高8位0,CL是低8位0,按理说该结束循环了才对
inc cx //可到了这句,岂不是又把[BX]已经找到值为0的byte加1了吗,CX又等于了1,那么下 一句LOOP S又要循环,无休无止,还 是说如果[BX]等于0了后,它就是等于0了,不在加1了,那么就可以结束循环了
LOOP S

来生 再续前缘 孟婆浅浅一笑 低头看那一锅普通的汤 只因加了一味叫遗忘的草料 也抵过了曾经的万千誓言
2007-05-24 10:49
luohua2007
Rank: 1
等 级:新手上路
帖 子:88
专家分:0
注 册:2007-4-11
收藏
得分:0 
抱歉一下,是我没学仔细看好LOOP的用法,其实汇编都看了第4遍了,现在又从头开始了我的记忆力

来生 再续前缘 孟婆浅浅一笑 低头看那一锅普通的汤 只因加了一味叫遗忘的草料 也抵过了曾经的万千誓言
2007-05-25 00:05
luohua2007
Rank: 1
等 级:新手上路
帖 子:88
专家分:0
注 册:2007-4-11
收藏
得分:0 

现在明白了,完全明白了,是我没理解好LOOP的用法,
现在感觉好多了,让大家费心了
非常感谢


来生 再续前缘 孟婆浅浅一笑 低头看那一锅普通的汤 只因加了一味叫遗忘的草料 也抵过了曾经的万千誓言
2007-05-25 12:42
快速回复:初学CX,没设置CX,它是如何能循环的呢,
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022398 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved