C# Класс Reko.Arch.X86.OperandRewriter

Helper class used by the X86 rewriter to turn machine code operands into IL expressions.
Показать файл Открыть проект Примеры использования класса

Защищенные свойства (Protected)

Свойство Тип Описание
arch IntelArchitecture

Открытые методы

Метод Описание
AddrOf ( Expression expr ) : UnaryExpression
AluRegister ( Reko.Core.Machine.RegisterOperand reg ) : Identifier
AluRegister ( RegisterStorage reg ) : Identifier
AluRegister ( RegisterStorage reg, PrimitiveType vt ) : Identifier
CreateConstant ( ImmediateOperand imm, PrimitiveType dataWidth ) : Constant
CreateMemoryAccess ( Reko.Arch.X86.X86Instruction instr, Reko.Arch.X86.MemoryOperand mem, DataType dt, Reko.Arch.X86.X86State state ) : Expression
CreateMemoryAccess ( Reko.Arch.X86.X86Instruction instr, Reko.Arch.X86.MemoryOperand memoryOperand, Reko.Arch.X86.X86State state ) : Expression
EffectiveAddressExpression ( Reko.Arch.X86.X86Instruction instr, Reko.Arch.X86.MemoryOperand mem, Reko.Arch.X86.X86State state ) : Expression

Memory accesses are translated into expressions.

FlagGroup ( FlagM flags ) : Identifier
FpuRegister ( int reg, Reko.Arch.X86.X86State state ) : Identifier

Changes the stack-relative address 'reg' into a frame-relative operand. If the register number is larger than the stack depth, then the register was passed on the stack when the function was called.

ImmediateAsAddress ( Address address, ImmediateOperand imm ) : Address
ImportedGlobal ( Address addrInstruction, PrimitiveType addrWidth, Reko.Arch.X86.MemoryOperand mem ) : Identifier
ImportedProcedure ( Address addrInstruction, PrimitiveType addrWidth, Reko.Arch.X86.MemoryOperand mem ) : Reko.Core.ExternalProcedure
OperandRewriter ( IntelArchitecture arch, ExpressionEmitter emitter, Frame frame, IRewriterHost host ) : Reko.Core.Expressions
ReplaceCodeSegment ( RegisterStorage reg, Reko.Arch.X86.X86State state ) : Constant
StackAccess ( Expression expr, DataType dt ) : MemoryAccess
Transform ( Reko.Arch.X86.X86Instruction instr, MachineOperand op, PrimitiveType opWidth, Reko.Arch.X86.X86State state ) : Expression

Описание методов

AddrOf() публичный Метод

public AddrOf ( Expression expr ) : UnaryExpression
expr Expression
Результат UnaryExpression

AluRegister() публичный Метод

public AluRegister ( Reko.Core.Machine.RegisterOperand reg ) : Identifier
reg Reko.Core.Machine.RegisterOperand
Результат Identifier

AluRegister() публичный Метод

public AluRegister ( RegisterStorage reg ) : Identifier
reg RegisterStorage
Результат Identifier

AluRegister() публичный Метод

public AluRegister ( RegisterStorage reg, PrimitiveType vt ) : Identifier
reg RegisterStorage
vt PrimitiveType
Результат Identifier

CreateConstant() публичный Метод

public CreateConstant ( ImmediateOperand imm, PrimitiveType dataWidth ) : Constant
imm Reko.Core.Machine.ImmediateOperand
dataWidth PrimitiveType
Результат Constant

CreateMemoryAccess() публичный Метод

public CreateMemoryAccess ( Reko.Arch.X86.X86Instruction instr, Reko.Arch.X86.MemoryOperand mem, DataType dt, Reko.Arch.X86.X86State state ) : Expression
instr Reko.Arch.X86.X86Instruction
mem Reko.Arch.X86.MemoryOperand
dt DataType
state Reko.Arch.X86.X86State
Результат Expression

CreateMemoryAccess() публичный Метод

public CreateMemoryAccess ( Reko.Arch.X86.X86Instruction instr, Reko.Arch.X86.MemoryOperand memoryOperand, Reko.Arch.X86.X86State state ) : Expression
instr Reko.Arch.X86.X86Instruction
memoryOperand Reko.Arch.X86.MemoryOperand
state Reko.Arch.X86.X86State
Результат Expression

EffectiveAddressExpression() публичный Метод

Memory accesses are translated into expressions.
public EffectiveAddressExpression ( Reko.Arch.X86.X86Instruction instr, Reko.Arch.X86.MemoryOperand mem, Reko.Arch.X86.X86State state ) : Expression
instr Reko.Arch.X86.X86Instruction
mem Reko.Arch.X86.MemoryOperand
state Reko.Arch.X86.X86State
Результат Expression

FlagGroup() публичный Метод

public FlagGroup ( FlagM flags ) : Identifier
flags FlagM
Результат Identifier

FpuRegister() публичный Метод

Changes the stack-relative address 'reg' into a frame-relative operand. If the register number is larger than the stack depth, then the register was passed on the stack when the function was called.
public FpuRegister ( int reg, Reko.Arch.X86.X86State state ) : Identifier
reg int
state Reko.Arch.X86.X86State
Результат Identifier

ImmediateAsAddress() публичный абстрактный Метод

public abstract ImmediateAsAddress ( Address address, ImmediateOperand imm ) : Address
address Address
imm Reko.Core.Machine.ImmediateOperand
Результат Address

ImportedGlobal() публичный Метод

public ImportedGlobal ( Address addrInstruction, PrimitiveType addrWidth, Reko.Arch.X86.MemoryOperand mem ) : Identifier
addrInstruction Address
addrWidth PrimitiveType
mem Reko.Arch.X86.MemoryOperand
Результат Identifier

ImportedProcedure() публичный Метод

public ImportedProcedure ( Address addrInstruction, PrimitiveType addrWidth, Reko.Arch.X86.MemoryOperand mem ) : Reko.Core.ExternalProcedure
addrInstruction Address
addrWidth PrimitiveType
mem Reko.Arch.X86.MemoryOperand
Результат Reko.Core.ExternalProcedure

OperandRewriter() публичный Метод

public OperandRewriter ( IntelArchitecture arch, ExpressionEmitter emitter, Frame frame, IRewriterHost host ) : Reko.Core.Expressions
arch IntelArchitecture
emitter Reko.Core.Expressions.ExpressionEmitter
frame Reko.Core.Frame
host IRewriterHost
Результат Reko.Core.Expressions

ReplaceCodeSegment() публичный Метод

public ReplaceCodeSegment ( RegisterStorage reg, Reko.Arch.X86.X86State state ) : Constant
reg RegisterStorage
state Reko.Arch.X86.X86State
Результат Constant

StackAccess() публичный Метод

public StackAccess ( Expression expr, DataType dt ) : MemoryAccess
expr Expression
dt DataType
Результат MemoryAccess

Transform() публичный Метод

public Transform ( Reko.Arch.X86.X86Instruction instr, MachineOperand op, PrimitiveType opWidth, Reko.Arch.X86.X86State state ) : Expression
instr Reko.Arch.X86.X86Instruction
op Reko.Core.Machine.MachineOperand
opWidth PrimitiveType
state Reko.Arch.X86.X86State
Результат Expression

Описание свойств

arch защищенное свойство

protected IntelArchitecture,Reko.Arch.X86 arch
Результат IntelArchitecture