2010-01-16 5 views
6

Ich weiß nicht viel über Assembly, aber ich bin mir ziemlich sicher, dass es auf dem x86 Quadratwurzelanweisungen gibt? Ich versuche eine Quadratwurzelfunktion zu bekommen, die gut in Schaum funktioniert und die, die ich gefunden habe, wird irgendwie steckengeblieben, wenn ich es oft benutze.Quadratwurzelfunktion in Forth mit x86 Assembly?

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

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

's" Schaum "verschleiert-vor zählen str = .' –

Antwort

4

Es gibt einen Gleitkomma-Quadratwurzelbefehl (FSQRT). Dies ist ziemlich schnell, selbst wenn Sie nur eine ganze Quadratwurzel benötigen.