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.405 ]
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
"Clear Screen" para Linux x86 em Assembly Puro (Nasm - Netwide Assembler)
Retorna o maior e menor elemento de um vetor em Assembly
Nenhum comentário foi encontrado.
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
O programa assinador digital (1)
PIP3 - erro ao instalar módulo do mariadb para o Python (9)
É normal não gostar de KDE? (8)
dpkg: erro: gatilho de arquivo duplicado chamado pelo arquivo de nome (6)









