Algoritmo de Raiz Quadrada Inteira em Assembly Puro para Linux x86 (GNU Assembler)
Publicado por Perfil removido (última atualização em 01/08/2012)
[ Hits: 6.457 ]
Algoritmo de obtenção de raiz quadrada inteira em assembly puro para Linux.
Sem uso de alguma instrução para a operação ou algoritmo iterativo que necessite de valores de ponto flutuante.
############################################################################################ # Comentários: ############################################################################################ # # as raizquadrada001.s -o raizquadrada001.o # ld -s raizquadrada001.o -o raizquadrada001 # a opção -s no linkeditor faz "strip -s" automaticamente # ############################################################################################ .section .rodata valor: .long 4097 .section .text .globl _start _start: movl valor, %ebx xorl %ecx, %ecx _separa: movl %ebx, %eax andl $0x03, %eax pushl %eax incl %ecx shrl $0x02, %ebx cmpl $0x00, %ebx jg _separa xorl %eax, %eax xorl %ebx, %ebx _raiz: popl %edx shll $0x02, %ebx addl %edx, %ebx shll $0x01, %eax movl %eax, %edx shll $0x01, %edx incl %edx cmpl %edx, %ebx jl _zero subl %edx, %ebx addl $0x01, %eax _zero: decl %ecx cmpl $0x00, %ecx jg _raiz pushl $0x0a xorl %ebx, %ebx movl $4, %ebx _empilha: xorl %edx, %edx movl $10, %ecx divl %ecx addl $0x30, %edx pushl %edx addl $4, %ebx cmpl $0, %eax jg _empilha _escreve: movl %ebx, %edx movl %esp, %ecx movl $1, %ebx movl $4, %eax int $0x80 _fim: popl %eax addl %eax, %esp xorl %ebx, %ebx movl $1, %eax int $0x80
Escrita de número em binário em Assembly Puro para Linux 64 bits (Nasm - Netwide Assembler)
Retorna o maior elemento de um vetor
"Clear Screen" para Linux 64 bits em Assembly Puro (GNU Assembly)
Escrita de número em decimal em Assembly Puro para Linux 64 bits (Nasm - Netwide Assembler)
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como quebrar senha usando john the ripper
[Resolvido] VirtualBox can't enable the AMD-V extension
Como verificar a saúde dos discos no Linux
Como instalar , particionar, formatar e montar um HD adicional no Linux?
Não consigo instalar distro antiga no virtualbox nem direto no hd (22)
Podem me chamar de 1mbecil :) [RESOLVIDO] (29)









