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