Okay. Ich möchte lernen, wie man Programme auf meinem Mac zusammenstellt (Anfang 2009 MBP, Intel Core 2 Duo). Bisher verstehe ich nur, dass Assembler-Sprachen aus direkten Eins-zu-Eins-Mnemonik für CPU-Anweisungen bestehen. Nach etwas Googeln habe ich viele Begriffe gesehen, hauptsächlich "x86" und "x86_64". Ich habe unter anderem auch MASM, NASM und GAS gesehen.Grundlegende Fragen zu Assembly und Macs
mich korrigieren, wenn ich falsch:
- x86 und x86_64 sind Befehlssätze. Wenn ich mit diesen Befehlssätzen etwas schreibe (als rohen Maschinencode), geht es mir gut, solange mein Programm auf dem Prozessor bleibt, für den es entwickelt wurde.
- NASM, MASM und GAS sind alle verschiedene Assembler.
- Es gibt verschiedene Assemblersprachen. Es gibt zum Beispiel die AT & T-Syntax und die Intel-Syntax. Die Unterstützung für diese Syntaxen ist bei Assemblern unterschiedlich. Jetzt
, Fragen:
- Als Mac-Benutzer, die Befehlssätze sollte ich besorgt sein?
- Xcode verwendet GCC. Bedeutet dies, dass es auch GAS verwendet? Wenn es GAS verwendet, sollte ich dann die AT & T Syntax lernen?
- Gibt es ein Buch, das ich dazu bekommen kann. Kein Tutorial, kein Referenzhandbuch im Internet. Diese Dinge nehmen zu viel von mir an; Zum Beispiel, so weit ich weiß, ist ein Register nur ein kleines bisschen Speicher auf der CPU. So wenig weiß ich wirklich.
Danke für Ihre Hilfe.
Also muss ich x86_64? – Audacitor
Ja. (Ich würde es beim Wort lassen, aber es gibt ein Minimum.) –