Central Processing Unit Q.47

0. The program below uses six temporary variable a, b, c, d, e, f.
a = 1
b = 10
c = 20
d = a + b
e = c + d
f = c + e
b = c + e
e = b + f
d = 5 + e
return d + f
Assuming that all operations take their operands from registers, what is the minimum number of registers needed to execute this program without spilling

  • Option : B
  • Explanation : a = 1
    b = 10 Let a is in Accumulator than for b and c we want c = 20 Register than 2 registers want till now 1 for b and 1 for c
    d = a + b N ow d = a + b can be stored in Accumulator because we don’t want a again
    e = c + d. Now for f we wan’t next, one register because we wan’t c & e again
    f = c + e
    b = c + e. Now at b = c + e we can store value in register b already, so we don’t want another
    e = b + f. Now at e = b + f we can store it in 0 register of b because we don’t want another
    d = 5 + e Now at d = 5 + e we can store it in d because we don’t want e again
    than we can say only 3 registers we want.
Cancel reply

Your email address will not be published. Required fields are marked *


Cancel reply

Your email address will not be published. Required fields are marked *