当尝试在VM仿真器中运行测试脚本和测试VM程序时,只要程序尝试弹出到本地寄存器,仿真器都会引发 function Main.main 1
push constant 5
pop local 0
错误。即使运行非常简单的代码,例如:
Out of segment space error
模拟器仍然抛出Out of segment space
。即使我在功能行末尾用1初始化本地寄存器,模拟器的“ local”部分中也没有寄存器显示本地寄存器,并且当尝试弹出本地0时,{{1} }引发错误,这意味着没有足够的空间可以弹出到本地0。
即使尝试使用此.tst代码运行代码,也是如此:
load Main.vm,
output-file Main.out,
output-list sp%D2.4.2 CurrentFunction%S1.15.1 Argument[0]%D3.6.3
RAM[256]%D2.6.2;
set RAM[1] 700;
set sp 256;
repeat 7 {
vmstep;
}
output;
我通过将RAM [1]设置为寄存器号来定义本地段的开始,仿真器仍然抛出Out of segment space error
。
是什么导致模拟器引发此错误?