ASM86

ASM86 byl prodáván společností Intel jako assembler pro jejich rodinu procesorů x86 . Dnes již není na trhu ani vyvíjen. Jeho syntaxe je však široce používána mezi x86 assemblery, jako je Netwide Assembler , Microsoft Macro Assembler nebo Borlands Turbo Assembler . Syntaxe dnešních x86 assemblerů jsou většinou založeny na syntaxi ASM86 nebo jsou s ní identické, proto je také obecně známá jako „Intel Syntax“ nebo „Intel Assembler Syntax“.

Syntaktické rozdíly

Existují dva převládající syntaxe pro x86 sestavy: Intel syntax a AT & T syntaxe . V systému Windows dominuje syntaxe Intel, zatímco v ekosystému GNU / Linux dominuje syntaxe AT&T.

AT&T Intel
Pořadí parametrů Nejprve zdroj, pak cíl
mov $5, %eax
Nejprve cíl, pak zdroj
mov eax, 5
Velikost parametru Mnemotechnická pomůcka má příponu, která označuje délku operandu: q = QWord , l = DWord, w = Word b = Byte.
addl $4, %esp
add esp, 4
Sigils Okamžité hodnoty mají předponu „$“, registr „%“.
Efektivní adresy DISP (ZÁKLAD, INDEX, MĚŘÍTKO) . Příklad:
movl mem_location(%ebx,%ecx,4), %eax
Příklad:
mov eax, [ebx + ecx*4 + mem_location]

Individuální důkazy

  1. a b c Ram Narayam: Linuxoví montéři: Porovnání GAS a NASM . 17. října 2007. Citováno 13. ledna 2015.
  2. ^ Vytvoření Unixu . Bell Labs. Archivovány od originálu 20. května 2011. Citováno 13. ledna 2015.