[NEWBIE] Petit Probleme ! Aidez moi !

Résolu
xaminou Messages postés 10 Date d'inscription mercredi 1 janvier 2003 Statut Membre Dernière intervention 22 août 2007 - 28 déc. 2004 à 11:57
CoreBreaker Messages postés 540 Date d'inscription dimanche 23 mars 2003 Statut Membre Dernière intervention 5 octobre 2007 - 14 janv. 2005 à 23:45
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

cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
5 janv. 2005 à 16:24
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.

@++
3
Nukleos Messages postés 31 Date d'inscription vendredi 31 décembre 2004 Statut Membre Dernière intervention 31 juillet 2008
3 janv. 2005 à 21:26
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 ?
0
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
7 janv. 2005 à 12:09
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.
0
CoreBreaker Messages postés 540 Date d'inscription dimanche 23 mars 2003 Statut Membre Dernière intervention 5 octobre 2007 1
14 janv. 2005 à 23:45
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
0
Rejoignez-nous