ABSZISSE ARRAY[0..9] of REAL // Die X-ACHSE Muß (!) aufsteigend eingegeben werden
ORDINATE ARRAY[0..9] of REAL // Die Y-ACHSE
* EINGANG *
WERT_X REAL
* AUSGANG *
WERT_Y REAL
* Temp *
Rette1 DWORD
Step WORD
Programm:
// Rette das Adressreg
TAR1 #Rette1
L 0
T #Step
L 9 // keine 10 Sonst gibts ja keine 2 Stützpunkte
SLZ: L #step // Adresse 'Ordinate'
SLD 3 // Mach Pointer
LAR1
L D[AR1,P#0]
L #WERT_X
<=R
SPB RECH // Ist der Wert-X kleiner od gleich Rechnen
L #Step
L 1
LOOP SLZ // Sonst setze die Schleife fort
RECH: L Step
T #Wert_Y // Erstmal Differenz Zwischenspeichern
L D[AR1,P#4] // Den Größeren X-Wert laden
L D[AR1,P#0] // Den kleineren
-R
T #Wert_Y // Erstmal Differenz Zwischenspeichern
L D[AR1,P#44] // Den Größeren Y-Wert laden
L D[AR1,P#40] // Den kleineren
-R
L #Wert_Y
/R // Jetzt hat man die Steigung
T #Wert_Y
L #Wert_X
L D[AR1,P#0]
-R // Und den Abstand zum Ersten Stützpunkt
L #Wert_Y
*R // Das ist dann jetzt der Abstand auf der Y-Achse
L D[AR1,P#40]
+R
T #Wert_Y // Rückschreiben Adressreg
L #Rette1
LAR1
BE