As (Unix)

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) 

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