Ошибка вне сегмента с помощью скрипта по умолчанию 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,

Что заставляет эмулятор выдавать эту ошибку?

0 ответов

Другие вопросы по тегам