d)
Changement de l'adresse de branchement d'erreurs
La commande du programme est directement transférée au sous-
programme de traitement d'erreurs B A S I C lorsqu'une erreur
apparaît pendant l'exécution des sous-programmes de sortie de dis-
positifs EXOPN ou M E V . Cela provoque des problèmes si ces sous-
programmes sont appelés à partir de programmes en langage
machine. Pour éviter cela, un HOCK est prévu au début du sous-
programme d'erreurs B A S I C qui transfère la commande au sous-
programme ERRHOCK situé dans la M E V , lors de l'introduction. Un
programme HOCK, tel que le programme 3 ci-dessous, changeant
l'adresse de branchement d'erreurs, sera utile pour éviter que la
commande de programme ne soit retransférée au B A S I C en pré-
sence d'une erreur pendant l'exécution d'un sous-programme
B A S I C appelé par le programme en langage machine (ERRHOCK =
OOABH).
Programme 3
LD
A , 0 C 3 H
Ecrire le code de saut
LD
[ERRHOCK + 1 ],HL
est transférée au sous-programme
d'erreur désigné ERROR.
LD
LD
[ E R R H O C K ] , A
H U E R R O R
En présence d'une erreur, la commande
Traitement
LD
LD
A , 0 C 9 H
[ E R R H O C K ] , A
Préparation pour le retour au B A S I C
Rétablir le HOCK d'erreur sur son état
d'origine.
Retourner au B A S I C
ERROR: LD
S P , x x x x
Régler à nouveau le pointeur de pile, car
le programme ne connaît pas le niveau
de la pile auquel existe une commande.
Le registre E contient un code d'erreurs
identifiant le type d'erreurs réalisé.
LD
C P
J R
A , E
SNERR
Z , y y y y
4 7