Note tecniche |
|
Formato dei numeri nei registri CPUVengono impiegati tre formati: 16 bit, 32 bit e floating-point a 32 bit. Il più semplice a 16 bit consente di rappresentare un numero intero compreso tra -32768 e +32767, con il segno memorizzato nel bit più significativo; alternativamente consente di rappresentare un numero intero senza zegno compreso tra 0 e 65535.
Nella CPU, un intero viene mantenuto normalmente nei registri H e L, con la parte più significativa in H. In memoria, un intero occupa due bytes contigui. Il byte di indirizzo più basso contiene la parte meno significativa del numero, quella mantenuta nel registro L. Il byte di indirizzo più alto contiene la parte più significativa, mantenuta nel registro H. Il secondo formato richiede l'impiego di due interi che uniti formano un numero a 32 bit detto doppio o lungo che consente di rappresentare un numero intero compreso tra -2147483648 e +2147483647, con il segno memorizzato nel bit più significativo del primo intero.
Nella CPU, un doppio viene mantenuto normalmente dei registri H, L, D ed E, con la parte più significativa in H, e via via le parti meno significative negli altri: E è il byte meno significativo. In memoria, un numero doppio occupa quattro bytes contigui, suddivisi nei due interi che lo compongono: l'intero più significativo (HL) è memorizzato nelle locazioni con indirizzo più basso, mentre l'intero meno significativo (DE) è memorizzato nelle locazioni con indirizzo più alto. Sicché sullo Stack, l'intero più significativo si trova sulla cima dello Stack, mentre l'intero meno significativo risulta il secondo in ordine di accessibilità.
Il terzo formato richiede l'impiego di un doppio a 32 bit, ma internamente i bit sono usati in modo differente, consentendo di rappresentare un numero reale approssimativamente compreso tra -1.7 * 10^38 e +1.7 * 10^38 con una precisione di 7 cifre. Il segno viene memorizzato nel bit più significativo; seguono poi otto bit di parte esponenziale ed infine 23 bit di mantissa.
Uso dei registri Z80Viene mantenuto in BC il puntatore all'istruzione. Lo stack di calcolo viene realizzato tramite il registro SP.
|
Ultimo aggiornamento: 29-11-2002. Copyright (c) 2000-2002 Matteo Vitturi.
|