Capítulo 5: Instrucciones aritméticas
La instrucción Divide Double (DIVD)
DIVD es una instrucción de 32 bits que divide el valor BCD
1
DS5 Usado
en el acumulador por un valor BCD (Aaaa), que se debe
HPP Usado
obtener de 2 direcciones consecutivas de memoria V. (No se
2
puede usar una constantee como el parámetro de la
instrucción) La primera parte del cociente se va al acumulador
3
y el resto se va al primer nivel del Stack.
4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A
Memoria V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
5
Puntero. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P
6
7
NOTA : Las indicaciones de estado discretas SP son sólo válidas hasta que se ejecute otra instrucción que
8
En el ejemplo siguiente, cuándo X1 está ON, el valor en V1400 y V1401 se carga al
9
acumulador usando la instrucción LDD. El valor en el acumulador es dividido por el valor en
V1420 y V1421 usando la instrucción DIVD. La primera parte del cociente se va al
acumulador y el resto se va al primer nivel del Stack . El valor en el acumulador es copiado a
10
V1500 y V1501 usando la instrucción OUTD.
11
X1
12
13
14
A
B
C
D
5–96
Manual del PLC DL06, 2a. edición en español, 6/07
Tipo de operando de datos
Indicadores
SP63
ON cuando el resultado de la instrucción hace que el valor en el acumulador sea 0.
SP70
ON cuando el valor en el acumulador es negativo.
SP75
ON si se espera un número BCD y se encuentra un número diferente de BCD.
use el mismo relevador especial SP.
LDD
V1400
carga el valor en V1400 y V1401
Los bits no usados del acumulador
en el acumulador
se colocan en cero
DIVD
V1420
El valor en el acumulador
es dividido por el valor en
V1420 y V1421
OUTD
V1500
Copia el valor en el
acumulador a V1500
y V1501
POP
Recupera el resto
OUTD
V1502
Copia el valoe en
V1502 y V1503
Descripción
V1401
0
1
5
0
0
0
1
5
0
0
?
0
0
0
0
0
Acc.
0
0
0
3
0
0
0
0
3
0
V1501
Programador D2-HPP
$
B
ENT
STR
1
L
D
D
SHFT
ANDST
3
3
D
I
V
SHFT
3
8
AND
GX
D
SHFT
OUT
3
DIVD
A aaa
Rango del DL06
aaa
Vea el mapa de memoria
Vea el mapa de memoria
V1400
0
0
0
(Acumulador)
0
0
0
0
5
0
(V1421 y V1420)
0
0
0
0
0
0
0
0
0
La primera localización del stack
contiene el resto
0
0
0
V1500
B
E
A
A
1
4
0
B
E
C
A
1
4
2
B
F
A
A
ENT
1
5
0
0
0
0
ENT
0
ENT
0