65 lines
895 B
C
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
|