successivo precedente inizio fine indice generale
Premessa
1 Richiami sulle caratteristiche dei processori x86
1.1 Architettura dell'8086
1.2 Novità dell'architettura IA-32 e IA-64
2 Dal sorgente all'eseguibile
2.1 Traduzione del sorgente con as
2.2 Fase di linking e esecuzione
2.3 Cenni all'uso del debugger gdb
2.4 Uso di gcc per i programmi assembly
3 Il linguaggio assembly con sintassi AT&T
3.1 Caratteristiche generali
3.2 I segmenti di un programma
3.3 Tipi di istruzioni
3.4 Struttura del sorgente
3.5 Primo esempio di programmazione
3.6 Il debugger ddd
3.7 La situazione di overflow
3.8 Operazioni logiche
3.9 Operazioni di moltiplicazione e divisione
3.10 Uso della memoria
3.11 Lettura del contenuto della memoria con ddd
3.12 Somma con riporto e differenza con prestito
3.13 Salti incondizionati e condizionati
3.13.1 Realizzazione di strutture di selezione con i salti
3.13.2 Realizzazione di strutture di iterazione con i salti
3.13.3 Iterazioni con l'istruzione loop
3.14 Gestione dello stack
3.15 Uso di funzioni di linguaggio c nei programmi assembly
3.16 Rappresentazione dei valori reali
3.17 Modi di indirizzamento
3.18 Vettori
3.19 Procedure
Appendice A Istruzioni dichiarative, direttive ed esecutive dell'assembly AT&T
A.1 Istruzioni dichiarative
A.2 Istruzioni direttive
A.3 Istruzioni esecutive
Appendice B Confronto tra sintassi AT&T e sintassi Intel
Appendice C Le operazioni di I/O con l'assembly AT&T
Appendice D Le macro dell'assembly AT&T
Appendice E Assembly AT&T e linguaggio c
E.1 L'assembly inline
E.2 Chiamata di procedure assembly da programmi c
✓HTML ✓CSS