Trabalho em assembly

indygente

Membro
Boas,
Sou estudante e tenho um trabalho a realizar na minha faculdade,que é em assembly,sou iniciante nisso e tenho ,muitas dúvidas.
Desde já agradeço as respostas...

Trabalho:
Implemente, na linguagem assembly do LC-3 um programa de cifra que
cumpra os seguintes requisitos:
Entrada:
O programa deve pedir ao utilizador que introduza os dados através do teclado
de acordo com as regras seguintes:
• O “prompt” será: Escreva uma mensagem. Quando acabar prima a
tecla <Enter>:
• Usando o teclado, o utilizador introduzirá uma cadeia de caracteres,
terminando a mensagem com a tecla <Enter>. Esta tecla - <Enter> - não
faz parte da mensagem mas terá de ser ecoada na consola.
• Pode assumer que a mensagem do utilizador terá, no máximo, 20
caracteres – incluindo espaços.
Nota 1: Para ler caracteres continuamente a partir do teclado, só apresentando
os caracteres no fim de todos serem introduzidos, use a TRAP x20 (GETC). Se
executar a TRAP x21 (OUT) após a TRAP x20, o character sera ecoado para o
écran.
Output: O seu programa deve escrever a mensagem cifrada no écran e depois
parar a execução (HALT).
Atenção:
A primeira linha do seu programa deve especificar o endereço de memória da
primeira instrução do seu programa. Neste trabalho deve carregar o seu
programa no endereço x3000 (i.e. a primeira linha do seu programa deve ser:
ORIG x3000).
icon_cry.gif


Aquilo que já fiz:

.ORIG x3000
LEA R0, PROMPT
PUTS
CONTADOR .FILL x0020
VALOR .FILL x0004

LD R2, VALOR
LD R4, CONTADOR
LOOP
GETC
ADD R1, R0, #0
ADD R0, R0, R2
OUT
ADD R4, R4, #-1
BRp LOOP ; SAI DO LOOP

HALT

PROMPT .stringz "Escreva uma mensagem. Quando acabar prima a tecla <Enter>"
.END

Apenas não está a fazer o que é pedido no ponto onde diz que sai com a tecla "enter", neste caso sai quando chega aos 20 caracteres
Fora isso tá a rodar, só não consegui descobrir como detectar a tecla "enter" .
tentei com o código ascii da tecla e não funcionou não consegui perceber porque.


Obrigado!
Bruno
 
Back
Topo