我正在尝试实现类似于以下C代码的内容:
if(x<0)
{
<code A>
}
else if(x == 0)
{
<code B>
}
else //x > 0
{
<code C>
}
postIf code
所以我想知道我是否可以通过在ARMv8,AArch64指令集中执行以下操作来实现此目的:
cmp x_r, 0 //x_r macro for x19
b.lt neg
b.gt pos
<code B>
b postIf
neg:
<code A>
b postIf
pos:
<code C>
postIf:
<postIf Code>
这有用吗?检查条件分支后,标志是否保持设置(或未设置)?
答案 0 :(得分:1)
是的,应该可以正常工作。分支指令不修改标志。