TITLE ARP SUBSET ; 1-BTX ENTRY BTX Y=1 N=2 M=3 X=4 Y1=5 S=6 Q=16 BTX: 0 MOVE Y,@(Q) MOVE N,@1(Q) MOVE M,@2(Q) MOVE X,@3(Q) MOVEI S,^D35 ADD S,N SUB S,M LSH X,(S) MOVN S,N LSH X,(S) SETO Y1, MOVEI S,^D35 ADD S,N SUB S,M LSH Y1,(S) MOVN S,N LSH Y1,(S) TDZ Y,Y1 ADD Y,X MOVEM Y,@(Q) JRA Q,4(Q) ;2-BXT ENTRY BXT Y=1 N=2 M=3 Q=16 BXT: 0 MOVE Y,@1(Q) MOVE N,@2(Q) MOVE M,@3(Q) MOVE 4,N LSH Y,(4) MOVEI 4,^D35 ADD 4,N SUB M,4 LSH Y,(M) MOVEM Y,@(Q) JRA Q,4(Q) ;4-CAM ENTRY CAM I1=1 I2=2 I3=4 CAM: 0 SKIPG I1,@2(16) JRST C6 SKIPG I2,@4(16) JRST C6 SKIPG I3,@5(16) JRST C6 ADD I3,I1 SOS I3 HRRZ 3,1(16) JSA 16,ZBSET EXP 10 EXP I1 EXP 3 HRRZ 3,3(16) JSA 16,ZBSET EXP 11 EXP I2 EXP 3 C1: LDB 6,10 LDB 7,11 CAME 6,7 JRST C2 CAML I1,I3 JRST C3 AOS I1 IBP 10 IBP 11 JRST C1 C2: CAML 6,7 JRST C5 MOVE 5,[-1] MOVEM 5,@(16) JRST C4 C5: MOVEI 5,1 MOVEM 5,@(16) C4: JRA 16,6(16) C3: MOVEI 5,0 MOVEM 5,@(16) JRST C4 C6: JSA 16,ERROR EXP [1] JRST C4 ;6-CAW ENTRY CAW,CAH A=1 N=2 M=3 K1=4 N1=5 PTR=6 Q=16 CAH: BLOCK 0 CAW: 0 HRRZ A,1(Q) MOVE N,@2(Q) MOVE M,@3(Q) SETZ K1, JSA Q,ZBSET EXP PTR EXP N EXP A Q2: CAMLE N,M JRST Q1 LDB N1,PTR ANDI N1,7 LSH K1,3 ADD K1,N1 IBP PTR AOS N JRST Q2 Q1: MOVEM K1,@(Q) JRA Q,4(Q) ;15-LAND ENTRY LAND LAND: 0 MOVE 0,@1(16) ANDM 0,@(16) JRA 16,2(16) ;16-LCSM ENTRY LCSM LCSM: 0 JRA 16,(16) ;17-LNOT ENTRY LNOT LNOT: 0 SETCMM @(16) JRA 16,1(16) ;18-LOR ENTRY LOR LOR: 0 MOVE 0,@1(16) ORM 0,@(16) JRA 16,2(16) ;19-LXOR ENTRY LXOR LXOR: 0 MOVE 0,@1(16) XORM 0,@(16) JRA 16,2(16) ;20-MOVE ENTRY MOVE I1=1 I2=2 I3=4 MOVE: 0 SKIPG I1,@1(16) JRST B3 SKIPG I2,@3(16) JRST B3 SKIPG I3,@4(16) JRST B3 ADD I3,I1 SOS I3 HRRZ 3,(16) JSA 16,ZBSET EXP 5 EXP I1 EXP 3 HRRZ 3,2(16) JSA 16,ZBSET EXP 6 EXP I2 EXP 3 B1: LDB 7,6 DPB 7,5 CAML I1,I3 JRST B2 AOS I1 IBP 5 IBP 6 JRST B1 B2: JRA 16,5(16) B3: JSA 16,ERROR EXP [2] JRST B2 ;28-SETB ENTRY SETB I1=1 I2=2 SETB: 0 SKIPG I1,@1(16) JRST A3 SKIPG I2,@2(16) JRST A3 ADD I2,I1 SOS I2 HRRZ 3,(16) MOVEI 4," " JSA 16,ZBSET EXP 5 EXP I1 EXP 3 A1: DPB 4,5 CAML I1,I2 JRST A2 AOS I1 IBP 5 JRST A1 A2: JRA 16,3(16) A3: JSA 16,ERROR EXP [3] JRST A2 ;ZBSET ZBSET: 0 MOVEM 1,DSAC1 MOVEM 2,DSAC2 PUSH 17,@1(16) MOVE 2,@2(16) POP 17,1 SOS 1 MOVEM 2,ZTMP1 SETZ 2, IDIVI 1,5 ADD 1,ZTMP1 MOVN 2,2 ADDI 2,4 IMULI 2,7 AOS 2 LSH 2,36 ADD 1,2 MOVSI 2,700 ADD 1,2 MOVEM 1,@(16) MOVE 1,DSAC1 MOVE 2,DSAC2 JRA 16,3(16) ZTMP1: 0 DSAC1: 0 DSAC2: 0 ;ZDPTR ZDPTR: 0 MOVEM 1,ZTMP3 MOVE 1,@(16) SOS 1 IBP 1 IBP 1 IBP 1 IBP 1 MOVEM 1,@(16) MOVE 1,ZTMP3 JRA 16,1(16) ZTMP3: 0 ;ERROR ENTRY ERROR ERROR: 0 MOVE 0,@(16) ADDI 0,60 DPB 0,[POINT 7,ERRN,20] MOVEI 0,ERRM CALL 0,[SIXBIT /DDTOUT/] JRA 16,1(16) ; ERRM: ASCII / ****/ ASCII /*ERRO/ ERRN: ASCIZ /R / 0 ;10-CWA ENTRY CWA,CHA A=1 N=2 M=3 K=4 N1=5 PTR=6 Q=16 CHA: BLOCK 0 CWA: 0 HRRZ A,(Q) MOVE N,@1(Q) MOVE M,@2(Q) MOVE K,@3(Q) JSA Q,ZBSET EXP PTR EXP M EXP A CWAQ2: CAMGE M,N JRST CWAQ1 MOVE N1,K ANDI N1,7 LSH K,-3 ADDI N1,60 DPB N1,PTR JSA Q,ZDPTR EXP PTR SOS M JRST CWAQ2 CWAQ1: JRA Q,4(Q) END