NAND2Тетрис Хак
Как мне пропустить 2 команды в хаке, если я не знаю точную строку нет. из которого код я хочу перейти к.
например.
30.@33
31.D;JGT
32.M=M-1
33.M=M+1
Но я не знаю, линия нет. Сейчас я нахожусь на (30), я просто хочу пропустить следующую строку кода (2 шага вперед вместо 1), если D;JGT выполнен.
1 ответ
Решение
Используйте символическую метку:
@your_label
D;JGT
M=M+1
M=M+1
(your_label)
Ассемблер выяснит адрес your_label и вставит его в @-op. Вам не нужно отслеживать, по какому адресу вы находитесь.