Instrucciones especiales
Cuando el resultado de la adición sobrepasa o no llega al rango admisible de valores, se
guardan los valores siguientes. En estos casos no se establece la etiqueta Carry.
Procesamiento de 16 bits:
32767 (7FFF
-32767 (8000
Procesamiento de 32 bits:
2.147.483.647 (7FFFFFFF
-2.147.483.648 (80000000
Si con una instrucción de 32 bits (DBK+/DBK+P) para (n) se emplea un registro (D o R), se
ocupan los operandos (n) y ((n) +1). Por ejemplo, con la indicación "DBK+ D0 D100 D200
R0" para (n) se ocuparán los registros R1 y R0.
Fuentes de error
En los casos siguientes se produce un fallo de tratamiento, se establece la marca especial
M8067 y se introduce el código de error "6706" en el registro especial D8067.
b Indicando (n) (2n con un procesamiento de 32 bits) se excede el rango admisible para el
tipo de operando indicado en (S1+), (S2+) o (D+).
b Los rangos indicados con (S1+) o (S2+) y (n) (2n con el procesamiento de 32 bits) se
solapan con el rango definido por (D+).
El programa siguiente suma los contenidos de los registros de datos D100 a (D100+n) a los
contenidos de los registros de datos D150 a (D150+n) y guarda los resultados a partir de
D200. El número de operandos de un rango (n) se indica en D0.
D100
D101
D102
D103
Fig. 7-195:Ejemplo para sumar los contenidos de los bloques de datos
Programación FX
/FX
1S
1N
) + 2 (0002
) -) ->) -> -32767 (8001
H
H
) + (-2) (FFFE
H
H
) + 2 (00000002
H
) + (-2) (FFFFFFFE
H
X020
b15
b0
6789
+
7821
5432
3520
D0
4
/FX
/FX
/FX
/FX
2N
2NC
3G
Instrucciones para los bloques de datos
)
H
) -) ->) -> 32766 (7FFE
) -) ->) -> -2.147.483.647 (80000001
H
) -) ->) -> 2.147.483.646 (7FFFFFFE
H
BK+
D100
D150 D200
b15
b0
D150
1234
D151
2032
D152
-3252
-1000
D153
/FX
3U
3UC
)
H
D0
b15
D200
8023
D201
9853
D202
2180
2520
D203
)
H
)
H
b0
7 – 199