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
出力には、文字列の最後の文字のみが表示されます。「steve」と入力すると、「e」が出力されます
明らかに私の問題は、読み込んだ各文字を独自のメモリ位置に保存する必要があることです。.blkw を使用するとこれが行われると思っていましたが、明らかにその位置にあるビットを上書きします。
私の質問は、文字を連続したメモリ位置に保存してからコンソールに出力する方法です。