Escrita de um número em binário na tela em Assembly Puro para Linux x86 (Nasm - Netwide Assembler)
Publicado por Perfil removido (última atualização em 02/08/2012)
[ Hits: 6.183 ]
Este programa utiliza-se da pilha por causa da reordenação dos dígitos após a divisões.
Do modo como foi escrito, trabalha com variáveis locais. Não são tão adequadas ou elegantes como algum tipo de variável local ou pilha, mas facilita a compreensão para se ter uma visão intuitiva do programa.
Conforme os restos são obtidos, são empilhados e ao término são desempilhados conforme vai sendo feita a impressão de cada dígito.
O último item a ser desempilhado é o endereço de um "new line", ponteiro para '\n' definido antecipadamente no código.
A interrupção de escrita trabalha com endereços de memória do que se deseja que seja enviado para uma saída, no caso a tela.
Este caractere identifica o final da escrita dos dígitos.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Comentários: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; nasm -f elf binario001.asm ; ld -s binario001.o -o binario001 ; 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, 0x02 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 "01" nl db `\n` valor equ 4952488
Relógio em assembly NES 8 bits (variante do 6502)
codigo em assembley que soma dois numeros
Escrita de um número em decimal na tela em Assembly Puro para Linux 64 bits (GNU Assembly)
Escrita de um número em binário na tela em Assembly Puro para Linux x86 (GNU Assembly)
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Mint Xfce não mantém a conexão no wi-fi (2)
Problemas com Driver NVIDIA (5)
Warcraft II Remastered no Linux? (8)









