2025-02-05 15:00:15 +01:00

65 lines
895 B
C

#include "LOOP.h"
/*
// Subtract 1 function
PSTART
x[11] = x[1]; // z1 = x1
x[12] = x[2]; // z k+1 = x k+1
x[0] = x[1] - 1; // Pg
x[20] = 1; // y = 1
LOOP (x[12]) DO // loop z k+1
x[1] = x[11]; // x1 = z1
x[2] = x[20] - 1; // x k+1 = y - 1
x[3] = x[0]; // x k+2 = x0
x[0] = x[3]; // Ph
x[20] = x[20] + 1; // y += 1
END
PEND
*/
// Limited subtraction
PSTART
x[11] = x[1]; // z1 = x1
x[12] = x[2]; // z k+1 = x k+1
x[0] = x[1]; // Pg
x[20] = 1; // y = 1
LOOP (x[12]) DO // loop z k+1
x[1] = x[11]; // x1 = z1
x[2] = x[20] - 1; // x k+1 = y - 1
x[3] = x[0]; // x k+2 = x0
// Unterprogramm Ph
x[99] = 1; // Hilfsvar y
x[98] = 0; // Hilfsvar z
LOOP (x[1]) DO
x[99] = 0; // Wenn x != 0,
x[98] = 1; // werden die Hilfsvars gedreht
END
LOOP (x[99]) DO // Wenn x1 = 0
x[0] = 0; // x0 = 0
END
LOOP (x[98]) DO // Wenn x1 != 0
x[0] = x[1] - 1;
END
x[20] = x[20] + 1; // y += 1
END
PEND