as (lyhenne sanoista assembler) on Unix-käyttöjärjestelmän assembler-kääntäjän nimi.
Ohjelman ensimmäisen version Unixia varten teki Ken Thompson PDP-7:lle käyttöjärjestelmän kehityksen varhaisessa vaiheessa.[1] Ensimmäinen versio oli hyvin minimalistinen, joka tuotti kiinteällä nimellä (a.out) ohjelman joka oli suoraan ajettavissa.[1] Myöhempi PDP-11:n alustalle tehty versio noudatti DEC:in PAL-11R-kääntäjän syntaksia.[2]
Unixia siirrettäessä Interdata 8/32 -tietokoneelle assembler-kääntäjä oli yksi asia, joka ei ollut siirrettävissä: muun muassa tavujärjestys ja liukulukumuoto poikkesivat PDP-11:ssä käytetystä ja kääntäjän piti toimia eri tavoin riippuen siitä, kummalla alustalla sitä ajettiin.[3]
VAX-11:ssä toteutetun Berkeley Unixin (BSD) as:n pääasiallinen käyttötapaus oli kääntää C-kielen kääntäjän tuottamaa ohjelmakoodia, ja se sisälsi vain vähän myönnytyksiä ihmisten kirjoittaman koodin tuelle.[4]
as käyttää niin sanottua AT&T-syntaksia, jota myös useat muut assembler-kääntäjät tukevat, mutta joka eroaa Intelin käyttämästä syntaksista.[5][6][7]
Vaihtoehtoisia toteutuksia ovat muun muassa GNU-projektin GNU Assembler ja nasm.[7] Merkittäviä eroja syntaksissa ovat muun muassa:[7]
$
-merkin käyttö AT&T-syntaksissa (movl $4, %eax
)%
-merkin käyttö AT&T-syntaksissa (movl $4, %eax
)b
, w
ja l
-liitteiden käyttö operaatiokoodin perässä (esim. movl
)$section, $offset