Description de la fonction
IEC_BMDI_M permet de copier (via une opération de type WORD-to-WORD) le nombre d'éléments indiqué dans LENGTH, depuis OFF_IN dans la table source (SEL_IN) vers OFF_OUT dans la table cible (SEL_OUT). Au cours de la copie, LENGTH respecte toujours le type de données de SEL_IN (%IX, %MX : LENGTH = nombre de bits ; %IW, %MW : LENGTH = nombre de mots).
Procédure de copie :
-
%MX ou %IX vers %MX
Les longueurs source et cible sont identiques lors de la copie de %MX ou %IX vers %MX.
-
%IW ou %MW vers %MW
Les longueurs source et cible sont identiques lors de la copie de %IW ou %MW vers %MW.
-
%MX ou %IX vers %MW
La copie de %MX ou %IX vers %MW est de type WORD-to-WORD. Ce qui signifie que le premier bit source est copié dans le bit de poids fort du premier registre %MW, et ainsi de suite. LENGTH définit le nombre de bits à copier. La longueur maximale en sortie équivaut à LENGTH/16 registres.
-
%IW ou %MW vers %MX
La copie de %IW ou %MW vers %MX est de type WORD-to-WORD. Ce qui signifie que le bit de poids fort du premier registre est copié dans le premier bit cible, et ainsi de suite. LENGTH définit le nombre de registres à copier. La longueur maximale en sortie équivaut à LENGTH x 16 bits.
64 bits source %MX (à partir de l'adresse %MX129) sont copiés dans le registre cible %MW (à partir de l'adresse %MW112). Les entrées sont comprises entre %MX129 et %MX192, les sorties entre %MW112 et %MW115.
11 bits source %MW (à partir de l'adresse %MW250) sont copiés dans le registre cible %MX (à partir de l'adresse %MX257). Les entrées sont comprises entre %MW250 et %MW260, les sorties entre %MX257 et %MX432.
128 bits source %MX (à partir de l'adresse %MX001) sont copiés dans le registre cible %MX (à partir de l'adresse %MX257). Les entrées sont comprises entre %MX001 et %MX127, les sorties entre %MX257 et %MX384.
15 bits source %MW (à partir de l'adresse %MW250) sont copiés dans le registre cible %MW (à partir de l'adresse 4:01030). Les entrées sont comprises entre %MW250 et %MW264, les sorties entre 4:01030 et 4:01044.