AT&T (összeszerelő)
Az AT&T szintaxis az x86 processzorok egyik szerelési nyelvű változata . Arról a nyelv átültetéséről szól, amelyet a UNIX összeállítója felismert , és amely a PDP család miniszámítógépeit vette célba . Ezt az ábrázolást különösen a GAS , a GNU projekt összeállítója használja .
Fogalmak
Szemben Intel szintaxis, az AT & T mondattani helyen operandusok sorrendje Forrás előtt Destination .
A szintaxis fő jellemzői a következők:
- Az összeszerelő mindig különbséget tesz a kis- és nagybetűk között
- Az állandókat a szokásos jelöléssel írjuk C-be
- Az azonnali (állandó) operandusok előtagja egy dollár '$'
- A regiszterek előtagja a '%'
- Az abszolút ugrásokat (jmp / hívás) csillaggal látjuk el '*'
- Az indirekciót (deferenciációt) zárójelek jelölik: az EBX + táblán alapuló operandus ad table(%ebx)
- Operandusok sorrendje: Forrás a cél előtt (a sorrendet a többi UNIX összeállítóval való kompatibilitás érdekében választották)
- A méret operandusok megadható az utolsó karaktert a működés (az Intel szintaxis, akár Pentium benne, konkrét szereplők operandusok használják, például az üzemeltető PTRa MASM ):
-
b→ bájt (8 bit - 1 bájt)
-
w→ szó (16 bit - 2 bájt)
-
s→ rövid (32 bit - 4 bájt, lebegőpontos műveletekhez )
-
l→ hosszú (32 bit - 4 bájt egész számokhoz, 64 bites - 8 bájt úszóhoz)
-
q→ quad (64 bit - 8 bájt)
-
t→ tíz bájt (80 bit - 10 bájt)
-
o→ octo (128 bit - 16 bájt) az x86-64 architektúrához !
- Az abszolút "hosszú" ugrások (ljump / lcall) szintaxisa a következő: $sélecteur, $offsetés nem úgy, section:offsetmint az Intel kézikönyvek szintaxisában
- Nincs támogatás több szegmenshez , a programok egyetlen lineáris virtuális címzést használnak
Példák
Például egy utasítás Intel szabvány szerint:
mov eax, 0FFh
Megadja az AT&T szabványt
movl $0xFF, %eax
Az AT&T megfelelője
mov byte ptr [ebx], 0FFh
Is
movb $0xFF, (%ebx)
Lásd is
Kapcsolódó cikkek
Külső linkek