EJECT PAGE/100-240 EV6=EV POP6=POP PUSH6=PUSH RET6, EVRET TEST6=TEST /EQ ROUTINE /COMPARES BOTH ARGUMENTS. IF THEY ARE EQUAL, THEN IT RETURNS /1 (I.E., TRUE); ELSE RETURNS 0 (I.E., FALSE). /BOTH ARGUMENTS MUST BE ATOMS. AEQ, JMS I EQPUSH /RECURSIVE SELF PROTECTION EQLIST JMS I EQEV /GET 1ST ARGUMENT DCA EQLIST JMS I EQEV /GET 2ND ARGUMENT DCA EQP2 JMS I EQTEST /REALLY JMP EQNO /NO EQON, TAD EQLIST /SEE IF ATOM OR NULL CLL RAR SNA CLA JMP EQYEP /NULL SZL HLT /NOT ATOM TAD EQP2 /SEE IF ATOM OR NULL CLL RAR SNA CLA JMP EQNO /NULL SZL HLT /NOT ATOM TAD I EQLIST /SEE IF = CIA TAD I EQP2 SZA CLA JMP EQNO /NOT = ISZ EQLIST ISZ EQP2 TAD I EQLIST DCA EQLIST TAD I EQP2 DCA EQP2 JMP EQON EQYEP, TAD EQP2 /SEE IF ATOM OR NULL CLL RAR SNA CLA IAC /NULL: RETURN 1(T) SZL HLT /NOT ATOM EQNO, JMS I EQPOP /NO; RETURN 0(F) EQLIST JMP I EQRET EQP2, 0 EQTEST=TEST6 EQRET=RET6 EQPUSH=PUSH6 EQPOP=POP6 EQEV=EV6 /COND ROUTINE /EVALUATES EVEN ARGUMENTS /IF ONE OF THESE IS TRUE, THEN RETURNS THE VALUE OF THE /FOLLOWING ARGUMENT; AFTER A TRUE HAS BEEN ENCOUNTERED, /EVALUATION OF SUBSEQUENT ARGUMENTS CEASES. ACOND, JMS I CNPUSH /RECURSIVE SELF PROTECTION CNLIST JMS I CNPUSH /RECURSIVE SELF PROTECTION CNSW2 JMS I CNPUSH /RECURSIVE SELF PROTECTION CNMODE TAD CNSW /SAVE SWITCH DCA CNSW2 TAD CNSW /SET MODE DCA CNMODE CNGO, TAD CNMODE /SET SWITCH DCA CNSW JMS I CNEV /GET NEXT EVEN ARG CMA /-1? SNA JMP CNEND /YES CMA /NO DCA CNSW /SET SWITCH TAD CNMODE /MODE = 0? SNA CLA DCA CNSW /YES: SET SWITCH = 0 JMS I CNEV /GET NEXT ODD ARG DCA CNSAVE TAD CNSW /SW = 1? SNA CLA JMP CNGO /NO: GO BACK DCA CNMODE /YES: SET MODE = 0 TAD CNSAVE /SET RETURN VALUE DCA CNLIST JMP CNGO CNEND, TAD CNSW2 /RESTORE SWITCH DCA CNSW TAD CNLIST JMS I CNPOP CNMODE JMS I CNPOP CNSW2 JMS I CNPOP CNLIST JMP I CNRET CNSW, 1 CNSW2, 0 CNMODE, 0 CNSAVE, 0 CNPUSH=PUSH6 CNPOP=POP6 CNEV=EV6 CNRET=RET6 /SKIP-IF-CNSW=1 SUBROUTINE ATEST, 0 DCA ATSAVE TAD CNSW SNA CLA /SKIP IF CNSW=1 JMP I ATEST /NO SKIP IF CNSW=0 TAD ATSAVE ISZ ATEST JMP I ATEST ATSAVE, 0 /SET ROUTINE /SETS THE CONTENTS OF THE CELL FOLLOWING THE SET INSTRUCTION TO /THE VALUE OF THE SUBSEQUENT PARAETER. RETURNS THE SECOND /PARAMETER. ASET, JMS I ASPUSH /RECURSIVE SELF-PROTECTION AS1 ISZ I ASEVAL TAD I ASEVAL DCA AS1 TAD I AS1 DCA AS1 JMS I ASEV /GET PARAMETER JMS I ASTEST JMP ASZOT DCA I AS1 TAD I AS1 ASZOT, JMS I ASPOP AS1 JMP I ASRET ASEVAL, LEVAL AS1, 0 ASRET=RET6 ASTEST=TEST6 ASPUSH=PUSH6 ASPOP=POP6 ASEV=EV6 PAGE /Added by VRS