trucchi-com

tutti i trucchi che nessuno sà

 

AREA PERSONALE

 

TAG

 

ARCHIVIO MESSAGGI

 
 << Luglio 2024 >> 
 
LuMaMeGiVeSaDo
 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
 
 

FACEBOOK

 
 

CONTATTA L'AUTORE

Nickname: romoletto640
Se copi, violi le regole della Community Sesso: M
Età: 59
Prov: EE
 

 

« Windows XP: monitorare l...assembler per principianti »

assembler per principianti

Post n°10 pubblicato il 02 Giugno 2007 da romoletto640
 

Cap. 1 La memoria

 

In questo corso presumo che abbiate già delle conoscenze almeno a livello nozionistico della programmazione di un computer, ad ogni modo non sarà una grande mancanza, perché mi servirà solo per dei semplici esempi.

Dunque per prima cosa facciamo una breve carrellata sull'arte della programmazione:

Qualunque programma per PC sia esso con estensione EXE o COM per DOS o WINDOWS x.x ecc. ecc. ,esso è composto da una serie di numeri in sequenza che indicano al processore (486, Pentium o altro) cosa fare.

A questo punto urge una breve spiegazione della circuiteria interna di un computer.

Il computer possiede una memoria, (quella che è già insita nel sistema più quella che aggiungete voi comprando le famose SIMM), bene, cos'è questa memoria ?, essa è semplicemente una sequenza di minuscole celle in ognuna delle quali è possibile memorizzare un numero compreso fra 0 e 255, (più avanti capirete perché proprio 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.

Se vi è chiaro questo sappiate che le cose sono un po' più complicate. Vi state chiedendo come? Bene, allora bisogna sapere che il primo processore da cui discende il vostro 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. Comodo no?

Bene, questi blocchi, che d'ora in poi chiameremo col loro nome, ossia 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 parti del computer o dal sistema operativo, per esempio il blocco 0 è usato dal BIOS e dal DOS per i loro affari, 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.

Ok, detto questo vediamo come sono fatte queste celle di memoria, esse 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. Come si fa?

Prima chiediamoci perché il sistema numerico conta fino a 10, fatto?, ok, il 10 è stato scelto non in base a considerazioni altamente scientifiche, ma semplicemente perché le nostre mani hanno 10 dita e prima si contava sulle mani. Tutto qui. Delusi? No.

Ora abbiamo visto che il computer ha solo due dita. Vogliamo provare? Dunque contiamo: 0 e scriviamo 0, aggiungiamo 1 e viene 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.

La URL per il Trackback di questo messaggio è:
https://blog.libero.it/trucchicom/trackback.php?msg=2788993

I blog che hanno inviato un Trackback a questo messaggio:
Nessun trackback

 
Commenti al Post:
Nessun commento
 
 
 

INFO


Un blog di: romoletto640
Data di creazione: 29/05/2007
 

CERCA IN QUESTO BLOG

  Trova
 

ULTIME VISITE AL BLOG

precious445benny1984fredom010pantera_blanca2NevegGgiallAea.joobleRjegu73developer68OLIO5wallygator54istrice82hiram9mrk2005rospetta000erconte5
 

CHI PUò SCRIVERE SUL BLOG

Solo l'autore può pubblicare messaggi in questo Blog e tutti gli utenti registrati possono pubblicare commenti.
 
RSS (Really simple syndication) Feed Atom
 
 

I MIEI LINK PREFERITI

 

© Italiaonline S.p.A. 2024Direzione e coordinamento di Libero Acquisition S.á r.l.P. IVA 03970540963