Ошибка вне сегмента с помощью скрипта по умолчанию VM Emulator Nand2Tetris
При попытке запустить тестовые сценарии и тестовые программы ВМ в эмуляторе ВМ, всякий раз, когда программа пытается получить доступ к локальному регистру, эмулятор выдает 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
,
Что заставляет эмулятор выдавать эту ошибку?