nand 2 tetris ASM "Экспрессия ожидается"

В настоящее время я пытаюсь завершить проект, найденный в главе 4 курса Нанд-Тетрис (Fill.asm). Однако Ассемблер выдает мне следующую ошибку:

"В строке 3 ожидается выражение"

Я не уверен, что я делаю неправильно... но ниже приведен фрагмент кода, который у меня есть:

@i
M=1
@sum
M=8192
(END)
@END
0,JMP

Может кто-нибудь сказать мне, почему я получаю эту ошибку в строке 3 (@sum)?

2 ответа

Я не знаю, почему в строке 3 появляется ошибка, но вы не можете напрямую установить значение для адреса памяти в строке 4. Вы можете принудительно установить "1" в ALU, как в строке 2, но там невозможно вывести из него "8192" без предварительного ввода. Сначала необходимо присвоить значение "8192" A-регистру, затем сохранить A-регистр в D-регистре, затем выбрать адрес памяти и сохранить там D-регистр.

Ошибка, которую вы видите, заключается в том, что вы не можете поместить значение "8192" непосредственно в @sum.

Вот код, который я написал, чтобы решить эту проблему:

@8192  // number of pixels on a screen divided by 16-bit address (256 x 512 / 16)
D=A    // D = total number of pixels
@sum
M=D    // assigns sum with value of 8192
Другие вопросы по тегам