Autor Tema: Numero Primos ASM  (Leído 339 veces)

4ng3r

  • IQ
  • Mensajes: 145
    • Ver Perfil
    • 4ng3r Blog
    • Email
Numero Primos ASM
« : marzo 11, 2010, 08:45:14 am »
hace rato que no programaba a lo vieja guardia  ;D

Código: (asm) [Seleccionar]
[code=asm].model small
           .stack 100h
           .data
numero     dw  2
i          db  2
nuax       dw  ?
fila       db  0
colu       db  40
salida     db  4 dup(20h),"$"
           .code
primos     proc  near
           mov   ax,@data
           mov   ds,ax
           call  borre
           call  hacer
           call  salir
           endp

salir      proc  near
           mov  ah,07
           int  21h
           mov  ax,4c00h
           int  21h
           ret
           endp
borre      proc near
           mov  ax,0600h
           mov  bh,13
           mov  cx,00
           mov  dx,184fh
           int  10h
           ret
           endp
hacer      proc near
uac:       mov  ax,numero
           mov  bh,i
           mov  nuax,ax
divida:    div  bh
           cmp  ah,0
           je   otro
           inc  bh
           mov  ax,nuax
           jmp  divida
otro:      mov  cl,bh
           mov  ch,00
           cmp  cx,nuax
           jne  repita
           ;se  edita el numero
           mov  ax,nuax
           mov  cx,10
           lea  si,salida+3
nuevo:     cmp  ax,cx
           jb   termino
           xor  dx,dx
           div  cx
           or   dl,30h
           mov  [si],dl
           dec  si
           jmp  nuevo
termino:   or   al,30h
           mov  [si],al
           mov  ah,02
           mov  bh,00
           mov  dh,fila
           mov  dl,colu
           int  10h
           mov  ah,09
           lea  dx,salida
           int  21h
           inc  fila
repita:    inc  numero
           cmp  numero,100
           ja   pare
           jmp  uac
pare:      ret
           endp
           end primos
[/code]

Phicar

  • :P
  • Administrador
  • Mensajes: 283
  • (1+sqrt(5))/2
    • MSN Messenger - diego_villahacker@hotmail.com
    • Ver Perfil
    • Phicar's Blog
    • Email
Re: Numero Primos ASM
« Respuesta #1 : marzo 11, 2010, 12:06:38 pm »
por lo que veo haces maso esto?

int numero;
for(numero =2;n<=100;n++)
for(i = 2;i<=numero;i++)
if(numero%i==0)return false;
return true;

usas tambien interrupciones de windows...

todas esas son preguntas porque hace rato no programo en AsM


joder, podrias hacerlo mas rapido con unas cuantas cosas, pero esta super bien organizado :)
:)

my.opera.com/phicar