mirror of
https://gitee.com/Lyon1998/pikapython.git
synced 2025-01-29 17:22:56 +08:00
add locals for runasm line
This commit is contained in:
parent
f578997f2a
commit
c84147a098
@ -166,9 +166,9 @@ TEST(VM, JEZ) {
|
||||
args_setErrorCode(sysRes, 0);
|
||||
args_setSysOut(sysRes, (char*)"");
|
||||
Parameters* globals = New_TinyObj(NULL);
|
||||
lineAddr = pikaVM_runAsmLine(self, globals, pikaAsm, lineAddr);
|
||||
lineAddr = pikaVM_runAsmLine(self, globals, pikaAsm, lineAddr);
|
||||
lineAddr = pikaVM_runAsmLine(self, globals, pikaAsm, lineAddr);
|
||||
lineAddr = pikaVM_runAsmLine(self, globals, globals, pikaAsm, lineAddr);
|
||||
lineAddr = pikaVM_runAsmLine(self, globals, globals, pikaAsm, lineAddr);
|
||||
lineAddr = pikaVM_runAsmLine(self, globals, globals, pikaAsm, lineAddr);
|
||||
__clearInvokeQueues(globals);
|
||||
obj_deinit(self);
|
||||
args_deinit(sysRes);
|
||||
@ -190,8 +190,8 @@ TEST(VM, JMP) {
|
||||
args_setErrorCode(sysRes, 0);
|
||||
args_setSysOut(sysRes, (char*)"");
|
||||
Parameters* globals = New_TinyObj(NULL);
|
||||
lineAddr = pikaVM_runAsmLine(self, globals, pikaAsm, lineAddr);
|
||||
lineAddr = pikaVM_runAsmLine(self, globals, pikaAsm, lineAddr);
|
||||
lineAddr = pikaVM_runAsmLine(self, globals, globals, pikaAsm, lineAddr);
|
||||
lineAddr = pikaVM_runAsmLine(self, globals, globals, pikaAsm, lineAddr);
|
||||
__clearInvokeQueues(globals);
|
||||
obj_deinit(self);
|
||||
args_deinit(sysRes);
|
||||
@ -214,9 +214,9 @@ TEST(VM, JMP_back1) {
|
||||
args_setErrorCode(sysRes, 0);
|
||||
args_setSysOut(sysRes, (char*)"");
|
||||
Parameters* globals = New_TinyObj(NULL);
|
||||
lineAddr = pikaVM_runAsmLine(self, globals, pikaAsm, lineAddr);
|
||||
lineAddr = pikaVM_runAsmLine(self, globals, pikaAsm, lineAddr);
|
||||
lineAddr = pikaVM_runAsmLine(self, globals, pikaAsm, lineAddr);
|
||||
lineAddr = pikaVM_runAsmLine(self, globals, globals, pikaAsm, lineAddr);
|
||||
lineAddr = pikaVM_runAsmLine(self, globals, globals, pikaAsm, lineAddr);
|
||||
lineAddr = pikaVM_runAsmLine(self, globals, globals, pikaAsm, lineAddr);
|
||||
__clearInvokeQueues(globals);
|
||||
obj_deinit(self);
|
||||
args_deinit(sysRes);
|
||||
|
@ -514,6 +514,7 @@ int32_t getAddrOffsetFromJmp(char* start, char* code, int32_t jmp) {
|
||||
|
||||
int32_t pikaVM_runAsmLine(PikaObj* self,
|
||||
Parameters* globals,
|
||||
Parameters* locals,
|
||||
char* pikaAsm,
|
||||
int32_t lineAddr) {
|
||||
Args* buffs = New_strBuff();
|
||||
@ -595,7 +596,7 @@ Parameters* pikaVM_runAsmWithPars(PikaObj* self,
|
||||
break;
|
||||
}
|
||||
char* thisLine = pikaAsm + lineAddr;
|
||||
lineAddr = pikaVM_runAsmLine(self, globals, pikaAsm, lineAddr);
|
||||
lineAddr = pikaVM_runAsmLine(self, globals, locals, pikaAsm, lineAddr);
|
||||
char* sysOut = args_getSysOut(globals->attributeList);
|
||||
uint8_t errcode = args_getErrorCode(globals->attributeList);
|
||||
if (!strEqu("", sysOut)) {
|
||||
|
@ -16,6 +16,7 @@ int32_t gotoLastLine(char* start, char* code);
|
||||
int getThisBlockDeepth(char* start, char* code, int* offset);
|
||||
int32_t pikaVM_runAsmLine(PikaObj* self,
|
||||
Parameters* globals,
|
||||
Parameters* locals,
|
||||
char* pikaAsm,
|
||||
int32_t lineAddr);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user