我正在使用arm64,我正在尝试找到一种将32位寄存器复制到64位寄存器的方法,因为mov x1, w6返回操作数不匹配错误,因为您无法使用以下命令将32位寄存器复制到64位寄存器只是一个简单的移动指令。
32 位通用寄存器实际上只是 64 位通用寄存器,高 4 字节被清零。正如评论者所指出的,您只需要决定是否需要符号扩展。
所以如果你愿意uint64_t x1 = (uint32_t)w6,你可以:
mov w1, w6
Run Code Online (Sandbox Code Playgroud)
如果你愿意int64_t x1 = (int32_t)w6,你可以:
sxtw x1, w6
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1698 次 |
| 最近记录: |