A certain ISA has a 32-bit word size, uses single word instructions, has 120 opcodes, 32 registers, and 4Gbyte of byte-addressable memory. One group of instructions in this ISA takes the form:

OPCODE | DESTINATION REGISTER | SOURCE REGISTER | FLAG | IMMEDIATE VALUE

Or

OPCODE | DESTINATION REGISTER | SOURCE REGISTER 1 | FLAG | SOURCE REGISTER 2

A single bit in the instructiin ("Flag") is used to differentiate these two addressing modes.
Another group instruction takes the form

OPCODE | SOURCE/DESTINATION REGISTER | PC OFFSET

How many bits are required for addressing (i.e. what is the size, in bits, of a memory address)?
a. 32 bits
b. 28 bits
c. 16 bits
d. 30 bits
e. 31 bits

Relax