Zoom Icon

Introduzione

From UIC

Introduzione all'Assembly

Contents


Infos
Author: b0nu$
Email: bonus@numerica.it
Website:
Date: 01/10/2001 (dd/mm/yyyy)
Level: No brain needed
Language: Italian Image:Flag_Italian.gif
Comments: Breve introduzione all'assembly!



Introduction

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ò e 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. 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 . Infine vi serve un editor di testo, va bene anche l'EDIT del DOS. Beh ora basta con le chiacchiere cominciamo ad addentrarci nel magnifico mondo della programmazione in ASSEMBLY.... buon lavoro!


Disclaimer

I documenti qui pubblicati sono da considerarsi pubblici e liberamente distribuibili, a patto che se ne citi la fonte di provenienza. Tutti i documenti presenti su queste pagine sono stati scritti esclusivamente a scopo di ricerca, nessuna di queste analisi è stata fatta per fini commerciali, o dietro alcun tipo di compenso. I documenti pubblicati presentano delle analisi puramente teoriche della struttura di un programma, in nessun caso il software è stato realmente disassemblato o modificato; ogni corrispondenza presente tra i documenti pubblicati e le istruzioni del software oggetto dell'analisi, è da ritenersi puramente casuale. Tutti i documenti vengono inviati in forma anonima ed automaticamente pubblicati, i diritti di tali opere appartengono esclusivamente al firmatario del documento (se presente), in nessun caso il gestore di questo sito, o del server su cui risiede, può essere ritenuto responsabile dei contenuti qui presenti, oltretutto il gestore del sito non è in grado di risalire all'identità del mittente dei documenti. Tutti i documenti ed i file di questo sito non presentano alcun tipo di garanzia, pertanto ne è sconsigliata a tutti la lettura o l'esecuzione, lo staff non si assume alcuna responsabilità per quanto riguarda l'uso improprio di tali documenti e/o file, è doveroso aggiungere che ogni riferimento a fatti cose o persone è da considerarsi PURAMENTE casuale. Tutti coloro che potrebbero ritenersi moralmente offesi dai contenuti di queste pagine, sono tenuti ad uscire immediatamente da questo sito.

Vogliamo inoltre ricordare che il Reverse Engineering è uno strumento tecnologico di grande potenza ed importanza, senza di esso non sarebbe possibile creare antivirus, scoprire funzioni malevoli e non dichiarate all'interno di un programma di pubblico utilizzo. Non sarebbe possibile scoprire, in assenza di un sistema sicuro per il controllo dell'integrità, se il "tal" programma è realmente quello che l'utente ha scelto di installare ed eseguire, né sarebbe possibile continuare lo sviluppo di quei programmi (o l'utilizzo di quelle periferiche) ritenuti obsoleti e non più supportati dalle fonti ufficiali.