? Dataprogrammer er skrevet i en lang rekke språk avhengig av tilgjengelige ressurser til selve datamaskinen og på behovene til programmerere selv. Men det er bare ett språk nativt forstås av en gitt prosessor , og disse språkene er kollektivt kjent som montering. Den mest grunnleggende språk
assembly , forteller hver kommando til en operasjon som kan utføres direkte av datamaskinens maskinvare uten videre tolkning nødvendig. Av denne grunn er programmering strukturer tilgjengelig for montering språk defineres mer av egenskapene til maskinvaren og hva kommandoer kan være billig implementert, og ikke av hva programmerere ville finne enkleste eller mest naturlig å samarbeide med .
felles forsamlingslokale språk
den vanligste assembly for personlige datamaskiner langt er språket som brukes av Intels X86 linje datamaskinen prosessorer . Nesten alle forbrukernes personlige datamaskiner inneholder prosessorer enten produsert av Intel eller bevisst utformet for å være kompatibel med Intels X86 montering. Men det finnes unntak . Sun Microsystems produserer Solaris arbeidsstasjoner som bruker SPARC montering , mange spillkonsoller og eldre Apple- datamaskiner bruker IBMs PowerPC montering og små dataenheter som smarttelefoner og PDA-er vanligvis bruker ARM .
CISC og RISC
Assembly språk kan deles inn i to designfilosofier : Complex Instruction Set Computing ( CISC ) og Reduced Instruction Set Computing ( RISC ) . RISC språk har færre instruksjoner. Dette betyr en forsamling program må være lengre for å oppnå den samme oppgaven , men hver enkelt instruksjon kan utføre raskere. Eksempler på RISC språk inkluderer ARM, PowerPC , og SPARC . CISC språk tar motsatt tilnærming: de har flere instruksjoner , slik at programmerere å oppnå mer med hver instruksjon . X86 er et eksempel på en CISC arkitektur .
Eksempel på Assembly
p Dette er en relativt enkel montering program i X86 som skriver ut en kort melding på skjermen.
. modell small.stack.datamessage db " Hei verden , jeg lærer Assembly !" , "$"
. kode
viktigste procmov øks, segment messagemov ds , øks
mov ah , 09lea dx , messageint 21t
mov ax , 4c00hint 21hmain endpend viktigste
Fordeler med Direct bruk
< p > Fordi monteringsanvisning korrelerer direkte til operasjonene som utføres av maskinen , vil effektivt skrevet montering programmer kjøre et gitt program på raskest mulig måte .
Fordeler med høyere nivå språk
Assembly har noen dyptgripende ulemper også . Mens forsamlingen kan teoretisk produsere den raskeste koden mulig , i praksis den automatiserte optimalisering levert av høyere nivå språk som C + + vil utkonkurrere de optimalisering innsats av de fleste programmerere . Montering programmer pleier også å være svært komplisert forhold til sine ekvivalenter i Java eller C. For eksempel oppnår følgende C program samme resultat som forsamlingen programmet ovenfor : en
domstol << "Hei, verden , C er mye enklere enn Assembly ! "