Registre 8 : DBL (longueur du
bloc de données)
Programmation de la CPU 948
C79000-G8577-C848-04
Accès à la mémoire par adressage dans l'ACCU 1
A chaque appel d'un bloc de données, le registre DBL est chargé en
plus du registre DBA. Ce registre contient la longueur (en mots) du
bloc de données appelé, en-tête de bloc non compris.
Le registre DBL est mis à "0" avant chaque appel de l'OB 1.
Le contenu du registre DBL est conservé :
• • si, par une instruction de saut (SPA ou SPB), le traitement du pro-
gramme est poursuivi dans un autre bloc
ou
• • si un autre niveau de traitement de programme est appelé.
Il est modifié :
• • quand un autre bloc de données est ouvert
ou
• • lorsqu'il y a retour à un bloc de niveau supérieur alors qu'un nou-
veau bloc de données avait été ouvert dans le bloc appelé (voir aus-
si paragraphe 2.4.2).
Nota
Pour accéder à des adresses de blocs de données supérieures à
255, vous pouvez modifier les registres DBA et DBL avec des
opérations LIR. Le registre DBA contient des adresses de
paragraphe. Une modification du registre DBA n'entraîne
cependant pas la modification automatique du registre DBL et
réciproquement. La détection des erreurs de transfert n'est de
ce fait plus garantie.
Dans la CPU 948, les modifications effectuées sur le registre
DBA ou DBL sont annulées dès que le traitement du bloc en
cours est terminé (entrées dans la pile des blocs). Ainsi, les
modifications des registres DBA et DBL n'ont d'effet que dans le
bloc dans lequel elles ont été exécutées.
9 - 13