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

Publicado por Ewerton Daniel de Lima (última atualização em 23/03/2010)

[ Hits: 14.272 ]

Download horas.asm.txt

Download Horas.asm (versão 2)




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

  



Versões atualizadas deste script

Versão 2 - Enviado por Ewerton Daniel de Lima em 22/03/2010

Changelog: Agora sim, mandei o arquivo correto. rsrsrs

Grande abraço! :D

Download Horas.asm


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 número em binário em Assembly Puro para Linux 64 bits (Nasm - Netwide Assembler)

Retorna a diferença entre dois vetores em Assemly

Algoritmo de Raiz Quadrada Inteira em Assembly Puro para Linux x86 (NASM - Netwide Assembler)

GAS "Hello World" o número de vezes definido pelo usuário

Escrita de número em octal em Assembly puro para Linux 64 bits (NASM - Netwide Assembler)


  

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 ewertondaniel 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 ewertondaniel 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