1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Trabalho em assembly

Discussão em 'Programação' iniciada por indygente, 11 de Dezembro de 2008. (Respostas: 0; Visualizações: 527)

  1. 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). [​IMG]

    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
     

Partilhar esta Página