|
Segmenti
L'architettura delle forze dei processor x86 all'uso dei segmenti di memoria controllare le informazioni, il formato di questi segmenti è di 64kb.
Il motivo di essere di questi segmenti è che, considerando che il formato massimo di un numero che il processor può controllare è dato da una parola di 16 bit o registro, esso non sarebbe possibile per accedere a più di 65536 località della memoria utilizzando soltanto uno di questi registri, ma ora, se la memoria è divisa nei gruppi o i segmenti, ogni di 65536 località e noi usano un indirizzo su un registro esclusivo per trovare ogni segmento ed allora facciamo ogni indirizzo di una scanalatura specifica con due registri e per noi è possibile accedere ad una quantità di 4294967296 byte della memoria.
Nell'ordine affinchè l'assemblatore possa da controllare i dati, è necessario che ogni informazione o istruzione è trovato nella zona che corrisponde ai relativi segmenti rispettivi. L'assemblatore accede a queste informazioni che considerano la localizzazione del segmento, data dal DS, l'es, gli ss ed i registri e la parte interna del CS il registro l'indirizzo di informazione specificato. È a causa di questo che quando generiamo un programma usando il mett a punto su ogni linea che montiamo, qualcosa di simile compare:
1CB0:0102 MOV AX,BX
Dove il primo numero, 1CB0, corrisponde al segmento di memoria che usando, quello secondo si riferisce all'indirizzo all'interno di questo segmento e le istruzioni che saranno memorizzate da quell'indirizzo seguono.
L'assemblatore registra il formato dei segmenti che prendono come una base il numero di byte che ogni istruzione montata ha bisogno di, poiché sarebbe uno spreco di memoria per usare i segmenti interi. Per esempio, se un programma ha bisogno soltanto di 10kb di memorizzare i dati, il segmento di dati sarà soltanto di 10kb e non il 64kb che può maneggiare.
|
|