GATE | GATE-CS-2017 (Set 1) | Question 38

Consider the expression (a-1) * ((( b + c ) / 3 )) + d)). Let X be the minimum number of registers required by an optimal code generation (without any register spill) algorithm for a load/store architecture, in which

(i) only load and store instructions can have memory operands and
(ii) arithmetic instructions can have only register or immediate operands

The value of X is ________.

Note : This questions appeared as Numerical Answer Type.
(A) 2
(B) 1
(C) 4
(D) 3


Answer: (A)

Explanation: The assembly code using the load/store architecture can be written as follows:


Load R1, b

Load R2, c

ADD R1, R2

Div R1, 3

Load R2, d

Add R1, R2

Load R2, a

Sub R2, 1

Mul R2, R1

Hence minimum 2 registers required.

This explanation is contributed by Sonal Kukreja.

Quiz of this Question

My Personal Notes arrow_drop_up