Trailing-Edge
-
PDP-10 Archives
-
decuslib10-01
-
43,50034/arp.m2
There are no other files named arp.m2 in the archive.
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