因此,我正在使用 A64 指令集以汇编形式 ARM 进行编程。我正在使用指令 fmov d1, #31.0 将值移动到 dx 寄存器。但是,当我使用 0.0 或任何高于 31.0 的值时,它会显示错误:
"Error: invalid floating-point constant at operand 2 -- `fmov d1,#32.0'"
那么,如何在 A64 上定义浮点常量呢?为什么我不能使用 31 以上的任何值或使用 0?如何以十六进制表示值?
另一个问题是:根据arm 的网站,它支持使用浮点寄存器作为 Bx、Hx、Sx、Dx 和 Qx(分别为 8、16、34、64 和 128 位),但我就是不能使用 Bx ,Hx 和 Qx 寄存器,它显示:
" 错误:操作数不匹配 -- `fmov b1,#1.0'"
" 错误:选择的处理器不支持 `fmov h1,#2.0"
" 错误:操作数不匹配 -- `fmov q1,#2.0'"
如何正确设置第二个操作数?