Я пытаюсь сделать простую программу с использованием архитектуры 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 сделает это, но, видимо, все, что он делает, переписывает биты, которые находятся в этой позиции.
МОЙ вопрос: как хранить символы в последовательных ячейках памяти, а затем распечатывать их на консоли?