Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

putoj

Pequena Duvida em Assembler

Recommended Posts

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.