-2,2 .IDENT /04A/ -23,23 ; VERSION: 04A -36 ; GAT001 1/5/80 ADD SUPPORT FOR MC2 ; -245,252 BNE INSYNE ; NO, ILLEGAL UIC CALL $GTNUM ; GET PROGRAMMER CODE MOVB R1,$UIC ; SAVE IT BEQ INSILL ; ZERO IS ILLEGAL (DIDN'T REACH) ;GAT001 CMP R1,#377 ; IS IT LEGAL? ;**-1 BHI INSILL ; NO (DIDN'T REACH) ;GAT001 CMPB R2,#'] ; END BRACKET? ;**-1 BNE INSYNE ; NO, SYNTAX ERROR -306,307 BEQ 20$ ; YES, ACCEPT IT ;GAT001 CMPB -1(R0),#'X ; ALSO COULD BE "REX" ;GAT001 BNE INSPS2 ; BUT IT ISN'T ;GAT001 BIT #FE.OFF,$FMASK ; PARENT OFFSPRING TASKING? ;GAT001 BEQ INSPS2 ; NO, REX NOT ALLOWED ;GAT001 MOV $TKTCB,R1 ; YES, LOOK TO SEE IF OUR PARENT ;GAT001 MOV T.OCBH(R1),R1 ; IS CATCH ALL TASK (MC2) ;GAT001 BEQ INSPS2 ; NO PARENT ;GAT001 CMP #^RCA.,14(R1) ; IS 1ST 3 CHARS "CA."? ;GAT001 BEQ 10$ ; YES, ALLOW IT ;GAT001 CMP #^RCA.,16(R1) ; IS 2ND 3 CHARS "CA."? ;GAT001 BNE INSPS2 ; NOW, DON'T ALLOW IT ;GAT001 10$: BIS #40000,$FLGS ; REMEMBER "REX" WAS ENTERED FOR MC2 ;GAT001 20$: ; REF LABEL ;GAT001 BIS #6,$FLGS ; YES, SET RUN AND REMOVE FLAG ;**-1 /