Page 64

狗神,第二版书64页,图3-36 IDA的分支
原文:当最上面的方块执行完后,会判断R0是否为0,如果R0!=0,则满足判断条件。

但是在IDA里面最后一句是
SUBS R0,R1, R0
BNE loc_1c768

按照arm指令,应该翻译成R0=R1-R0;是如何判断分支条件R0是否为0的,这块不懂????

R0 = R1 - R0

判断上一条指令的操作结果,即R0

SUBS是将R1-R0的差值保存到R0中,
BNE是条件“不相等(或不为0)“跳转指令。
难道BNE的判断条件是R0???[“不相等(或不为0)"]也就是上一条指令的运行结果???