Ir para conteúdo

ajuda programa assembly


jlucas1

Posts Recomendados

ola,eu preciso fazer um programa que receba frases ou palavras e imprima na tela essa frase ou palavra e fique em loop ate que o usuario de enter sem ter digitado nada,mas nao sei como fazer a parte de imprimir e ficar em loop,poderiam me ajudar?

.model small
.stack
.data

texto1 db "INSIRA UMA PALAVRA:",0
string 6 DUP (?)
texto2 db "SUAS PALAVRAS FORAM:",0
.code
.startup

;parte 1:imprimir
MOV si,offset texto1

IMPRIMIR:
MOV al,[si]
CMP al,0
JE IMPRIMIU
INC si
MOV ah,14
INT 10h
JMP IMPRIMIR
IMPRIMIU:

;parte 2:leitura do teclado
MOV si,offset string
MOV cx,0 ;numero

INPUT:
MOV ah,00 ;espera
INT 16h
CMP al,13 ;tecla enter
JE FIM_INPUT
CMP al,8 ;apagar
JE APAGAR
CMP cx,9 ;contador(talvez precise alterar)
INC cx ;++
MOV [si],al
INC si
MOV ah,14 ;mostrar a tecla precionada na tela
INT 10h
JMP INPUT

APAGAR:
CMP cx,0
JE beep
DEC si
DEC cx
MOV al,8
MOV ah,14
INT 10h

MOV al,32
MOV ah,14
INT 10h  
MOV al,8 ;recuar
MOV ah,14
INT 10h
JMP INPUT ;retorna ao input

beep:
MOV al,7
MOV ah,14
INT 10h
JMP INPUT

FIM_INPUT:
MOV al,0
MOV [si],al

;parte 3:fazer isso ir para a tela do usuario


MOV dh,2
MOV dl,0
MOV ah,2
INT 10h

 

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...