Jump to content
Jagware
Sign in to follow this  
GT Turbo

Division signé dans les procs (Dsp, Gpu)

Recommended Posts

cts    0

Bah non, au pire y'a que le dividende négatif, alors je fais ça:

 

 

 

MACRO	IDIV	a,b

 

abs

 

jr CC,.pos~

 

div a,

 

neg

 

.pos~:

 

ENDM

 

 

 

 

ex pour les polygones pour calcul dx/dy, on s'arrange pour que dy soit positif (cas de l'inversion point haut/point bas du segment)

 

 

 

ou pour la normalistation d'un vecteur, vx=vx/||v|| vy=vy/||v|| vz=vz/||v|| , la norme du vecteur v ||v|| est forcement positive.

 

 

 

J'suis jamais tombé sur un cas positif/negatif

 

 

 

Mais pitet qu'avec un XOR sur le bit de signe, on peut modifier la macros ci-dessus pour changer le signe du quotient seulement si -/+ ou +/-

 

 

 

 

 

GT va nous arranger ça...

Share this post


Link to post
Share on other sites
cts    0

bon, allez, j'my colle:

 

 

 

 

; r0=dividende

 

; r1=diviseur

 

 

 

move r0,r2

 

xor r1,r2

 

abs r0

 

abs r1

 

abs r2 ; bit de poids fort à 1 si une des operande est négative

 

jr CC,.positif

 

div r1,r0

 

neg r0

 

.positif:

 

 

 

 

me semble correct...

Share this post


Link to post
Share on other sites
GT Turbo    5
cts :


me semble correct...





Pour ma part aussi, pour ceux qui ont pas encore l'habitude des sauts (Jr, Jump) faut savoir que l'instruction suivante est toujours exécuté quelque soit la condition du saut donc le div est toujours exécuté, le neg r0 ne sera exécuté que que si la condition de saut n'est pas bonne.



GT ;)



P.S. :
GT va nous arranger ça...
Meme pas eu le temps ^_^

Share this post


Link to post
Share on other sites
Azrael    0

Merci CTS !

 

 

 

En 3D, dans le calcul de la matrice de changement de base tu n'as jamais eu de division negative ? En fait il se peut que le determinant a calculer soit toujours positif.

Share this post


Link to post
Share on other sites
Guest
You are commenting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoticons maximum are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×