Итак, сначала это описание программы: Программа будет имитировать простую игру в угадайку. Ответом на игру в угадайку всегда будет 6. Программа будет постоянно просить пользователя угадать число от 0 до 9. Пользователь вводит догадку с клавиатуры. Если предположение больше 6; программа должна вывести: Слишком большой. Если догадка меньше 6; программа должна вывести: Слишком маленький. Когда пользователь, наконец, угадает правильно, программа выдаст: Правильно! Вы сделали # предположения. где # — количество догадок, сделанных пользователем. Если после 9 угадываний пользователь не угадал число правильно, программа должна вывести: Игра окончена. Правильный ответ: 6. Вам не нужно проверять неверный ввод (буквы, знаки препинания и т. д.).
Это ошибка, которую я получаю: Строка 43: Ожидаемая метка или 9-битное смещение ПК со знаком, но вместо этого найдено «R3». И вот мой код:
.ORIG X3000
LD R2, SIX
LD R3, COUNTER
IN
ADD R1, R0, #0
ADD R0, R1, R2
BRn TOOLOW
BRp TOOHIGH
BRz GG
AGAIN:
IN
ADD R1, R0, #0
ADD R0, R1, R2
BRn TOOLOW
BRp TOOHIGH
BRz GG
TOOLOW:
LEA R0, LOW
PUTS
ADD R1, R0, #0
ADD R3, R3, #1
ADD R0, R3, #-9
BRn AGAIN
BRz LOSE
TOOHIGH:
LEA R0, HIGH
PUTS
ADD R1, R0, #0
ADD R3, R3, #1
ADD R0, R3, #-9
BRn AGAIN
BRz LOSE
GG:
ADD R3, R3, #1
LEA R0, WIN
PUTS
LEA R0, R3
PUTS
LEA R0, WIN2
PUTS
HALT
LOSE:
LEA R0, GAMEOVER
PUTS
HALT
SIX .FILL #-54
COUNTER .FILL #0
LOW .STRINGZ "Too small."
HIGH .STRINGZ "Too big."
WIN .STRINGZ "Correct! You took "
WIN2 .STRINGZ " guesses."
GAMEOVER .STRINGZ "Game over. Correct answer is 6."
.END
Итак, как я могу исправить ошибку? Заранее спасибо.