? Datorprogram är skrivna i en mängd olika språk beroende på vilka resurser som finns tillgängliga för själva datorn och på behoven hos programmerarna själva . Men det finns bara ett språk inbyggt förstås av en viss processor , och dessa språk är kollektivt kallas montering . Den mest grundläggande språket
assembler , avser varje kommando till en operation som kan utföras direkt av datorns maskinvara som inte kräver ytterligare tolkning . Av denna anledning är de programmeringsstrukturer tillgängliga för montering språk definieras mer av funktionerna i hårdvara och vilka kommandon billigt kan genomföras , och inte av vad programmerare skulle hitta enklaste eller det mest naturliga att arbeta med .
gemensamma församling språk
den vanligaste assembler för persondatorer i särklass är det språk som används av Intels X86 linje datorprocessorer . Nästan alla konsumenter persondatorer innehåller processorer antingen producerade av Intel eller medvetet utformade för att vara kompatibla med Intels X86 montering . Men det finns undantag . Sun Microsystems tillverkar Solaris arbetsstationer som använder SPARC montering , många spelkonsoler och äldre Apple- datorer använder IBMs PowerPC församling , och små datorenheter som smarta telefoner och handdatorer brukar använda ARM .
CISC och RISC
Assembly språk kan delas in i två design filosofier : Complex Instruction Set Computing ( CISC ) och reducerat Instruction Set Computing ( RISC ) . RISC språk har färre instruktioner . Detta innebär en sammansättning program måste vara längre för att uppnå samma uppgift, men varje enskild instruktion kan utföra snabbare. Exempel på RISC språk inkluderar ARM , PowerPC och SPARC . CISC språk är av motsatt synsätt : de har fler instruktioner , så att programmerare att åstadkomma mer med varje instruktion . X86 är ett exempel på en CISC arkitektur .
Exempel på församlingens
Detta är en relativt enkel montering program i X86 som skriver ett kort meddelande på skärmen .
. modell small.stack.datamessage db " Hej världen , jag lär församlingen ! " , " $ "
. kod
main procmov yxa, seg messagemov ds , yxa
mov ah , 09lea dx , messageint 21h
mov ax , 4c00hint 21hmain endpend viktigaste
Fördelar med Direct Använd
Eftersom monteringsanvisningar korrelerar direkt till den verksamhet som utförs av maskinen , kommer effektivt skrivna montering program köra ett visst program på snabbast möjliga sätt .
Fördelar med högre nivå språk
församlingen har några djupgående nackdelar också . Även montering kan teoretiskt producera den snabbaste koden möjligt , i praktiken den automatiska optimeringen från högre nivå språk som C + + kommer att överträffa den optimering ansträngningar flesta programmerare . Montering program tenderar också att bli mycket komplicerat förhållande till sina motsvarigheter i Java eller C. Till exempel uppnår följande C-program med samma resultat som församlingen programmet ovan :
cout << " Hello world , C är mycket enklare än församlingen ! " Addera