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.678 ]
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
Algoritmo de Raiz Quadrada Inteira em Assembly Puro para Linux x86 (NASM - Netwide Assembler)
Escrita de um número em decimal na tela em Assembly Puro para Linux x86 (Nasm - Netwide Assembly)
Simples JIT (just in time) em C
"Clear Screen" para Linux x86 em Assembly Puro (Nasm - Netwide Assembler)
Escrita de um número em decimal na tela em Assembly Puro para Linux x86 (GNU 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
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?
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)
Secure boot, artigo interessante, nada técnico. (4)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)









