pis*_*tal 2 x86 assembly gcc arm
在ARM
汇编中有没有办法将数组的地址放入寄存器?
类似的东西
__asm__("movl %0,%%eax"::"r"(&array1));
Run Code Online (Sandbox Code Playgroud)
AT&T
语法 X86
我最初尝试的方式
__asm__("LDR R0,%0" :: "m" (&array`)");
Run Code Online (Sandbox Code Playgroud)
你可以给我任何建议或指向一个我可以为此寻找的地方.
这应该工作:
int a[10];
asm volatile("mov %r0, %[a]" : : [a] "r" (a));
Run Code Online (Sandbox Code Playgroud)
ARM GCC Inline Assembler Cookbook是一个非常好的资源,可以正确地获得语法.
另请参阅 GCC文档中的为局部变量指定寄存器.您可以直接为变量指定寄存器.
register int *foo asm ("a5");
Run Code Online (Sandbox Code Playgroud)