www.spartan.3000.it  ASSEMBLER HOME PAGE ASSEMBLER  www.spartan.da.ru 

 ASSEMBLER  Lezione 2 Lezione 3 Lezione 4 Lezione 5 Lezione 6 Lezione 7 Lezione 8  ASSEMBLER 

LEZIONE 1




  Qualunque programma per PC sia esso con estensione EXE o COM per DOS o WINDOWS, esso è composto da una serie di numeri in sequenza che indicano al processore cosa fare.
Il computer possiede una memoria: una sequenza di minuscole celle in ognuna delle quali è possibile memorizzare un numero compreso fra 0 e 255, inoltre ogni cella è caratterizzata da un indirizzo formato da un numero, proprio come il numero civico della vostra abitazione, ovviamente questi numeri vanno da 0 per la prima cella fino alla fine della memoria. Il primo processore da cui discende il Pentium poteva indirizzare, ossia accedere fino 65535 celle di memoria, alias 64Kb, ma ora i programmi più moderni 64Kb di memoria se la mangiano a colazione, e quindi si è deciso di aumentare questo numero di blocchi di memoria, ma non aumentando la dimensione del blocco originario, bensì aggiungendo altri blocchi da 64Kb e facendo in modo che i processori successivi tra cui il vostro pentium potesse scegliere tra i diversi blocchi in modo da averli tutti a disposizione per l'uso. Questi blocchi, chiamati SEGMENTI, nel modello base sono sedici, numerati da 0 a 15, alcuni di questi blocchi non sono disponibili ai programmi perché vengono monopolizzati da altre perti del computer o dal sistema operativo, per esempio il blocco 0 è usato dal BIOS e dal DOS, mentre i blocchi 10 e 11 sono di proprietà della scheda video che li usa per mostrare sullo schermo tutto quello che i programmi memorizzano in queste locazioni di memoria, inoltre il blocco 15 è di proprietà del BIOS e non potete neanche scriverci perché è un blocco di sola lettura. In pratica i blocchi disponibili ai programmi sono solo quelli che vanno dal n.1 al n. 9 e neanche completamente. Le celle di memoria sono semplicemente delle piccole celle che contengono 8 elementi elettronici i quali possono trovarsi ognuno in due soli stati con tensione o senza tensione, ora se gli stati possibili fossero 10 potrei semplicemente assegnare ad ogni stato un numero da 0 a 9 e quindi ogni cella potrebbe contenere un numero compreso fra 0 e 99999999, ma ciò non è possibile e bisogna adoperare solo due numeri 0 e 1. Il sistema decimale è stato scelto non in base a considerazioni altamente scientifiche, ma semplicemente perché le nostre mani hanno 10 dita e prima si contava sulle mani. Ora abbiamo visto che il computer ha solo due dita. Dunque contiamo: 0 e scriviamo 0, aggiungiamo 1 eviene 1, aggiungiamo ancora 1, che succede?, scriviamo zero con riporto di 1 quindi viene 10 che non è il nostro dieci, ma il due scritto sulle dita del computer, aggiungiamo ancora 1 e fanno 11 (3 in decimale), ancora uno e facciamo 100 (4 in decimale), se continuate ad contare in questo modo raggiungerete le otto cifre ossia 11111111 che corrispondono a 255 in decimale, ecco spiegato il perché di quello strano numero. Vi anticipo che viene usato anche un altro sistema numerico dai programmatori, che ovviamente non serve al processore, ma ai programmatori stessi per scrivere in modo più leggibile i loro programmi, ossia il sistema esadecimale, che si basa su una mano con sedici dita, perché sedici, perché 15 in binario si scrive 1111, ossia mezza cella di memoria utile per alcune funzioni.



 
 




@2ooo-2oo1 SPARTAN