狗神,第二版书64页,图3-36 IDA的分支
原文:当最上面的方块执行完后,会判断R0是否为0,如果R0!=0,则满足判断条件。
但是在IDA里面最后一句是
SUBS R0,R1, R0
BNE loc_1c768
按照arm指令,应该翻译成R0=R1-R0;是如何判断分支条件R0是否为0的,这块不懂????
狗神,第二版书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)"]也就是上一条指令的运行结果???