Escrita de um número em hexadecimal na tela em Assembly Puro para Linux x86 (Nasm - Netwide Assemble
Publicado por Perfil removido (última atualização em 08/04/2013)
[ Hits: 7.109 ]
Método semelhante à da escrita em decimal do outro código já postado em: http://www.vivaolinux.com.br/script/Escrita-de-um-numero-em-decimal-na-tela-em-Assembly-Puro-para-Li...
Há uma versão para este mesmo método de escrita em hexadecimal feita para o GNU Assembly (estilo AT&T), já publicada. Para uma melhor comparação das diferenças entre os dois modelos de codificação: http://www.vivaolinux.com.br/script/Escrita-de-um-numero-em-hexadecimal-na-tela-em-Assembly-Puro-par...
A diferença é a de trocar a string dos caracteres de escrita decimal "0123456789" pela string dos caracteres de escrita em hexadecimal "0123456789abcdef".
E trocar o valor do divisor, que é 10, por 16.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Comentários: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; nasm -f elf hexadecimal001.asm ; ld -s hexadecimal001.o -o hexadecimal001 ; 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, 0x10 div ecx add edx, digit push edx cmp eax, 0x00 jg _empilha _escreve: mov eax, 0x04 mov ebx, 0x01 pop ecx mov edx, 0x01 int 0x80 cmp ecx, nl jne _escreve _fim: mov eax, 0x01 int 0x80 section .rodata digit db "0123456789abcdef" nl db `\n` valor equ 4952488
Algoritmo de Raiz Quadrada Inteira em Assembly Puro para Linux x86 (NASM - Netwide Assembler)
"Clear Screen" para Linux x86 com Inline Assembly (embutido no código) em C
Nenhum coment�rio foi encontrado.
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Quebra de linha na data e hora no Linux Mint
Organizando seus PDF com o Zotero
tentando instalar em um notebook antigo o Linux LegacyOS_2023... [RESO... (9)
Problema com Conexão Outlook via Firewall (OpenSUSE) com Internet Fibr... (5)