X86-64核心编程:数组与指令运用
1. 测试用例与指令特性
首先来看一些测试用例:
----- Test case #6 -----
n = 100
sum1 = 25502500
sum2 = 25502500
----- Test case #7 -----
n = -42
sum1 = error: 'n' is out of range
sum2 = error: 'n' is out of range
x86 - 64指令集包含 inc (加1)和 dec (减1)指令,它们用于对指定操作数进行加1或减1操作。这两条指令的机器编码比立即值为1的 add 或 sub 指令小一个字节。不过,使用 inc 和 dec 存在缺点,它们不会更新RFLAGS.CF标志,这使得它们不能用于需要该标志的代码。同时, inc 和 dec 会根据结果更新RFLAGS.OF、RFLAGS.SF、RFLAGS.ZF、RFLAGS.AF和RFLAGS.PF,而 add 和 sub 指令会更新这些标志以及RFLAGS.CF。在某些处理器微架构中, inc 和 dec 对RFLAGS状态标志的部分更新速度较慢。而且,如果在引用或更新RFLAGS.CF的其他指
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



