作者CarlOrz (凯尔)
看板ASM
标题[问题] ARM 的 subs 指令
时间Sun Apr 18 17:40:40 2010
板众好
我最近在看 ARM system developers' guide
里面提到了 SUBS 这个指令除了执行 SUB 外
还会去 update cpsr
书中第 54 页讲了一个例子
cpsr = nzcvqiFt_USER
r1 = 0x00000001
SUBS r1, r1, #1
结果为
cpsr = nZCvqiFt_USER
r1 = 0x00000000
r1 的结果为0 与 Z (zero) flag 拉为 1 是可以想到的
Q: 我不懂的是为何 C(carry) flag 会拉为 1 呢 ??
运算过程中并没有 carry 发生啊 ??
恳请板众赐教 感恩 !!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.193.241.90
1F:推 pupucar:个人猜测 减法在硬体上的实做其实就是去加 减数的2的补数 04/18 20:47
2F:→ pupucar:0x0000001 + 0x11111111 = 0x00000000 会有进位是正常的 04/18 20:48