相关疑难解决方法(0)

在x86汇编中将寄存器设置为零的最佳方法是什么:xor,mov或?

以下所有说明都做同样的事情:设置%eax为零.哪种方式最佳(需要最少的机器周期)?

xorl   %eax, %eax
mov    $0, %eax
andl   $0, %eax
Run Code Online (Sandbox Code Playgroud)

optimization performance x86 assembly micro-optimization

109
推荐指数
1
解决办法
4万
查看次数

使用谓词指令将c转换为程序集

我想使用谓词指令将此代码转换为汇编

If (A>B){

    C=A;
    D=B;
    E=0

}

else{

    C=B;
} 
Run Code Online (Sandbox Code Playgroud)

它是正确的还是我如何使用跳跃?

cmp R1,R2; considering B is assigned to R2 and A assigned to R1
movlf R3,R1;R3 assign to C
mov R4,R2;R4 assign to D
mov R5,0; R5 assign to E
movlt R3,R2
Run Code Online (Sandbox Code Playgroud)

c assembly arm predicates

-2
推荐指数
1
解决办法
422
查看次数