Konwersja zespołu Intel x86 do ARM
Obecnie się uczęARM
język asemblera;
Aby to zrobić, próbuję przekonwertować niektórex86 code (AT&T Syntax)
do montażu ARM(Intel Syntax)
kod.
__asm__("movl $0x0804c000, %eax;");
__asm__("mov R0,#0x0804c000");
Od tegodokument, Dowiaduję się, że w x86 fragment 1 struktury sterty zaczyna się od 0x0804c000. Ale kiedy próbuję zrobić to samoarm
, Pojawia się następujący błąd:
/tmp/ccfNZp9F.s:174: Error: invalid constant (804c000) after fixup
Zakładam, że problem polega na tym, że ARM może tylko ładować32bit instrukcje.
Question 1: Any idea what would be the first chunk in case of ARM processors?
Question 2:
Z mojego poprzedniegopytanieWiem, jak działa pośrednie adresowanie pamięci.
Czy fragmenty napisane poniżej wykonują tę samą pracę?
movl (%eax), %ebx
LDR R0,[R1]
ja używamARMv7 Processor rev 4 (v7l)