3 #include "AsmHelperBase.h"
4 #include "../Include/Macro.h"
13 BLACKBONE_API ~AsmHelper64(
void );
19 virtual void GenPrologue(
bool switchMode =
false );
26 virtual void GenEpilogue(
bool switchMode =
false,
int retSize = 0 );
34 virtual void GenCall(
const AsmVariant& pFN,
const std::vector<AsmVariant>& args, eCalligConvention cc = cc_stdcall );
55 eReturnType rtype = rt_int32 );
72 _assembler.mov( asmjit::host::rdx, asmjit::host::dword_ptr_abs( 0x30 ).setSegment( asmjit::host::gs ) );
76 AsmHelper64(
const AsmHelper64& ) =
delete;
77 AsmHelper64& operator = (
const AsmHelper64&) =
delete;
84 void PushArg(
const AsmVariant& arg,
size_t index );
92 template<
typename _Type>
93 void PushArgp(
const _Type& arg,
size_t index,
bool fpu =
false );
Definition: AsmHelper64.h:9
virtual void GenEpilogue(bool switchMode=false, int retSize=0)
Generate function epilogue code
Definition: AsmHelper64.cpp:46
virtual void EnableX64CallStack(bool state)
Set stack reservation policy on call generation
Definition: AsmHelper64.cpp:167
General purpose assembly variable
Definition: AsmVariant.hpp:16
virtual void GenPrologue(bool switchMode=false)
Generate function prologue code
Definition: AsmHelper64.cpp:21
virtual void SaveRetValAndSignalEvent(size_t pSetEvent, size_t ResultPtr, size_t EventPtr, size_t lastStatusPtr, eReturnType rtype=rt_int32)
Save return value and signal thread return event
Definition: AsmHelper64.cpp:132
Assembly generation helper
Definition: AsmHelperBase.h:48
virtual void GenCall(const AsmVariant &pFN, const std::vector< AsmVariant > &args, eCalligConvention cc=cc_stdcall)
Generate function call
Definition: AsmHelper64.cpp:71
virtual void SetTebPtr()
Move TEB pointer into rdx
Definition: AsmHelper64.h:69
virtual void ExitThreadWithStatus(uint64_t pExitThread, size_t resultPtr=0)
Save rax value and terminate current thread
Definition: AsmHelper64.cpp:110
Definition: AsmHelper32.cpp:6