Сохранение результата в адресе памяти, хранящемся в регистре LC3 - PullRequest
0 голосов
/ 28 марта 2020

Я - полный новичок в сборке и LC3, но я пытаюсь создать программу, которая поместит значения (1-15) в массивоподобную структуру от x4000 до x4015. У меня проблемы с сохранением регистра в адрес памяти, который содержится в регистре. Вот что у меня есть, но я не ожидаю, что на самом деле что-то из этого работает должным образом, с основной проблемой, связанной с STI:

.ORIG x3000
LEA R1, start
AND R0, R0, #0
AND R2, R2, #0
ADD R4 R2, #-15
ADD R3, R2, R4
BRz #5
STI R3, R1
ADD R0, R0, #1
ADD R1, R1, #1
ADD R2, R2, #1
BRnzp #-8
TRAP x27

start .fill x4000
.END

Приведенный код не компилируется с ошибкой "Строка 8 : Ожидаемая метка или 9-битное смещение P C со знаком, но вместо этого найдено «R1» (строка 8 - STI R3, R1). Не помещая туда R1, я не уверен, как я могу использовать свой адрес.

Спасибо за помощь!

...