Pular para o conteúdo

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

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
Perfil removido removido
Hits: 14.864 Categoria: C/C++ Subcategoria: Assembly
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

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
Download horas.asm.txt Enviar nova versão

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

Retorna o maior elemento de um vetor

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

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

Árvore binária de busca em Assembler 8086

GAS Uppercase

#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 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 ;)
#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

Entre na sua conta para comentar.