Warning Nu esti autentificat. Te rog autentifica-te sau inregistreaza-te pentru a avea acces la toate facilitatile forumului.
SkullBox  
Noiembrie 23, 2008, 03:15:54 pm
Bine ai venit, Vizitator. Trebuie să te autentifici sau să îţi creezi un cont.
Ai pierdut sau nu ai primit emailul care conţine codul de activare al contului?

Autentifică-te cu numele de utilizator, parola şi precizează durata sesiunii.
Noutăţi: Gadgetinho - IT cu zambetul pe buze
 
 SkullBoxDirector webTutoriale  Pagina principală   Ajutor Caută Autentificare Creează un cont  
Pagini: [1]
  Imprimă  
Subiect: Verifica daca un numar e prim  (Citit de 873 ori)
0Utilizatori şi 1 Vizitatori
Shocker
Sr. Member
****
Deconectat Deconectat

Mesaje: 410



WWW
Verifica daca un numar e prim, Iunie 15, 2007, 05:02:54 pm

Cod:

ep db 'E prim',0
np db 'Nu e prim',0
nr dd 4         ;numarul care se va verifica

 start:
  mov eax, ep   ;pentru inceput baga in eax offset-ul mesajului "E prim"
  cmp [nr], 4   ;e numarul mai mic decat 4?
  jb @msg       ;daca da, atunci e prim, sari la mesajul cum ca "E prim"

  mov eax, [nr]
  mov edx, 0
  mov ecx, 2    ;ecx:=2, va lua valori de la 2 la (nr div 2)
  div ecx
  mov ebx, eax  ;EBX := nr div 2
  @loop:
  mov eax, [nr]
  mov edx, 0
  div ecx       ;nr div ECX
  cmp edx, 0    ;restul impartirii = 0 ?
  je @nuE       ;inseamna ca are divizori, deci nu e prim, sari la @nuE
  inc ecx
  cmp ecx, ebx  ;a ajuns ECX la (nr div 2) ?
  jb @loop      ;ecx < ebx? [ebx e nr div 2]... nu?sari inapoi la @loop
  mov eax, ep   ;daca a ajuns aici, atunci inseamna ca e prim
  jmp @msg      ;sari direct la mesaj

  @nuE:
  mov eax, np   ;daca a ajuns aici, inseamna ca nu e prim

  @msg:
  push 0
  push eax
  push eax
  push 0
  call [MessageBox]

  push 0
  call [ExitProcess]

 .end start        
Memorat


Just wake me up when everything's less overwhelming..., btw ShockingSoft is back !
Freakz only
Comics of the day
LeOCruX
Jr. Member
**
Deconectat Deconectat

Mesaje: 84


Verifica daca un numar e prim, Iunie 15, 2007, 06:13:33 pm

mi-ai luat-o inainte .... si eu voiam sa fac unu Smile
L.E. Shock.spunemi si mie exista vreo "procedura" prin care se citeste o variabila de la tastatura ? ( ca read in pascal, daca intelegi )
Memorat
DarkByte
Administrator
Hero Member
*****
Deconectat Deconectat

Mesaje: 2226



WWW
Verifica daca un numar e prim, Iunie 15, 2007, 07:28:41 pm

Din cate stiu, in ASM nu exista proceduri pentru citire numere de la tastatura.

Trebuie sa-ti faci o functie care, intr-o bucla, citeste caracterele de la tastatura (adica 0 este codul ASCII 48), verifici de BackSpace, Enter, si pe masura ce citesti cate un caracter (cifra) o adaugi la (sau o scoti din) numar ... cu grija, nu cu adunare Tongue

Bafta
Memorat

HostGator
Newbie
*
Mesaje: Multe

Reclamă cu aligatori
 

Ai auzit de aligatorul care ofera hosting?
 
   
Pagini: [1]
  Imprimă  
 
Schimbă forumul:  

Creat cu MySQL Creat cu PHP Ethical hacking and programming community Director web romanesc cu inscriere gratuita Validat cu XHTML 1.0! Validat cu CSS!
IPFind, FAQDB, LAMP.ro, Good Proxy, Aberez.EU, RoFreeSBIE, ShockingSoft.com, HostVision, Invatam.net, PC Troubleshooting, Curs valutar online
Powered by SMF 1.1.7 | SMF © 2006-2008, Simple Machines LLC
Traducerea în limba română © 2006-2007 www.smf.ro