14.2. Operand Size Consistency
The OpSize type ensures operand sizes are consistent across an instruction.
You cannot mix 8-bit and 32-bit operands:
#check Instr.BOP OpSize.Op32 BinOp.ADD (DstSrc.RR EAX EBX)
-- Valid: 8-bit operation with 8-bit registers
#check Instr.BOP OpSize.Op8 BinOp.ADD (DstSrc.RR AL BL)
The VReg and VWord type families enforce this:
#check (VReg OpSize.Op32) -- = Reg (32-bit registers like EAX)
#check (VReg OpSize.Op8) -- = ByteReg (8-bit registers like AL)