Interface StalkerX86Iterator

Generates machine code for x86.

Hierarchy

Properties

Methods

dispose flush keep next putAddRegImm putAddRegNearPtr putAddRegReg putAndRegReg putAndRegU32 putBreakpoint putBytes putCallAddress putCallAddressWithAlignedArguments putCallAddressWithArguments putCallIndirect putCallIndirectLabel putCallNearLabel putCallReg putCallRegOffsetPtr putCallRegOffsetPtrWithArguments putCallRegWithAlignedArguments putCallRegWithArguments putCallout putClc putCld putCmpImmPtrImmU32 putCmpRegI32 putCmpRegOffsetPtrReg putCmpRegReg putCpuid putDecReg putDecRegPtr putIncReg putIncRegPtr putJccNear putJccNearLabel putJccShort putJccShortLabel putJmpAddress putJmpNearLabel putJmpNearPtr putJmpReg putJmpRegOffsetPtr putJmpRegPtr putJmpShortLabel putLabel putLeaRegRegOffset putLeave putLfence putLockCmpxchgRegPtrReg putLockDecImm32Ptr putLockIncImm32Ptr putLockXaddRegPtrReg putMovFsU32PtrReg putMovGsU32PtrReg putMovNearPtrReg putMovRegAddress putMovRegBaseIndexScaleOffsetPtr putMovRegFsU32Ptr putMovRegGsU32Ptr putMovRegNearPtr putMovRegOffsetPtrReg putMovRegOffsetPtrU32 putMovRegPtrReg putMovRegPtrU32 putMovRegReg putMovRegRegOffsetPtr putMovRegRegPtr putMovRegU32 putMovRegU64 putMovdquEaxOffsetPtrXmm0 putMovdquXmm0EspOffsetPtr putMovqEaxOffsetPtrXmm0 putMovqXmm0EspOffsetPtr putNop putNopPadding putPadding putPause putPopReg putPopax putPopfx putPushImmPtr putPushNearPtr putPushReg putPushU32 putPushax putPushfx putRdtsc putRet putRetImm putS8 putShlRegU8 putShrRegU8 putStc putStd putSubRegImm putSubRegNearPtr putSubRegReg putTestRegReg putTestRegU32 putU8 putXchgRegRegPtr putXorRegReg reset

Properties

Memory location of the first byte of output.

Memory location of the next byte of output.

offset: number

Current offset in bytes.

Program counter at the next byte of output.

Methods

  • Eagerly cleans up memory.

    Returns void

  • Resolves label references and writes pending data to memory. You should always call this once you've finished generating code. It is usually also desirable to do this between pieces of unrelated code, e.g. when generating multiple functions in one go.

    Returns void

  • Returns void

  • Puts an OS/architecture-specific breakpoint instruction.

    Returns void

  • Puts a CALL instruction referencing labelId, defined by a past or future putLabel().

    Parameters

    • labelId: string

    Returns void

  • Puts a CALL instruction referencing labelId, defined by a past or future putLabel().

    Parameters

    • labelId: string

    Returns void

  • Puts a CLC instruction.

    Returns void

  • Puts a CLD instruction.

    Returns void

  • Puts a CPUID instruction.

    Returns void

  • Puts a JMP instruction referencing labelId, defined by a past or future putLabel().

    Parameters

    • labelId: string

    Returns void

  • Puts a JMP instruction referencing labelId, defined by a past or future putLabel().

    Parameters

    • labelId: string

    Returns void

  • Puts a label at the current position, where id is an identifier that may be referenced in past and future put*Label() calls.

    Parameters

    • id: string

    Returns void

  • Puts a LEAVE instruction.

    Returns void

  • Puts an LFENCE instruction.

    Returns void

  • Puts a MOVDQU EAX XMM0 instruction.

    Parameters

    • offset: number

    Returns void

  • Puts a MOVDQU XMM0 ESP instruction.

    Parameters

    • offset: number

    Returns void

  • Puts a MOVQ EAX XMM0 instruction.

    Parameters

    • offset: number

    Returns void

  • Puts a MOVQ XMM0 ESP instruction.

    Parameters

    • offset: number

    Returns void

  • Puts a NOP instruction.

    Returns void

  • Puts n NOP instructions.

    Parameters

    • n: number

    Returns void

  • Puts n guard instruction.

    Parameters

    • n: number

    Returns void

  • Puts a PAUSE instruction.

    Returns void

  • Puts a POPAX instruction.

    Returns void

  • Puts a POPFX instruction.

    Returns void

  • Puts a PUSH instruction.

    Parameters

    • immValue: number

    Returns void

  • Puts a PUSHAX instruction.

    Returns void

  • Puts a PUSHFX instruction.

    Returns void

  • Puts an RDTSC instruction.

    Returns void

  • Puts a RET instruction.

    Returns void

  • Puts a RET instruction.

    Parameters

    • immValue: number

    Returns void

  • Puts an int8.

    Parameters

    • value: number

    Returns void

  • Puts a STC instruction.

    Returns void

  • Puts a STD instruction.

    Returns void

  • Puts a uint8.

    Parameters

    • value: number

    Returns void

Generated using TypeDoc