la fpu marche avec une pile
tu empile avec fld/fild, tu depile avec fstp/fistp
la pile est nomme via st. par exemple, st(0) correspond au dessus de la pile (TOS), st(1) au deuxieme element etc jusqu'a st(7)
les operations utilisent toujours le premier element de la pile
exemple :
fadd st(1) => st(0) += st(1)
pour les operations non commutative, tu dispose des fonctions "R"
exemple :
fsub st(1) => st(0) -= st(1)
fsubr st(1) => st(0) = st(1) - st(0)
C'est bien pratique
Pour terminer, tu as les fonctions "P" (pop)
par exemple :
faddp => tmp = st(0) = st(1), vire st(0) et st(1) de la pile, empile tmp
exemple culcul :
a = b + c -d;
fld c; //empile c
fsub d; //soustrait d au TOS
fadd b //ajoute b au TOS
fstp a; //stocke le TOS dans a et depile
Message édité par chrisbk le 16-04-2003 à 11:17:36