Diferencia entre la instrucción de 3 direcciones y la instrucción de 0 direcciones

Requisito previo: formatos de instrucción
1. Instrucciones de tres direcciones:
la instrucción de tres direcciones es un formato de instrucción de máquina. Tiene un código de operación y tres campos de dirección. Se utiliza un campo de dirección para el destino y dos campos de dirección para el origen.

Ejemplo:

X = (A + B) x (C + D) 

Solución:

ADD R1, A, B      R1 <- M[A] + M[B]
ADD R2, C, D      R2 <- M[C] + M[D]
MUL X, R1, R2     M[X] <- R1 x R2 

2. Instrucciones
de dirección cero: la instrucción de dirección cero es un formato de instrucción de máquina. Tiene un código de operación y no tiene campos de dirección.

Ejemplo:

X = (A + B) x (C + D) 

Solución:

LOAD A      AC <- M[A]
PUSH A      TOS <- A
PUSH B      TOS <- B
ADD         TOS <- (A + B)
PUSH C      TOS <- C
PUSH D      TOS <- D
ADD         TOS <- (C + D)
MUL         TOS <- (C + D) x (A + B)
POP X       M[X] <- TOS 

Diferencia entre la instrucción de tres direcciones y la instrucción de dirección cero:

INSTRUCCIÓN DE TRES DIRECCIONES INSTRUCCIÓN DE DIRECCIÓN CERO
Tiene cuatro campos. Tiene un solo campo.
Tiene un campo para el código de operación y tres campos para la dirección. Tiene un campo para el código de operación y ningún campo para la dirección.
Tiene una larga duración de instrucción. Tiene instrucción más corta.
Es más lento acceder a la ubicación dentro del procesador que a la memoria. Es más rápido acceder a la ubicación dentro del procesador que a la memoria.
Hay campos de dirección distintos para destino y origen. No existe un campo de dirección común para el destino y el origen.
En formato de 3 direcciones, la dirección de destino no puede contener operando. Mientras está en formato de dirección 0, no hay campo para el operando.
En formato de 3 direcciones, el número de instrucciones es menor. Mientras está en formato de dirección 0, el número de instrucciones es mayor.
Puede necesitar tres accesos a la memoria para una instrucción. No necesita tres accesos a memoria.

Publicación traducida automáticamente

Artículo escrito por pp_pankaj y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *