Conversión de ensamblaje de Intel x86 a ARM
Actualmente estoy aprendiendoARM
lenguaje ensamblador
Para ello, estoy tratando de convertir algunosx86 code (AT&T Syntax)
al ensamblaje ARM(Intel Syntax)
código.
__asm__("movl $0x0804c000, %eax;");
__asm__("mov R0,#0x0804c000");
De estodocumento, Me entero de que en x86 el fragmento 1 de la estructura del montón comienza desde 0x0804c000. Pero cuando intento hacer lo mismo enarm
, Obtuve el siguiente error:
/tmp/ccfNZp9F.s:174: Error: invalid constant (804c000) after fixup
Supongo que el problema es que ARM solo puede cargar32 bits instrucciones.
Question 1: Any idea what would be the first chunk in case of ARM processors?
Question 2:
De mi anteriorpreguntaSé cómo funciona el direccionamiento indirecto de memoria.
¿Los fragmentos escritos a continuación hacen el mismo trabajo?
movl (%eax), %ebx
LDR R0,[R1]
estoy usandoARMv7 Processor rev 4 (v7l)