Introduzione
Al giorno d'oggi esistono molti linguaggi di programmazione ad alto livello
con i quali è possibile creare programmi complessi, più o meno efficienti e
con i quali è possibile programmare ogni parte di un computer, ma se si vuole
sfruttare al meglio le risorse messe a disposizione dal PC , se si vuole scrivere
routine veloci allora l'unico linguaggio adatto è ancora il buon vecchio ASSEMBLY.
Programmando in Assembly si ha il controllo completo del computer ogni singolo
bit di ogni singolo registro è nelle tue mani, hai il potere assoluto sulla
macchina, però ...
Però è anche vero che programmare in Assembly non è del tutto facile, si deve
tener conto di moltissime cose, un piccolo particolare trascurato ha come conseguenza
il CRASH del sistema!! Una prerogativa della programmazione in Assembly è la
conoscenza dell'Hardware sottostante , è quindi necessario conoscere la struttura
della CPU dei registri delle porte e delle schede presenti per poterle programmare.
Questa serie di tutorial non vuole essere esaustivo in tutti gli aspetti della
programmazione Assembly, si tratta di un' introduzione, un punto di partenza
per entrare in questo mondo. Cominceremo dalle cose più semplici.
I tools di cui avrete bisogno sono un COMPILATORE e un LINKER , i miei esempi
sono scritti per il compilatore della Borland TASM 3.1 ma si possono facilmente
adattare ad altri compilatori.
Inoltre dovreste procuravi una documentazione degli interrupt del BIOS e del
DOS reperibile via FTP al sito : ftp://x2ftp.oulu.fi/pub/msdos/programming
oppure qui.
(Si tratta della famosissima lista di Ralph Brown).
Infine vi serve un editor di testo, va bene anche l'EDIT del DOS
ma vi consiglio un ambiente integrato per programmare in Assembly reperibile anche questo su internet al sito
http://www.inf.tu-dresden.de/~ok3/asmedit.html,
si tratta dell'ASM EDITOR scritto da Olaf Krusche e Tilo Elstner
(questo vi facilita molto il lavoro di compilazione e linkaggio).
Beh ora basta con le chiacchiere cominciamo ad addentrarci nel magnifico mondo
della programmazione in ASSEMBLY.... buon lavoro!