PB - 1000
 

 

Site Home

PB-1000 Home

Informations

Les codes ASM

La mémoire

Le Désassembleur

Les programmes

Le "Hardware"

Stockage des variables en memoire

 

 

- La zone mémoire utilisée pour le stockage des variables est divisée en 3 zones. Les adresses de début et de fin variant en fonction du nombre de variables, elles sont identifiées par le contenu de certaines adresses précises:

 

 
FROM / TO
sens
FROM / TO
- Données numériques
(&H6939)
<<===
(&H693B) + 1
- Table des variables
(&H693B)
<<===
(&H693D) -1
- Chaines de caractères
(&H693D)
===>>
(&H693F) -1

 

 

numeric data
TO
(&H6939)
FROM
(&H693B) + 1
variable table
TO
(&H693B)
FROM
(&H693D) - 1
string data
FROM
(&H693D)
TO
(&H693F) - 1

 

 


1 - La TABLE des VARIABLES : (&H693D) - 1 <<== (&H693B)

Il s'agit de la zone de mémoire référençant toutes les variables actuelles connues de la machine en indiquant pour chacune d'elles le type, le nom, et l'adresse de sa valeur.

Zone de mémoire débutant à (&H693D) - 1 vers (&H693B) (sens inverse)

 
DTTB
sens
TOSDT
Table des variables
(&H693B)
<<===
(&H693D) - 1

5 octets au minimum utilisés par variable (fonction de la longueur du nom):

id.
CODE
nb caractères
Nom
adr LSB
adr MSB
Byte nb
1
1
n bytes ...
1
1

- 1 octet: code identificateur:

&H20 : variable de caractère
&H28 : variable numérique
&H88 : tableau vide (num. ou caractere)
&HA0 : tableau de caractères non vide
&HA8 : tableau numérique non vide

- 1 octet : nombre de caracteres du nom de la variable

- N octets: nom de la variable

- 2 octets: adresse de la valeur de la variable:

adr. > &H693B (DTTB ) si variable numérique.
adr =< &H693D (TOSDT) si chaine de caracteres

 

2 - Données Numériques : (&H693B)+1 ==>> (&H693F)

Il s'agit de la zone de mémoire où sont stockées toutes les variables numériques.

Zone de mémoire débutant à (&H693B)+1 vers (&H693F)

DTTB
sens
TONDT
numeric data
(&H693B)+1
==>>
(&H693F)

- 8 octets par variable codés selon la représentation des nombres en mémoire

- 6 octets + 1 quartet : mantisse en BCD
- 1 octet (quartet 7e+8e) : exposant
- 1 quartet : code de signe

Mantisse
Exp.
code
octet 1
octet 2
octet 3
octet 4
octet 5
octet 6
octet 7
octet 8
MSB
LSB
MSB
LSB
MSB
LSB
MSB
LSB
MSB
LSB
MSB
LSB
MSB
LSB
MSB
LSB

 

3 - Les Chaines de Caractères : (&H693D) ==>> (&H693F)-1

Il s'agit de la zone de mémoire où sont stockées toutes les variables de chaines de caractères.

Zone de mémoire débutant à (&H693D) vers (&H693F)

TOSDT
sens
PTSDT
string data
(&H693D)
==>>
(&H693F) - 1

- 1 octet : nb octets de la chaine

- noctets : contenu ASCII de la chaine ( 1 < n < 255 )

octet 1
n octets [1-255]
nb octets de la chaine
contenu de la chaine

 

 


Airbug.two 2002