as () 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. Ensimmäinen versio oli hyvin minimalistinen, joka tuotti kiinteällä nimellä (a.out) ohjelman joka oli suoraan ajettavissa. Myöhempi PDP-11:n alustalle tehty versio noudatti DEC:in PAL-11R-kääntäjän syntaksia.

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.

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.

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.

Vaihtoehtoisia toteutuksia ovat muun muassa GNU-projektin GNU Assembler ja nasm. Merkittäviä eroja syntaksissa ovat muun muassa: lähde- ja kohdeoperandin järjestys välittömät arvo-operandit: $-merkin käyttö AT&T-syntaksissa (movl $4, %eax) rekisterioperandien etumerkki: %-merkin käyttö AT&T-syntaksissa (movl $4, %eax) operaation muuttujan koko: b, w ja l -liitteiden käyttö operaatiokoodin perässä (esim. movl) välittömien hyppykäskyjen muoto: $section, $offset

Lähteet

Aiheesta muualla What is int 80h? Introduction to UNIX assembly programming PAL-11R Assembler Programmer's Manual (PDF)

Luokka:Assembler-kääntäjät Luokka:Unix-ohjelmat