An 8-bit microprocessor has a 16-bit address bus ($A_{15} - A_0$) where $A_0$ is the LSB. As shown in Figure (a), it has a pre-installed 4 KB ROM whose starting address is 0000 H. The processor needs to be upgraded by adding a 16 KB RAM as shown in Figure (b). The address range for the newly added RAM is
Consider the program below which uses six temporary variables a, b, c, d, e and f.a = 10b = 20c = 30d = a + ce = b + df = c + cb = c + ee = b + fd = 5 + ereturn d + fAssuming that all the above operations take their operands from registers, the minimum number of registers needed to execute this program without spilling is: