鱼C论坛

 找回密码
 立即注册
查看: 2822|回复: 9

ffff每次减1 为什么总共能减9999次?

[复制链接]
发表于 2014-2-23 22:42:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
ffff每次减1 为什么总共能减9999次?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-2-23 22:57:14 | 显示全部楼层
贴源码啊!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-23 23:16:08 | 显示全部楼层
让CPU执行一段时间的空循环,循环次数为100000次:
    mov dx,10h
    mov ax,0
s:  sub ax,1
    sbb dx,0
    cmp ax,0
    jne s
    cmp dx,0
    jne s
相当于循环套嵌,外循环为10,内循环为10000;内循环10000是由ax=0减1变为ffff,接着每次减1,共减10000次,为什么是10000次?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-23 23:25:37 | 显示全部楼层
我个人觉得不是让cpu循环100000次,ffff的十进制数是65535,ax从0开始减到ffff再减到0一个65536次,而dx的值为10h,也就是十进制16,所以一共循环的次数应该是1048560,转成16进制即ffff0。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-23 23:48:09 | 显示全部楼层
靠,mov dx,10h  好晕我,我以为是十六进制,原来是十进制。。。。

不过我正在调试 我看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-24 00:10:38 | 显示全部楼层
本帖最后由 oggplay 于 2014-2-24 00:15 编辑

调试结果都是65536:big  早就溢出了  CPU忙的不可开交
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-24 19:54:47 | 显示全部楼层
1:第一次sub ax,1后,ax=0ffffh
2.在ax=0ffffh是,要不满足jne条件,也就是可以向下执行了,一共要操作ffffh+1次,也就是10000h次
这是内循环,外循环还有个10h,两个相乘就是100000h次
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-24 23:14:37 | 显示全部楼层
暂时不知道啊{:2_25:}{:2_30:},努力学习学习再说吧,我看好你哦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-28 16:39:12 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-3-6 18:53:31 | 显示全部楼层
亲你的问题就不准确 应该是9999h次吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-28 09:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表