Registre à décalage
Exemple
00000
00001
00002
00003
00004
5-16-10 ASYNCHRONOUS SHIFT REGISTER – REGISTE A DECALAGE
REVERSIBLE ET ASYNCHRONE – ASFT(––)
Limites
Description
176
Dans l'exemple suivant, IR 00000, IR 00001, IR 00002 et IR 00003 sont utilisés
pour contrôler les bits de C utilisés dans @SFTR(84). Le registre à décalage est
dans DM 0010 et il est contrôlé par IR 00004.
03512
03513
03514
03515
@SFTR(84)
035
DM 0010
DM 0010
Symboles
ASFT(––)
@ASFT(––)
C
St
E
St et E doivent appartenir à la même zone de données et E doit être supérieur ou
égal à St.
Les DM 6144 à 6655 ne peuvent être utilisés pour St ni pour E.
Lorsque la condition d'exécution est à OFF, ASFT(––) n'effectue aucune opéra-
tion et le programme passe à l'instruction suivante. Lorsque la condition est à
ON, ASFT(––) est utilisée pour créer et contrôler un registre à décalage de canal
réversible et asynchrone entre St et E. Ce registre ne décale les canaux que
lorsque le canal suivant dans le registre est égal à zéro (par ex., si aucun canal
du registe ne contient 0, aucun décalage n'est effectué). Un seul canal est
décalé pour chaque canal du registre contenant zéro. Lorsque le contenu d'un
canal est décalé vers le canal suivant, le contenu du canal original est remis à
zéro. Lorsque le registre est décalé, chaque canal à zéro du registre prend la
place du canal suivant (cf exemple ci–dessous).
Le sens du décalage (le "canal suivant" est le canal le plus important ou le moins
important qui suit) est désigné dans C. C est également utilisé pour remettre à
Adresse
Instruction
Sens
00000
LD
00001
OUT
00002
LD
00003
OUT
Etat à entrer
00004
LD
00005
OUT
00006
LD
Impulsion
de décalage
00007
OUT
00008
LD
00009
@SFTR(84)
Remise à zéro
Zones de données d'opérande
C
St
E
Chapitre 5-16
Opérande
00000
03512
00001
03513
00002
03514
00003
03515
00004
035
DM
0010
DM
0010
C: canal de contrôle
IR, SR, AR, DM, HR, LR, #
St: canal de départ
IR, SR, AR, DM, HR, LR
E: canal de fin
IR, SR, AR, DM, HR, LR