As (Unix)

From Wikipedia, the free encyclopedia

Remove ads

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]

  • 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
Remove ads

Lähteet

Aiheesta muualla

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads