* Note sur le codage des adresses

Toutes les adresses dans ces pages sont codées en hexadécimal (ainsi que les octets de la mémoire). Ceci a pour avantage une lecture beaucoup plus claire (ex : 32 Ko = 32768 octets = &H8000 en hexa). On a ainsi des adresses composées de deux octets qu'on identifie clairement comme l'octet de poids fort et l'octet de poids faible. A cela, on rajoutera devant un troisième octet pour indique le numéro de segment. C'est de cette manière que les adresses sont stockées dans la mémoire (pour les pointeurs) mais dans l'ordre inverse : octet de poids faible, octet de poids fort et numéro de segment.

Exemple : l'adresse de la table des pointeurs de fonctions de la librairie située à l'adresse 63406 (décimale) du 5 ème segment est égale à &HF7AE en hexa. F7 est l'octet de poids fort, AE l'octet de poids faible et on rajoute 05 pour avoir l'adresse compléte. En mémoire elle sera notée de la maniére suivante : AE F7 05.


* Découpage de la mémoire en segments

La mémoire de la Casio FX-850 P est divisée en plusieurs blocs de 64 Ko appelés "segments". A l'intérieur d'un segment, les adresses vont donc de 0 à &HFFFF. L'adresse du segment est quand à elle fixée par la commande DEFSEG. Une adresse est donc égale à DEFSEG x 16 + (octet de poids fort) x 256 + octet de poids faible.


* Utilisation de la commande DEFSEG

Pour que les commandes PEEK et POKE accèdent à un segment de mémoire particulier, la valeur de DEFSEG doit être égale à (No de segment) x &H1000. Voici un tableau résumant toutes ces explications :

 No de bloc   Adresses   Mémoire 

 DEFSEG 

5

FFFF

0000

ROM
 &H5000
 4

FFFF

0000 

ROM  &H4000
 3

FFFF

0000 

   &H3000
 2

FFFF

0000 

   &H2000
 1

FFFF

0000 

   &H1000
 0

FFFF

0000

RAM 0



* Gestion de la mémoire avec les commandes FRE et CLEAR

La mémoire disponible pour l'utilisateur est répartie en deux zones : la zone des programmes(y compris Banque MEMO) et la zone des données (ou variables). On peut voir la manière dont elles sont réparties avec la commande FRE :

On peut changer la répartition programmes/données avec la commande CLEAR. Si elle est utilisée seule, cette commande efface le contenu de la zone de variables. Pour changer la taille de cette zone, il faut faire suivre CLEAR de la nouvelle valeur. La taille par défaut de la zone des données dépend de la quantité de mémoire sur la machine :

 Capacité de la mémoire  Taille de la zone de variables
 Inférieur à 32 Ko  1536 octets
 32 Ko et plus  8192 octets

Ces valeurs par défaut sont normalement suffisantes dans la plupart des cas. Mais en fonction des utilisations, il peut être utile de les changer. Si on a besoin de beaucoup de mémoire pour les programmes, on peut augmenter la zone programmes en réduisant la zone données (pas trop quand même !). Inversement, si on utilise beaucoup de variables (ou des fonctions de la bibliothèque scientifique qui font appel à beaucoup de variables), on devra augmenter leur zone et donc réduire celle des programmes.

 

ProgrammesSommaireCartographie de la RAM