LC-3アーキテクチャを使用して簡単なプログラムを作成しようとしています。 私がやろうとしているのは、コンソールから文字列を読み込んで、何とかメモリに保存してから、それを印刷し直すことです。アセンブリの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を使ってこれを行うと思ったが、明らかにその位置にあるビットを上書きする。
私の質問はどのようにシーケンシャルメモリの場所に文字を格納し、それをコンソールに出力するのですか?
この作品。ちょうど試みた。あなたは私のために数時間の不満を救った。ありがとうございました。 – Madushan