Escrita de um número em decimal na tela em Assembly Puro para Linux x86 (GNU Assembler)

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

[ Hits: 6.726 ]

Download decimal001.s




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:
####################################
#
#    as decimal001.s -o decimal001.o
#    ld -s decimal001.o -o decimal001
#    a opção -s no linkeditor faz 
#     "strip -s" automaticamente
#
####################################

.section      .rodata

   digit:   .ascii   "0123456789"
   nl:   .ascii   "\n"
   valor:   .long   4952488

.section   .text         
.globl       _start         

_start:   

   pushl   $nl
   movl   valor,   %eax

_empilha:

   xorl    %edx,   %edx
   movl   $10,   %ecx
   divl   %ecx
   addl   $digit,   %edx
   pushl   %edx
   cmpl    $0,    %eax
   jg    _empilha

_escreve:

   movl    $4,    %eax         
   movl    $1,    %ebx         
   popl    %ecx
   movl    $1,    %edx
   int    $0x80

   cmpl   $nl,   %ecx
   jne   _escreve

_fim:

   movl    %eax,    %ebx
   movl    $1,    %eax
   int    $0x80

Scripts recomendados

Árvore binária de busca em Assembly - com comentários

GAS Informações do sistema

Inverter uma string, Assembly8086

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

Retorna o maior elemento de um vetor


  

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