I feel like I’m misreading something here. Section 4.2 says brings up the operand types:
$$00 Large constant (0 to 65535) 2 bytes $$01 Small constant (0 to 255) 1 byte $$10 Variable 1 byte $$11 Omitted altogether 0 bytes
Section 4.4.2 says, which is also talking about the operand types says:
“In long form, bit 6 of the opcode gives the type of the first operand, bit 5 of the second. A value of 0 means a small constant and 1 means a variable.”
It’s the last sentence that throws me off. Why is a value of 0 a small constant and a value of 1 a variable? It looks like the value of 0 would be a large constant. A value of 1 would be a small constant. I feel like I’m probably confusing what the spec means by “type” here.