' Logical equation solver\r
' made by Svjatoslav Agejenko\r
' in 2002\r
-' H-Page: svjatoslav.eu\r
-' E-Mail: svjatoslavagejenko@gmail.com\r
+' homepage: svjatoslav.eu\r
+' email: svjatoslav@svjatoslav.eu\r
\r
' Solves logical equations.\r
' AND OR XOR etc...\r
\r
SUB getp (a, b)\r
SELECT CASE a\r
-CASE 5\r
-b = 1\r
-CASE 3, 4\r
-b = 2\r
-CASE 2\r
-b = 3\r
-CASE 1\r
-b = 4\r
-CASE 40, 41\r
-b = 100\r
+ CASE 5\r
+ b = 1\r
+ CASE 3, 4\r
+ b = 2\r
+ CASE 2\r
+ b = 3\r
+ CASE 1\r
+ b = 4\r
+ CASE 40, 41\r
+ b = 100\r
END SELECT\r
END SUB\r
\r
SUB klea\r
FOR a = 1 TO 50\r
-a$ = INKEY$\r
+ a$ = INKEY$\r
NEXT a\r
END SUB\r
\r
\r
DIM muu(65 TO 122)\r
FOR a = 65 TO 122\r
-muu(a) = 0\r
+ muu(a) = 0\r
NEXT a\r
\r
muu(116) = 1\r
\r
nm = 0\r
FOR a = x1 TO x2\r
-b = tehe(a)\r
-IF ((b >= 65) AND (b <= 90)) OR ((b >= 97) AND (b <= 122)) THEN\r
-IF muu(b) = 0 THEN\r
-nm = nm + 1\r
-muun(nm) = b\r
-muu(b) = 1\r
-END IF\r
-END IF\r
+ b = tehe(a)\r
+ IF ((b >= 65) AND (b <= 90)) OR ((b >= 97) AND (b <= 122)) THEN\r
+ IF muu(b) = 0 THEN\r
+ nm = nm + 1\r
+ muun(nm) = b\r
+ muu(b) = 1\r
+ END IF\r
+ END IF\r
NEXT a\r
\r
muun(nm + 1) = 116\r
f = 2 ^ nm\r
tehl = f\r
FOR a = 1 TO nm\r
-d = 1\r
-e = 1\r
-f = f / 2\r
-FOR b = 1 TO 2 ^ nm\r
-IF e > f THEN d = -d: e = 1\r
-IF d = 1 THEN c = ASC("t") ELSE c = ASC("v")\r
-muut(a, b) = c\r
-e = e + 1\r
-NEXT b\r
+ d = 1\r
+ e = 1\r
+ f = f / 2\r
+ FOR b = 1 TO 2 ^ nm\r
+ IF e > f THEN d = -d: e = 1\r
+ IF d = 1 THEN c = ASC("t") ELSE c = ASC("v")\r
+ muut(a, b) = c\r
+ e = e + 1\r
+ NEXT b\r
NEXT a\r
\r
FOR a = 1 TO tehl\r
-muut(nm + 1, a) = 116\r
-muut(nm + 2, a) = 118\r
+ muut(nm + 1, a) = 116\r
+ muut(nm + 2, a) = 118\r
NEXT a\r
\r
nm = nm + 2\r
\r
DIM bck(0 TO 79)\r
FOR a = 0 TO 79\r
-bck(a) = tehe(a)\r
-xloc(a) = a\r
+ bck(a) = tehe(a)\r
+ xloc(a) = a\r
NEXT a\r
\r
LOCATE 5, 1\r
tee x1, x2 + a\r
\r
FOR a = 0 TO 79\r
-tehe(a) = bck(a)\r
+ tehe(a) = bck(a)\r
NEXT a\r
\r
FOR a = 1 TO tehl\r
-prn x2 + 1, a, 14, 0, CHR$(vast(a))\r
+ prn x2 + 1, a, 14, 0, CHR$(vast(a))\r
NEXT a\r
\r
\r
'BEEP\r
prnp = prnp + 1\r
FOR a = x1 TO x2 - l\r
-prn a, 0, 13, 1, CHR$(tehe(a))\r
+ prn a, 0, 13, 1, CHR$(tehe(a))\r
NEXT a\r
END SUB\r
\r
SUB mov (x1, n)\r
FOR a = 79 - n TO x1 STEP -1\r
-tehe(a + n) = tehe(a)\r
-xloc(a + n) = xloc(a)\r
+ tehe(a + n) = tehe(a)\r
+ xloc(a + n) = xloc(a)\r
NEXT a\r
END SUB\r
\r
SUB movm (x1, n)\r
FOR a = x1 TO 79 - n\r
-tehe(a) = tehe(a + n)\r
-xloc(a) = xloc(a + n)\r
+ tehe(a) = tehe(a + n)\r
+ xloc(a) = xloc(a + n)\r
NEXT a\r
END SUB\r
\r
\r
ln = 79\r
FOR a = 0 TO 79\r
-5\r
-IF tehe(a) = 32 OR tehe(a) = 0 THEN\r
-FOR b = a TO 78\r
-tehe(b) = tehe(b + 1)\r
-NEXT b\r
-ln = ln - 1\r
-IF ln <= a - 1 THEN GOTO 6\r
-GOTO 5\r
-END IF\r
+ 5\r
+ IF tehe(a) = 32 OR tehe(a) = 0 THEN\r
+ FOR b = a TO 78\r
+ tehe(b) = tehe(b + 1)\r
+ NEXT b\r
+ ln = ln - 1\r
+ IF ln <= a - 1 THEN GOTO 6\r
+ GOTO 5\r
+ END IF\r
NEXT a\r
6\r
\r
CLS\r
\r
FOR a = 0 TO ln\r
-prn a, 0, 13, 1, CHR$(tehe(a))\r
+ prn a, 0, 13, 1, CHR$(tehe(a))\r
NEXT a\r
\r
prn 0, 1, 7, 0, "Do you want to simplyfy it (unfinished so press N)"\r
klea\r
a$ = INPUT$(1)\r
IF a$ = "n" OR a$ = "N" THEN GOTO 24\r
-IF a$ = "y" OR a$ = "Y" THEN ELSE GOTO 23\r
+IF a$ = "y" OR a$ = "Y" THEN ELSE GOTO 23\r
a = 1\r
24\r
prn 0, 1, 7, 0, SPACE$(79)\r
y1 = (y + prnp) * 8\r
\r
FOR b = 1 TO LEN(a$)\r
-LINE (x1, y1)-(x1 + 7, y1 + 7), c1, BF\r
-d = ASC(RIGHT$(LEFT$(a$, b), 1))\r
-IF d > 122 THEN GOTO 22\r
-FOR y2 = 0 TO 7\r
-FOR x2 = 0 TO 7\r
-c2 = font(x2, y2, d)\r
-IF c2 > 0 THEN PSET (x1 + x2, y1 + y2), c\r
-NEXT x2\r
-NEXT y2\r
-22\r
-x1 = x1 + 8\r
+ LINE (x1, y1)-(x1 + 7, y1 + 7), c1, BF\r
+ d = ASC(RIGHT$(LEFT$(a$, b), 1))\r
+ IF d > 122 THEN GOTO 22\r
+ FOR y2 = 0 TO 7\r
+ FOR x2 = 0 TO 7\r
+ c2 = font(x2, y2, d)\r
+ IF c2 > 0 THEN PSET (x1 + x2, y1 + y2), c\r
+ NEXT x2\r
+ NEXT y2\r
+ 22\r
+ x1 = x1 + 8\r
NEXT b\r
\r
END SUB\r
a = x1\r
26\r
IF tehe(a) = 40 THEN\r
-IF a = x1 THEN p1 = 100 ELSE getp tehe(a - 1), p1\r
-c = a\r
-d = 1\r
-p2 = 0\r
-25\r
-c = c + 1\r
-IF tehe(c) = 40 THEN d = d + 1\r
-IF tehe(c) = 41 THEN d = d - 1\r
-IF d = 1 THEN\r
-IF (tehe(c) > 0) AND (tehe(c) <= 5) THEN\r
-getp tehe(c), b\r
-IF b > p2 THEN p2 = b\r
-END IF\r
-END IF\r
-IF d > 0 THEN GOTO 25\r
-IF c + 1 > x2 THEN p3 = 100 ELSE getp tehe(c + 1), p3\r
-\r
-IF (p1 > p2) AND (p3 >= p2) THEN\r
-movm c, 1\r
-movm a, 1\r
-l2 = l2 + 2\r
-x2 = x2 - 2\r
-a = a - 1\r
-END IF\r
+ IF a = x1 THEN p1 = 100 ELSE getp tehe(a - 1), p1\r
+ c = a\r
+ d = 1\r
+ p2 = 0\r
+ 25\r
+ c = c + 1\r
+ IF tehe(c) = 40 THEN d = d + 1\r
+ IF tehe(c) = 41 THEN d = d - 1\r
+ IF d = 1 THEN\r
+ IF (tehe(c) > 0) AND (tehe(c) <= 5) THEN\r
+ getp tehe(c), b\r
+ IF b > p2 THEN p2 = b\r
+ END IF\r
+ END IF\r
+ IF d > 0 THEN GOTO 25\r
+ IF c + 1 > x2 THEN p3 = 100 ELSE getp tehe(c + 1), p3\r
+\r
+ IF (p1 > p2) AND (p3 >= p2) THEN\r
+ movm c, 1\r
+ movm a, 1\r
+ l2 = l2 + 2\r
+ x2 = x2 - 2\r
+ a = a - 1\r
+ END IF\r
END IF\r
'NEXT a\r
a = a + 1\r
prn 0, 1, 3, 0, "example: a" + CHR$(1) + "b" + CHR$(2) + "(g" + CHR$(3) + "b)"\r
\r
FOR a = 0 TO 79\r
-tehe(a) = 0\r
+ tehe(a) = 0\r
NEXT a\r
\r
x = 0\r
1\r
FOR a = 0 TO 79\r
-IF a = x THEN prn a, 2, 14, 1, CHR$(tehe(a)) ELSE prn a, 2, 3, 0, CHR$(tehe(a))\r
+ IF a = x THEN prn a, 2, 14, 1, CHR$(tehe(a)) ELSE prn a, 2, 3, 0, CHR$(tehe(a))\r
NEXT a\r
2\r
a$ = INKEY$\r
IF x > 79 THEN x = 79\r
\r
IF LEN(a$) = 1 THEN\r
-SELECT CASE ASC(a$)\r
-CASE 32, 40, 41, 65 TO 90, 97 TO 122\r
-3\r
-FOR a = 78 TO x STEP -1\r
-tehe(a + 1) = tehe(a)\r
-NEXT a\r
-tehe(x) = ASC(a$)\r
-x = x + 1\r
-CASE 8\r
-IF x > 0 THEN\r
-FOR a = x - 1 TO 78\r
-tehe(a) = tehe(a + 1)\r
-NEXT a\r
-x = x - 1\r
-END IF\r
-CASE 49 TO 53\r
-a$ = CHR$(ASC(a$) - 48)\r
-GOTO 3\r
-CASE 13\r
-GOTO 4\r
-END SELECT\r
+ SELECT CASE ASC(a$)\r
+ CASE 32, 40, 41, 65 TO 90, 97 TO 122\r
+ 3\r
+ FOR a = 78 TO x STEP -1\r
+ tehe(a + 1) = tehe(a)\r
+ NEXT a\r
+ tehe(x) = ASC(a$)\r
+ x = x + 1\r
+ CASE 8\r
+ IF x > 0 THEN\r
+ FOR a = x - 1 TO 78\r
+ tehe(a) = tehe(a + 1)\r
+ NEXT a\r
+ x = x - 1\r
+ END IF\r
+ CASE 49 TO 53\r
+ a$ = CHR$(ASC(a$) - 48)\r
+ GOTO 3\r
+ CASE 13\r
+ GOTO 4\r
+ END SELECT\r
END IF\r
\r
GOTO 1\r
SCREEN 7\r
\r
FOR a = 0 TO 122\r
-LOCATE 1, 1\r
-SELECT CASE a\r
-CASE 7\r
-CASE 1\r
-LINE (0, 0)-(7, 7), 0, BF\r
-LINE (2, 1)-(0, 3), 15\r
-LINE (1, 4)-(2, 5), 15\r
-LINE (5, 1)-(7, 3), 15\r
-LINE (6, 4)-(5, 5), 15\r
-LINE (1, 2)-(5, 2), 15\r
-LINE (1, 4)-(5, 4), 15\r
-\r
-CASE 2\r
-LINE (0, 0)-(7, 7), 0, BF\r
-LINE (5, 1)-(7, 3), 15\r
-LINE (6, 4)-(5, 5), 15\r
-LINE (1, 2)-(5, 2), 15\r
-LINE (1, 4)-(5, 4), 15\r
-\r
-CASE 3\r
-LINE (0, 0)-(7, 7), 0, BF\r
-LINE (0, 0)-(3, 7), 15\r
-LINE (6, 0)-(3, 7), 15\r
-\r
-CASE 4\r
-LINE (0, 0)-(7, 7), 0, BF\r
-LINE (0, 7)-(3, 0), 15\r
-LINE (6, 7)-(3, 0), 15\r
-\r
-CASE 5\r
-LINE (0, 0)-(7, 7), 0, BF\r
-LINE (0, 0)-(4, 0), 15\r
-LINE (4, 1)-(4, 7), 15\r
-\r
-CASE ELSE\r
-PRINT CHR$(a)\r
-END SELECT\r
-\r
-FOR y = 0 TO 7\r
-FOR x = 0 TO 7\r
-font(x, y, a) = POINT(x, y)\r
-NEXT x\r
-NEXT y\r
+ LOCATE 1, 1\r
+ SELECT CASE a\r
+ CASE 7\r
+ CASE 1\r
+ LINE (0, 0)-(7, 7), 0, BF\r
+ LINE (2, 1)-(0, 3), 15\r
+ LINE (1, 4)-(2, 5), 15\r
+ LINE (5, 1)-(7, 3), 15\r
+ LINE (6, 4)-(5, 5), 15\r
+ LINE (1, 2)-(5, 2), 15\r
+ LINE (1, 4)-(5, 4), 15\r
+\r
+ CASE 2\r
+ LINE (0, 0)-(7, 7), 0, BF\r
+ LINE (5, 1)-(7, 3), 15\r
+ LINE (6, 4)-(5, 5), 15\r
+ LINE (1, 2)-(5, 2), 15\r
+ LINE (1, 4)-(5, 4), 15\r
+\r
+ CASE 3\r
+ LINE (0, 0)-(7, 7), 0, BF\r
+ LINE (0, 0)-(3, 7), 15\r
+ LINE (6, 0)-(3, 7), 15\r
+\r
+ CASE 4\r
+ LINE (0, 0)-(7, 7), 0, BF\r
+ LINE (0, 7)-(3, 0), 15\r
+ LINE (6, 7)-(3, 0), 15\r
+\r
+ CASE 5\r
+ LINE (0, 0)-(7, 7), 0, BF\r
+ LINE (0, 0)-(4, 0), 15\r
+ LINE (4, 1)-(4, 7), 15\r
+\r
+ CASE ELSE\r
+ PRINT CHR$(a)\r
+ END SELECT\r
+\r
+ FOR y = 0 TO 7\r
+ FOR x = 0 TO 7\r
+ font(x, y, a) = POINT(x, y)\r
+ NEXT x\r
+ NEXT y\r
NEXT a\r
\r
SCREEN 12\r
\r
\r
FOR a = x1 TO x2\r
-b = tehe(a)\r
-SELECT CASE b\r
-CASE 40\r
-c = a\r
-d = 1\r
-10\r
-c = c + 1\r
-IF tehe(c) = ASC("(") THEN d = d + 1\r
-IF tehe(c) = ASC(")") THEN d = d - 1\r
-IF d = 0 THEN GOTO 11\r
-GOTO 10\r
-11\r
-tee a + 1, c - 1\r
-a = c\r
-FOR c = 1 TO tehl\r
-opr(oprm, c) = vast(c)\r
-NEXT c\r
-GOTO 12\r
-CASE 5\r
-ng = 1\r
-ngx = a\r
-CASE 1 TO 4\r
-oe = b\r
-oex = a\r
-CASE 65 TO 90, 97 TO 122\r
-FOR c = 1 TO nm\r
-IF muun(c) = b THEN d = c: GOTO 8\r
-NEXT c\r
-8\r
-FOR c = 1 TO tehl\r
-opr(oprm, c) = muut(d, c)\r
-prn xloc(a), c, 3, 0, CHR$(muut(d, c))\r
-NEXT c\r
-12\r
-IF ng = 1 THEN GOSUB mkneg\r
-IF oprm = 2 THEN\r
-SELECT CASE oe\r
-CASE 1\r
-FOR c = 1 TO tehl\r
-d = opr(1, c)\r
-e = opr(2, c)\r
-IF d = e THEN f = ASC("t") ELSE f = ASC("v")\r
-opr(1, c) = f\r
-prn xloc(oex), c, 12, 0, CHR$(f)\r
-NEXT c\r
-CASE 2\r
-FOR c = 1 TO tehl\r
-d = opr(1, c)\r
-e = opr(2, c)\r
-f = ASC("t")\r
-IF (d = ASC("t")) AND (e = ASC("v")) THEN f = ASC("v")\r
-opr(1, c) = f\r
-prn xloc(oex), c, 12, 0, CHR$(f)\r
-NEXT c\r
-CASE 3\r
-FOR c = 1 TO tehl\r
-d = opr(1, c)\r
-e = opr(2, c)\r
-f = ASC("t")\r
-IF (d = ASC("v")) AND (e = ASC("v")) THEN f = ASC("v")\r
-opr(1, c) = f\r
-prn xloc(oex), c, 12, 0, CHR$(f)\r
-NEXT c\r
-CASE 4\r
-FOR c = 1 TO tehl\r
-d = opr(1, c)\r
-e = opr(2, c)\r
-f = ASC("v")\r
-IF (d = ASC("t")) AND (e = ASC("t")) THEN f = ASC("t")\r
-opr(1, c) = f\r
-prn xloc(oex), c, 12, 0, CHR$(f)\r
-NEXT c\r
-END SELECT\r
-ELSE\r
-oprm = oprm + 1\r
-END IF\r
-END SELECT\r
+ b = tehe(a)\r
+ SELECT CASE b\r
+ CASE 40\r
+ c = a\r
+ d = 1\r
+ 10\r
+ c = c + 1\r
+ IF tehe(c) = ASC("(") THEN d = d + 1\r
+ IF tehe(c) = ASC(")") THEN d = d - 1\r
+ IF d = 0 THEN GOTO 11\r
+ GOTO 10\r
+ 11\r
+ tee a + 1, c - 1\r
+ a = c\r
+ FOR c = 1 TO tehl\r
+ opr(oprm, c) = vast(c)\r
+ NEXT c\r
+ GOTO 12\r
+ CASE 5\r
+ ng = 1\r
+ ngx = a\r
+ CASE 1 TO 4\r
+ oe = b\r
+ oex = a\r
+ CASE 65 TO 90, 97 TO 122\r
+ FOR c = 1 TO nm\r
+ IF muun(c) = b THEN d = c: GOTO 8\r
+ NEXT c\r
+ 8\r
+ FOR c = 1 TO tehl\r
+ opr(oprm, c) = muut(d, c)\r
+ prn xloc(a), c, 3, 0, CHR$(muut(d, c))\r
+ NEXT c\r
+ 12\r
+ IF ng = 1 THEN GOSUB mkneg\r
+ IF oprm = 2 THEN\r
+ SELECT CASE oe\r
+ CASE 1\r
+ FOR c = 1 TO tehl\r
+ d = opr(1, c)\r
+ e = opr(2, c)\r
+ IF d = e THEN f = ASC("t") ELSE f = ASC("v")\r
+ opr(1, c) = f\r
+ prn xloc(oex), c, 12, 0, CHR$(f)\r
+ NEXT c\r
+ CASE 2\r
+ FOR c = 1 TO tehl\r
+ d = opr(1, c)\r
+ e = opr(2, c)\r
+ f = ASC("t")\r
+ IF (d = ASC("t")) AND (e = ASC("v")) THEN f = ASC("v")\r
+ opr(1, c) = f\r
+ prn xloc(oex), c, 12, 0, CHR$(f)\r
+ NEXT c\r
+ CASE 3\r
+ FOR c = 1 TO tehl\r
+ d = opr(1, c)\r
+ e = opr(2, c)\r
+ f = ASC("t")\r
+ IF (d = ASC("v")) AND (e = ASC("v")) THEN f = ASC("v")\r
+ opr(1, c) = f\r
+ prn xloc(oex), c, 12, 0, CHR$(f)\r
+ NEXT c\r
+ CASE 4\r
+ FOR c = 1 TO tehl\r
+ d = opr(1, c)\r
+ e = opr(2, c)\r
+ f = ASC("v")\r
+ IF (d = ASC("t")) AND (e = ASC("t")) THEN f = ASC("t")\r
+ opr(1, c) = f\r
+ prn xloc(oex), c, 12, 0, CHR$(f)\r
+ NEXT c\r
+ END SELECT\r
+ ELSE\r
+ oprm = oprm + 1\r
+ END IF\r
+ END SELECT\r
NEXT a\r
\r
GOTO 9\r
mkneg:\r
FOR c = 1 TO tehl\r
-d = opr(oprm, c)\r
-IF d = ASC("t") THEN d = ASC("v") ELSE d = ASC("t")\r
-prn xloc(ngx), c, 4, 0, CHR$(d)\r
-opr(oprm, c) = d\r
+ d = opr(oprm, c)\r
+ IF d = ASC("t") THEN d = ASC("v") ELSE d = ASC("t")\r
+ prn xloc(ngx), c, 4, 0, CHR$(d)\r
+ opr(oprm, c) = d\r
NEXT c\r
ng = 0\r
RETURN\r
9\r
\r
FOR c = 1 TO tehl\r
-vast(c) = opr(1, c)\r
+ vast(c) = opr(1, c)\r
NEXT c\r
END SUB\r
\r
x2 = x4\r
h = 0\r
FOR e = 1 TO 4\r
-g = 1\r
-'FOR a = x1 TO x2\r
-a = x1\r
-21\r
-b = tehe(a)\r
-IF b = 40 THEN\r
-c = a\r
-d = 1\r
-14\r
-c = c + 1\r
-IF tehe(c) = 40 THEN d = d + 1\r
-IF tehe(c) = 41 THEN d = d - 1\r
-IF d = 0 THEN GOTO 15\r
-GOTO 14\r
-15\r
-IF e = 1 THEN teeslg a + 1, c - 1, l ELSE l = 0\r
-a = c + l\r
-x2 = x2 + l\r
-h = h + l\r
-GOTO 16\r
-END IF\r
-\r
-IF (b = 5) AND (e = 1) AND (g > 1) THEN\r
-mov a, 1\r
-tehe(a) = 40\r
-lendp a + 2, f\r
-mov a + 2 + f, 1\r
-tehe(a + 2 + f) = 41\r
-h = h + 2\r
-x2 = x2 + 2\r
-a = a + 2 + f\r
-GOTO 16\r
-END IF\r
-\r
-IF (b = 3 OR b = 4) AND (e = 2) AND (g > 2) THEN\r
-lendm a - 1, f\r
-mov a - f, 1\r
-tehe(a - f) = 40\r
-lendp a + 2, f\r
-mov a + 2 + f, 1\r
-tehe(a + 2 + f) = 41\r
-h = h + 2\r
-x2 = x2 + 2\r
-a = a + 2 + f\r
-GOTO 16\r
-END IF\r
-\r
-IF (b = 2) AND (e = 3) AND (g > 3) THEN\r
-lendm a - 1, f\r
-mov a - f, 1\r
-tehe(a - f) = 40\r
-lendp a + 2, f\r
-mov a + 2 + f, 1\r
-tehe(a + 2 + f) = 41\r
-h = h + 2\r
-x2 = x2 + 2\r
-a = a + 2 + f\r
-GOTO 16\r
-END IF\r
-\r
-\r
-SELECT CASE b\r
-CASE 5\r
-g = 1\r
-CASE 3, 4\r
-g = 2\r
-CASE 2\r
-g = 3\r
-CASE 1\r
-g = 4\r
-END SELECT\r
-16\r
-a = a + 1\r
-IF a <= x2 THEN GOTO 21\r
+ g = 1\r
+ 'FOR a = x1 TO x2\r
+ a = x1\r
+ 21\r
+ b = tehe(a)\r
+ IF b = 40 THEN\r
+ c = a\r
+ d = 1\r
+ 14\r
+ c = c + 1\r
+ IF tehe(c) = 40 THEN d = d + 1\r
+ IF tehe(c) = 41 THEN d = d - 1\r
+ IF d = 0 THEN GOTO 15\r
+ GOTO 14\r
+ 15\r
+ IF e = 1 THEN teeslg a + 1, c - 1, l ELSE l = 0\r
+ a = c + l\r
+ x2 = x2 + l\r
+ h = h + l\r
+ GOTO 16\r
+ END IF\r
+\r
+ IF (b = 5) AND (e = 1) AND (g > 1) THEN\r
+ mov a, 1\r
+ tehe(a) = 40\r
+ lendp a + 2, f\r
+ mov a + 2 + f, 1\r
+ tehe(a + 2 + f) = 41\r
+ h = h + 2\r
+ x2 = x2 + 2\r
+ a = a + 2 + f\r
+ GOTO 16\r
+ END IF\r
+\r
+ IF (b = 3 OR b = 4) AND (e = 2) AND (g > 2) THEN\r
+ lendm a - 1, f\r
+ mov a - f, 1\r
+ tehe(a - f) = 40\r
+ lendp a + 2, f\r
+ mov a + 2 + f, 1\r
+ tehe(a + 2 + f) = 41\r
+ h = h + 2\r
+ x2 = x2 + 2\r
+ a = a + 2 + f\r
+ GOTO 16\r
+ END IF\r
+\r
+ IF (b = 2) AND (e = 3) AND (g > 3) THEN\r
+ lendm a - 1, f\r
+ mov a - f, 1\r
+ tehe(a - f) = 40\r
+ lendp a + 2, f\r
+ mov a + 2 + f, 1\r
+ tehe(a + 2 + f) = 41\r
+ h = h + 2\r
+ x2 = x2 + 2\r
+ a = a + 2 + f\r
+ GOTO 16\r
+ END IF\r
+\r
+\r
+ SELECT CASE b\r
+ CASE 5\r
+ g = 1\r
+ CASE 3, 4\r
+ g = 2\r
+ CASE 2\r
+ g = 3\r
+ CASE 1\r
+ g = 4\r
+ END SELECT\r
+ 16\r
+ a = a + 1\r
+ IF a <= x2 THEN GOTO 21\r
NEXT e\r
l = h\r
END SUB\r