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

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

Intercessão entre dois vetores em Assembly

Escrita de um número em octal na tela em Assembly Puro para Linux 64 bits (GNU Assembler)

Inverter uma string, Assembly8086

Fibonnaci de N em Assembly

Simples JIT (just in time) em C


  

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