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.411 ]
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
Retorna o maior e menor elemento de um vetor em Assembly
Nenhum comentário foi encontrado.
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Linux Mint limitando rede a 20Mbps (6)
Jogando com Proton no LInux (0)
Ingress NGINX Controller CVSS base score of 9.8 (4)
Impossível corrigir problemas, você manteve (hold) pacotes quebrados. (2)