100 PRINTCHR$(147);
110 IF PEEK(49152)=$4C THEN 140
120 PRINT"LADE PRG"
130 MLOAD"TEST_STACK.PRG"
140 S = $5000
150 V = $C700
160 A = $030C: X = $030D
170 REM GOTO 1480
180 PRINT"TEST LIT: ";
190 SYS49152
200 IF PEEK(X) = 2 THEN PRINT "STP OK, ";
210 N = DEEK(S)
220 IF N = 1952 THEN PRINT "STACK OK"
230 PRINT"TEST LOD: ";
240 SYS49155
250 IF PEEK(X) = 2 THEN PRINT "STP OK, ";
260 N = DEEK(S)
270 IF N = 1472 THEN PRINT "STACK OK"
280 PRINT"TEST STO: ";
290 SYS49158
300 IF PEEK(X) = 0 THEN PRINT "STP OK, ";
310 N = PEEK(V+3)*256+PEEK(V+2)
320 IF N = 1952 THEN PRINT "VAR OK"
330 PRINT"TEST TRUE: ";
340 SYS49161
350 IF PEEK(X) = 2 THEN PRINT "STP OK, ";
360 N = DEEK(S)
370 IF N = 1 THEN PRINT "STACK OK"
380 PRINT"TEST FALSE: ";
390 SYS49164
400 IF PEEK(X) = 2 THEN PRINT "STP OK, ";
410 N = DEEK(S)
420 IF N = 0 THEN PRINT "STACK OK"
430 PRINT"TEST JPC1: ";
440 SYS49167
450 IF PEEK(X) = 0 THEN PRINT "STP OK, ";
460 IF PEEK(A) = $80 THEN PRINT "JMP OK"
470 PRINT"TEST JPC2: ";
480 SYS49170
490 IF PEEK(X) = 0 THEN PRINT "STP OK, ";
500 IF PEEK(A) = $80 THEN PRINT "JMP OK"
510 PRINT "TEST ADD: ";
520 SYS49173
530 IF PEEK(X) = 2 THEN PRINT "STP OK, ";
540 N = DEEK(S)
550 IF N = 3424 THEN PRINT "STACK OK"
560 PRINT "TEST SUB: ";
570 SYS49176
580 IF PEEK(X) = 2 THEN PRINT "STP OK, ";
590 N = DEEK(S)
600 IF N = 480 THEN PRINT "STACK OK"
610 PRINT"TEST MUL: ";
620 SYS49179
630 IF PEEK(X) = 2 THEN PRINT "STP OK, ";
640 N = DEEK(S)
650 IF N = 9600 THEN PRINT "STACK OK"
660 PRINT"TEST DIVMOD: ";
670 SYS49182
680 IF PEEK(X) = 4 THEN PRINT "STP OK, ";
690 N1 = DEEK(S)
700 N2 = DEEK(S+2)
710 IF N1 = 47 AND N2 = 153 THEN PRINT "STACK OK"
720 PRINT"TEST DIV: ";
730 SYS49185
740 IF PEEK(X) = 2 THEN PRINT "STP OK, ";
750 N = DEEK(S)
760 IF N = 47 THEN PRINT "STACK OK"
770 PRINT"TEST MOD: ";
780 SYS49188
790 IF PEEK(X) = 2 THEN PRINT "STP OK, ";
800 N = DEEK(S)
810 IF N = 153 THEN PRINT "STACK OK"
820 PRINT"TEST INCR: ";
830 SYS49191
840 IF PEEK(X) = 2 THEN PRINT "STP OK, ";
850 N = DEEK(S)
860 IF N = 256 THEN PRINT "STACK OK"
870 PRINT"TEST EQL1: ";
880 SYS49194
890 IF PEEK(X) = 2 THEN PRINT "STP OK, ";
900 N = DEEK(S)
910 IF N = 1 THEN PRINT "STACK OK"
920 PRINT"TEST EQL2: ";
930 SYS49197
940 IF PEEK(X) = 2 THEN PRINT "STP OK, ";
950 N = DEEK(S)
960 IF N = 0 THEN PRINT "STACK OK"
970 PRINT"TEST EQL3: ";
980 SYS49200
990 IF PEEK(X) = 2 THEN PRINT "STP OK, ";
1000 N = DEEK(S)
1010 IF N = 0 THEN PRINT "STACK OK"
1020 PRINT"TEST NEQ1: ";
1030 SYS49203
1040 IF PEEK(X) = 2 THEN PRINT "STP OK, ";
1050 N = DEEK(S)
1060 IF N = 1 THEN PRINT "STACK OK"
1070 PRINT"TEST NEQ2: ";
1080 SYS49206
1090 IF PEEK(X) = 2 THEN PRINT "STP OK, ";
1100 N = DEEK(S)
1110 IF N = 1 THEN PRINT "STACK OK"
1120 PRINT"TEST NEQ3: ";
1130 SYS49209
1140 IF PEEK(X) = 2 THEN PRINT "STP OK, ";
1150 N = DEEK(S)
1160 IF N = 0 THEN PRINT "STACK OK"
1170 PRINT"TEST LSS1: ";
1180 SYS49212
1190 IF PEEK(X) = 2 THEN PRINT "STP OK, ";
1200 N = DEEK(S)
1210 IF N = 1 THEN PRINT "STACK OK"
1220 PRINT"TEST LSS2: ";
1230 SYS49215
1240 IF PEEK(X) = 2 THEN PRINT "STP OK, ";
1250 N = DEEK(S)
1260 IF N = 0 THEN PRINT "STACK OK"
1270 PRINT"TEST GEQ1: ";
1280 SYS49218
1290 IF PEEK(X) = 2 THEN PRINT "STP OK, ";
1300 N = DEEK(S)
1310 IF N = 1 THEN PRINT "STACK OK"
1320 PRINT"TEST GEQ2: ";
1330 SYS49221
1340 IF PEEK(X) = 2 THEN PRINT "STP OK, ";
1350 N = DEEK(S)
1360 IF N = 1 THEN PRINT "STACK OK"
1370 PRINT"TEST GEQ3: ";
1380 SYS49224
1390 IF PEEK(X) = 2 THEN PRINT "STP OK, ";
1400 N = DEEK(S)
1410 IF N = 0 THEN PRINT "STACK OK"
1420 PRINT"TEST OUTDEC:";1952;"= ";
1430 SYS49227:PRINT", ";
1440 IF PEEK(X) = 0 THEN PRINT "STP OK"
1450 PRINT"TEST OUTCHR: A = ";
1460 SYS49230:PRINT", ";
1470 IF PEEK(X) = 0 THEN PRINT "STP OK"
1480 PRINT"TEST LITV: ";
1490 SYS49233
1500 IF PEEK(X) = 4 THEN PRINT "STP OK, ";
1510 N1 = DEEK(S): N2 = DEEK(S+2)
1520 S1 = (ASC("X") OR $80)*256 + $80
1530 S2 = (ASC("Y") OR $80)*256 + (ASC("Z") OR $80)
1540 IF (N1 = S1) AND (N2 = S2) THEN PRINT "STACK OK"
1550 PRINT"TEST LODINT: ";
1560 A% = 781: BC% = 1952
1570 SYS49236
1580 IF PEEK(X) = 4 THEN PRINT "STP OK, ";
1590 N1 = DEEK(S): N2 = DEEK(S+2)
1600 IF (N1 = A%) AND (N2 = BC%) THEN PRINT "STACK OK"
1610 PRINT"TEST STOINT: ";
1620 SYS49239
1630 IF PEEK(X) = 0 THEN PRINT "STP OK, ";
1640 N = DEEK(S)
1650 IF AB% = N THEN PRINT "VAR OK"