Zum Inhalt springen

ASM86

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von Intel Syntax)

ASM86 wurde von der Firma Intel als Assembler für deren x86-Prozessor-Familie vertrieben. Heute wird er nicht mehr vertrieben oder weiterentwickelt. Seine Syntax ist jedoch weit verbreitet unter x86-Assemblern wie dem Netwide Assembler, dem Microsoft Macro Assembler oder Borlands Turbo Assembler. Die Syntaxen heutiger x86-Assembler basieren meistens auf der des ASM86 oder sind identisch mit dieser, daher ist sie auch allgemein als „Intel Syntax“ oder „Intel Assembler Syntax“ bekannt.

Syntaxunterschiede[Bearbeiten]

Für x86-Assembly gibt es zwei vorherrschende Syntaxen: Intel-Syntax und AT&T-Syntax.<ref name="GASvsNASM">Vorlage:Cite web</ref> Unter Windows dominiert die Intel-Syntax, im GNU/Linux-Ökosystem dagegen die AT&T-Syntax.<ref>Vorlage:Cite web</ref>

AT&T Intel
Parameterreihenfolge Erst Quelle, dann Ziel<syntaxhighlight lang="asm">mov $5, %eax</syntaxhighlight> Erst Ziel, dann Quelle<syntaxhighlight lang="asm">mov eax, 5</syntaxhighlight>
Parametergröße Mnemonics erhalten ein Suffix, das für die Operandenlänge steht: q = QWord, l = DWord, w = Word b = Byte.<ref name="GASvsNASM"/> <syntaxhighlight lang="asm">addl $4, %esp</syntaxhighlight>  <syntaxhighlight lang="asm">add esp, 4</syntaxhighlight>
Sigils Unmittelbare Werte haben Präfix “$”, Register “%”.<ref name="GASvsNASM"/>
Effektive Adressen DISP(BASE,INDEX,SCALE). Beispiel: <syntaxhighlight lang="asm">movl mem_location(%ebx,%ecx,4), %eax</syntaxhighlight> Beispiel: <syntaxhighlight lang="asm">mov eax, [ebx + ecx*4 + mem_location]</syntaxhighlight>

Skriptfehler: Ein solches Modul „Vorlage:Siehe auch“ ist nicht vorhanden.

Einzelnachweise[Bearbeiten]

<references />