Как отобразить другое приглашение, когда пользователь нажимает клавишу ввода?

Я пишу программу, которая в конечном итоге переводит слова на свиную латынь, и до сих пор я сохранял символы пользовательского ввода в отдельных ячейках памяти (слова могут быть не более 19 символов).

Теперь я хочу напечатать еще одно приглашение, когда пользователь нажимает клавишу ввода (после того, как он закончит вводить свое слово на английском языке). Я просмотрел несколько примеров и увидел, что в нижней части программы есть строка «NEWLINE .FILL x00A». Я понимаю, что это код ASCII для клавиши ввода, но я не уверен, как сообщить моей программе, что после нажатия «Ввод» необходимо отобразить другое приглашение. Любые советы или идеи приветствуются!

.ORIG x3000
START ST R1,SAVER1
ST R2,SAVER2
ST R3,SAVER3


LEA R1,PROMPT          ; loading the address of the first character of prompt
LOOP LDR R0,R1,#0      ; loading the first character into R0
BRz INPUT              ; if at 0, or at the end of the string, (.STRINGZ initializes length+1 memory locations, 
                       ; last location being 0), then go to instruction labeles "INPUT"; else go to next instructio



L2 LDI R3,DSR          ; loading the display status register into R3
BRzp L2                ; if display status register is not clear (meaning monitor is still processing char), then load DSR again
STI R0,DDR             ; store R0 into DDR's memory location
ADD R1,R1,#1           ; increment prompt address so that we can move through the string until the end
BRnzp LOOP             ; this will go to the LOOP instruction no matter what


LEA R4,ENGLWORD
INPUT GETC              ; now that user has typed, read char into R0
OUT                     ; write char in R0 to console
STR R0,R4,#0
ADD R4,R4,#1
BRnzp INPUT



LD R1,SAVER1           ; restore R1 to original value
LD R2,SAVER2           ; restore R2 to original value
LD R3,SAVER3           ; restore R3 to original value


SAVER1 .BLKW 1         ; allocates 1 memory location for SAVER1
SAVER2 .BLKW 1         ; allocates 1 memory location for SAVER2
SAVER3 .BLKW 1         ; allocates 1 memory location for SAVER3
ENGLWORD .BLKW 19


ENTER .FILL x0A

PROMPT .STRINGZ "English word: "          ; initializes a sequence of stringLength+1 memory locations to hold string
DSR .FILL xFE04                           
DDR .FILL xFE06
KBSR .FILL xFE00
KBDR .FILL xFE02
HALT
.END

person Michelle    schedule 09.04.2015    source источник
comment
Я не знаком с симулятором (?), в котором вы это запускаете, но мне кажется, что вы должны следить за значением 13 (возврат каретки) в цикле, где вы читаете пользовательский ввод. Как только вы получите этот символ, вы выйдете из цикла и отобразите другое приглашение, как вы показали первое приглашение.   -  person Michael    schedule 09.04.2015
comment
Благодарю вас! Я не понимаю, как проверить значение 13, могу ли я использовать инструкцию BR ??   -  person Michelle    schedule 09.04.2015
comment
@Майкл, можешь взглянуть на это? stackoverflow .com/questions/29981266/   -  person committedandroider    schedule 01.05.2015