【发布时间】:2017-02-13 12:32:22
【问题描述】:
看一下我看到的一些 ppc 反汇编:
e_lbz r7, 0(r13)
extsb. r7,r7
se_beq some_label
The documentation for extsb. 不清楚它如何影响条件寄存器。我不确定 r7 这个分支的值是多少。
我的想法是,如果r7 中的值的最高有效位为 0,那么 extsb.指令不会更改r7 中的值。所以对于任何值r7 >= 0 && r7 <= 127 都应该设置相等标志并且se_beq 应该分支。
【问题讨论】:
-
哪一部分不清楚?如果
r7中的字节为零,它将分支。 -
如果
r7为 1 会怎样?那为什么不分支呢?我将通过我认为某些值应该如何工作的示例来补充我的问题。该指令如何设置条件寄存器,其他指令明确说明了如何修改条件寄存器。 -
标志设置为等于零,它在您的链接上这么说。
1显然不是零,所以没有分支。