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ílmov $5, %eax
|
Nejprve cíl, pak zdrojmov 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
- ↑ a b c Ram Narayam: Linuxoví montéři: Porovnání GAS a NASM . 17. října 2007. Citováno 13. ledna 2015.
- ^ Vytvoření Unixu . Bell Labs. Archivovány od originálu 20. května 2011. Citováno 13. ledna 2015.