相关疑难解决方法(0)

ARMv8 A64程序集中的立即值范围

我的理解是ARMv8 A64汇编中的直接参数可以是12位长.如果是这种情况,为什么这行汇编代码:

AND X12, X10, 0xFEF 
Run Code Online (Sandbox Code Playgroud)

产生此错误(使用gcc编译时)

Error:  immediate out of range at operand 3 -- `AND X12, X10, 0xFEF'
Run Code Online (Sandbox Code Playgroud)

有趣的是,这行汇编代码编译得很好:

ADD X12, X10, 0xFEF
Run Code Online (Sandbox Code Playgroud)

我正在使用aarch64-linux-gnu-gcc(Linaro GCC 2014.11)4.9.3(预发布)

assembly gcc arm64

3
推荐指数
2
解决办法
3442
查看次数

标签 统计

arm64 ×1

assembly ×1

gcc ×1