25.07.2018, 20:51
Quote:
The problem is in heapalloc.inc include the line 331..
But i don't think this is the real problem, I believe there are more debugs... |
line 331:
Код:
static Malloc_SolidifyHeap() { if (YSI_g_sHeapSetup == 2) return 1; ++YSI_g_sHeapSetup; #emit LCTRL 3 #emit MOVE.alt #emit SCTRL 5 #emit SCTRL 4 // Set the original stack pointer. // Call to save "stk" and "frm", since they aren't in early builds. #emit PUSH.C 0 #emit SYSREQ.C heapspace // The pre-processor can't touch this. #emit STACK 4 // Unfortunately, "heapspace" has a parameter pushed first so it saves the // wrong stack value (the value 4 below where it should be). The only other // opcode that reliably saves "stk" in "amx->stk" without trying to call a // native function is "OP_RETN", so let's BADLY invoke it! Note that we // still need the "heapspace" call (or any function call) to save "hea" and // "frm", which are NOT saved by "OP_RETN" but are by "OP_SYSREQ_C". #emit PUSH.C 0 // No parameters #emit LCTRL 6 // Return to the next instruction... #emit ADD.C 20 #emit PUSH.pri #emit PUSH.alt // Same frame. #emit RETN // "return" to here... #emit HALT 12 return 0; //line 331 }