elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
25 Mayo 2012, 01:47  


Tema destacado: [AIO elhacker.NET] Compilación herramientas análisis y desinfección malware

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  FASM numeros primos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: FASM numeros primos  (Leído 672 veces)
Leyer


Desconectado Desconectado

Mensajes: 772


[]


Ver Perfil WWW
FASM numeros primos
« en: 12 Enero 2012, 02:49 »

Bien practicando ASM se me ocurrio hacer un prorama para determinar los numeros primos menores al 900
Código
format PE console
include 'win32ax.inc'
entry start
.data
       sqrt dd 0  ;raiz
       msg db "%d primo",13,10,0
       count dd 10b;
.code
    start:
         bucle:
               stdcall isPrime,[count]
                .if edx <> 0 |  eax= 1
                    push [count]
                    push msg
                    call [printf]
                    add esp,8
                .endif
             inc [count]
             cmp [count],1110000100b
             je _wait
             jne bucle
    proc _sqrt,firshValue,secondValue
          mov edx,0     ;EDX = 0
          mov eax,[firshValue]  ;valor A
          mov ebx,[secondValue] ;valor B
          div ebx ;EAX=A/B
          ret
    endp
    proc isPrime,value
          stdcall _sqrt,[value],2 ;div
          mov [sqrt],eax ;sqrt = EAX
          mov ecx,2 ; index
          _loop:
               stdcall _sqrt,[value],ecx ;div
               inc ecx ;index++
               .if edx = 0 ;resto == 0
                   mov edx,0
                   ret
               .endif
               cmp ecx,[sqrt];
               jne _loop
               ret
      endp
_wait:
      invoke Sleep,-1 ;pause
section ".idata" import data readable writable
  library msvcrt,"msvcrt.dll",kernel32,"kernel32.dll"
  import kernel32,Sleep,"Sleep"
  import msvcrt,printf,"printf"

la pregunta es como se puede mejorar?

un saludo.


« Última modificación: 13 Enero 2012, 02:02 por Leyer » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
rsa y numeros primos
Criptografía
sulivan 1 2,859 Último mensaje 11 Octubre 2009, 00:11
por astaroth7
Números Primos
Programación C/C++
alfilblanco 4 1,498 Último mensaje 24 Octubre 2009, 23:34
por baron.power
numeros primos u.u
Programación C/C++
Darioxhcx 4 1,989 Último mensaje 2 Diciembre 2009, 20:37
por nicolas_cof
[Python 2.6] Funcion generadora de Numeros primos (5.761.455 primos en 19 seg)
Scripting
katas 2 3,624 Último mensaje 10 Marzo 2010, 01:50
por Novlucker
NUMEROS PRIMOS
Programación C/C++
alviera 4 1,621 Último mensaje 7 Diciembre 2010, 06:39
por N0body
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines