PUERTA | PUERTA-CS-2003 | Pregunta 49

Considere el siguiente programa en lenguaje ensamblador para un procesador hipotético. A, B y C son registros de 8 bits. Los significados de varias instrucciones se muestran como comentarios.

MOV B, # 0 ; B ← 0
MOV C, # 8 ; C ← 8
Z : CMP C, # 0 ; comparar C con 0
JZX ; saltar a X si se establece el indicador cero
SUB C, # 1 ; C ← C – 1
RRC A, # 1 ; girar a la derecha A a través del acarreo un bit. De este modo:
; si los valores iniciales de A y la bandera de acarreo son a 7 …a 0 y
; c 0 respectivamente, sus valores después de la ejecución de este
; la instrucción será c 0 a 7 …a 1 y a 0 respectivamente.
JC Y ; salta a Y si la bandera de acarreo está establecida
JMPZ ; saltar a Z
Y: AGREGAR B, # 1 ; segundo ← segundo + 1
JMPZ ; saltar a Z
X :

¿Cuál de las siguientes instrucciones, cuando se inserta en la ubicación X, garantizará que el valor del registro A después de la ejecución del programa sea el mismo que su valor inicial?
(A) RRC A, #
(B) NOP; ninguna operación
(C) LRC A, # 1; girar a la izquierda A a través de la bandera de acarreo en un bit
(D) AGREGAR A, # 1

Respuesta: (A)
Explicación: Explicación

Al final de la ejecución del programa para verificar si el valor inicial y final del registro A es A0, necesitamos rotar a la derecha el registro A a través del acarreo un bit porque la instrucción RRC es (  Cada bit binario del acumulador se gira a la derecha una posición. El bit D0 se coloca en la posición de D7, así como en la bandera de acarreo. CY se modifica de acuerdo con el bit D0. Cualquier otro bit no se ve afectado).

Entonces (A) es la opción correcta
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 *