PUERTA | Puerta TI 2008 | Pregunta 36

Suponga que EA = (X)+ es la dirección efectiva igual al contenido de la ubicación X, con X incrementado en una longitud de palabra después de calcular la dirección efectiva; EA = −(X) es la dirección efectiva igual al contenido de la ubicación X, con X decrementada por una longitud de palabra antes de que se calcule la dirección efectiva; EA = (X)− es la dirección efectiva igual al contenido de la ubicación X, con X decrementada por una longitud de palabra después de calcular la dirección efectiva. El formato de la instrucción es (código de operación, fuente, destino), lo que significa (destino ← fuente op destino). Usando X como un puntero de pila, ¿cuál de las siguientes instrucciones puede sacar los dos elementos superiores de la pila, realizar la operación de suma y devolver el resultado a la pila?
(A) SUMAR (X)−, (X)
(B)SUMA (X), (X)−
(C) SUMA −(X), (X)+
(D) SUMA −(X), (X)+

Respuesta: (A)
Explicación:  

Puntero Ubicación de la memoria Datos
X Ubicación de memoria 100 10
X-1 Ubicación de memoria 99 5

Luego, nuestra salida debe mostrar los dos primeros elementos, es decir, 10 y 5, y colocar ese resultado en la ubicación de memoria 99.

1. SUMA (X)-,(X) -> Toma el operando1 como datos en la ubicación de memoria X y luego decrementa X. Operando1 tomado como ubicación de memoria de datos 100 = 10,

X=X-1;
X=99;

Luego tome el operando 2 como datos en la ubicación de memoria new X , Operand2= 5;
Ahora, haga retroceder su suma en la ubicación X, que sigue siendo 99.
Entonces, nuestro resultado es que la ubicación 99 se llena con 15, que es el resultado deseado.

2.   SUMA (X), (X) −
Toma el operando 1 como datos en la ubicación de memoria X. Operando 1 tomado como ubicación de memoria de datos 100 = 10, luego toma el operando 2 como datos en la ubicación de memoria X, que sigue siendo 100, Operando 2 = 10;
Ahora, haga retroceder su suma en la ubicación X, que es 100.
Entonces, nuestro resultado es que la ubicación 100 se llena con 20, que no es el resultado deseado.

3.   SUMAR -(X), (X)+
Decrementar y luego tomar operando1 como datos en la ubicación de memoria X. Entonces X=99; El operando 1 se toma como ubicación de memoria de datos 99 = 5,
luego se incrementa y luego se toma el operando 2 como datos en la ubicación de memoria X
X=X+1;
X=100;

Operando 2= 10;
Ahora, haga retroceder su suma en la ubicación X, que es 100.
Entonces, nuestro resultado es que la ubicación 100 se llena con 15, que no es el resultado deseado.

4. SUMAR -(X), (X)
Decrementar y luego tomar operando1 como datos en la ubicación de memoria X. Entonces X=99;
Operando 1 tomado como ubicación de memoria de datos 99 = 5,
luego tome el operando 2 como datos en la ubicación de memoria X, que es 99
Operando 2 = 5;
Ahora, haga retroceder su suma en la ubicación X, que es 99.
Entonces, nuestro resultado es que la ubicación 99 se llena con 10, que no es el resultado deseado.

Esta solución es aportada por .
Cuestionario de esta pregunta

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 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 *