¿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