Algoritmo de Raiz Quadrada Inteira em Assembly Puro para Linux x86 (NASM - Netwide Assembler)
Publicado por Perfil removido (última atualização em 18/08/2012)
[ Hits: 5.362 ]
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: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; nasm -f elf raizquadrada001.asm -o raizquadrada001.o ; ld -s raizquadrada001.o -o raizquadrada001 ; a opção -s no linkeditor faz "strip -s" automaticamente ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; section .text global _start _start: mov ebx, valor xor ecx, ecx _separa: mov eax, ebx and eax, 0x03 push eax inc ecx shr ebx, 0x02 cmp ebx, 0x00 jg _separa xor eax, eax xor ebx, ebx _raiz: pop edx shl ebx, 0x02 add ebx, edx shl eax, 0x01 mov edx, eax shl edx, 0x01 inc edx cmp ebx, edx jl _zero sub ebx, edx add eax, 0x01 _zero: dec ecx cmp ecx, 0x00 jg _raiz push 0x0a xor ebx, ebx mov ebx, 0x04 _empilha: xor edx, edx mov ecx, 0x0a div ecx add edx, 0x30 push edx add ebx, 0x04 cmp eax, 0x00 jg _empilha _escreve: mov edx, ebx mov ecx, esp mov ebx, 0x01 mov eax, 0x04 int 0x80 _fim: pop eax add esp, eax xor ebx, ebx mov eax, 0x01 int 0x80 section .rodata valor equ 4097
Calcula ano de nascimento - C + Assembly
"Clear Screen" para Linux x86 com Inline Assembly (embutido no código) em C
Escrita de um número em hexadecimal na tela em Assembly Puro para Linux 64 bits (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
Arch Linux - Guia para Iniciantes (2)
Problemas ao instalar o PHP (11)
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (15)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)