Assembler 8086 - Simples código que mostra horas e minutos em pontos

Publicado por Perfil removido (última atualização em 23/03/2010)

[ Hits: 14.439 ]

Download horas.asm.txt




Olá pessoal!

Comecei a brincar com Assembler 8086. Aqui na universidade utilizamos a int 21h do DOS. Gostaria de conhecer uma que a substitui no GNU/Linux (quem souber por favor me informe! rsrsr).

O programa a seguir mostra na tela o horário através de pontos. Ex.:

6:12

...... 6 pontos
............ 12 pontos

  



Esconder código-fonte

.model small
.stack
.data
ponto db ".$"
pula_linha db "", 10, 13, "$"
.code

imprime_ponto proc
    mov ax, seg ponto
    mov ds, ax
    lea dx, ponto
    mov ah, 09h
    WHILE_PONTO:
    int 21h
    loop WHILE_PONTO
    ret   
imprime_ponto endp

imprime_pula_linha proc
    mov ax, seg pula_linha
    mov ds, ax
    lea dx, pula_linha
    mov ah, 09h
    int 21h
    ret   
imprime_pula_linha endp

principal proc
    mov cx, 10
    WHILE:
    push cx
    call imprime_ponto
    call imprime_pula_linha
    pop cx
    loop WHILE
    mov ax, 4C00h
    int 21h
principal endp

end principal

Scripts recomendados

Escrita de um número em binário na tela em Assembly Puro para Linux x86 (GNU Assembly)

Escrita de um número em hexadecimal na tela em Assembly Puro para Linux x86 (GNU Assembly)

Expressão matemática em C

Fatorial em assembly

Inverter uma string, Assembly8086


  

Comentários
[1] Comentário enviado por cleberjsantos em 20/03/2010 - 13:30h

Opa Ewerton,

Bem legal ;) sou louco por coisas desse tipo, tanto que há algum tempo postei no meu site http://www.cleberjsantos.com.br/linux/assembler-no-linux">http://www.cleberjsantos.com.br/linux/assembler-no-linux um artigo sobre assembler no Linux, como ainda no tive muito tempo eu não fiz mais artigos sobre e também não postei mais exemplos, mas veja se o link abaixo ajuda com o 21h ;)

http://www.cin.ufpe.br/~if817/arquivos/asmtut/quickstart.html

Att,
Cleber J Santos
http://www.cleberjsantos.com.br

[2] Comentário enviado por andrezc em 20/03/2010 - 18:41h

[*****]! Matou a pau ;)

[3] Comentário enviado por elgio em 20/03/2010 - 19:50h

Eu já mexi muito com assembler: http://gravatai.ulbra.tche.br/~elgio/ulbra/graduacao/arquit2/alarme.asm

[4] Comentário enviado por removido em 22/03/2010 - 16:33h

Pessoal, me desculpe a falha. Postei o código errado. Vou enviar novamente e assim que for publicado passo o link novamente aqui

[5] Comentário enviado por Relue em 22/03/2010 - 21:17h

O CODIGO ESTA ERRADO,
ELE EXECUTA:
10 PONTOS NUMA LINHA
9 PONTOS NA OUTRA LINHA
8 PONTOS NA PROXIMA LINHA
...
ATE
1 PONTO NUMA LINHA

[6] Comentário enviado por removido em 04/05/2010 - 00:44h

Olá Relue!
Baixe a nova versão postada.
Essa tem o código correto! Grato pela observação :D


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts