Open In App

GATE | GATE CS 1996 | Question 41

Last Updated : 10 May, 2020
Like Article
Like
Save
Share
Report

Which of the following macros can put a micro assembler into an infinite loop?
(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) only
(B) (i) only
(C) Both (i) and (ii)
(D) None of the above


Answer: (A)

Explanation: In second Macro, If we assume the value of X is 0 then statement “M2 X” would be called until value of X is 0 (Recursive call).
And, the value of X is never modified hence it will fall into an infinite loop.
In first Macro,
The value of X is increased by 1 hence it will never fall into an infinite loop.

Option (A) is correct.

Quiz of this Question


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads