protected OpCode( OpCodeEnum type, byte testFlag, byte setAFlag, OpArgMaskEnum argBMode, OpArgMaskEnum argCMode, OpModeEnum opMode, OPAction action, string name) { this.Type = type; this.TestFlag = testFlag; this.SetAFlag = setAFlag; this.ArgBMode = argBMode; this.ArgCMode = argCMode; this.Action = action; this.OpMode = opMode; this.Name = name; }
// sets the operational mode of the processor (Real Mode, Protected Mode, Long Mode, etc.) private void SetOpMode(OpModeEnum OpMode) { switch (OpMode) { case OpModeEnum.RealAddressMode: addressSize = AddressSizeEnum.Bits16; operandSize = OperandSizeEnum.Bits16; break; case OpModeEnum.ProtectedMode: addressSize = AddressSizeEnum.Bits32; operandSize = OperandSizeEnum.Bits32; break; case OpModeEnum.IA32e_CompatibilityMode: addressSize = AddressSizeEnum.Bits32; operandSize = OperandSizeEnum.Bits32; break; default: // OpMode.IA32e_64bitMode: addressSize = AddressSizeEnum.Bits64; operandSize = OperandSizeEnum.Bits32; break; } opMode = OpMode; }