Don't backup esi/edx registers as there's no way of adjusting variable position on the stack, yet
This commit is contained in:
parent
acb126e162
commit
487647645e
@ -447,9 +447,9 @@ namespace pim
|
|||||||
int arg3 = CSPop().Integer;
|
int arg3 = CSPop().Integer;
|
||||||
int arg2 = CSPop().Integer;
|
int arg2 = CSPop().Integer;
|
||||||
int arg1 = CSPop().Integer;
|
int arg1 = CSPop().Integer;
|
||||||
std::cout << arg1 << std::endl;
|
//std::cout << arg1 << std::endl;
|
||||||
std::cout << arg2 << std::endl;
|
//std::cout << arg2 << std::endl;
|
||||||
std::cout << arg3 << std::endl;
|
//std::cout << arg3 << std::endl;
|
||||||
nativeFunction(arg1, arg2, arg3);
|
nativeFunction(arg1, arg2, arg3);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -12,8 +12,8 @@ namespace pim
|
|||||||
unsigned char * esi = new unsigned char[1024*1024];//malloc(1024*1024);
|
unsigned char * esi = new unsigned char[1024*1024];//malloc(1024*1024);
|
||||||
esi += 512;
|
esi += 512;
|
||||||
|
|
||||||
emit("52"); //push edx
|
//emit("52"); //push edx
|
||||||
emit("56"); //push esi
|
//emit("56"); //push esi
|
||||||
|
|
||||||
emit("BE"); //mov esi, machineStack
|
emit("BE"); //mov esi, machineStack
|
||||||
emit((intptr_t)esi);
|
emit((intptr_t)esi);
|
||||||
@ -273,8 +273,8 @@ namespace pim
|
|||||||
emitPlaceholder(argument.Integer);
|
emitPlaceholder(argument.Integer);
|
||||||
break;
|
break;
|
||||||
case Opcode::Return:
|
case Opcode::Return:
|
||||||
emit("5E"); //pop esi
|
//emit("5E"); //pop esi
|
||||||
emit("5A"); //pop edx
|
//emit("5A"); //pop edx
|
||||||
emit("C3"); //ret
|
emit("C3"); //ret
|
||||||
break;
|
break;
|
||||||
case Opcode::Leave:
|
case Opcode::Leave:
|
||||||
|
Reference in New Issue
Block a user