-
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 tor 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______.
-
- 0
- 1
- 2
- 3
Correct Option: C
The given expression is (1) * | b + c | + d | ||||
3 |
Let R1 and R2 be two registers
Load R1 ← b
Load R2 ← c
Add R1 ← (R1 + R2)
Div. R1 ← R1 / 3
Load R2 ← d
Add R1 ← R1 + R2
Load R2 ← a
Sub. R2 ← R2 - 1
Mul. R1 ← R1 * R2
Hence, only two registers are required.