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.204 ]

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

Expressão matemática em C

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

GAS Inteiro para String

Calculadora em C com Assembly (multiplataforma)

Algoritmo de Raiz Quadrada Inteira em Assembly Puro para Linux x86 (GNU Assembler)


  

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