/// <summary> /// Gets the memory. /// </summary> /// <param name="operand">The operand.</param> /// <param name="emit">if set to <c>true</c> [emit].</param> /// <returns></returns> private Memory GetMemory(Operand operand) { Memory address = null; if (operand is FieldOperand) { address = this.GetAddress(operand as FieldOperand); } else if (operand is Argument) { address = this.GetAddress(operand as Argument); } else if (operand is Local) { address = this.GetAddress(operand as Local); } else if (operand is IR.Operands.Register) { address = this.GetAddress(operand as IR.Operands.Register); } else { throw new NotImplementedEngineException("Wrong '" + operand.ToString() + "' Operand."); } if (operand.InternalType == InternalType.I1 || operand.InternalType == InternalType.U1) { address = new ByteMemory(address); } else if (operand.InternalType == InternalType.I2 || operand.InternalType == InternalType.U2) { address = new WordMemory(address); } else if (operand.InternalType == InternalType.I4 || operand.InternalType == InternalType.U4 || operand.InternalType == InternalType.I || operand.InternalType == InternalType.U || operand.InternalType == InternalType.ValueType || operand.InternalType == InternalType.O || operand.InternalType == InternalType.M || operand.InternalType == InternalType.SZArray || operand.InternalType == InternalType.Array) { address = new DWordMemory(address); } else if (operand.InternalType == InternalType.I8 || operand.InternalType == InternalType.U8) { address = new DWordMemory(address); } else { throw new NotImplementedEngineException("'" + operand.InternalType + "' not supported."); } return(address); }
/// <summary> /// SUB reg16,mem16 /// </summary> public static void SUB (R16Type target, WordMemory source) { }
/// <summary> /// STR mem16 /// </summary> public static void STR (WordMemory target) { }
/// <summary> /// SLDT mem16 /// </summary> public static void SLDT (WordMemory target) { }
/// <summary> /// SHRD mem16,reg16,imm8 /// </summary> public static void SHRD (WordMemory target, R16Type source, Byte value) { }
/// <summary> /// SHR mem16,CL /// </summary> public static void SHR__CL (WordMemory target) { }
/// <summary> /// ROL mem16,CL /// </summary> public static void ROL__CL (WordMemory target) { }
/// <summary> /// POP mem16 /// </summary> public static void POP (WordMemory target) { }
/// <summary> /// FNSTCW mem16 /// </summary> public static void FNSTCW (WordMemory target) { }
/// <summary> /// FLDCW mem16 /// </summary> public static void FLDCW (WordMemory target) { }
/// <summary> /// FISUBR mem16 /// </summary> public static void FISUBR (WordMemory target) { }
/// <summary> /// FISTP mem16 /// </summary> public static void FISTP (WordMemory target) { }
/// <summary> /// FILD mem16 /// </summary> public static void FILD (WordMemory target) { }
/// <summary> /// FIDIVR mem16 /// </summary> public static void FIDIVR (WordMemory target) { }
/// <summary> /// FICOMP mem16 /// </summary> public static void FICOMP (WordMemory target) { }
/// <summary> /// NOT mem16 /// </summary> public static void NOT (WordMemory target) { }
/// <summary> /// FSTSW mem16 /// </summary> public static void FSTSW (WordMemory target) { }
/// <summary> /// PUSH mem16 /// </summary> public static void PUSH (WordMemory target) { }
/// <summary> /// IDIV mem16 /// </summary> public static void IDIV (WordMemory target) { }
/// <summary> /// SBB mem16,imm16 /// </summary> public static void SBB (WordMemory target, UInt16 source) { }
/// <summary> /// IMUL reg16,mem16,imm16 /// </summary> public static void IMUL (R16Type target, WordMemory source, UInt16 value) { }
/// <summary> /// SHR mem16,imm8 /// </summary> public static void SHR (WordMemory target, Byte source) { }
/// <summary> /// INC mem16 /// </summary> public static void INC (WordMemory target) { }
/// <summary> /// SHRD mem16,reg16,CL /// </summary> public static void SHRD___CL (WordMemory target, R16Type source) { }
/// <summary> /// MOV mem16,segreg /// </summary> public static void MOV (WordMemory target, SegType source) { }
/// <summary> /// SMSW mem16 /// </summary> public static void SMSW (WordMemory target) { }
/// <summary> /// MOV segreg,mem16 /// </summary> public static void MOV (SegType target, WordMemory source) { }
/// <summary> /// SUB mem16,reg16 /// </summary> public static void SUB (WordMemory target, R16Type source) { }
/// <summary> /// MOVZX reg32,mem16 /// </summary> public static void MOVZX (R32Type target, WordMemory source) { }
/// <summary> /// MUL mem16 /// </summary> public static void MUL (WordMemory target) { }
/// <summary> /// CMPXCHG mem16,reg16 /// </summary> public static void CMPXCHG (WordMemory target, R16Type source) { }