Я читал язык сборки Step-by-Step (3-е издание, Jeff Duntemann). У меня есть ящик Linux, ящик для льва и машина для тигра (PPC), которую я могу использовать. Я писал небольшие сборочные программы с NASM на машинах Lion и Linux и хотел бы сделать это на Tiger.NASM: x86 to PPC - ошибка синтаксиса выражения
Помните, я никогда не ожидал, что это будет легко.
Я не совсем уверен, как мне изменить код для работы с PPC. Я до сих пор встречался с тремя expression syntax error
(строки 2, 3 и 14), которые я не могу понять.
(я не имею твердое понимание инструкции КПП, установленной в меньшей мере.)
код Я пытаюсь собрать такой: (игнорировать номера строк)
1 SECTION .data
2 str: db "Hello, World!",0x10
3 len: equ $-str
4
5 SECTION .bss
6
7 SECTION .text
8 global start
9
10 start:
11 nop
12 mov eax,4
13 mov ebx,1
14 mov ecx,str
15 mov edx,len
16 int 0x80
17
18 mov eax,1
19 mov ebx,0
20 int 0x80
(Я действительно понимаю, что КПП умирает, и нет смысла анализировать его сборку, но обучение никогда не бывает плохим.)
NASM предназначен только для x86/x86_64, он не будет работать с PPC, поэтому вам придется использовать другой ассемблер (например, GAS-сборщик GAS). Кроме того, в основном все остальное также отличается для PPC - набора команд и метода syscall, в частности - вам лучше начать с нуля, а не преобразовывать существующий код по строкам. – user786653
(Хотя NASM действительно работает.) Спасибо. –
Да, было бы правильнее сказать, что это только * цели * x86/x86_64. BTW, чтобы понять, как выглядит код PPC, вы можете использовать 'gcc -S hello.c', чтобы GCC выводил ассемблерный код программы на C. – user786653