Zum Inhalt springen

ASM86

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

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 book/NameVorlage:Cite book/Name: [Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden.] Skriptfehler: Ein solches Modul „DateTime“ ist nicht vorhanden., archiviert vom Vorlage:Referrer (nicht mehr online verfügbar) am Vorlage:Cite book/URL; (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> Unter Windows dominiert die Intel-Syntax, im GNU/Linux-Ökosystem dagegen die AT&T-Syntax.<ref>Vorlage:Cite book/Name: [Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden.] Bell Labs, Skriptfehler: Ein solches Modul „DateTime“ ist nicht vorhanden., archiviert vom Vorlage:Referrer (nicht mehr online verfügbar) am Vorlage:Cite book/URL; (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</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 />