Escrita de um número em decimal na tela em Assembly Puro para Linux x86 (Nasm - Netwide Assembly)

Publicado por Perfil removido (última atualização em 22/04/2013)

[ Hits: 10.189 ]

Download decimal001.asm




Método semelhante à da escrita em binário do outro código.
A diferença é a de trocar a string dos caracteres de escrita binária "01" pela string dos caracteres de escrita em decimal "0123456789".
E trocar o valor do divisor, que é 2, por 10.

  



Esconder código-fonte

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;      Comentários:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
;    nasm -f elf decimal001.asm
;    ld -s decimal001.o -o decimal001
;    a opção -s no linkeditor faz 
;     "strip -s" automaticamente
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

section      .text         
global       _start         

_start:   

   push   nl
   mov   eax,   valor

_empilha:

   xor    edx,   edx
   mov   ecx,   10
   div   ecx
   add   edx,   digit
   push   edx
   cmp    eax,   0
   jg    _empilha

_escreve:

   mov    eax,   4         
   mov    ebx,   1         
   pop    ecx
   mov    edx,   1
   int    0x80

   cmp   ecx,   nl
   jne   _escreve

_fim:

   mov    eax,   1
   int    0x80

section      .rodata

   digit   db   "0123456789"
   nl   db   `\n`
   valor   equ   4952488

Scripts recomendados

Escrita de um número em hexadecimal na tela em Assembly Puro para Linux x86 (Nasm - Netwide Assemble

Inverter uma string, Assembly8086

Fibonnaci de N em Assembly

Simples JIT (just in time) em C

GAS Uppercase


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts