При попытке запустить тестовые сценарии и тестовые программы ВМ в эмуляторе ВМ, всякий раз, когда программа пытается получить доступ к локальному регистру, эмулятор выдает ошибку Out of segment space
. Даже работает очень простой код, такой как:
function Main.main 1
push constant 5
pop local 0
эмулятор все равно выдает Out of segment space error
. Несмотря на то, что я инициализирую локальные регистры с 1 в конце функциональной строки, в разделе «local» эмулятора не отображаются регистры, показывающие локальные регистры, и при попытке перехода к локальному 0 возникает ошибка Out of segment space
. выбрасывается, это означает, что недостаточно места для всплытия на локальный 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
.
Что заставляет эмулятор выдавать эту ошибку?