Assembly: differenze tra le versioni
Annullata la modifica 161164 di 217.59.194.134 (discussione) |
|||
Riga 7: | Riga 7: | ||
Per facilitare lo studio dell'assembly è utile avere già confidenza con gli algoritmi di base (ordinamento, ricerca, ecc...), in modo da potersi concentrare sullo studio della sintassi e sulle dinamiche più strettamente legate all'interazione tra hardware e software (tipo la gestione della memoria, uso appropriato dei registri, ecc...) facendo pratica con programmi non banali. Per questo motivo la previa conoscenza di un linguaggio ad alto livello (tipo C, C++, Java, o anche semplicemente linguaggi di scripting come Ruby o Python) e la relativa implementazione degli algoritmi citati, sebbene non necessaria, è fortemente consigliata. Il C o il C++ sono le scelte più popolari perchè, vista l'assenza di un Garbage Collector, lasciano al programmatore il compito di gestire la memoria dinamica, preparandolo in parte all'assembly. |
Per facilitare lo studio dell'assembly è utile avere già confidenza con gli algoritmi di base (ordinamento, ricerca, ecc...), in modo da potersi concentrare sullo studio della sintassi e sulle dinamiche più strettamente legate all'interazione tra hardware e software (tipo la gestione della memoria, uso appropriato dei registri, ecc...) facendo pratica con programmi non banali. Per questo motivo la previa conoscenza di un linguaggio ad alto livello (tipo C, C++, Java, o anche semplicemente linguaggi di scripting come Ruby o Python) e la relativa implementazione degli algoritmi citati, sebbene non necessaria, è fortemente consigliata. Il C o il C++ sono le scelte più popolari perchè, vista l'assenza di un Garbage Collector, lasciano al programmatore il compito di gestire la memoria dinamica, preparandolo in parte all'assembly. |
||
==Sommario== |
==Sommario== |
||
:'''[[Assembly/Copertina|Copertina]]''' |
:'''[[Assembly/Copertina|Copertina]]''' |
||
* '''[[Assembly/Introduzione|Introduzione]]''' {{stage|100%|11 maggio 2007|breve}} |
* '''[[Assembly/Introduzione|Introduzione]]''' {{stage|100%|11 maggio 2007|breve}} |
Versione delle 12:17, 6 apr 2009
Questo libro è abbandonato: nessun utente lo sta sviluppando.
Se conosci l'argomento e sei interessato, adotta questo libro! Leggi il manuale di stile e come scrivere un libro. Se te ne stai occupando, e ritieni che questo annuncio sia stato messo per errore, semplicemente rimuovi questo avviso e... buon lavoro! |
Il linguaggio Assembly è tra tutti i linguaggi di programmazione, il più vicino all'hardware. Per questo motivo è anche il più complesso.
Per consultare questo libro usare il sommario qui sotto, consultare la categoria oppure servirsi dell'indice analitico.
Per facilitare lo studio dell'assembly è utile avere già confidenza con gli algoritmi di base (ordinamento, ricerca, ecc...), in modo da potersi concentrare sullo studio della sintassi e sulle dinamiche più strettamente legate all'interazione tra hardware e software (tipo la gestione della memoria, uso appropriato dei registri, ecc...) facendo pratica con programmi non banali. Per questo motivo la previa conoscenza di un linguaggio ad alto livello (tipo C, C++, Java, o anche semplicemente linguaggi di scripting come Ruby o Python) e la relativa implementazione degli algoritmi citati, sebbene non necessaria, è fortemente consigliata. Il C o il C++ sono le scelte più popolari perchè, vista l'assenza di un Garbage Collector, lasciano al programmatore il compito di gestire la memoria dinamica, preparandolo in parte all'assembly.
Sommario
- Introduzione
- Rappresentazione dati
- Algebra Booleana
- Organizzazione di sistema (tanta noiosa teoria)
- Componenti base di sistema
- Il tempo del Sistema
- La famiglia 80x86
- I registri della CPU
- La ALU
- LA BIU
- L'unita di controllo e Set di Istruzioni
- Set di istruzioni di un x86
- Modi di indirizzamento su un x86
- La codifica di istruzioni di un x86
- Esecuzione delle istruzioni
- Differenze tra i processori x86
- Processore 8086 (886)
- Processore 80286 (286)
- Processore 80386 (386)
- Processore 80486 (486)
- Input/Output
- Organizzazione e accesso alla memoria
- Introduzione
- Organizzazione della memoria in un x86
- Organizzazione dei segmenti in un x86
- Indirizzi di memoria in un x86
- Registri di segmento in un x86
- Metodi di indirizzamento di un x86
- L'istruzione MOV
- Commenti finali sull'istruzione MOV
- Convenzioni
Altri progetti
- Wikipedia contiene una voce su il linguaggio Assembly
- Wikimedia Commons contiene immagini o altri file su linguaggio assembly
Collegamenti esterni
- Giobe2000: in questo sito, potrete trovare una guida su come lavora un processore, oltre a utili tavole degli interrupt, dei colori e delle porte.
- drpaulcarter.com: il linguaggio PC Assembly (libro completo in italiano e inglese, PDF)
- quequero.org: piccola guida all'Assembly