ramwurzel

Aus ProgrammingWiki
Archivierte Version vom 2012-05-22T15:14:46+00:00. Aktuelle Version
NrMethodeBemerkung
|
0
R0 = 3R0 = n (Berechnung Wurzel von 3)
|
1
R2 = 1R2 = fixer Wert für Inkrement/Dekrement
|
2
R1 += R2R1 = aktuelle Testvariable
|
3
R3 = R1R3 = dekrementierter Wert bei Multiplikation
|
4
R4 = 0R4 = Summe bei Multiplikation
|
5
IFZERO R3 GOTO 9Quadratzahl des aktuellen Testwerts gebildet?
|
6
R4 += R1Aufsummierung für Multiplikation
|
7
R3 -= R2Dekrementierung des Multiplikation-Zählers
|
8
GOTO 5
|
9
R5 = R0Begin des Tests, ob gebildete Quadratzahl größer als n
|
10
IFZERO R5 GOTO 15Wenn n kleiner gleich gebildete Quadratzahl
|
11
IFZERO R4 GOTO 2gebildete Quadratzahl noch nicht groß genug. Mit nächsten Testkandidaten fortfahren
|
12
R4 -= R2gebildete Quadratzahl dekrementieren
|
13
R5 -= R2n dekrementieren
|
14
GOTO 10
|
15
IFZERO R4 GOTO 17Ist gebildete Quadratzahl = n, dann Ergebnis direkt erreicht.
|
16
R1 -= R2Ansonsten muss gebildete Quadratzahl "abgerundet" werden
|
17
R0 = R1Ergebnis in Rückgaberegister schreiben.

Test mit 4:

Sijeheid_RAM_Wurzel_4.jpg

Test mit 5:

Sijeheid_RAM_Wurzel_5.jpg