? Programmi per computer sono scritti in una vasta gamma di lingue a seconda delle risorse disponibili per il computer stesso e sulle esigenze dei programmatori stessi . Tuttavia, vi è un solo linguaggio nativo compresa da un dato processore , e queste lingue sono noti collettivamente come assemblaggio . La maggior base lingue
in linguaggio assembly , ogni comando si riferisce a una operazione che può essere eseguita direttamente dal hardware del computer senza ulteriore interpretazione richiesto . Per questo motivo , le strutture di programmazione disponibili per i linguaggi di assemblaggio sono definite più dalle capacità dell'hardware e quali comandi possono essere a buon mercato attuate , e non da ciò che i programmatori avrebbero trovato più semplice o la più naturale con cui lavorare.
assemblaggio Linguaggi Comune
il linguaggio assembly più comune per i personal computer di gran lunga è il linguaggio usato da linea X86 di Intel di processori per computer . Quasi tutti i personal computer di consumo contengono processori sia prodotte da Intel o deliberatamente progettati per essere compatibili con il montaggio X86 di Intel. Tuttavia, ci sono delle eccezioni . Sun Microsystems produce stazioni di lavoro che utilizzano Solaris SPARC assemblaggio , molte console per videogiochi e computer vecchi di Apple utilizzare assemblea PowerPC di IBM , e piccoli dispositivi informatici come i telefoni intelligenti e PDA usano comunemente ARM .
CISC e RISC
linguaggi assembly
possono essere divisi in due filosofie di progettazione : Complex Instruction Set Computing ( CISC ) e Reduced Instruction Set Computing ( RISC ) . Lingue RISC hanno meno istruzioni . Questo significa un programma di montaggio devono essere più lungo per raggiungere lo stesso compito, ma ogni singola istruzione può eseguire più rapidamente. Esempi di lingue RISC comprendono ARM , PowerPC e SPARC . Lingue CISC prendere l'approccio opposto : hanno più istruzioni , permettendo ai programmatori di ottenere di più con ogni istruzione . X86 è un esempio di architettura CISC .
Esempio di montaggio
Questo è un programma relativamente semplice assemblaggio in X86 che stampa un breve messaggio sullo schermo. < Br >
. modello small.stack.datamessage db " Ciao mondo , sto imparando Assemblea ! " , "$"
. codice
principale procmov ax , SEG messagemov ds , ascia
mov ah , 09lea dx , messageint 21h
mov ax , 4c00hint 21hmain endpend principali
Vantaggi di utilizzo diretto
< p > dato che le istruzioni di montaggio sono direttamente correlati alle operazioni eseguite dalla macchina , i programmi di montaggio in modo efficiente scritti verrà eseguito un dato programma nel modo più veloce possibile.
vantaggi di una maggiore - livello Lingue
Assemblea ha alcuni profondi svantaggi. Durante il montaggio può teoricamente produrre codice più veloce possibile , in pratica, l'ottimizzazione automatica fornita da linguaggi di alto livello come il C + + sorpasserà gli sforzi di ottimizzazione della maggior parte dei programmatori . Programmi di montaggio tendono anche ad essere estremamente complessa rispetto ai loro equivalenti in Java o C. Ad esempio, il seguente programma C raggiunge lo stesso risultato del programma di montaggio sopra :
cout << " Ciao mondo , C è molto più facile di Assemblea ! "