Я пытаюсь сделать простую программу с использованием архитектуры LC-3. Все, что я пытаюсь сделать, это прочитать строку из консоли, каким-то образом сохранить ее в памяти, а затем распечатать обратно.
Это то, что у меня есть до сих пор
; This program attemps to read a string and then output it
.orig x3000
and r1,r1,0
lea r0,prompt
puts
loop:
getc
putc
add r4,r4,1
ld r7,nlcomp ; check for
add r7,r7,r0 ; end of line
brz finish
st r0,lets
br loop
finish:
lea r0,lets
puts
halt
lets: .blkw 20
prompt: .stringz "Emter String"
nlcomp .fill xfff6
.end
Вывод отображает только последний символ в строке. Если бы я ввел «стив», я бы распечатал «е».
Очевидно, моя проблема в том, что мне нужно каким-то образом сохранить каждый символ, который я читал, в свою собственную ячейку памяти. Я думал, что использование .blkw сделает это, но, по-видимому, все, что он делает, это перезаписывает биты, которые находятся в этой позиции.
МОЙ вопрос: как хранить символы в последовательных ячейках памяти, а затем распечатывать их на консоли?