Update all new Tasks
This commit is contained in:
parent
00a190b0a6
commit
91df62d461
5697 changed files with 93386 additions and 804 deletions
38
Task/Machine-code/PureBasic/machine-code.purebasic
Normal file
38
Task/Machine-code/PureBasic/machine-code.purebasic
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
Procedure MachineCodeVirtualAlloc(a,b)
|
||||
*vm = VirtualAlloc_(#Null,?ecode-?scode,#MEM_COMMIT,#PAGE_EXECUTE_READWRITE)
|
||||
If(*vm)
|
||||
CopyMemory_(*vm,?scode,?ecode-?scode)
|
||||
eax_result=CallFunctionFast(*vm,a,b)
|
||||
VirtualFree_(*vm,0,#MEM_RELEASE)
|
||||
ProcedureReturn eax_result
|
||||
EndIf
|
||||
EndProcedure
|
||||
|
||||
rv=MachineCodeVirtualAlloc(7,12)
|
||||
MessageRequester("MachineCodeVirtualAlloc",str(rv)+space(50),#PB_MessageRequester_Ok)
|
||||
|
||||
#HEAP_CREATE_ENABLE_EXECUTE=$00040000
|
||||
|
||||
Procedure MachineCodeHeapCreate(a,b)
|
||||
hHeap=HeapCreate_(#HEAP_CREATE_ENABLE_EXECUTE,?ecode-?scode,?ecode-?scode)
|
||||
If(hHeap)
|
||||
CopyMemory_(hHeap,?scode,?ecode-?scode)
|
||||
eax_result=CallFunctionFast(hHeap,a,b)
|
||||
HeapDestroy_(hHeap)
|
||||
ProcedureReturn eax_result
|
||||
EndIf
|
||||
EndProcedure
|
||||
|
||||
rv=MachineCodeHeapCreate(7,12)
|
||||
MessageRequester("MachineCodeHeapCreate",str(rv)+space(50),#PB_MessageRequester_Ok)
|
||||
End
|
||||
|
||||
; 8B442404 mov eax,[esp+4]
|
||||
; 03442408 add eax,[esp+8]
|
||||
; C20800 ret 8
|
||||
|
||||
DataSection
|
||||
scode:
|
||||
Data.c $8B,$44,$24,$04,$03,$44,$24,$08,$C2,$08,$00
|
||||
ecode:
|
||||
EndDataSection
|
||||
Loading…
Add table
Add a link
Reference in a new issue