Sous-programmes et commandes d'interruption
Précautions
Drapeaux
5-23-5 MACRO – MCRO(99)
Limitations
Description
290
Il faut programmer tous les sous-programmes à la fin du programme principal.
Lorsqu'on a programmé un ou plusieurs sous-programmes, le programme prin-
cipal est exécuté jusqu'à la première SBN(92) avant de retourner à l'adresse
00000 du cycle successif. Les sous-programmes ne sont exécutés que
lorsqu'ils sont appelés par SBS(91).
END(01) doit être disposée à la fin du dernier programme de sous-programme,
c'est-à-dire après la dernière RET(93). Elle n'est pas nécessaire sur un autre
point du programme.
Si SBN(92) est située par erreur dans le programme principal, elle inhibe l'exé-
cution du programme après ce point, c'est-à-dire que l'exécution du programme
retourne au point où SBN(92) est intervenue.
Lorsque DIFU(13) ou DIFU(14) sont situées dans un sous-programme, le bit
d'opérande ne passe pas sur OFF jusqu'à l'exécution du sous-programme suc-
cessive, c'est-à-dire que le bit d'opérande reste sur ON pour plus d'un cycle.
Ces instructions ne touchent aucun drapeau de façon directe.
Schémas à contacts
MCRO(99)
@MCRO(99)
N
I1
O1
I1 à I1+3 doivent être dans la même zone de données, ainsi que O1 à O1+3.
L'instruction MACRO permet à un seul sous-programme de remplacer plusieurs
sous-programmes ayant une structure identique mais différentes opérandes. Il
existe 4 mots d'entrée, SR 290 à SR 293 et 4 mots de sortie, SR 294 à SR 297
attribués à MCRO(99). Ces 8 mots sont utilisés dans le sous-programme et
prennent leur contenu de I1 à I1+3 et de O1 à O1+3 lors de l'exécution du
sous-programme.
Lorsque la condition d'exécution est sur OFF, MCRO(99) n'est pas exécutée.
Lorsque la condition d'exécution est sur ON, MCRO(99) recopie le contenu I1 à
I1+3 sur SR 290 à SR 293, le contenu O1 à O1+3 sur SR 294 à SR 297, puis
appelle et exécute le sous-programme indiqué par N. Lorsque le sous-program-
me a été complété, le contenu SR 294 à SR 297 est transféré de nouveau sur O1
à O1+3 avant d'achever MCRO(99).
Zones de données d'opérande
N: numéro de sous-programme
N
IR, SR, AR, DM, HR, TC, LR
I1
O1: premier mot de sortie
O1
Chapitre 5-23
00 à 255
I1: premier mot d'entrée
IR, SR, AR, DM, HR, LR