⟩ HOW MANY MAXIMUM BASE REGISTERS WE CAN HAVE IN A PROGRAM AND ALSO HOW MANY MAXIMUM BASE REGISTERS WE CAN HAVE IN A SINGLE PROGRAM?
There are 16 registers, and ALL can be used as a base EXCEPT
for register 0, so the answer is AT LEAST 15. AT LEAST is
specified here because in any section of code, you can
"re-use" a previous base register once you are no longer
within the original address range ("scope") of that
particular base register. By re-using the registers, you can
have base registers that will cover ALL of the memory in the
machine - but not all at once - you have to "bite off" 15
base reg-at-a-time chunks of memory (all addressable memory
does not have to be contiguous - it can be scattered around
memory in 4K pieces).