( Extraction de la racine carree d'un entier de 32 bits en assembleur. Version 1.00 du 12 Novembre 2000. Ecrit par jpb.forth . ) TELECHARGEMENT ( Ce programme necessite le telechargement prealable de l'assembleur 68000. ) DECIMAL FORGET SQRT RAZ_ASSEMBLEUR : SQRT ( n --> n' ) [ ASSEMBLEUR ; Le sommet de la pile est dans le registre D7 CLR.L D6 ; Le registre D6 contient le resultat initialise a 0 MOVEQ #15,D5 ; Le registre D5 sert a la fois d'indice de boucle et de masque SQRT0 BSET D5,D6 ; Le bit numero "D5" de D6 est mis a 1 MOVE D6,D4 ; Copie du contenu du registre D6 dans D4 MULU D4,D4 ; Calcul du carre de D4 CMP.L D7,D4 ; Comparaison du contenu de D4 avec celui de D7 BLS.S SQRT1 BCLR D5,D6 ; Le bit numero "D5" de D6 est remis a 0 si D4 est strictement superieur a D7 SQRT1 SUBQ #1,D5 BPL.S SQRT0 ; L'extraction de la racine est terminee lorsque l'indice de boucle est negatif MOVE.L D6,D7 ; Transfert de la racine carree au sommet de la pile END ] ; ( FIN )