eds

index
index principal

Description

Certains PIC24 et dsPIC33 possèdent de la mémoire RAM au-delà de l'adresse
32767 (0x7FFF) Microchip appelle cette mémoire EDS (Extended Data Space).
Cette plage d'adresse entre en conflit avec la plage d'adresse PSV (Progam Visibility Space).
Il y a donc un mécanisme qui permet de différencier ces 2 plages en utilisant
les registres DSRPAG et DSWPAG. Puisque la machine virtuelle de ForthEx fonctionne
en lisant des listes d'adresses aussi bien en RAM qu'en FLASH le registre DSRPAG
qui détermine qu'elle plage sera accédée en lecture est configuré par défaut pour
acccédé la plage {0..32766} de la mémoire FLASH là où réside le système Forth.
Cependant il doit exister un mécanisme pour lire la mémoire EDS. Ce mécanisme
est constitué d'une série de mots spéciaux qui accèdent cette mémoire en lecture.
Pour l'accès en écriture ForthEx est configuré par défaut pour accéder la mémoire
EDS puisque de toute façon on ne peut écrire en mémoire FLASH. Il n'est donc pas
nécessaire d'avoir de mots spéciaux pour l'écriture dans la mémoire EDS.
index principal

E@ ( a-addr -- n )

Retourne l'entier contenu à l'adresse a-addr.
L'adresse doit-être alignée sur un nombre pair.
Les adresses < 32768 accèdes la RAM standard mais
les adresses >= 32768 accèdent la mémoire EDS.

arguments:
a-addr   Adresse à lire.
retourne:
n Entier   contenu à cette adresse.
index
haut
index principal

EC@ ( c-addr -- c )

Retourne le caractère contenu à l'adressse c-addr.
Cette adresse est alignée sur un octet.
Les adresse <32768 accèdent la RAM standard mais
les adresses >= 32768 accès la mémoire EDS.

arguments:
c-addr   Adresse à lire.
retourne:
c Octet   contenu à cette adresse.
index
haut
index principal

ETBL@ ( n a-addr -- n )

Retourne l'élément n d'un vecteur. Les valeurs d'indice débute à zéro.
L'adresse de la table doit-être alignée sur une adresse paire.
Les addresses <32768 accèdent la RAM standard mais
les adresses >= 32768 accèdent la mémoire EDS.

arguments:
n   Indice dans le vecteur.
a-addr   Adresse du vecteur.
retourne:
n   Valeur de l'élément n du vecteur.
index
haut
index principal

ECOUNT ( c-addr1 -- c-addr2 u )

Retourne la spécification de la chaîne comptée dont l'adresse est c-addr1.
Pour les adresses < 32768 la mémoire RAM standard est accédée mais pour les
adresses >=32768 c'est la mémoire EDS qui est accédée.

arguments:
c-addr1   Adresse d'une chaîne de caractères débutant par un compteur.
retourne:
c-addr2   Adresse du premier caractère de la chaîne.
u   Longueur de la chaîne.
index
haut
index principal

Index


haut
index principal