Breve Guida all'Assembly 80x86

Corso di Architetture I del Corso di Laurea in Informatica - UniversitÓ della Bicocca - Anno Accademico 1998/1999

Questa breve guida Ŕ stata scritta come complemento alle lezioni di Assembler 80x86 del corso di Architetture I della FacoltÓ di Informatica - UniversitÓ della Bicocca - per l'Anno Accademico 1998/1999.

Risorse Utili

Ci sono diverse risorse che potete trovare utili.
Elenco delle istruzioni
Se avete TASM, il "Borland Turbo Assembler Quick Reference" contiene l'elenco delle istruzioni e delle temporizzazioni aggiornato fino al 486. Anche l'"Intel Pentium Family User's Manual: Volume 3" Ŕ ugualmente utile.

Elenco degli interrupt
Esistono diversi libri che contengono queste informazioni, ma uno dei pi¨ aggiornati Ŕ il "Ralf Brown's Interrupt List" disponibile gratuitamente al seguente URL:
ftp://x2ftp.oulu.fi/pub/msdos/programming/docs/interXX[a-d].zip
dove XX Ŕ la versione (clicca qui).

Un libro che copre entrambi gli argomenti ed Ŕ anche un valido riferimento generale Ŕ:

The Revolutionary Guide to Assembly Language
Vitaly Maljugin, Jacov Izrailevich et al
Wrox Press
ISBN: 1-874416-12-5

Elenco degli argomenti

Parte I - Introduzione all'hardware

Breve panoramica sulla famiglia 80x86 · Rappresentazione dei numeri in notazione binaria · Registri · Segmenti e offset · Lo Stack

Parte II - Introduzione alle istruzioni Assembly

Push e Pop: Due istruzioni per utilizzare lo Stack · Tipi di operando · Alcuni istruzioni che si devono conoscere · Il primo programma Assembly · Istruzioni per la compilazione

Parte III - Input e Controllo del Flusso

Qualche semplice esempio · Input da tastiera · Stampare un carattere · Controllo del flusso · Istruzioni di salto su condizione

Parte IV - Procedure e Macro

Alcune istruzioni che si devono conoscere · Introduzione alle procedure · Procedure che passano parametri · Cosa sono i "Memory Models"? · Macro · Macro con parametri

Parte V - File

Funzioni che operano sui file · Come salvare gli handle dei file · Usare le funzioni FindFirst e FindNext

Parte VI - Stringhe, Operazioni di Shift e Debugger

Istruzioni per le stringhe · Scoprire la versione del DOS · Push e Pop multipli · Le istruzioni PUSHA/PUSHAD e POPA/POPAD · Usare lo Shift per moltiplicazione e divisione · Cicli · Come usare un debugger

Parte VII - Scrivere sullo schermo

Altre operazioni di output in modalitÓ testo · ModalitÓ 13h · Verificare che la modalitÓ 13h sia consentita · Impostare la modalitÓ video · Alcune ottimizzazioni

Parte VIII - Esempi

Esempi · Indirizzamento immediato · Indirizzamento a registro · Indirizzamento diretto · Indirizzamento indiretto con registro · Indirizzamento relativo con registro base · Indirizzamento diretto con registro indice · Indirizzamento con registri base e indice · Somma esadecimale con indirizzamento immediato · Sottrazione esadecimale con indirizzamento diretto · Somma in precisione multipla con indirizzamento diretto · Somma in precisione multipla con indirizzamento con registro indice · Somma di numeri decimali con indirizzamento indiretto con registro · Moltiplicazione per somme ripetute · Moltiplicazione, elevamento al quadrato e al cubo con l'istruzione di moltiplicazione · Divisione con variabili di tipo doubleword · Estrazione di radice quadrata · Tabella di lookup per logaritmi · Conversione di codici mediante tabelle di lookup · Conversione da numeri ASCII a numeri esadecimali
Ritorna in cima