Преобразование сборки Intel x86 в ARM
Я сейчас учусьARM
язык ассемблера;
Для этого я пытаюсь преобразовать некоторыеx86 code (AT&T Syntax)
сборке ARM(Intel Syntax)
код.
__asm__("movl $0x0804c000, %eax;");
__asm__("mov R0,#0x0804c000");
Из этогодокументЯ узнал, что в x86 блок 1 структуры кучи начинается с 0x0804c000. Но я, когда я пытаюсь сделать то же самое вarm
Я получаю следующую ошибку:
/tmp/ccfNZp9F.s:174: Error: invalid constant (804c000) after fixup
Я предполагаю, что проблема в том, что ARM может загружать только32bit инструкции.
Question 1: Any idea what would be the first chunk in case of ARM processors?
Question 2:
Из моего предыдущеговопросЯ знаю, как работает косвенная адресация памяти.
Фрагменты, написанные ниже, выполняют ту же работу?
movl (%eax), %ebx
LDR R0,[R1]
я используюARMv7 Processor rev 4 (v7l)