|
主题 : : 11章5节的128位数据相加的加法中的INC SI是否可以替换为ADD SI,2? [待解决] |
回复[ 12次 ]
点击[ 767次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2009-10-02 21:38 ]
[引用]
[回复]
[ top ] | |
荣誉值:24
信誉值:0
注册日期:2009-07-21 14:42 |
11章5节的128位数据相加的加法中的INC SI是否可以替换为ADD SI,2?
我认为是可以低缓的,ADD SI,2 和两次INC SI 没有什么不同
况且 ADD SI,2 8次后 最多也不过是16 不会产生使CF变成1的效果。
。。。。刚写到这里,突然想到了,CF不仅仅是 不变成1就没有用了,
前面的ABC AX,[DI] 这句 不仅仅是使用了CF 也影响了CF 下次要用到的。
而ADD SI,2却强行把CF变成了0.
然后再循环的ABC AX,[DI] 如果之前CF 1 但是 ADD SI,2 把它变成了0
那么下边的 ABC AX,[DI]就不准确了。
明白了
的确不能用ADD来取代 | | |
|
|
|
|
[第1楼]
[ 回复时间:2009-10-02 21:40 ]
[引用]
[回复]
[ top ] | |
荣誉值:24
信誉值:0
注册日期:2009-07-21 14:42 |
也了解到了 INC 的确有的时候 能用到ADD不能用到的地方
目前看到的就是 碰到 需要看 CF位的时候 一定要注意 INC 和ADD的用法 | | |
|
|
|
|
[第2楼]
[ 回复时间:2009-11-05 20:43 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-10-11 00:27 |
确实如此,我本有些不明白,看到楼主分析以后算是清晰了! | | |
|
|
|
|
[第3楼]
[ 回复时间:2010-01-10 15:23 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-01-03 08:56 |
奇怪,inc也会有进位的时候啊,为什么就不会对CF位有影响? | | |
|
|
|
|
[第4楼]
[ 回复时间:2010-01-27 14:28 ]
[引用]
[回复]
[ top ] | |
荣誉值:6
信誉值:0
注册日期:2009-12-18 19:53 |
楼上的话我是理解为inc指令大概为规定会不会进位的 | | |
|
|
|
|
[第5楼]
[ 回复时间:2010-01-27 16:29 ]
[引用]
[回复]
[ top ] | |
荣誉值:62
信誉值:0
注册日期:2009-12-03 13:14 |
|
|
|
|
|
[第6楼]
[ 回复时间:2010-01-27 16:39 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-08-16 20:45 |
看了楼主 的话我也明白了
我刚开始还在疑惑 为什么用add不行 主要没想到 用add的话 会影响 cf | | |
|
|
|
|
[第7楼]
[ 回复时间:2010-02-17 10:31 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:1
注册日期:2010-01-22 20:12 |
|
|
|
|
|
[第8楼]
[ 回复时间:2010-02-18 01:48 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-10-07 14:18 |
|
|
|
|
|
[第9楼]
[ 回复时间:2010-05-17 22:03 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-05-08 00:59 |
这一章开始说add、inc等运算型指令改变标志寄存器的值
到这里直接加一句inc、loop不影响cf值
唉,学汇编如同捉蚂蚁,内奔 | | |
|
|
|
|
[第10楼]
[ 回复时间:2010-07-29 17:38 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-07-29 17:38 |
|
|
|
|
|
[第11楼]
[ 回复时间:2010-08-13 11:25 ]
[引用]
[回复]
[ top ] | |
荣誉值:16
信誉值:0
注册日期:2010-07-09 09:48 |
|
|
|
|
|
[第12楼]
[ 回复时间:2012-09-05 15:36 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2012-08-01 14:49 |
|