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

Publicado por Perfil removido (última atualização em 20/02/2015)

[ Hits: 4.474 ]

Download octal001.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 octal "01234567".
E trocar o valor do divisor, que é 2, por 8.

  



Esconder código-fonte

############################################################################################
#      Comentários:
############################################################################################
#
#    as octal001.s -o octal001.o
#    ld -s octal001.o -o octal001
#    a opção -s no linkeditor faz 
#     "strip -s" automaticamente
#
############################################################################################

.section      .rodata

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

.section   .text         
.globl       _start         

_start:   

   pushl   $nl
   movl   valor,   %eax

_empilha:

   xorl    %edx,   %edx
   movl   $8,   %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

Retorna o maior e menor elemento de um vetor em Assembly

Simples JIT (just in time) em C

"Clear Screen" para Linux x86 em Assembly Puro (Nasm - Netwide Assembler)

sdfgsd

Escrita de número em hexadecimal em Assembly Puro para Linux 64bits (Nasm - Netwide Assemble)


  

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