Listing of file='IDS2PS36' on disk='vmedia/701-2724B.wvd.zip'
# Sector 507, program filename = 'IDS2PS36' 1000 REM "IDS2PS36" - Release 2.1 - DOCUMENTATION FOR LOGICAL TESTS 1010 IF F6$(17)<"^"THEN SELECT @PART"IDS2SUBM" : GOSUB '33("IDS2sS36") : E0$()=HEX(01) : E8$="Test 0 passes if" : DIM J(5) : FOR I=1TO 4 : F0$=" " : GOSUB '43(I*12+1) : IF E$=" "THEN 1100 : X=2 : GOSUB 1600 1100 GOSUB '43(I*12+7) : IF E$=" "AND F0$=" "THEN 1500 : ADD(STR(E8$,6,1),01) : GOSUB '48(0,E8$,0) : IF F0$<>" "THEN GOSUB '48(-1,F0$,0) : X=8 : IF J(I)=0THEN 1130 : GOSUB '43(I*12+5) : IF E$="A"THEN E$="and" : ELSE E$="or" : GOSUB '48(-1,E$,0) 1130 GOSUB '43(I*12+7) : GOSUB 1600 : GOSUB '48(-1,F0$,0) : GOSUB 2030 1500 NEXT I : E$=" A A AA O O OO AO OAA AA A AAAAAO A OAOOAAOAOAO OA O AOAAOO O OOOOOAOOOA" : E8$=E$(154)&E$(210)&E$(266) : MAT SEARCHE$,=STR(E8$,,3)TO F9$STEP 3 : Q=INT((VAL(F9$,2)+2)/3) 1508 ON QGOTO 1550,1510,1510,1511,1512,1512,1513,1514,1515,1510,1511,1511,1511 ,1516,1516,1517,1518,1519,1512,1520,1520,1521,1513,1513,1513,1522,1523 : STOP # 1510 F0$="both tests pass" : GOTO 1549 1511 F0$="all tests pass" : GOTO 1549 1512 F0$="either test passes" : GOTO 1549 1513 F0$="any test passes" : GOTO 1549 1514 F0$="test 1 passes and either test 2 or 3 passes" : GOTO 1549 1515 F0$="test 1 passes or tests 2 and 3 both pass" : GOTO 1549 1516 F0$="tests 1 and 2 both pass or test 3 passes" : GOTO 1549 1517 F0$="tests 1 and 2 both pass or either test 3 or 4 passes" : GOTO 1549 1518 F0$="tests 1 and 2 both pass and either test 3 or 4 passes" : GOTO 1549 1519 F0$="tests 1 and 2 both pass or tests 3 and 4 both pass" : GOTO 1549 1520 F0$="test 3 passes and either test 1 or 2 passes" : GOTO 1549 1521 F0$="tests 3 and 4 both pass and either test 1 or 2 passes" : GOTO 1549 1522 F0$="either test 1 or 2 passes and either test 3 or 4 passes" : GOTO 1549 1523 F0$="either test 1 or 2 passes or tests 3 and 4 both pass" 1549 GOSUB '48(0,"A pass condition exists if",0) : GOSUB '48(-1,F0$,0) : GOSUB 2030 1550 IF E2(6)<>0THEN LOAD T#2,"IDS2PS30"1000, : IF C5$<>"S"OR STR(R3$(1),6,1)<>"S"THEN LOAD T#2,"IDS2PR36"1000, : LOAD T#2,"IDS2PS27"1000, 1600 J(I)=J(I)+1 : J(5)=J(5)+1 : IF E$="LSTFNKEY"THEN 1700 : IF VER(E$,"SYSFLAGX")=8THEN 1800 : F0$="field "&E$ : GOTO 1900 1700 F0$="last function key" : GOTO 1900 1800 F0$="sysflag "&STR(E$,8) 1900 GOSUB '43(I*12+X) : GOTO 1990 1910 E4$()="= > < <>>=<=" : MAT SEARCHE4$()<,12>,=E$TO F9$STEP 2 : ON VAL(F9$,2)GOTO 1930,,1940,,1950,,1960,,1970,,1980 1930 E$="equal to" : GOTO 1990 1940 E$="greater than" : GOTO 1990 1950 E$="less than" : GOTO 1990 1960 E$="not equal to" : GOTO 1990 1970 E$="greater than or equal to" : GOTO 1990 1980 E$="less than or equal to" 1990 F0$=F0$&" "&E$ : GOSUB '43(I*12+X+1) : IF E$="F"THEN F0$=F0$&" field" : ELSE F0$=F0$&" constant" : GOSUB '43(I*12+X+2) : IF E$<>" "THEN F0$=F0$&" "&E$ : ELSE F0$=F0$&" blank" : RETURN 2030 GOSUB '49(0) : IF C5$<>"S"OR STR(R3$(1),6,1)<>"S"THEN D6=D6+1 : ELSE F4=F4+1 : RETURN 3699 ON ERRORE1$,E2$GOTO 3700 3700 DEFFN'31 : E$="IDS2PS36" : IF E5$<"Y"THEN LOAD T#2,"IDS2PER1"1000, : STOP "ERROR"