2010-01-16 3 views
6

Je ne sais pas grand-chose sur l'assemblage, mais je suis assez sûr qu'il existe des instructions de racine carrée sur le x86? J'essaie d'obtenir une fonction de racine carrée qui fonctionne bien dans la mousse et celle que j'ai trouvée s'enlise d'une façon ou d'une autre quand je la fais fonctionner plusieurs fois.La fonction de racine carrée dans Forth utilisant x86 Assemblée?

: sqrt-closer (square guess -- square guess adjustment) 
2dup/over - 2/
; 

: sqrt (square -- root) 
1 begin 
sqrt-closer dup 
while + repeat 
drop nip ; 
+0

'' mousse '' obfuscated-forth compte str = .' –

Répondre

4

Il existe une instruction de racine carrée à virgule flottante (FSQRT). C'est assez rapide, même si vous avez seulement besoin d'une racine carrée entière.

Questions connexes