L’architettura x86-64
Fa parte della sezione Fondamenti del percorso Assembly di Coddy. Lezione 6 di 45.
Un'architettura è il design di una CPU. CPU diverse hanno architetture diverse, proprio come auto diverse hanno design del motore diversi.
In questo corso stai imparando x86-64: l'architettura utilizzata dalla maggior parte dei computer desktop, dei laptop e dei server.
Perché si chiama x86-64?
| Parte | Significato |
|---|---|
| x86 | Il nome della famiglia (da Intel 8086, 80286, 80386, 80486...) |
| 64 | La dimensione dei registri (64 bit) |
Altri nomi per la stessa cosa:
- x86-64
- x64
- AMD64
- Intel 64
Indicano tutti la stessa architettura che stai imparando.
Cosa significa 64 bit?
- Ogni registro può contenere 64 bit di dati
- La CPU può elaborare 64 bit alla volta
- Gli indirizzi di memoria sono larghi 64 bit
Architetture diverse usano nomi di registri diversi:
| Architettura | Nomi dei registri |
|---|---|
| x86-64 (questo corso) | rax, rbx, rcx, rdx, rsi, rdi |
| ARM (telefoni, tablet) | x0, x1, x2, x3... |
| RISC-V (open source) | a0, a1, a2, a3... |
La stessa istruzione (inserire 5 in un registro) appare diversa su ogni architettura:
| Architettura | Codice |
|---|---|
| x86-64 | mov rax, 5 |
| ARM | mov x0, #5 |
| RISC-V | li a0, 5 |
Importante: I concetti che impari (registri, memoria, istruzioni) si applicano a tutte le architetture. Cambiano solo i nomi e la sintassi.
Provalo tu
Questa lezione non include una sfida di codice.
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
1La macchina
Che cos’è la CPUMemoriaRegistri vs memoriaCome funzionano le istruzioniSchema a due fileL’architettura x86-642Sistemi numerici
Perché il binario?Numeri binariDa decimale a binarioPerché l'esadecimale?Da esadecimale a decimaleDa decimale a esadecimaleASCII ed esadecimale5Chiamata di sistema di uscita
Cos'è una chiamata di sistema?Chiamata di sistema di uscita (60)Codici di uscitaRiepilogo: uscita correttaEsercitati da solo: Playground Assembly