Escrita de um número em binário na tela em Assembly Puro para Linux x86 (GNU Assembly)
Publicado por Perfil removido (última atualização em 25/02/2013)
[ Hits: 7.670 ]
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: ############################################################################################ # # as binario001.s -o binario001.o # ld -s binario001.o -o binario001 # a opção -s no linkeditor faz # "strip -s" automaticamente # ############################################################################################ .section .rodata digit: .ascii "01" nl: .ascii "\n" valor: .long 4952488 .section .text .globl _start _start: pushl $nl movl valor, %eax _empilha: xorl %edx, %edx movl $2, %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
Simples JIT (just in time) em C
Escrita de número em octal em Assembly puro para Linux 64 bits (NASM - Netwide Assembler)
Escrita de um número em binário na tela em Assembly Puro para Linux x86 (Nasm - Netwide Assembler)
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
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Linux é a solução para o fim do Windows10? [RESOLVIDO] (6)
Assinador JNLP do Site Portal da Nota Fiscal Eletrônica (0)
Programa fora de escala na tela do pc (29)









