public static OpcodeEncoder AppendConditionalDisplacement(this OpcodeEncoder encoder, Operand displacement, bool include) { if (!include) { return(encoder); } if (Is8BitDisplacement(displacement)) { return(encoder.AppendByteValue((byte)displacement.ConstantUnsignedInteger)); } return(encoder.AppendIntegerValue(displacement.ConstantUnsignedInteger)); }
public static OpcodeEncoder AppendInteger(this OpcodeEncoder encoder, Operand operand, InstructionSize size) { if (size == InstructionSize.Size32) { return(encoder.AppendIntegerValue(operand.ConstantUnsignedInteger)); } if (size == InstructionSize.Size8) { return(encoder.AppendByteValue((byte)operand.ConstantUnsignedInteger)); } if (size == InstructionSize.Size16) { return(encoder.AppendShortValue((ushort)operand.ConstantUnsignedInteger)); } throw new InvalidCompilerException("Instruction size invalid"); }