[NEWBIE] Petit Probleme ! Aidez moi ! [Résolu]

Signaler
Messages postés
10
Date d'inscription
mercredi 1 janvier 2003
Statut
Membre
Dernière intervention
22 août 2007
-
Messages postés
540
Date d'inscription
dimanche 23 mars 2003
Statut
Membre
Dernière intervention
5 octobre 2007
-
Voila , jaimerai cree une fonction qui calcule la suite suivante :
Xn+1=Xn + (Xn2 or 5) qui prend en paramètre (dans la pile) l'adresse d'un nombre Xn en 16 bits , et calcule Xn+1 , le resultat sera place à la place du nombre passé en paramétre , merci d'avance pour vos suggestions .

4 réponses

Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
1
salut,

calc16:;(pNombre:WORD)
push bp
mov bp,sp
push si
mov si,[bp+4]
mov ax,[si]
add ax,ax
or ax,5
add ax,[bp+4]
mov [si],ax
pop si
pop bp
ret


calc32:;(pNombre:DWORD)
mov edx,[esp+4]
mov eax,[edx]
add eax,eax
or eax,5
add eax,[edx]
mov [edx],eax
ret


on comprends vite pourquoi arreter le 16bits.

@++
Messages postés
31
Date d'inscription
vendredi 31 décembre 2004
Statut
Membre
Dernière intervention
31 juillet 2008

Petites mises au clair:
Xn2 = (Xn)^2 ?
or = OU logique ?
Quel environnement pour ce sous-programme 16 bits ou 32 bits ?

Merci pour ces compléments d'informations.

Patrick

P.S. : Quelle fonction étrange. Une sorte de Random ?
Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
1
oups, dans calc16 remplacer
add ax,[bp+4] par add ax,[si]
c qu'au debut, je croyais que ct le nombre qui etait passe en param.
Messages postés
540
Date d'inscription
dimanche 23 mars 2003
Statut
Membre
Dernière intervention
5 octobre 2007
1
Si Xn2=Xn2
Et or est le ou binaire
Alors:



<HR>
suite
push bp
mov bp, sp
push bx
mov bx, [bp+4]
mov ax, [bx]
imul ax
or ax, 5
add [bx], ax
leave
ret

<HR>




Core Breaker