Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Entre para seguir isso  
EYES_ONLY

Assembly

Recommended Posts

eu preciso fazer 5 programinhas...

no 1º eu tenho q fazer o programa ler caracteres do teclado ate digitar o enter e depois imprimir na tela os caracteres na ordem inversa...

no 2º eu tenho q fazer a mesma coisa só q usando pilha...

no 3º eu tenho q tirar a media de 3 numeros de 0 a 9 e apresentar o resultado na tela...

no 4º a mesma coisa q o anterior só q com numeros de 0 a 99

e no 5º, elaborar um programa que leia valores inteiros de 2 matrizes 2X2 e apresentar na tela a matriz multiplicação delas...

valeu...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mensagem editada.

Motivo: conteúdo agressivo.

Gostaria de lembrar que é dever de todos os participantes do Fórum tratarem-se respeitosamente, evitando qualquer tipo de agressão.

Atitudes com esta fogem totalmente ao objetivo deste Fórum, que é o de ajudar e instruir participantes que tem dúvidas sobre assuntos relacionados à hardware/software.

À quem não puder ajudar, peço a gentileza de não atrapalhar.

Grato pela compreensão e cooperação.

Compartilhar este post


Link para o post
Compartilhar em outros sites

valeu pela ajuda cara...

assim você facilitou a minha vida...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz o primeiro exercicio os outros basta alterar umas coisinhas neste codigo

.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

;----------ESCREVE NO ECRAN "INSIRA UMA FRASE MAXIMO 10 LETRAS"-------------------

mov si,offset Ins_Frase

FRASE:

mov al,[si]

cmp al,0

je FIM_FRASE

inc si

mov ah,14

int 10h

jmp FRASE

FIM_FRASE:

;-------------------------------------------------------------------

;-----------METE O CURSOR NA 3¦LINHA E NA 1¦COLUNA-----------------

mov dh,2

mov dl,0

mov ah,2

int 10h

;------------------------------------------------------------------

;-----------------------FRASE INSIRIDA--------------------------------------

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)

já 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

;------------------------------------------------------------------------

;------------------METER OS CARACTERS NA STACK---------------------------

mov si,offset string

mov ax,0

push ax

PUSH_STACK:

mov ax,[si]

cmp al,0

je FIM_PUSH_STACK

push ax

inc si

jmp PUSH_STACK

FIM_PUSH_STACK:

;-------------------------------------------------------------------

;-------TIRA DA STACK E METE NA STRING(FICANDO TROCADA A INICIAL-----

mov si,offset string

mov ax,0

POP_STACK:

pop ax

cmp al,0

je FIM_POP_STACK

mov [si],al

inc si

jmp POP_STACK

FIM_POP_STACK:

mov [si],0

;-------------------------------------------------------------------

;-----------METE O CURSOR NA 5¦LINHA E NA 1¦COLUNA-----------------

mov dh,4

mov dl,0

mov ah,2

int 10h

;------------------------------------------------------------------

;----------ESCREVE NO ECRAN A STRING já ALTERADA-------------------

mov si,offset Invertida

INVERTIDA2:

mov al,[si]

cmp al,0

je FIM_INVERTIDA2

inc si

mov ah,14

int 10h

jmp INVERTIDA2

FIM_INVERTIDA2:

;-------------------------------------------------------------------

;-----------METE O CURSOR NA 5¦LINHA E NA 1¦COLUNA-----------------

mov dh,6

mov dl,0

mov ah,2

int 10h

;------------------------------------------------------------------

;----------ESCREVE NO ECRAN A STRING já ALTERADA-------------------

mov si,offset string

TROCADA:

mov al,[si]

cmp al,0

je FIM_TROCADA

inc si

mov ah,14

int 10h

jmp TROCADA

FIM_TROCADA:

;-------------------------------------------------------------------

.exit

end

Espero ter ajudado, alguma duvida poste aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×