Google
 

Trailing-Edge - PDP-10 Archives - decuslib10-01 - 43,50045/arp.mac
There are 3 other files named arp.mac in the archive. Click here to see a list.
; P004 JBC
       TITLE P004
       EXTERN ALPHO.,ALPHI.,EXIT,INTO.,INTI.,IFIX,DATE
;      1-BTX
	ENTRY ZSAC,ZRAC
       ENTRY   BTX
       Y=1
       N=2
       M=3
       X=4
       Y1=5
       S=6
       Q=16
BTX:   0
       JSA     Q,ZSAC
       EXP     BTXS
       EXP     6
       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)
       JSA     Q,ZRAC
       EXP     BTXS
       EXP     6
       JRA     Q,4(Q)
BTXS: BLOCK    7
;2-BXT
       ENTRY   BXT
       Y=1
       N=2
       M=3
       Q=16
BXT:   0
       JSA     Q,ZSAC
       EXP     BTXS
       EXP     4
       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)
       JSA     Q,ZRAC
       EXP     BTXS
       EXP     4
       JRA     Q,4(Q)
;3-CAI
       ENTRY   CAI
       I1=1
       I2=2
       I3=3
CAI:   0
       JSA     16,ZSAC
       EXP     FSAC
       EXP     7
       MOVEM   1,FTMP1
       MOVE    1,@(16)
       MOVEM   1,FARGK
       MOVE    1,FTMP1
       HRRZ    1,1(16)
       MOVEM   1,FARGX
       MOVE    1,FTMP1
       MOVE    1,@2(16)
       MOVEM   1,FARGN
       MOVE    1,FTMP1
       MOVE    1,@3(16)
       MOVEM   1,FARGM
       SKIPG   4,FARGN
       JRST    F9
       MOVE    I1,FARGM
       CAMGE   I1,4
       JRST    F11
       JSA     16,ZBSET
       EXP     5
       EXP     I1
       EXP     FARGX
       SETZ    7,
F2:    LDB     6,5
       MOVEI   7," "
       CAME    6,7
       JRST    F1
       SOS     I1
       CAMGE   I1,4
       JRST    F10
       JSA     16,ZDPTR
       EXP     5
       JRST    F2
F1:    MOVEI   I2,0
       MOVEI   I3,1
       CAIG    6,71
       CAIGE   6,60
       JRST    F10
F5:    SUBI    6,60
       IMUL    6,I3
       ADD     I2,6
       SOS     I1
       CAMGE   I1,4
       JRST    F3
       JSA     16,ZDPTR
       EXP     5
       LDB     6,5
       CAIG    6,71
       CAIGE   6,60
       JRST    F4
       IMULI   I3,12
       JRST    F5
F4:    MOVEI   7," "
       CAME    6,7
       JRST    F7
       SOS     I1
       CAMGE   I1,4
       JRST    F3
       JRST    F4
F7:    MOVEI   7,"-"
       CAME    6,7
       JRST    F8
       MOVN    I2,I2
F6:    SOS     I1
       CAMGE   I1,4
       JRST    F3
       JSA     16,ZDPTR
       EXP     5
       LDB     6,5
       MOVEI   7," "
       CAME    6,7
       JRST    F10
       JRST    F6
F3:    MOVEM   I2,@(16)
       JSA     16,ZRAC
       EXP     FSAC
       EXP     7
       JRA     16,4(16)
F8:    MOVEI   7,"+"
       CAME    6,7
       JRST    F10
       JRST    F6
F9:    JSA     16,ERROR
       EXP     [11611]
       JRST    F3
F10:   JSA     16,ERROR
       EXP     [11614]
       JRST    F3
F11:   JSA     16,ERROR
       EXP     [11615]
       JRST    F3
FTMP1: 0
FARGK: 0
FARGX: 0
FARGN: 0
FARGM: 0
FSAC: BLOCK    10
;4-CAM
       ENTRY   CAM
       I1=1
       I2=2
       I3=4
CAM:   0
       JSA     16,ZSAC
       EXP     CSAC
       EXP     11
       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:    JSA     16,ZRAC
       EXP     CSAC
       EXP     11
       JRA     16,6(16)
C3:    MOVEI   5,0
       MOVEM   5,@(16)
       JRST    C4
C6:    JSA     16,ERROR
       EXP     [^D5011]
       JRST    C4
CSAC: BLOCK    12
;5-CAR
       ENTRY   CAR
CAR:   0
       SETZM   @(16)
       JRA     16,4(16)
;6-CAW
       ENTRY   CAW
       A=1
       N=2
       M=3
       K1=4
       N1=5
       PTR=6
       Q=16
CAW:   0
       JSA     Q,ZSAC
       EXP     BTXS
       EXP     6
       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)
       JSA     Q,ZRAC
       EXP     BTXS
       EXP     6
       JRA     Q,4(Q)
;7-CIA, 8-CIAP
       ENTRY   CIA,CIAP
       I1=1
       I2=2
       I3=3
       I4=4
CIA:   0
       MOVEM   1,ETMP1
       MOVEI   1," "
       MOVEM   1,ETMP2
       MOVE    1,ETMP1
E5:    JSA     16,ZSAC
       EXP     ESAC
       EXP     6
       MOVEM   1,ETMP1
       HRRZ    1,(16)
       MOVEM   1,EARGX
       MOVE    1,@1(16)
       MOVEM   1,EARGN
       MOVE    1,@2(16)
       MOVEM   1,EARGM
       MOVE    1,@3(16)
       MOVEM   1,EARGK
       MOVE    I4,ETMP2
       SKIPG   5,EARGN
       JRST    E7
       MOVE    I1,EARGM
       CAMG    I1,5
       JRST    E7
       SKIPGE I2,EARGK
       MOVN    I2,I2
       JSA     16,ZBSET
       EXP     6
       EXP     I1
       EXP     EARGX
       SKIPE   I2
       JRST    E3
       MOVEI   I2,60
       JRST    E1
E3:    IDIVI   I2,12
       ADDI    I3,60
       DPB     I3,6
       SKIPN   I2
       JRST    E2
       SOS     I1
       CAMGE   I1,5
       JRST    E6
       JSA     16,ZDPTR
       EXP     6
       JRST    E3
E2:    SKIPL   EARGK
       JRST    E4
       SOS     I1
       CAMGE   I1,5
       JRST    E6
       JSA     16,ZDPTR
       EXP     6
       MOVEI   I2,"-"
E1:    DPB     I2,6
E4:    CAMG    I1,5
       JRST    E8
       SOS     I1
       JSA     16,ZDPTR
       EXP     6
       DPB     I4,6
       JRST    E4
E6:    JSA     16,ERROR
       EXP     [11621]
       JRST    E8
E7:    JSA     16,ERROR
       EXP     [11624]
E8:    JSA     16,ZRAC
       EXP     ESAC
       EXP     6
       JRA     16,4(16)
CIAP:  0
       MOVEM   1,ETMP1
       MOVEI   1,"0"
       MOVEM   1,ETMP2
       MOVE    1,ETMP1
       JRST    E5
ESAC:  BLOCK   7
ETMP1: 0
ETMP2: 0
EARGX: 0
EARGN: 0
EARGM: 0
EARGK: 0
;9-CRA
       ENTRY   CRA
       I1=1
       I2=2
       I3=3
CRA:   0
       JSA     16,ZSAC
       EXP     GSAC
       EXP     5
       MOVEM   1,GTMP1
       HRRZ    1,(16)
       MOVEM   1,GX1
       MOVEM   1,GX2
       MOVEM   1,GX3
       MOVEM   1,GX4
       MOVEM   1,GX5
       MOVEM   1,GX6
       MOVE    1,@1(16)
       MOVEM   1,GARGN
       MOVE    1,@2(16)
       MOVEM   1,GARGY
       MOVE    4,GARGN
       CAIGE   4,17
       JRST    GQ9
       MOVM    I3,GARGY
       MOVEI   5,GTENS
       ADDI    5,^D67
       CAML    I3,(5)
       JRST    GQ10
       SOS     5
       MOVEI   I1,74
GQ3:   CAML    I3,(5)
       JRST    GQ1
       SOS     I1
       SKIPG   I1
       JRST    GQ2
       SOS     5
       JRST    GQ3
GQ1:   MOVE    I2,GM30
       ADD     I2,I1
       SUBI    5,7
       FDV     I3,(5)
       FAD     I3,[0.99999]
       JSA     16,IFIX
       EXP     I3
       MOVEM   0,I3
GQ7:   MOVE    4,GARGN
       SUBI    4,16
       SKIPGE  GARGY
       JRST    GQ8
       JSA     16,MOVE
GX1:   EXP     0
       EXP     4
       EXP     [ASCII /+0./]
       EXP     [1]
       EXP     [3]
       JRST    GQ4
GQ8:   JSA     16,MOVE
GX2:   EXP     0
       EXP     4
       EXP     [ASCII /-0./]
       EXP     [1]
       EXP     [3]
GQ4:   ADDI    4,3
       MOVE    5,4
       ADDI    5,7
       JSA     16,CIAP
GX3:   EXP     0
       EXP     4
       EXP     5
       EXP     I3
       SKIPGE  I2
       JRST    GQ5
       ADDI    4,10
       JSA     16,MOVE
GX4:   EXP     0
       EXP     4
       EXP     [ASCII /E+/]
       EXP     [1]
       EXP     [2]
       JRST    GQ6
GQ5:   ADDI    4,10
       JSA     16,MOVE
GX5:   EXP     0
       EXP     4
       EXP     [ASCII /E-/]
       EXP     [1]
       EXP     [2]
GQ6:   ADDI    4,2
       MOVM    I2,I2
       JSA     16,CIAP
GX6:   EXP     0
       EXP     4
       EXP     GARGN
       EXP     I2
GQ11:  JSA     16,ZRAC
       EXP     GSAC
       EXP     5
       JRA     16,3(16)
GQ2:   SETZ    I2,
       SETZ    I3,
       JRST    GQ7
GQ9:   JSA     16,ERROR
       EXP     [^D5006]
       JRST    GQ11
GQ10:  JSA     16,ERROR
       EXP     [^D5013]
       JRST    GQ11
GTENS: REPEAT  ^D68,<10.0E<.-GTENS-^D37>>
GM30:  777777777743
GSAC:  BLOCK   6
GTMP1: 0
GARGX: 0
GARGN: 0
GARGY: 0
;10-CWA
       ENTRY   CWA
       A=1
       N=2
       M=3
       K=4
       N1=5
       PTR=6
       Q=16
CWA:   0
       JSA     Q,ZSAC
       EXP     BTXS
       EXP     6
       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)
;11-ECSM
       ENTRY   ECSM
ECSM:  0
       JRA     16,(16)
;12-EJECT
       ENTRY   EJECT
EJECT: 0
       JSA     16,PUTL
       MOVEM   1,KTMP1
       MOVE    1,RGI2
       MOVEM   1,RGI5
       MOVE    1,KTMP1
       JRA     16,(16)
KTMP1: 0
;13-FRG
       ENTRY   FRG
FRG:   0
       MOVEM   0,RTMP0
       MOVEM   1,RTMP1
       JSA     16,PUTL
       HRRZ    0,NDEV
       HRRM    0,.+2
       MOVEI   1,RFMT4
       OUT.    1,0
       FIN.
       MOVE    0,RTMP0
       MOVE    1,RTMP1
       JRA     16,(16)
RTMP0: 0
RTMP1: 0
RFMT4: ASCII "(1H1,10HEND OF JOB)"
;14-IRG
       ENTRY   IRG
IRG:   0
       MOVEM 1,ITMP1
       MOVEM   2,ITMP2
       MOVE    1,@(16)
       MOVEM   1,RGI3
       HRRZ    1,1(16)
       MOVEM   1,IT1
       HRRZ    1,2(16)
       MOVEM   1,IT2
       HRRZ    1,3(16)
       MOVEM   1,IARGD
       MOVEM   1,ID3
	MOVE	1,@4(16)	
	HRRZM	1,NDEV	
       JSA     16,SETB
       EXP     RGA1
       EXP     [1]
       EXP     [^D120]
       JSA     16,SETB
       EXP     RGA3
       EXP     [1]
       EXP     [^D120]
       JSA     16,MOVE
       EXP     RGA1
       EXP     [1]
IT1:   EXP     0
       EXP     [1]
       EXP     [^D50]
       JSA     16,ZBSET
       EXP     ITMP3
       EXP     [3]
       EXP     IARGD
       SETZ    1,
       LDB     1,ITMP3
       SETZ    2,
       MOVEI   2,"X"
       CAMN    1,2
       JRST    IQ1
       MOVEI   2," "
       CAME    1,2
       JRST    IQ2
IQ1:   HRRZI   2,IDATE
       MOVEM   2,ID2
       MOVEM   2,ID3
       JSA     16,DATE
ID2:   EXP     0
IQ2:   JSA     16,MOVE
       EXP     RGA1
       EXP     [^D90]
ID3:   EXP     0
       EXP     [1]
       EXP     [^D8]
       JSA     16,MOVE
       EXP     RGA1
       EXP     [^D113]
       EXP     [ASCII /PAGE/]
       EXP     [1]
       EXP     [4]
       JSA     16,TITLE2
IT2:   EXP     0
       MOVE    1,RGI2
       MOVEM   1,RGI5
       SETZ    1,
       MOVEM   1,RGI6
       MOVEM   1,RGI12
       MOVE    1,ITMP1
       MOVE    2,ITMP2
       JRA     16,5(16)
RGA1:  REPEAT  ^D24,<ASCII /     />
RGA2:  REPEAT  ^D24,<ASCII/     />
RGI1:  EXP     ^D119
RGI2:  EXP     ^D50
RGI3:  EXP     ^D50
RGI4:  EXP     ^D3
RGI5:  EXP     ^D50
RGI6:  0
IDATE: BLOCK   2
ITMP1: 0
ITMP2: 0
ITMP3: 0
IARGD: 0
;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
       JSA     16,ZSAC
       EXP     BSAC
       EXP     7
       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:    JSA     16,ZRAC
       EXP     BSAC
       EXP     7
       JRA     16,5(16)
B3:    JSA     16,ERROR
       EXP     [^D5010]
       JRST    B2
BSAC:  BLOCK   10
;21-MSG
       ENTRY   MSG
MSG:   0
       MOVEM   1,JTMP1
       HRRZ    1,(16)
       MOVEM   1,JARGN
       MOVE    1,JTMP1
       HRRZ    1,1(16)
       MOVEM   1,JARGX
       JSA     16,PUTL
       JSA     16,PUTA
JARGX: EXP     0
JARGN: EXP     0
       JSA     16,PUTL
       MOVE    1,JTMP1
       JRA     16,2(16)
JTMP1: 0
;22-PUTA
       ENTRY   PUTA
PUTA:  0
       MOVEM   1,MTMP1
       HRRZ    0,(16)
       MOVEM   0,MARGX
       SKIPG   1,@1(16)
       JRST    MQ2
       MOVEM   1,MARGN
       HRRZI   1,1
       MOVEM   1,RGI7
MQ1:   JSA     16,MOVE
       EXP     RGT
       EXP     [1]
MARGX: EXP     0
       EXP     RGI7
       EXP     [1]
       JSA     16,ZRGS2
       MOVE    1,RGI7
       ADDI    1,1
       MOVEM   1,RGI7
       CAMG    1,MARGN
       JRST    MQ1
M1:    MOVE    1,MTMP1
       JRA     16,2(16)
MQ2:   JSA     16,ERROR
       EXP     [4732]
       JRST    M1
MTMP1: 0
RGT:   EXP     [ASCII /     /]
MARGN: 0
RGI7:  0
;23-PUTB
       ENTRY   PUTB
PUTB:  0
       MOVEM   1,PTMP1
       SKIPG   1,@(16)
       JRST    PQ2
       MOVEM   1,PARGN
       JSA     16,MOVE
       EXP     RGT
       EXP     [1]
       EXP     [ASCII / /]
       EXP     [1]
       EXP     [1]
       HRRZI   1,1
       MOVEM   1,RGI7
PQ1:   JSA     16,ZRGS2
       ADDI    1,1
       MOVEM   1,RGI7
       CAMG    1,PARGN
       JRST    PQ1
P1:    MOVE    1,PTMP1
       JRA     16,1(16)
PQ2:   JSA     16,ERROR
       EXP     [3734]
       JRST    P1
PARGN: 0
PTMP1: 0
;24-PUTI
       ENTRY   PUTI
PUTI:  0
       MOVEM   1,NTMP1
       HRRZ    1,(16)
       MOVEM   1,NARGN
       JSA     16,CIA
       EXP     RGU
       EXP     [1]
       EXP     [^D10]
NARGN: EXP     0
       HRRZI   1,1
       MOVEM   1,RGI7
NQ2:   JSA     16,CAM
       EXP     RGI13
       EXP     RGU
       EXP     RGI7
       EXP     [ASCII / /]
       EXP     [1]
       EXP     [1]
       SKIPE   RGI13
       JRST    NQ1
       MOVE    1,RGI7
       ADDI    1,1
       MOVEM   1,RGI7
       SUBI    1,^D10
       JUMPG   1,NQ3
       JRST    NQ2
NQ1:   JSA     16,MOVE
       EXP     RGT
       EXP     [1]
       EXP     RGU
       EXP     RGI7
       EXP     [1]
       JSA     16,ZRGS2
       MOVE    1,RGI7
       ADDI    1,1
       MOVEM   1,RGI7
       CAIG    1,^D10
       JRST    NQ1
NN1:   MOVE    1,NTMP1
       JRA     16,1(16)
NQ3:   JSA     16,ERROR
       EXP     [000000]
       JRST    NN1
NTMP1: 0
RGI13: 0
RGU:   REPEAT  3,<ASCII /     />
;25-PUTL
       ENTRY   PUTL
PUTL:  0
       MOVEM   1,QTMP1
       JSA     16,MOVE
       EXP     RGT
       EXP     [1]
       EXP     [ASCII / /]
       EXP     [1]
       EXP     [1]
QQ2:   SKIPN   1,RGI12
       JRST    QQ1
       JSA     16,ZRGS2
       JRST    QQ2
QQ1:   MOVE    1,QTMP1
       JRA     16,(16)
QTMP1: 0
;26-PUTR
       ENTRY   PUTR
PUTR:  0
       MOVEM   1,OTMP1
       HRRZ    1,(16)
       MOVEM   1,OARGX
       JSA     16,CRA
       EXP     RGU
       EXP     [^D15]
OARGX: EXP     0
       HRRZI   1,1
       MOVEM   1,RGI7
OQ1:   JSA     16,MOVE
       EXP     RGT
       EXP     [1]
       EXP     RGU
       EXP     RGI7
       EXP     [1]
       JSA     16,ZRGS2
       MOVE    1,RGI7
       ADDI    1,1
       MOVEM   1,RGI7
       CAIG    1,^D15
       JRST    OQ1
       MOVE    1,OTMP1
       JRA     16,1(16)
OTMP1: 0
;28-SETB
       ENTRY   SETB
       I1=1
       I2=2
SETB:  0
       JSA     16,ZSAC
       EXP     ASAC
       EXP     5
       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:    JSA     16,ZRAC
       EXP     ASAC
       EXP     5
       JRA     16,3(16)
A3:    JSA     16,ERROR
       EXP     [^D5000]
       JRST    A2
ASAC:  BLOCK   6
;29-SPACE
       ENTRY   SPACE
SPACE: 0
       MOVEM   0,LTMP0
       MOVEM   1,LTMP1
       SKIPG   1,@(16)
       JRST    LQ2
       MOVEM   1,LARGN
       HRRZI   1,1
       MOVEM   1,LI1
LQ1:   JSA     16,ZRGS1
       JSA     16,PUTL
       JSA     16,PUTA
       EXP     [ASCII / /]
       EXP     1
       JSA     16,PUTL
       MOVE    1,LI1
       ADDI    1,1
       MOVEM   1,LI1
       CAMG    1,LARGN
       JRST    LQ1
LQ3:   MOVE    0,LTMP0
       MOVE    1,LTMP1
       JRA     16,1(16)
LTMP0: 0
LTMP1: 0
LFMT5: ASCII "(1H )"
LARGN: 0
LQ2:   JSA     16,ERROR
       EXP     [^D2005]
       JRST    LQ3
LI1:   0
;30-TITLE2
       ENTRY   TITLE2
TITLE2: 0
       MOVEM   1,UTMP1
       HRRZ    1,(16)
       MOVEM   1,U1
       JSA     16,MOVE
       EXP     RGA3
       EXP     [1]
U1:    EXP     0
       EXP     [1]
       EXP     [^D50]
       JSA     16,EJECT
       MOVE    1,UTMP1
       JRA     16,1(16)
UTMP1: 0
RGA3:  REPEAT  ^D24,<ASCII /     />
;S1
ZRGS1: 0
       MOVEM   0,STMP0
       MOVEM   1,STMP1
       MOVEM   2,STMP2
       AOS     1,RGI5
       CAMG    1,RGI2
       JRST    SQ1
       HRRZI   1,1
       MOVEM   1,RGI5
       MOVE    1,RGI6
       AOS     1
       CAMLE   1,RGI3
       JRST    SQ2
       MOVEM   1,RGI6
       MOVE    1,RGI1
       SOS     1
       MOVEM   1,STMP3
       ADDI    1,2
       MOVEM   1,STMP4
       JSA     16,CIA
       EXP     RGA1
       EXP     STMP3
       EXP     STMP4
       EXP     RGI6
       HRRZ    0,NDEV
       HRRM    0,.+2
       MOVEI   1,SFMT1
       OUT.    1,0
       SLIST.  2,RGA1
       EXP     30
       FIN.
       HRRZ    0,NDEV
       HRRM    0,.+2
       MOVEI   1,SFMT3
       OUT.    1,0
       SLIST.  2,RGA3
       EXP     30
       FIN.
SQ1:   MOVE    1,STMP1
       MOVE    2,STMP2
       JRA     16,(16)
SQ2:   JSA     16,ERROR
       EXP     [3733]
       JSA     16,EXIT
SFMT1: ASCII "(1H124A5)"
SFMT3: ASCII "(1X,24A5/2H  )"
STMP0: 0
STMP1: 0
STMP2: 0
STMP3: 0
STMP4: 0
NDEV:  EXP     3
;S2
ZRGS2: 0
       MOVEM   1,TTMP1
       MOVE    1,RGI12
       ADDI    1,1
       MOVEM   1,RGI12
       JSA     16,MOVE
       EXP     RGA2
       EXP     RGI12
       EXP     RGT
       EXP     [1]
       EXP     [1]
       CAMG    1,RGI1
       JRST    TQ1
       JSA     16,ZRGS1
       HRRZ    0,NDEV
       HRRM    0,.+2
       MOVEI   1,TFMT2
       OUT.    1,0
       SLIST.  2,RGA2
       EXP     30
       FIN.
       SETZ    1,
       MOVEM   1,RGI12
TQ1:   MOVE    1,TTMP1
       JRA     16,(16)
TFMT2: ASCII "(1H 24A5)"
TTMP1: 0
RGI12: 0
;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
;ZSAC
ZSAC:  0
       MOVEM   1,@(16)
       MOVE    1,(16)
       ADD     1,1(16)
       MOVEM   1,ZTMP2
       SETZ    1,
       MOVE    1,(16)
       AOS     1
       HRLI    1,1
       B