9.2.2
Exemples d'accès à des
DW supérieurs à 255
Exemple 1
Le contenu du mot de données DW 300 dans le DB 100 doit être lu, puis
transféré dans le mot de mémentos MW 100. En modifiant les instructions STEP 5
imprimées en caractères gras, vous pouvez également utiliser ce segment pour
la lecture d'autres blocs de données (DB ou DX).
FB
5
SEGMENT 1
NOM :LIR DW
0005
:L
DH
0008
:L
KF
000A
:+D
000B
:
000C
:LIR
000D
:SLD
000E
:L
KF
0010
:+D
0011
:LIR
0012
:T
MW 100
0013
:BE
Exemple 2
Une constante doit être affectée à chaque mot de données d'un bloc de données.
Le programme ci-dessous affecte la constante KH = A5A5 à chaque mot de
données du DB 100. En modifiant les instructions STEP 5 imprimées en
caractères gras, vous pouvez également utiliser ce programme pour affecter
des valeurs quelconques à d'autres blocs de données (DB ou DX). Les blocs
de données manquants sont décelés et provoquent un saut à la marque NIVO.
Le programme utilise trois accumulateurs dont le contenu ne change pas
durant la boucle.
L'ACCU 1 contient d'abord l'adresse du premier mot de données, puis est
incrémenté de "1" à chaque nouveau passage de la boucle.
L'ACCU 2 contient l'adresse du dernier mot de données + 1. La boucle est
interrompue dès que le contenu de l'ACCU 1 est égal à celui de l'ACCU 2.
Pour l'opération d'écriture dans les mots de données, on utilise
l'instruction TIR 10 qui sauvegarde le contenu de l'ACCU 3-L (la constante)
sous l'adresse se trouvant dans l'ACCU 1.
Contenu des ACCUS durant la boucle
ACCU 1 :
adresse du mot de données actuel où écrire
ACCU 2 :
adresse du dernier mot de données où écrire + 1
ACCU 3 :
constante
Programmation de la CPU 948
C79000-G8577-C848-04
Accès à la mémoire par adressage dans l'ACCU 1
0000
Lecture du DW 300 du DB 100
000E EC00
Adresse de début de la liste des DB
+100
ainsi que du numéro de DB
= entrée du DB 100 dans la liste
1
Adresse de début du DB 100 vers l'ACCU 1
4
Conversion de l'adresse en adresse physique
+300
Le DW 300 doit être lu.
Adr. = adresse de début du DB + adr. du DW
1
Contenu du DW 300 vers l'ACCU 1
Sauvegarde dans MW 100
d'adresses (bits 4 à 19)
Suite à la page suivante
9 - 15