我想在我的rust代码中运行一些ARM汇编指令,因为我的目标是覆盆子pi。问题是rust对以下方面的抱怨:
unsafe {
asm!("ldr r0, =0x3f200000");
}我得到了error: Only valid when first operand is register。但是r0是一个ARM寄存器(?)。
此外,我想使用常量而不是原始地址,但我也不能让它工作,并且在阅读了关于这个的rust documentation之后,我仍然不能理解假设的语法。
发布于 2021-10-10 01:22:28
在Aarch32模式下,r0是一个有效的寄存器名称。如果在Aarch64模式下运行Rust,则应使用ldr x0, =0x3f200000或ldr w0, =0x3f200000
https://stackoverflow.com/questions/69510684
复制相似问题