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"