; algorithme de calcul de la racine carrée ; DECI nombreR,d LDA nombreR,d CALL RACINE DECO racine,d STOP ; ;RACINE: effectue la racine carrée ; ; Passage des paramètres par le registre A ; ; IN: reg A : nombre à extraire ; reg X : quelconque ; ; OUT: reg A : racine carrée ; reg X : 0 ; RACINE: STA nombreR,d ; nombre à extraire LDA 0,i ; initialise la racine carree STA racine,d CPA nombreR,d BRGE FINRAC suivanT: LDA racine,d ADDA 1,i STA racine,d LDX racine,d ; initialise le multiplicateur LDA 0,i ; initialise le produit multI: ADDA racine,d SUBX 1,i BRNE multI ; fin de la multiplication lorsque le nombre d'occurrences = 0 CPA nombreR,d BREQ FINRAC ; fin du calcul lorsque produit = nombre BRLT suivanT ; calcul suivant lorsque produit < nombre SUBA nombreR,d CPA racine,d BRLT FINRAC ; fin lorsque produit - nombre < racine carree LDA racine,d ; arrondir lorsque produit - nombre >= racine carree SUBA 1,i STA racine,d FINRAC: LDA racine,d RET0 nombreR: .BLOCK 2 ; #2d nombre racine: .BLOCK 2 ; #2d racine carrée .END