PUERTA | PUERTA CS 1996 | Pregunta 41

¿Cuál de las siguientes macros puede poner un microensamblador en un bucle infinito?
(i)

.MACRO M1 X
.IF EQ, X      ;if X=0 then
M1 X + 1
.ENDC
.IF NE X       ;IF X≠0 then
.WORD X        ;address (X) is stored here
.ENDC
.ENDM

(ii)

.MACRO M2 X
.IF EQ X
M2 X
.ENDC
.IF NE, X
.WORD X+1
.ENDC
.ENDM

(A) (ii) solo
(B) (i) solo
(C) Ambos (i) y (ii)
(D) Ninguno de los anteriores

Respuesta: (A)
Explicación: En la segunda macro, si asumimos el valor de X es 0, entonces se llamaría a la declaración «M2 X» hasta que el valor de X sea 0 (llamada recursiva).
Y, el valor de X nunca se modifica, por lo tanto, caerá en un ciclo infinito.
En la primera macro,
el valor de X aumenta en 1, por lo que nunca caerá en un ciclo infinito.

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