speichern eine Zeichenfolge von Zeichen in der Montage LC-3

Ich versuche, ein einfaches Programm mit dem LC-3-Architektur.
Alles was ich versuche zu tun ist, Lesen Sie einen string von der Konsole aus, irgendwie im Gedächtnis zu speichern, und dann drucken Sie es wieder aus.

Dies ist, was ich Bisher

; 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

Die Ausgabe zeigt nur das Letzte Zeichen in der Zeichenfolge. Wenn ich enter "steve" würde es ausdrucken "e"

Offensichtlich mein problem ist, dass ich irgendwie zu retten jeden char den ich lese, in seinen eigenen Speicher. Ich dachte mit dem .blkw dies zu tun wäre, aber anscheinend alle es tut, überschreiben der bits, die in dieser position.

MEINE Frage ist, wie Speichere ich chars in aufeinanderfolgenden Speicherbereichen und drucken Sie Sie aus der Konsole?

InformationsquelleAutor Cheesegraterr | 2011-11-30

Schreibe einen Kommentar