40 distinct instructions → log240 = 6 bits are needed for opcode.
24 general purpose registers → log2 24 = 5 bits for register operand.
As, two register operands are required so, total 10 bits are needed for register operand field.
Suppose for immediate operand we require x bits.
Opcode
|
Register operand
|
Immediate operand
|
6 bits
|
10 bits
|
x bits
|
Opcode + Register operand + Immediate operand = 32
6 + 10 + x = 32
∴ x = 16
Number of bits available for the immediate operand field (x) is 16 bits.