易码技术论坛

 找回密码
 加入易码
搜索
查看: 519130|回复: 15

[求助]找最大值

[复制链接]
发表于 2005-5-4 19:55:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2005-5-4 19:56:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2005-5-4 20:10:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2005-5-4 20:50:00 | 显示全部楼层
汗~
X初值为0
然后INX
X变为1
这是BNE跳转~因为X不为0
一直INX
知道X变成FF再INX一次~
X变为0
BNE就不跳转了~因为X为0了~
X一共增了$100次~
比较了$2100到$21FF的内容~
 楼主| 发表于 2005-5-4 21:03:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2005-5-4 21:07:00 | 显示全部楼层
Z是0标志位
当执行结果为0时Z置1 不为0则置0
所以当INX后X不等于0时Z为0
所以BNE就跳转……
 楼主| 发表于 2005-5-4 21:13:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2005-5-5 02:06:00 | 显示全部楼层
不是.

任何一次运算对标志位都会有一定的影响.

比如你的例子,QIQI也说了,是在INX时产生了影响.
正如 混乱羽翼 所说,X在等于FF时再来一个INX,执行这个INX时,X会等于0,此时CPU会将标志位Z置1.
然后,在执行到BNE的时候,根据此时Z=1,BNE就不会跳了.

[此贴子已经被作者于2005-5-5 19:12:17编辑过]

发表于 2005-5-5 12:22:00 | 显示全部楼层
以下是引用SAILOR-HB在2005-5-5 2:06:18的发言:
如Eastsun所说,X在等于FF时再来一个INX,执行这个INX时,X会等于0,此时CPU会将标志位Z置1.

吼吼~这似乎是我说的嘛……汗……
发表于 2005-5-5 12:23:00 | 显示全部楼层
以下是引用红色激情在2005-5-4 21:13:03的发言:

哦哦哦,是不是BNE判断上次的运算,从而影响Z。

也就是BNE判断的是最近的一次运算?


不能说BNE是判断上一次的运算~BNE只是判断标志位Z的状态~只要Z为0则跳转~
 楼主| 发表于 2005-5-5 12:45:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2005-5-5 18:52:00 | 显示全部楼层
晕~
不好意思哦混乱.我记性真是.....
可能是上通宵头昏了,刚看完就忘了.抱歉了.呵呵
发表于 2005-5-5 19:00:00 | 显示全部楼层
以下是引用红色激情在2005-5-5 12:45:43的发言:
任何一次运算都会影响标志寄存器的值。



其实呢,也并不是每一种指令都会影响标志寄存器.
在6502的指令介绍中,每一种指令都有一行说明,叫"影响标志位",这就是对这条指令执行时会影响到标志寄存器哪些位的说明.
如果你想知道哪个指令对哪些位有影响的话,可以 下载 6502 Simulator (地址: http://wqxmcode.8u8.com/soft/6502simulator.rar ).在这里面写代码的话,每写一条指令在右面提示里都会有这个指令的说明信息.这上面介绍的很详细.

[此贴子已经被作者于2005-5-5 19:14:08编辑过]

发表于 2005-5-31 18:31:00 | 显示全部楼层
我的“妈妈迷”呀,看看大奥秘出丑了吧?其实,只是他讲的不全而已。看看一些英文资料吧!!学电脑,不会英文可不行啊!!
发表于 2005-5-31 18:40:00 | 显示全部楼层
还好吧~我也是看着大奥秘学起来的~应该是楼主看的不够仔细或者没有很好的理解的缘故~我的E文超级烂…………
 楼主| 发表于 2005-5-4 19:17:35 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-3-28 21:26 , Processed in 0.014484 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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