Acumulador

Top 

 

        Variable interna que lleva el resultado de las operaciones. Aparte del acumulador principal Acc existen acumuladores secundarios (ACC(-1), ACC(-2), etc). Algunas operaciones producen un desplazamiento (o rotación o stack) de acumuladores para que los estados anteriores no se pierdan (quedan en los secundarios). Algunas operaciones requieren de los datos memorizados en los acumuladores secundarios, como por ejemplo el contador.

 

Rotación

Nuevo valor → Acc → Acc(-1) → Acc(-2) ....

Rotación inversa

Acc ← Acc(-1) ← Acc(-2) ← Acc(-3)....

 

   Normalmente en una rotación inversa en ACC queda el resultado de la operación (instrucción) y no el acumulador anterior.

 

Profundidad

 

Es la cantidad de acumulaciones o valores guardados. Mas allá de éste los datos se pierden. Cuando es de 32 valores, la cola es del tipo circular (el principio y el fin se conectan).

CP121: desde 1.00, 8; 2.55, 20; 2.73, 32

CP122: desde 1.00, 8; 2.03, 20; 2.22, 32

CP123: desde 1.00, 8; 2.20, 20; 2.32, 32

CP124: desde 1.00, 20; 1.10, 32

CP125: desde 1.00, 20; 1.12, 32

CP126: desde 1.00, 20; 1.06, 32

CP127: desde 1.00, 32

CP128: desde 1.00, 32

CP220: desde 1.00, 32

CP08WG: desde 1.00, 32

CP08EA: desde 1.00, 32

 

Instrucciones

 

    Las instrucciones que hacen una rotación del acumulador son:
  
 
FAVG(1)
LD
LDN
LDT
LDX
NOT (sin argumentos)
RD3X
RD4X
READ3X
READ4X
STDVT
WR4X
WRITE4X
(1) No es igual en todos los casos. Ver instrucción.
 
    Las instrucciones que hacen una rotación inversa de acumuladores son:
  
 
ANDP
ORP
POP

 
 
 Ejemplos

   

 Supongamos que la condición es que:
 
        X = 1 si ((A = 1) o (B = 1)) y (C = 1) y (D = 1)

 Para que sea 'verdadero' (activado o distinto de cero) C y D deben serlo, y d A y B solo se requiere uno:

        LD A        ;Acc = A        
        EQ 1        ;Acc = resultado comparación
        LD B        ;Acc = B; Acc(1) = comparación anterior
        EQ 1        ;Acc = resultado comparación
        ORP         ;Acc = OR de las 2 comparaciones anteriores
        LD C        ;Acc = C; Acc(1) = OR comparación
        EQ 1        ;Acc = resultado comparación
        LD D        ;Acc = D; Acc(2) = OR comparación; Acc(1) = comparación anterior
        EQ 1        ;Acc = resultado comparación
        ANDP        ;Acc = Acc AND Acc(1); Acc(1) = Acc(2)
        ANDP        ;Acc = Acc AND Acc(1)


 Supongamos que X = 1 si (A = 0) y (B = 1) y (C = 1) y (D = 1)

        LD A        ;Acc = A
        EQ 0        ;Acc = resultado comparación
        LD B        ;Acc = B; Acc(1) = comparación de A
        EQ 1        ;Acc = resultado comparación
        LD C        ;Acc = C; Acc(1) = comparación de B; Acc(2) = comparación de A
        EQ 1        ;Acc = resultado comparación
        LD D        ;Acc = D; Acc(1) = comparación de C; Acc(2) = comparación de B; Acc(3) = comparación de a
        EQ 1        ;Acc = resultado comparación
        ANDP        ;Acc = Acc AND Acc(1); Acc(1) = Acc(2); Acc(2) = Acc(3)
        ANDP        ;Acc = Acc AND Acc(1); Acc(1) = Acc(2)
        ANDP        ;Acc = Acc AND Acc(1)



Lista de instrucciones
Índice