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.279 ]
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.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; 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
Quadrado de um número em assembly
Retorna o maior elemento de um vetor
Nenhum comentário foi encontrado.
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
Solução rápida para o problema do Network Manager conectar mas não navegar
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
estou com um erro no pacman (9)
Erro na atualização dos apps na barra de tarefas (7)