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.502 ]
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
Intercessão entre dois vetores em Assembly
Escrita de um número em hexadecimal na tela em Assembly Puro para Linux x86 (Nasm - Netwide Assemble
Escrita de um número em octal na tela em Assembly Puro para Linux x86 (GNU Assembly)
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (16)
Arch Linux - Guia para Iniciantes (2)
Problemas ao instalar o PHP (11)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)