The 32-bit instruction format is divided as follows:
16 general-purpose registers: Each register requires \(4 \, \text{bits}\) (\(2^4 = 16\)).
Two register operand fields: Each operand field is \(4 \, \text{bits}\), for a total of \(8 \, \text{bits}\).
Addressing mode field: \(3 \, \text{bits}\) to represent \(8 \, \text{addressing modes}\) (\(2^3 = 8\)).
Scalar field: \(16 \, \text{bits}\).
The remaining bits are allocated to the opcode field:
\[
\text{Opcode bits} = 32 - (8 + 3 + 16) = 5 \, \text{bits}.
\]
The total number of unique opcodes for every addressing mode is:
\[
2^{\text{Opcode bits}} = 2^5 = 32.
\]
Final Answer:
\[
\boxed{32}
\]