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.081 ]
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 um número em octal na tela em Assembly Puro para Linux x86 (Nasm - Netwide Assembler)
Calcula ano de nascimento - C + Assembly
Escrita de um número em binário na tela em Assembly Puro para Linux 64 bits (GNU Assem
Soma dois números lidos da memória
Nenhum comentário foi encontrado.
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
E a guerra contra bots continua
Tradução do artigo do filósofo Gottfried Wilhelm Leibniz sobre o sistema binário
Conheça o firewall OpenGFW, uma implementação do (Great Firewall of China).
Instalando o FreeOffice no LMDE 6
Anki: Remover Tags de Estilo HTML de Todas as Cartas
Colocando uma opção de redimensionamento de imagem no menu de contexto do KDE
Não consigo acessar os modos de desempenho (2)
Ubuntu — tentando iniciar o windows? (0)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba