AT&T (montør)
AT & T- syntaksen er en av monteringsspråkvariantene til x86- prosessorer . Det handler om en transponering mot denne arkitekturen av språket som er anerkjent av samleren av UNIX , som , som deretter målrettet mot minidatamaskiner i PDP- familien . Denne representasjonen brukes spesielt av GAS , montøren av GNU- prosjektet .
Begreper
I motsetning til Intel-syntaksen plasserer AT & T-syntaksen operander i rekkefølgen av Source før destinasjon .
De viktigste egenskapene til denne syntaksen er:
- Montereren skiller alltid mellom store og små bokstaver
- Konstanter er skrevet med vanlig notasjon i C
- Umiddelbare (konstante) operander er prefikset med en dollar '$'
- Registerene er foran en '%'
- Absolutte hopp (jmp / call) er foran en stjerne '*'
- Indireksjon (deferensiering) er markert med parenteser: en operand basert på EBX + -tabell gir table(%ebx)
- Rekkefølge av operander: Kilde før destinasjon (rekkefølge valgt på grunn av kompatibilitet med andre UNIX-montører)
- Størrelsen på operandene kan spesifiseres ved å bruke det siste tegnet i operasjonen (i Intel-syntaks, inntil Pentium inkludert, brukes spesifikke operatører på operandene, for eksempel operatøren PTRmed MASM ):
-
b→ byte (8 bits - 1 byte)
-
w→ ord (16 bits - 2 byte)
-
s→ kort (32 bits - 4 byte, for flytende punktoperasjoner )
-
l→ lang (32 bits - 4 byte for heltall, 64 bits - 8 byte for floats)
-
q→ quad (64 bits - 8 byte)
-
t→ ti byte (80 bits - 10 byte)
-
o→ octo (128 bits - 16 byte) for arkitekturen x86-64 !
- Absolutte "lange" hopp (ljump / lcall) har følgende syntaks :, $sélecteur, $offsetog ikke section:offsetsom i syntaksen til Intel manualer
- Ingen støtte for flere segmenter , programmer bruker enkelt lineær virtuell adressering
Eksempler
For eksempel en instruksjon i Intel-standard:
mov eax, 0FFh
Vil gi AT&T standard
movl $0xFF, %eax
AT & T-ekvivalenten til
mov byte ptr [ebx], 0FFh
Er
movb $0xFF, (%ebx)
Se også
Relaterte artikler
Eksterne linker