Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

putoj

Pequena Duvida em Assembler

Mensagens Recomendadas

putoj

Boas!

Basicamente este programa serve para ler as teclas do teclado e conta-las.. Tá aqui a dar um pequeno erro :S

Alguem ajuda?

ORG 100h

.model small

.stack

.data

Ins_Frase db "INSIRA UMA FRASE (MAXIMO 10 CARACTERS)",0

string db 6 DUP (?)

Invertida db "INVERTENDO A FRASE FICA:",0

.code

.startup

mov si,offset string

mov cx,0* * ;contador de teclas

LER_TECLAS:

mov ah,00* * ** ;espera que um caracter seja primido

int 16h

cmp al,13* * * * ** ;se for o enter

je FIM_LER_TECLAS** ;se for igual

cmp al,8* ** ;verifica se o caracter ‚ o backspace

je APAGA_CHAR* * ** ;se for temos que apagar o caracter

cmp cx,9* * * * * * ;se o contador tiver a 5(caracteres)

jb beep* * * ;da um beep

inc cx* * * ;mais um caracter

mov [si],al* * * * ;mete o caracter na string

inc si

*

mov ah,14* * * * ;imprime o caracter no ecran

int 10h

jmp LER_TECLAS

APAGA_CHAR:

cmp cx,0** ;verificamos se já foi inserido algum caracter

je beep* * ;se não da um beep

dec si*

dec cx* ** ;decrementa um valor ao contador

mov al,8** ;para recuar uma posi‡ao o cursor

mov ah,14

int 10h

**

mov al,32* ;mete um espa‡o em branco

mov ah,14

int 10h

mov al,8** ;para recuar uma posi‡ao o cursor

mov ah,14

int 10h

jmp LER_TECLAS* ** ;volta po inicio a espera de novo caracter

beep:

mov al,7

mov ah,14

int 10h

jmp LER_TECLAS

FIM_LER_TECLAS:

mov al,0

mov [si],al

end

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.