• Home
  • Install
  • Cosmos Website
  • Articles
  • Cosmos
  • X#
  • IL2CPU
Show / Hide Table of Contents
  • XSharp
    • AsmGenerator
    • AsmGenerator.FlagBool
    • Compiler
    • Compiler.Block
    • Compiler.BlockList
    • Compiler.BlockType
    • Extensions
    • Parser
    • Parser.CharType
    • Token
    • TokenList
    • TokenPatterns
    • TokenPatterns.Block
    • TokenPatterns.Blocks
    • TokenPatterns.CodeFunc
    • TokenPatterns.Pattern
    • TokenType
    • XS
    • XS.FPU
    • XS.SSE
    • XS.SSE2
    • XS.SSE3
    • XSRegisters
    • XSRegisters.Register
    • XSRegisters.Register16
    • XSRegisters.Register32
    • XSRegisters.Register8
    • XSRegisters.RegisterFPU
    • XSRegisters.RegisterSegment
    • XSRegisters.RegisterSize
    • XSRegisters.RegisterXMM
  • XSharp.Assembler
    • Assembler
    • AssemblerMethod
    • BaseAssemblerElement
    • Comment
    • DataEndIfDefined
    • DataIfDefined
    • DataIfNotDefined
    • DataMember
    • Define
    • ElementReference
    • Else
    • EndIfDefined
    • IDefine
    • IEndIfDefined
    • IfDefined
    • IfNotDefined
    • IIfDefined
    • IIfNotDefined
    • InfraExtensions
    • Instruction
    • Label
    • LiteralAssemblerCode
    • OpCodeAttribute
    • TypeComparer
  • XSharp.Assembler.x86
    • Add
    • AddWithCarry
    • And
    • Call
    • ClearInterruptFlag
    • ClrCarryFlag
    • ClrDirFlag
    • CmpXchg
    • Compare
    • ConditionalJump
    • ConditionalMove
    • ConditionalTestEnum
    • ConvByteToWord
    • CpuId
    • DebugNoop
    • Dec
    • Divide
    • ExternalLabel
    • Halt
    • IDivide
    • IInstructionWithArgument
    • IInstructionWithCondition
    • IInstructionWithDestination
    • IInstructionWithPrefix
    • IInstructionWithSize
    • IInstructionWithSource
    • Imul
    • INC
    • InfraExtensions
    • InFromDX
    • Instruction
    • Instruction.InstructionSize
    • Instruction.InstructionSizes
    • Instruction.OperandMemoryKinds
    • InstructionPrefixes
    • InstructionWithDestination
    • InstructionWithDestinationAndSize
    • InstructionWithDestinationAndSource
    • InstructionWithDestinationAndSourceAndArgument
    • InstructionWithDestinationAndSourceAndSize
    • InstructionWithSize
    • INT
    • INT1
    • INT3
    • Interrupt
    • IRET
    • Jump
    • JumpBase
    • JumpToSegment
    • Lea
    • Lgdt
    • Lidt
    • LoadStatusFlags
    • Mov
    • MoveCR
    • MoveD
    • MoveSignExtend
    • MoveToDR6
    • MoveZeroExtend
    • Movs
    • Multiply
    • Neg
    • Noop
    • Not
    • Or
    • OutToDX
    • Pop
    • Popad
    • Popfd
    • Push
    • Pushad
    • Pushfd
    • Rdmsr
    • Rdtsc
    • Registers
    • RegistersEnum
    • Return
    • RotateLeft
    • RotateRight
    • RotateThroughCarryRight
    • Scas
    • SetByteOnCondition
    • ShiftLeft
    • ShiftLeftArithmetic
    • ShiftLeftDouble
    • ShiftRight
    • ShiftRightArithmetic
    • ShiftRightDouble
    • SignExtendAX
    • Sti
    • Stos
    • Sub
    • SubWithCarry
    • Test
    • Xchg
    • Xor
  • XSharp.Assembler.x86.SSE
    • AddPD
    • AddSD
    • AddSS
    • AndPD
    • AndPS
    • ComparePD
    • ComparePS
    • ComparePseudoOpcodes
    • CompareSD
    • CompareSS
    • ConvertPD2DQAndTruncate
    • ConvertSD2SI
    • ConvertSD2SIAndTruncate
    • ConvertSD2SS
    • ConvertSI2SD
    • ConvertSI2SS
    • ConvertSS2SD
    • ConvertSS2SI
    • ConvertSS2SIAndTruncate
    • DivPD
    • DivPS
    • DivSD
    • DivSS
    • InstructionWithDestinationAndSourceAndPseudoOpcodes
    • MaxSS
    • MinSS
    • MoveAPD
    • MoveAPS
    • MoveDoubleAndDuplicate
    • MoveDoubleAndDupplicate
    • MoveDQA
    • MoveDQU
    • MoveHLPD
    • MoveHLPS
    • MoveHPD
    • MoveHPS
    • MoveLHPS
    • MoveLPD
    • MoveQ
    • MoveSD
    • MoveSS
    • MoveUPD
    • MoveUPS
    • MulPD
    • MulPS
    • MulSD
    • MulSS
    • OrPS
    • Por
    • Psrld
    • Shufps
    • SqrtScalardDouble
    • SSEInit
    • SubPD
    • SubPS
    • SubSD
    • SubSS
    • UnpackLowDouble
    • XorPD
    • XorPS
  • XSharp.Assembler.x86.X86
    • Cmps
  • XSharp.Assembler.x86.X86.SSE
    • AddPS
  • XSharp.Assembler.x86.X86.x87
    • FloatCompareAnd2Pop
    • FloatPushOne
    • FloatPushZero
    • FloatUCompareAnd2Pop
  • XSharp.Assembler.x86.x87
    • FloatABS
    • FloatAdd
    • FloatAddAndPop
    • FloatClearEx
    • FloatCompare
    • FloatCompareAndPop
    • FloatCompareAndSet
    • FloatCompareAndSetAndPop
    • FloatCompareOrderAndSetAndPop
    • FloatCompareOrderSetAndPop
    • FloatConditionalMoveTestEnum
    • FloatCosine
    • FloatDecTopPointer
    • FloatDivide
    • FloatDivideAndPop
    • FloatDivideAndPopReverse
    • FloatDivideReverse
    • FloatFree
    • FloatIncTopPointer
    • FloatInit
    • FloatLoad
    • FloatMul
    • FloatMulAndPop
    • FloatNegate
    • FloatPop
    • FloatPRem
    • FloatPRem1
    • FloatRound
    • FloatSine
    • FloatSqrt
    • FloatStore
    • FloatStoreAndPop
    • FloatSub
    • FloatSubAndPop
    • FloatSubAndPopReverse
    • FloatSubReverse
    • FloatTan
    • FloatTest
    • FloatUCompare
    • FloatUCompareAndPop
    • FloatXchg
    • FXSave
    • FXStore
    • IntAdd
    • IntCompare
    • IntCompareAndPop
    • IntDiv
    • IntDivReverse
    • IntLoad
    • IntMul
    • IntStore
    • IntStoreAndPop
    • IntStoreWithTrunc
    • IntSub
    • IntSubReverse
  • XSharp.Tokens
    • AsKeyword
    • Compare
    • Compare<TLeftValueType, TComparatorType, TRightValueType>
    • CompareConstConst
    • CompareConstInt16
    • CompareConstInt32
    • CompareConstInt8
    • CompareConstVar
    • CompareConstVarAddr
    • CompareInt16Const
    • CompareInt16Int16
    • CompareInt16Var
    • CompareInt32Const
    • CompareInt32Int32
    • CompareInt32Var
    • CompareInt32VarAddr
    • CompareInt8Const
    • CompareInt8Int8
    • CompareInt8Var
    • CompareMem<TLeftValueType, TComparatorType, TRightValueType>
    • CompareReg08Const
    • CompareReg08Reg08
    • CompareReg08Var
    • CompareReg16Const
    • CompareReg16Int16
    • CompareReg16Reg16
    • CompareReg16Var
    • CompareReg32Const
    • CompareReg32Int32
    • CompareReg32Reg32
    • CompareReg32Var
    • CompareReg8Int8
    • CompareRegConst
    • CompareRegVar
    • CompareRegVarAddr
    • CompareVar
    • CompareVarAddrConst
    • CompareVarAddrInt32
    • CompareVarAddrVar
    • CompareVarAddrVarAddr
    • CompareVarConst
    • CompareVarInt16
    • CompareVarInt32
    • CompareVarInt8
    • CompareVarVar
    • CompareVarVarAddr
    • CompareWithMem
    • Const
    • ConstKeyword
    • FunctionKeyword
    • GotoKeyword
    • Identifier
    • If
    • Int08u
    • Int16u
    • Int32u
    • Interrupt
    • NamespaceKeyword
    • NOP
    • Num
    • OpBitwise
    • OpComment
    • OpCompare
    • OpIncDec
    • OpInclude
    • OpLiteral
    • OpMath
    • OpPureComparators
    • OpRotate
    • OpShift
    • PopAll
    • PortKeyword
    • PushAll
    • Reg
    • Reg08
    • Reg16
    • Reg32
    • Repeat
    • Return
    • Size
    • TestKeyword
    • Times
    • Variable
    • VariableAddress
    • VarKeyword
    • While
    • ZeroParamOp
  • XSharp.x86
    • Map
    • OpCode
    • Register
    • Register.Names
  • XSharp.x86.Assemblers
    • Assembler
    • NASM
  • XSharp.x86.Emitters
    • AllEmitters
    • Assignments
    • BitwiseEmitters
    • Branching
    • Comments
    • Emitters
    • IncrementDecrement
    • Math
    • Namespace
    • Ports
    • PushPop
    • ShiftRotate
    • Test
    • ZeroParamOps
  • XSharp.x86.Params
    • Address
    • i08u
    • i16u
    • i32u
    • Identifier
    • List
    • MemoryAddress
    • Num
    • Param
    • Reg
    • Reg08
    • Reg16
    • Reg32
    • RegisterAddress
    • Root
    • Size

Class InstructionWithDestinationAndSource

Inheritance
System.Object
BaseAssemblerElement
Instruction
Instruction
InstructionWithDestination
InstructionWithDestinationAndSource
InstructionWithDestinationAndSourceAndArgument
InstructionWithDestinationAndSourceAndSize
MoveCR
MoveD
AddPD
AddSD
AddSS
AndPD
AndPS
ConvertPD2DQAndTruncate
ConvertSD2SI
ConvertSD2SIAndTruncate
ConvertSD2SS
ConvertSI2SD
ConvertSI2SS
ConvertSS2SD
ConvertSS2SI
ConvertSS2SIAndTruncate
DivPD
DivPS
DivSD
DivSS
InstructionWithDestinationAndSourceAndPseudoOpcodes
MaxSS
MinSS
MoveAPD
MoveAPS
MoveDoubleAndDuplicate
MoveDQA
MoveDQU
MoveHLPD
MoveHLPS
MoveHPD
MoveHPS
MoveLHPS
MoveLPD
MoveQ
MoveSD
MoveSS
MoveUPD
MoveUPS
MulPD
MulPS
MulSD
MulSS
OrPS
Por
Psrld
SqrtScalardDouble
SubPD
SubPS
SubSD
SubSS
UnpackLowDouble
XorPD
XorPS
AddPS
FloatAddAndPop
FloatDivideAndPop
FloatDivideAndPopReverse
FloatMulAndPop
FloatSubAndPop
FloatSubAndPopReverse
Implements
IInstructionWithDestination
IInstructionWithSource
Inherited Members
InstructionWithDestination.DestinationRef
InstructionWithDestination.DestinationReg
InstructionWithDestination.DestinationValue
InstructionWithDestination.DestinationIsIndirect
InstructionWithDestination.DestinationDisplacement
InstructionWithDestination.DestinationEmpty
Instruction.SizeToString(Byte)
Instruction.defaultMnemonicsCache
Instruction.mMnemonic
Instruction.Mnemonic
Instruction.mMethodID
Instruction.MethodID
Instruction.mAsmMethodIdx
Instruction.AsmMethodIdx
Instruction.WriteText(Assembler, TextWriter)
Instruction.ActualAddress
Instruction.WriteData(Assembler, Stream)
BaseAssemblerElement.StartAddress
BaseAssemblerElement.ToString()
Namespace: XSharp.Assembler.x86
Assembly: XSharp.dll
Syntax
public abstract class InstructionWithDestinationAndSource : InstructionWithDestination, IInstructionWithDestination, IInstructionWithSource

Constructors

| Improve this Doc View Source

InstructionWithDestinationAndSource()

Declaration
public InstructionWithDestinationAndSource()
| Improve this Doc View Source

InstructionWithDestinationAndSource(String)

Declaration
public InstructionWithDestinationAndSource(string mnemonic)
Parameters
Type Name Description
System.String mnemonic

Properties

| Improve this Doc View Source

SourceDisplacement

Declaration
public int? SourceDisplacement { get; set; }
Property Value
Type Description
System.Nullable<System.Int32>
| Improve this Doc View Source

SourceEmpty

Declaration
public bool SourceEmpty { get; set; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

SourceIsIndirect

Declaration
public bool SourceIsIndirect { get; set; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

SourceRef

Declaration
public ElementReference SourceRef { get; set; }
Property Value
Type Description
ElementReference
| Improve this Doc View Source

SourceReg

Declaration
public RegistersEnum? SourceReg { get; set; }
Property Value
Type Description
System.Nullable<RegistersEnum>
| Improve this Doc View Source

SourceValue

Declaration
public uint? SourceValue { get; set; }
Property Value
Type Description
System.Nullable<System.UInt32>

Methods

| Improve this Doc View Source

GetSourceAsString()

Declaration
protected string GetSourceAsString()
Returns
Type Description
System.String
| Improve this Doc View Source

IsComplete(Assembler)

Declaration
public override bool IsComplete(Assembler aAssembler)
Parameters
Type Name Description
Assembler aAssembler
Returns
Type Description
System.Boolean
Overrides
InstructionWithDestination.IsComplete(Assembler)
| Improve this Doc View Source

UpdateAddress(Assembler, ref UInt64)

Declaration
public override void UpdateAddress(Assembler aAssembler, ref ulong aAddress)
Parameters
Type Name Description
Assembler aAssembler
System.UInt64 aAddress
Overrides
InstructionWithDestination.UpdateAddress(Assembler, ref UInt64)
| Improve this Doc View Source

WriteText(Assembler, System.IO.TextWriter)

Declaration
public override void WriteText(Assembler aAssembler, System.IO.TextWriter aOutput)
Parameters
Type Name Description
Assembler aAssembler
System.IO.TextWriter aOutput
Overrides
InstructionWithDestination.WriteText(Assembler, System.IO.TextWriter)

Implements

IInstructionWithDestination
IInstructionWithSource
  • Improve this Doc
  • View Source
☀
☾
In This Article
Back to top
☀
☾