Google
 

Trailing-Edge - PDP-10 Archives - decuslib10-11 - 43,50526/sam76.mac
There are no other files named sam76.mac in the archive.
SUBTTL[HEAD]
	TITLE SAM76;
;*  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *
;
;	<AR10> SAM76 Language System for the
;
;	DEC - PDP-10
;
;	Ancelme Roichel
;
;	Participants: Mark Bayern, Len Bosack, Gnat Kuhn
;		      Neil Colvin, Tom Kirk, Roger Amidon
;
;	and Barry Lubowsky at RIDER college where this
;	system was developed and tested.
;
;
;	
;
;	Pennington, New Jersey, 08534
;
;	February 1980
;
;*  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  ;
;	If it is desired to make use of the
;	%ex,name/ and subsequent continuation
;	features of the SAM76 language system
;	the compiled executable pure code
;	MUST be saved in "SYS" with the name
;
;		SAM76
;;
;
 ;;
;
 VERSION=102072
VERLOW=1
PURE=-1
LEVELD=1
MON506=1
NCAR=1
WSPACE=3777
FLOATP=1
PLOTER=1
PAGE
SUBTTL[HEAD1]
;OPTIONAL SELECTION OF STARTUP CONSTANTS
WCDOL=	"$"
WCAST=	"*"
WCSA=	"%"
WCSN=	"&"
WCSP=	"!"
WCSE=	"/"
WCMB=	"#"
WCMA=	":"
WCMN=	";"
WCAS=	","
WCQC=	"@"
WCIC=	"`"
WCBQ=	"<"
WCEQ=	">"
WCBP=	"("
WCEP=	")"
WCBA=	"["
WCEA=	"]"

;
CWCEND=CWCDOL
;
IFNDEF WSPACE,<WSPACE=	11777>
;
BKDATE=	7303;DATE FOR STORE FILE FEB 29, 1974
BKTIME=	2640;TIME AT 24:00
CMASK=	400
qpcLIM=	300
QMCLIM=	370
QSYBUF=	200

CHAN0=	0;CHANNELS 0 THROUGH 7 ASSIGNED BY %SY,DI,CHAN,.../
CHAN1=	1;  OR %SY,DO,CHAN,.../
CHAN2=	2;  AND DEVICE TO BE ASSOCIATED WITH
CHAN3=	3;  PARTICULAR CHANNEL IS DEFINED WITH
CHAN4=	4;  %SY,SD,DEV/
CHAN5=	5;
CHAN6=	6;	also used by %DOF,xxx/
CHAN7=	7;	also used with %DIF,xxx/
CHANT=	15
CHANL=	16;USED FOR LKF AND UKF FOR LOCKED FILE SYSTEM
CHAND=	17;USED BY bf,ef,sf,lf,RF,WF,fb,ex, AND %SY,QA,.../
	;  DEVICE TO BE ASOCIATED SELECTED BY APPROPRIATE
	;%SY,XX,DEV/ WHERE XX IS bf,ef,....
;
TTYBTS=	20;INITIAL TTY SETUP
XTSTAT=	400;NORMAL INITIAL CONDITION FOR TTY MODE
OKSTAT=	700;PERMITTED BITS FOR TTY SETSTS
;;
;
 SUBTTL[ASCON1]

;USASCII CONTROL CODES SPECIAL INVOCATION SEQUENCE OF "ESC #
;(F)"  WHERE   "F"   IS   A   CHARACTER   IN   COLUMNS   4,5
;(@,A,B,C,....],^,_)  PLACES  IN  PROGRAM  CONTROL CODE USED
;PARTICULARLY WHEN PDP10 ACTION ON CONTROL CODES NOT DESIRED
;NOTE THAT ONLY THE FIRST "ESC" WILL ECHO IN THE SEQUENCE.

;CODES  DESIGNATED  AS  "COMCON"  SHOULD  NOT  BE  USED  FOR
;PURPOSES  OTHER  THAN  AS  DEFINED IN USAS-X3.4-1968 IF THE
;CODE SET IS TO BE CONSIDERED IN ITS ENTIRETY AS "COMPATIBLE
;USASCII".

CCNUL=00	;@  NUL	COMCON
CCSOH=01	;A  SOH	COMCON
CCSTX=02	;B  STX	COMCON
CCETX=03	;C  ETX	COMCON
CCEOT=04	;D  EOT	COMCON
CCENQ=05	;E  ENQ	COMCON
CCACK=06	;F  ACK	COMCON
CCBEL=07	;G  BEL
CCBKSP=10	;H  BS
CCHTAB=11	;I  HT
CCNULIN=12	;J  LF
CCVTAB=13	;K  VT
CCPAGE=14	;L  FF
CCRETUR=15	;M  RETURN
CCSFTO=16	;N  SO	COMCON
CCSFTI=17	;O  SI	COMCON
CCDLE=20	;P  DLE	COMCON
CCDC1=21	;Q  DC1
CCDC2=22	;R  DC2
CCDC3=23	;S  DC3
CCDC4=24	;T  DC4
CCNAK=25	;U  NAK	COMCON
CCSYN=26	;V  SYN	COMCON
CCETB=27	;W  ETB	COMCON
CCCAN=30	;X  CAN	COMCON
CCENDM=31	;Y  EM
CCSUB=32	;Z  SUB	COMCON
CCESC=33	;[  ESC	COMCON
CCFSEP=34	;\  FS
CCGSEP=35	;]  GS
CCRSEP=36	;^  RS
CCUSEP=37	;_  US

CGSPACE=40	;   SP

;;
;
 SUBTTL[ASCON2]

;EXTENDED  CONTROL  CODES  PROPOSED  BY ISO/TC-97/SC-2/E.G.1
;DOC10

;THE FOLLOWING CONTROL CODES ARE ATTAINED  IN  A  SEVEN  BIT
;ENVIRONMENT  BY  USE  OF  A  TWO CHARACTER SEQUENCE "ESCAPE
;F(E)" WHERE "F(E)" IS A CHARACTER IN COLUMNS 4 AND 5 OF THE
;ASCII CODE TABLE, NAMELY @, A, B, C, ..., \, ], ^,  _,  AND
;ARE  INTERNALLY  REPRESENTED IN THE COMPUTER AS THEIR EIGHT
;BIT ENVIRONMENT CODE AS INDICATED.

;;
;
 SUBTTL[ASM37E]

;IN  MODEL  37  TELEPRINTERS  MADE BY TELETYPE CORP. SOME OF
;THESE FUNCTIONS OPERATE ONLY  THROUGH  THE  USE  OF  A  TWO
;CHARACTER  SEQUENCE OF THE FORM "ESCAPE F(P)", WHERE "F(P)"
;IS A CHARACTER FROM COLUMN 3 OF  THE  USASCII  CODE  TABLE,
;NAMELY 0, 1, 2, ..., =, >, ? AND THE FUNCTIONAL SEQUENCE IS
;NOTED  WHERE  APPROPRIATE. SUCH USE IS CURRENTLY CONSIDERED
;PROPER UNDER  THE  CONCEPT  OF  PRIVATE  CONTROL  CODE  SET
;DESIGNATION. INTERNAL REPRESENTATION IF THE TERMINAL DEVICE
;IS  IDENTIFIED  AS  A  MODEL 37 IS HOWEVER IN THE EIGHT BIT
;CODE (RANGING FROM OCTAL 200 TO OCTAL 237).

;ASSIGNMENTS OF MODEL 37 TTY PRIVATE ESC SEQUENCES  -  VALUE
;OF  0  INDICATES  THAT THE TWO CHARACTER ESCAPE SEQUENCE IS
;NOT  CONVERTED  TO  A  SINGLE  EIGHT  BIT  CODE;  CODES  SO
;INDICATED  ARE  NOT  NORMALLY  SUBJECTED  TO STRING EDITING
;OPERATIONS LIKELY TO SPLIT APART THE SEQUENCE.

;See appropriate function definitions for manner of
;setting switches and effects achieved.

CPHTS=0;	ESC 1 Horizontal Tab Set
CPHTC=0;	ESC 2 Horizontal Tab Clear
CPXHF=237;	ESC 4 Highlight Off
CPXHN=236;	ESC 3 Highlight On
CPVTS=0;	ESC 5 Vertical Tab Set
CPVTC=0;	ESC 6 Vertical Tab Clear
CPRLF=231;	ESC 7 Reverse Line Feed
CPHLR=234;	ESC 8 Half Reverse LF
CPHLF=235;	ESC 9 Half Forward LF
CPLCF=0;	ESC : Full Duplex
CPLCN=0;	ESC ; Half Duplex
;;
;
 SUBTTL[OPTIONS]
LOC 137
XWD VERLOW,VERSION
RELOC

IFNDEF QUEOPT,<QUEOPT=0>
IFNDEF VERLOW,<VERLOW=0>
IFNDEF PLOTER,<PLOTER=0>
IFNDEF LEVELC,<LEVELC=0>
IFNDEF LEVELD,<LEVELD=0>
IFN LEVELC,<DTADIR=122>
IFN LEVELD,<DTADIR=123>
IFE LEVELD,<XPROT=455000>
IFN LEVELD,<XPROT=155000>


IFNDEF PURE,<PURE=0>
IFN PURE,<HISEG>

IFNDEF BLOCKS,<BLOCKS=0>

IFNDEF NCARNO,<NCARNO=206>
IFNDEF NCAR,<NCAR=0>
IFNDEF FLOATP,<FLOATP=0>

IFNDEF MON506,<MON506=0>
;;
;
 SUBTTL[DEF-JM]
DEFINE JDCT6<
	  AOS T6
	  MOVEM Z,@T6>

DEFINE JMSCN<
	  CAMN T5,PFL
	  JRST RSC1
	  AOS T5
	  MOVE Z,@T5>

DEFINE JMASCI<
	  JTMP3N
	  TRZ Z,200>

DEFINE JMQDI<
	  JSAT
	  MOVE T1,@T7
	  CAME T1,[SIXBIT /(NULL)/]
	  JSSIX
	  >

DEFINE JMREN<
	  IFN LEVELC,<JFBCL>
	  SETZB E,E1
	  RENAME CHAND,E
	  >

DEFINE JMRPAL<
	  MOVE PAL,PALPAL
	  JXGLN
	  >

;;
;
 SUBTTL[DEF-JR]
DEFINE IQ(Y),<
IRP (Y), <
ENTRY Y'
OPDEF Y [JRST Y']>>

IQ<JRCE,JRNAV>
IQ<JRQ,JRX,JRAB,JRAC,JRAD,JRAG,JRAY,JRAZ>
IQ<JRV,JRVI,JRNR,JRMR,JRML,JRMV,JRXRS,JRXR,JRPPN>
IQ<JRSIXS,JRSIX,JRTABN>
IQ<JPOP1>
IQ<JPOPZ,JPOPA,JPOPB>

IQ<JRVSGN,JRKWIT>
IQ<JRNAVE,JRNAVI,JRNAVL,JRNAVO,JRNAVR,JRNAVS,JRDNAV,JRTNAV>
IQ<JRNAEF>

IFN FLOATP,<IQ<JRQFP,JRQFPI>>
;;
;
 SUBTTL[DEF-JS]
DEFINE Q(X),<
IRP (X), <
ENTRY X'
OPDEF X [PUSHJ P, X']>>

Q<JSS,JSP9,JSW,JSAE,JSAN,JSAS,JSAT,JSGT,JSGX,JSNQ>
Q<JSGSIX>
Q<JSER,JSERNO,JCI41X>
Q<JSD,JSDLST,JSDTST,JSPL,JSGQ,JSGV,JSGE>
Q<JSCF,JSCFA,JSCT,JSDD,JSR2>
Q<JSSBA,JSFDL,JSR1>
Q<JSPK,JSR9,JSSR,JST2,JSXR,JSXX,JTBCK>
Q<JSXRZ,JSPKA,JSPKB,JSPKC,JSPKB1>
Q<JSAA,JSAU,JSBK,JSBT,JSBTIM,JSDC,JSET>
Q<JSA1,JSA2,JSA3>
Q<JSL2,JSML,JSMT,JSNT>
Q<JSR2C,JSW2C,JSF,JSFS>
Q<JSDS,JSDSA>
Q<JSOPF,JSOPN>
Q<JSLG,JSLNA>
Q<JSHRN>
Q<JSBDF,JSBDL,JSBDN,JSBDI,JSBDP,JSBFI>
Q<JSSIX,JSSEV,JSGSEV,JCI41>
Q<JSFBL>
Q<JSBUF,JSBUG>
Q<JSTO,JSTI,JSTGET,JSTPUT,JSPR,JSIRO>
Q<JSBUFC,JSBUFH,JSBUFO,JSBUFZ>
Q<JSTL,JSTINH,JSTINF,JSTTI,JSTTIC,JSTTIR>
Q<JSNAMA,JSNAST>
Q<JSWSGN>
Q<JSCON,JSACR,JSDT,JSDTI>
Q<JSTAB>
Q<JSOPEN>
 IFN FLOATP,<Q<JSFLOT,JSFLIX,JSFLTW>>

 IFN LEVELC,<Q<JSBDE>>
 IFN PLOTER,<Q<JSPLBD,JSPLGM>>
 IFN MON506,<Q<JSTNO,JSTOP>>
;;
;
 SUBTTL[DEF-OP]

OPDEF TTCALL [51B8]

OPDEF JTSTCN [TRNN Z,540]
OPDEF JTSTCE [TRNE Z,540]
OPDEF JXTTC0 [TTCALL 0,Z]
OPDEF JXTTC1 [XCT TTYCON]; output eight bits always

OPDEF JXSOGE [SOSGE 2(PAL21)]
OPDEF JXSOSG [SOSG 2(PAL21)]
OPDEF JXILDB [ILDB Z,1(PAL21)]
OPDEF JXIDPB [IDPB Z,1(PAL21)]

OPDEF JFBCL [CLOSE CHAND,]
OPDEF JPOPJ [POPJ P,]
OPDEF JSD2 [SUBI T2,1]
OPDEF JSD3 [SUBI T3,1]
OPDEF JSDL [SUBI PAL2,1]
OPDEF JSDN [SUBI PAN2,1]
OPDEF JSDF [SOS PFL]
OPDEF JCIA [MOVNS Z]
OPDEF JCMA [SETOI Z,]
OPDEF JCLA [SETZI Z,]
OPDEF JGETST [GETSTS CHAND,ERBIT]
OPDEF JSFD [CAMN PAL2,CHAR2]
OPDEF JXSKIP [CAIA]
OPDEF JXGLN [HRRE PAN,@PAL]
OPDEF JRSETP [MOVE P,[IOWD KPUSH,LPUSH]]
OPDEF JXBUIO [XCT SYBUIO(PAN2)]
OPDEF JXBUCL [XCT SYBUCL(PAN2)]
OPDEF JXBUST [XCT SYBUST(PAN2)]
OPDEF JXBUEF [XCT SYBUEF(PAN2)]
OPDEF JXBUGS [XCT SYBUGS(PAN2)]



;;
;
 SUBTTL[DEF-BUF]

SYCHBK=12

SYBUH1=1
SYBUH2=2
SYBUH3=3
SYBUCH=4
SYBUIO=5
SYBUST=6
SYBUEF=7
SYBUGS=10
SYBUCL=11
SYBUDV=12
SYBUMO=13
SYBUBP=14
SYBUSP=15
SYBUE0=16
SYBUE1=17
SYBUE2=20
SYBUE3=21
SYBUE4=22
SYBUR0=23
SYBUR1=24
SYBUR2=25
;;
;
 SUBTTL[DEF-SWL]

;SWITCH LEFT HALF ASSIGNMENTS

OPDEF JJESCE [TLNE SWITCH,400000]
OPDEF JJOSCE [HRLZI T1,400000];SET FOR OVERFLOW TRAP

OPDEF JJETTN [TLNE SWITCH,200000]
OPDEF JJOTTN [HRLZI T1,200000]

OPDEF JJM37E [TLNE SWITCH,1]
OPDEF JJM37N [TLNN SWITCH,1]
OPDEF JJM37O [TLO SWITCH,1];SET FOR M37E 8 BIT

OPDEF JJINFE [TLNE SWITCH,2]
OPDEF JJINFN [TLNN SWITCH,2];INFOTON
OPDEF JJINFO [TLO SWITCH,2];SET FOR INFOTON

OPDEF JJODTA [TLO SWITCH,40000];TEMP FOR DTA &C
OPDEF JJEDTA [TLNE SWITCH,40000]
OPDEF JZADTA [TLZA SWITCH,40000]

OPDEF JLALLT [TLNN SWITCH,777]
OPDEF JLALLZ [TLZ SWITCH,777];CLEAR DEVICE TYPE SWITCHES

OPDEF JJE8B [TLNE SWITCH,1000];	EIGHT OR MORE BITS TO DISK IN JSTPUT
OPDEF JJN8B [TLNN SWITCH,1000]
OPDEF JJO8B [TLO SWITCH,1000]
OPDEF JJZ8B [TLZ SWITCH,1000]

OPDEF JJE8BX [TLNE SWITCH,2000];EIGHT OR MORE BITS TO DISK IN JSTPUT
OPDEF JJN8BX [TLNN SWITCH,2000]
OPDEF JJO8BX [TLO SWITCH,2000]
OPDEF JJZ8BX [TLZ SWITCH,2000]

;;
;
 SUBTTL[DEF-SWR]
;SWITCH (RIGHT HALF) CONTROL OPERATIONS

OPDEF JRETUA [TRZA SWITCH,1]
OPDEF JRETUN [TRNN SWITCH,1];SKIP IF 2741
OPDEF JRETUE [TRNE SWITCH,1];SKIP IF NOT 2741
OPDEF JRETUZ [TRZ SWITCH,1];NOT A 2741 SETTING
OPDEF JRETUB [TROA SWITCH,1];IS A 2741 SETTING AND SKIP
OPDEF JRETUO [TRO SWITCH,1]; IS A 2741 SETTING

OPDEF JNULLE [TRNE SWITCH,2];SKIP IF NOT "NU"
OPDEF JNULLN [TRNN SWITCH,2]; SKIP IF "NU"
OPDEF JNULLO [TRO SWITCH,2];SETFOR "NU" ACTION
OPDEF JNULLZ [TRZ SWITCH,2];BACK TO SHIFT IN "NU"
OPDEF JNULLA [TROA SWITCH,2]

OPDEF JJOALT [TRO SWITCH,4]
OPDEF JJZALT [TRZ SWITCH,4]
OPDEF JJEALT [TRNE SWITCH,4]
OPDEF JJNALT [TRNN SWITCH,4]
OPDEF JONALT [TRON SWITCH,4]

OPDEF JNDPNF [ANDI Z,10]
OPDEF JJNPNF [TRZN SWITCH,10]
OPDEF JJEPNF [TRNE SWITCH,10]
OPDEF JJZPNF [TRZ SWITCH,10]
OPDEF JTCPNF [TRC SWITCH,10]

OPDEF JJNPNI [TRNN SWITCH,20]
OPDEF JJZPNI [TRZ SWITCH,20]

OPDEF JJETCE [TRNE SWITCH,40]
OPDEF JJZTCE [TRZ SWITCH,40]
OPDEF JOATCE [TROA SWITCH,40]

OPDEF JJEGAP [TRNE SWITCH,100]
OPDEF JOAGAP [TRZA SWITCH,100]
OPDEF JJOGAP [TRO SWITCH,100]
OPDEF JJNGAP [TRNN SWITCH,100]

OPDEF JJN1CK [TRZN SWITCH,200];TMP1 CLEAR AND SKIPN
OPDEF JTMP1N [TRNN SWITCH,200];TMP1 SKIPN
OPDEF JTMP1E [TRNE SWITCH,200];TMP1 SKIPE
OPDEF JTMP1O [TRO SWITCH,200];TMP1 SET
OPDEF JTMP1Z [TRZ SWITCH,200];TMP1 CLEAR
OPDEF JTMP1A [TRZA SWITCH,200]

OPDEF JTMP2N [TRNN SWITCH,400];TMP2 SKIPN
OPDEF JTMP2E [TRNE SWITCH,400];TMP2 SKIPE
OPDEF JTMP2O [TRO SWITCH,400];TMP2 SET
OPDEF JTMP2Z [TRZ SWITCH,400];TMP2 CLEAR
OPDEF JNECHO [TRNN SWITCH,1000];SKIPN ECHO PRINT
OPDEF JOAECH [TROA SWITCH,1000]
OPDEF JJZECH [TRZ SWITCH,1000]

OPDEF JJOMOE [TRO SWITCH,2000]
OPDEF JJZMOE [TRZ SWITCH,2000]
OPDEF JOAMOE [TROA SWITCH,2000]
OPDEF JJEMOE [TRNE SWITCH,2000]
OPDEF JJNMOE [TRNN SWITCH,2000]

OPDEF JRORN [TRNN SWITCH,4000];R/O IS 177
OPDEF JRORO [TRO SWITCH,4000]
OPDEF JROROA [TROA SWITCH,4000]
OPDEF JRORZ [TRZ SWITCH,4000]
OPDEF JRORE [TRNE SWITCH,4000];R/O IS NOT 177

OPDEF JBURSN [TRNN SWITCH,10000]
OPDEF JBURSE [TRNE SWITCH,10000]
OPDEF JBURSO [TRO SWITCH,10000]
OPDEF JBURSZ [TRZ SWITCH,10000]

OPDEF JBUPRZ [TRZ SWITCH,30000]
OPDEF JBUPSN [TRNN SWITCH,20000]
OPDEF JBUPSE [TRNE SWITCH,20000]
OPDEF JBUPSO [TRO SWITCH,20000]
OPDEF JBUPSZ [TRZ SWITCH,20000]

OPDEF JJEINT [TRNE SWITCH,40000];INTERRUPT TEST
OPDEF JZAINT [TRZA SWITCH,40000]
OPDEF JJOINT [TRO SWITCH,40000]

OPDEF JTMP3N [TRNN SWITCH,100000];TMP3 SWITCH
OPDEF JTMP3E [TRNE SWITCH,100000]
OPDEF JTMP3O [TRO SWITCH,100000];SET TMP3 ON
OPDEF JTMP3A [TRZA SWITCH,100000];CLEAR TMP3 AND SKIP
OPDEF JTMP3Z [TRZ SWITCH,100000];CLEAR TMP3

OPDEF JJRENZ [TRZ SWITCH,200000];reenter from monitor
OPDEF JJRENO [TRO SWITCH,200000]
OPDEF JJRENE [TRNE SWITCH,200000]

OPDEF JJESGN [TRNE SWITCH,400000]
OPDEF JJNSGN [TRNN SWITCH,400000]
OPDEF JJOSGN [TRO SWITCH,400000]
OPDEF JJZSGN [TRZ SWITCH,400000]

OPDEF JJATMP [TRZA SWITCH,402606]
OPDEF JJZTMP [TRZ SWITCH,402606]

;;
;
 SUBTTL[ACCUM]

BASE=0
Z=1
T1=2
T2=3
T3=4
T4=5
T5=6
T6=7
T7=10

SWITCH=11
PAL=12
PAN=13
PAL2=14
PAN2=15
PAL21=16
P=17
E=5
E1=6
E2=7
E3=10
;;
;
 SUBTTL[START]
;PERMANENTLY SET INSTRUCTION LOCATIONS
;TO PERMIT CONTINUITY OF INTERACTION BETWEEN
;LOW SEGMENT SAVE FILES CREATED BY %ex,name/
;AND SUBSEQUENT UPDATES OF THE SHARED OR
;HISEGMENT PART OF THE PROCESSOR

STQex:	JRST	Qex6
STJRQ:	JRQ
STSUS:	JRST	STREN
STSUS1:	JRST	SUS1
STSPR1:	JFCL  ;SPARE RETURN POINT
STJRX:	JRX
STJRCE:	JRCE
STPLOV:	JRST	PLOV
Z
Z
Z
Z
Z
Z
Z
Z
0206
JRPOPA:	JPOPA
STMEDL:	IFL	PURE,<CALLI 4,12>
	IFGE	PURE,<	SUS>
LOC41:	JRST	STJRCE
STREN:	JJRENO
	JRST	@.JBOPC

;;
;
 SUBTTL[BEGIN]
BEGIN:	IFN	PURE,<
	SKIPE	OR2
	CALLI	4,12
	MOVSI	Z,DATAE
	HLLM	Z,.JBSA
	>

	CALLI	0
	JRSETP
	IFN	PURE,<JSERNO>
	MOVEI	Z,STMEDL
	HRRM	Z,.JBSA
	MOVE	Z,LOC41
	MOVEM	Z,.JB41
	MOVEI	Z,STSUS
	MOVEM	Z,.JBREN
	MOVEI	Z,STPLOV
	MOVEM	Z,.JBAPR
	MOVE	Z,PLOVF
	CALLI	Z,16
	HLRZ	Z,.JBSA;Get top of core
	MOVEM	Z,OR2
	MOVEM	Z,BUFTOP
	MOVEM	Z,BUFLOW
	ADDI	Z,1000
	ORI	Z,1777
	MOVEM	Z,LOW
	MOVEM	Z,FLOW
	MOVEM	Z,FTOP
	MOVEM	Z,PWR
	HRLM	Z,.JBCOR
	JSOPF

	CALLI	T2,27
	MOVEM	T2,RUNTIM
	HRLZI	Z,TTYBTS
	HRRI	Z,XTSTAT
	MOVEM	Z,LNBTS
	HLLM	Z,TTSTAT
	MOVEI	SWITCH,4000;Set bit for rubout
	JSDTI
	JSDT
	MOVEM	SWITCH,KWITCH

	JRST	RSTA
;;
;
 SUBTTL[JRX]
SUS:	JJRENZ
	JBUPRZ
	JSPR
	JSP9
	EXP SYN-1
JRX:	JRSETP
	JSPR
	JJZPNI
	MOVE Z,XSYNR
	MOVEM Z,SYNR
	MOVE Z,XSYNR+1
JRX1:	MOVEM Z,SYNR+1
	MOVEI PAL,SYN-1
	MOVE Z,OR2
	MOVEM Z,PFL
	MOVNI PAN,13
	JRST FRX
;;
;
 SUBTTL[MAJTAB]
XLKYN:	XWD	WCSE,WCSE
XDREAD:	Z
XDWRIT:	Z
XWCTAB:
	EXP	WCSA
	EXP	WCSN
	EXP	WCSE
	EXP	WCSP
	EXP	WCMB
	EXP	WCMA
	EXP	WCMN
	EXP	WCAS
	EXP	WCQC
	EXP	WCIC
	EXP	WCBQ
	EXP	WCEQ
	EXP	WCBP
	EXP	WCEP
	EXP	WCBA
	EXP	WCEA
	EXP	WCAST
	EXP	WCDOL

;
XSYN:	EXP	WCSA
	EXP	"o"
	EXP	"s"
	EXP	WCAS
	EXP	WCSA
XSYNR:	EXP	"i"
	EXP	"s"
	EXP	WCSE
	EXP	WCSE
	EXP	"="
XXZERO:	Z
XSPR1:	Z
XSPR2:	Z
XESCAP:	CCESC
XLRXBX:	XWD	-^D10,-^D8
XRUBOC:	XWD	74,76
XRUBOU:	177;RUBOUT
XSEQNO:	Z;INITIALIZED VALUE OF S/N BIT MARKER
XLTM2:	Z
XMOXR:	6
XLBSEK:	-60
XPTPUN:	IFE LEVELD,<455000000455>
	IFN LEVELD,<155000000155>
XLINEL:	^D71
XVERTL:	^D60;PAGE HEIGHT CONSTANT
XTYPVT:	Z;TERMINAL TYPE
XTYCON:	TTCALL 1,Z
XFILEX:	Z
XDSK1:	Z
	Z
XYBUPS:	Z
XYBURS:	Z
XCHANA:	Z
	Z
	Z
	Z
	Z
	Z
	Z
	Z

XBSTAT:	XWD	0,17
XBDEV:	EXP	SIXBIT /DSK/
XBBUF:	XWD	0,0
XDEVbf:	EXP	SIXBIT /DSK/
XDEVsf:	EXP	SIXBIT /DSK/
XDEVlf:	EXP	SIXBIT /DSK/
XDEVef:	EXP	SIXBIT /DSK/
XDEVRF:	EXP	SIXBIT /DSK/
XDEVWF:	EXP	SIXBIT /DSK/
XDEVuf:	EXP	SIXBIT /DSK/
XDEVex:	EXP	SIXBIT /DSK/

XLKYN1:

;;
;
 SUBTTL[RESTART]
EXTERN .JBSA,.JBREL,.JBVER,.JBHRL,.JBDA
EXTERN .JBUUO,.JB41,.JBREL,.JBFF
EXTERN .JBREN,.JBAPR,.JBCNI,.JBTPC,.JBOPC,.JBCOR


;RESTART RESET ROUTINE

REST:	MOVE	T1,TEM1
	CAIGE	T1,3
	JRST SUS
SUS1:RSTA:	JSS  ;RESET EVERYTHING TO STANDARD
	XLKYN-1  ;START OF TABLE
	KKYN-1  ;GOES INTO LOSEG
	XLKYN-XLKYN1
	MOVE	SWITCH,KWITCH
	JRX    ;TO IDLE

;;
;
 SUBTTL[JRCE]
SCET:	HLRZ	Z,KKYN
	MOVEM	Z,SYNR

	MOVE	Z,S1S2
	MOVEM	Z,qqofQ

	HRRZ	Z,KKYN
	JRST	JRX1
JRCE:	JFBCL
	JJESCE
	JRST	SCET

	JSPR
	JSP9
	SCEK-1
	HLRZ	Z,S1S2
	JSTO
	HRRZ	Z,S1S2
	JSTO
	MOVEI	Z,76
	JSTO
	JRX

SCEK:	EXP	"<","S","C","E","-",0		;overflow message

;;
;
 SUBTTL[JRNAV]
JRNAEF:	MOVEI	E1,4
	JRNAVI

JRNAVO:JRNAVE:
	MOVEM	E1,ARG1
	JMREN
	JFCL
	MOVE	E1,ARG1

JRNAVR:
JRNAVI:JRNAVL:
	JFBCL
JRNAVS:	ANDI	E1,17
	MOVEM	E1,ARG1
	JTMP1A

JRNAV:	JTMP1O
	JSER
	MOVE	T1,[SIXBIT /<NAV- /]
	HLRZ	Z,S1S2
	JUMPE	Z,JRNAV1
	SUBI	Z,40
	ANDI	Z,77
	ADD	T1,Z
	JSSIX

	HRRZ	Z,S1S2
	JUMPE	Z,JRNAV2
	SUBI	Z,40
	ANDI	Z,77
	JTMP1E
	JRST	JRNAV3
	ROT	Z,-6
	MOVE	E1,ARG1
	MOVE	T1,NAVLK(E1)
	ADD	T1,Z
	JRSIX

JRNAV1:	ADDI	T1,36
	JRSIX

JRNAV2:	MOVEI	T1,36
	ROT	T1,-6
	JRSIX

JRNAV3:	MOVE	T1,Z
	LSH	T1,6
	ADDI	T1,36
	ROT	T1,-^D12
	JRSIX

JRTNAV:	JXBUCL
	MOVE	E1,ERBIT
	JRNAVS

JRDNAV:	JBUPRZ
	JRTNAV
;;
;
 SUBTTL[RETURNS]
JRXRS:	JSER
JRXR:	JSXR
	JRQ

JRSIXS:	JSER
JRSIX:	JSSIX
	JRQ

JRMV:	MOVE PAL2,PFL
	MOVN PAN2,PFF
	ADD PAN2,PAL2

JRML:	JSBK
	JRNR
	MOVE Z,ARG1
	JSWSGN

JRAG:	JST2
	PAL2
	JRQ

JRMR:	AOSN ZERO
	JRNR
	JST2
	TEM4

JRNR:	MOVEI Z,60
	JRST GVR1

JRVSGN:	JSWSGN
JRVI:	JCIA
JRV:	JUMPE Z,JRNR
	MOVEM Z,TEM3
	JSGV
GVR1:	JSW
	JRQ


JRKWIT:	SKIPE Z
	TDOA SWITCH,T1
	TDZ SWITCH,T1
	JRQ

JRTABN:	MOVE T1,@T5
	JUMPE T1,JRQ
	JSAT
	MOVE T1,@T5
	JSSIX
	AOJA T5,JRTABN

;;
;
 ;;
;
 SUBTTL[JRQ]
JRQ:FR:	JJRENE
	JRST	SUS
	JRSETP
	JTBCK
FR0:	JSAE
	JRST	FR1
	JSAS
	JRST	FR0
FR1:	MOVE	PAN,PAL
	SUB	PAN,PAE
	JJNPNF
	JRST	FRY
FRX:	MOVE	T5,PFL
	SKIPA
FRY:	MOVE	T5,PEL
	MOVEM	T5,T6
	JJZTMP
	JSAT
	MOVE	Z,END
	CAIG	Z,WSPACE
	JRST	AR
	JSBUFZ
	ADD	T5,T7
	ADD	T6,T7
	MOVE	Z,LOW
	SUB	Z,PFL
	CAIGE	Z,2777;1000+1777
	JRST	FRZ
	MOVEI	Z,1000
	ADD	Z,PFL
	JSHRN
	JRST	AR

FRZ:	MOVE	Z,END
	SUB	Z,FLOW
	CAIGE	Z,2777
	JRST	AR
	MOVE	Z,FLOW

	JSOPF

	JRST	AR
;;
;
 SUBTTL[SCNTAB]
SCNTAB:
	XWD	0,ABF
	XWD	0,ABN
	XWD	0,ARP
	XWD	0,ALP
	XWD	0,ABM
	XWD	0,ARP
	XWD	0,ARMNF
	XWD	0,ACM
	XWD	0,ALQC
	XWD	0,ARIC
	XWD	0,ALPB
	XWD	0,ALPBE
	XWD	0,ALPA
	XWD	0,ALPAE
	XWD	0,ALPM
SCNTAC:	XWD	0,AR2
	XWD	0,ACL1
	XWD	0,ACL2
;
;
SUBTTL[SCAN]

ARIC:	JMSCN
	JRST	AR
;
ALQC:	JMSCN
	JRST	AR2
;
ABN:	MOVSI	Z,700000
	JXSKIP
ABF:	MOVSI	Z,400000
	ADD	Z,T2
	JRST	AR2

ACM:	MOVSI	Z,500000


AR2:	JDCT6

AR:	JMSCN;	INC PAL2 GET NEXT CHAR
;
AR1:	SETZI	T2,

IFN FLOATP,<CAMN	Z,CWCAST
	JRST	ACL1>
	camn	z,CWCQC
	jrst	ALQC
	camn	z,CWCSA
	jrst	ABF
	camn	z,CWCSN
	jrst	ABN
	camn	z,CWCSE
	jrst	ARP
	camn	z,CWCSP
	jrst	ALP
	camn	z,CWCMB
	jrst	ABM
	camn	z,CWCMA
	jrst	ARP
	camn	z,CWCMN
	jrst	ARMNF
	camn	z,CWCAS
	jrst	ACM
	camn	z,CWCQC
	jrst	ALQC
	camn	z,CWCIC
	jrst	ARIC
	camn	z,CWCBQ
	jrst	ALPB
	camn	z,CWCEQ
	jrst	ALPBE
	camn	z,CWCBP
	jrst	ALPA
	camn	z,CWCEP
	jrst	ALPAE
	camn	CWCBA
	jrst	ALPM
;
	CAMN	Z,CWCDOL
	jrst	acl2
;
	TRZ	Z,1000
	jrst	AR2
;
;
ABM:	ADDI	T2,1
ACL2:	ADDI	T2,1
ACL1:	ADDI	T2,1
	ROT	T2,-6
	jrst	abf
;
ALPM:	move	t7,CWCEA
	JRST	ALPP
;
ALPA:	move	t7,CWCEP
	JRST	ALPP
;
ALPAE:	move	t7,CWCBP
	JRST	ALPP
;
ALPB:	move	t7,CWCEQ
	JRST	ALPP
;
ALPBE:	move	t7,CWCBQ
	JRST	ALPP
;
;
ALP1P:	CAMN	Z,T7
	JRST	APR1
	CAMN	Z,T4
	JRST	ALP2
	JRST	APW
;
;
ALPP:	MOVE	T4,Z
	JRST	ALP0
;
ALP:	SETZI	T4,
ALP0:	SETZI	T3,;	 ! SEEN
ALC:	JMSCN
	JUMPN	T4,ALP1P
	CAMN	Z,CWCSE
	JRST	APR1
	CAMN	Z,CWCSP
	AOS	T3
	CAMN	Z,CWCSA
	AOS	T3
	CAMN	Z,CWCSN
ALP2:	AOS	T3
APW:	JDCT6
	JRST	ALC

APR1:	SOS	T3
	JUMPL	T3,AR
	JRST	APW

ARMNF:	JTCPNF	;set pnf
;
ARP:	JTMP1O
	MOVEM	T6,PAL
	MOVE	Z,K600K;	>

ARP1:	JDCT6
	JMSCN
	JRST	ARP1
;;
;
 SUBTTL[RSC1]
RSC1:	JJN1CK
	JRX
	MOVEM T6,PAE
	MOVE Z,LOW
	MOVEM Z,PWR
	AOS PAL
	MOVEM PAL,T3

SC1:	MOVEI PAN,1
SC2:	SOS PAL
	SOS PAN
	CAMN PAL,OR2
	JRX
	MOVE T2,@PAL
	JUMPGE T2,SC2
	HRR T2,PAN
	MOVEM T2,@PAL
	LSHC T1,3
	ANDI T1,7
	CAIN T1,5
	JRST SC1
	CAIN T1,7
	JTCPNF
	MOVEM PAL,PFL
	MOVEM PAL,PEL
	SOS PFL
	SOS PEL
	JJETCE
	JRST QTCE


;;
;
 SUBTTL[FNP1]
FNP1:	JJATMP
FNPNL:	JNULLO

FNPNU1:	LSHC	T1,3
	ANDI	T1,3
	SKIPE	T1
	JRST	@FNP1L-1(T1)

FNPBAS:	JSPK
	JRST	Qfntre
	JSDLST
	FNL
	jumpn	Z,Qfti
	hrrz	z,S1S2
	subi	z,140
	skipg	z
	addi	z,40
	cain	z,"F"
	jrst	Qqf
	cain	z,"N"
	jrst	Qqn
	cain	z,"T"
	jrst	Qqt
	jrst	Qfti

FNP1L:
 IFN FLOATP,<	JRST	Qflt0>
 IFE FLOATP,<	JRST	FNPNAV>
	JRST	Q$M1
	jrst	fnpm6; FOR "M6" FUNCTION MARKERS

FNPNAV:	MOVE	PAL,PEL
	AOS	PAL
	JXGLN
	JRST	FNPBAS
;
Qfntre:	caie	t1,3
	jrst	Qfti1
;
	jsgsix
	jstab
	tabtre-1
	tretab-1
	jrst	qfti
	hrrz	pal21,@t6
	hlrz	t6,@t6
	move	t1,pal21
	jcla
	jrst	@t6
;
;
Qnud:	JJOMOE
	JRST	FNPBAS
;
fnpm6:	jsf
	jrst	fnpm6a
	jrst	qfti
;
fnpm6a:	jspk
	jrst	qfntre
	jsdlst
	fnl
	jrq
;
;
SUBTTL[JSA1]
JSA1:	MOVSI T4,(JFCL)
	MOVE T5,[MOVEI Z,1]
	MOVEM BASE,LT

JSA11:	MOVEM T4,ADS32
	MOVEM T5,ADS33
	JPOPJ

JSA2:	MOVE T4,[PUSHJ P,JSTNY]
	MOVSI T5,(JFCL)
	JRST JSA11

JSA3:	MOVE T4,[MOVNS Z,Z]
	MOVSI T5,(SETCA Z,)
	MOVNM BASE,LT
	JRST JSA11
;;
;
 SUBTTL[JSAA]
JSAA:	MOVE T6,Z
	SETZB T5,ZERO
	MOVEI Z,55
	MOVEM Z,ARG1
	HLRO BASE,RIXBIX
	JSET
	SETCMM ZERO
	MOVE PAL2,PAL
	JSNT
	MOVE PAL,PAL2
	MOVE PAN,PAN2
	MOVEI Z,2
	ADD Z,ZERO
	JUMPE Z,AST3
	MOVE PAL2,T2
	JSNT

AST3:	JSGQ
	JRST AST1
	ADDI T6,10
	JPOPJ

AST1:	MOVEI T5,200
	JPOPJ
;;
;
 SUBTTL[JSAE]
JSAE:	MOVE Z,@PAL
	ROT Z,3
	ANDI Z,7
	CAIE Z,6

JPOPA:	AOS 0(P)

JPOPZ:	JCLA

CPOPJ:	JPOPJ
;;
;
 SUBTTL[JSAN]
JSAN:	MOVEM Z,C
	JJZSGN
	ADD Z,BASE
	ADD Z,BSEK
	JUMPGE Z,JPOPZ
	SUB Z,BASE
	JUMPGE Z,JPOP1

ADN1:	MOVE Z,C
	CAIN Z,55
	JJOSGN
	JPOPZ
;;
;
 SUBTTL[JSAS]
JSAS:	JSAE
	JRST ARGS31
	AOS ZERO

ARGS1:	SKIPG @PAL
	JRST ARGS3
        
ARGS2:  AOS PAL
	SKIPL @PAL
	JRST ARGS2
        JRST ARGS4

ARGS3:	JXGLN
	SUB PAL,PAN
	AOS PAL
ARGS31:	SETZI PAN,

ARGS4:  JSAE
        JPOPJ
	JXGLN
        JPOPJ
;;
;
 SUBTTL[JSAT]
JSAT:	JST2
	PAL
	JPOPJ
;;
;
 SUBTTL[JSAU]
JSAU:	MOVE PAL2,ARG2
	SOS PAL2
	SETZB T4,T5
	SETZB Z,PAN2
AD3A:	MOVE T6,Z
	JUMPN T4,AD3B
	JSD2
	MOVE Z,@T2
	JSAN
	AOS T4
	ADD T6,Z
AD3B:	JUMPN T5,AD3C
	JSD3
	MOVE Z,@T3
	JSAN
	JRST A8
AD32:	XCT ADS32
	ADD T6,Z
AD3C:	MOVE Z,T4
	ADD Z,T5
	SUBI Z,2
	JUMPN Z,AD3D
	JUMPE T6,CPOPJ
	MOVE Z,T6
	JSDC
	JPOPJ

AD3D:	MOVE Z,T6
	ADDI Z,60
	JSAN
	JRST AD3E
	JSDC
	JRST AD3A

AD3E:	MOVE Z,LT
	ADD Z,C
	ANDI Z,17
	JSDC
AD33:	XCT ADS33
	JRST AD3A


A8:	AOS T5
	JRST AD3C
;;
;
 SUBTTL[JSBDE]
 IFN LEVELC,<
JSBDE:	MOVE E3,DIWRIT
	JSBDF
	JJEDTA
	JPOPJ

	HLLZ E2,PNTPUN
	RENAME CHAND,E
	JRNAVR
	JPOPJ
 >
;;
;
 SUBTTL[JSBDF]
JSBDF:	MOVEM T1,DSK1
	SUB T1,BASE
	JUMPE T1,JSBDF1

JSBDF2:	ENTER CHAND,E
	JRNAVE
	HRLM T1,DSK1
	OUTPUT CHAND,DSK1

	JGETST
	STATZ CHAND,740000
	JRNAVO
	;IF DEC FIXES UP DECTAPE SERVICE THEN
	;WE NEED HERE JJEDTA/JRST FIXUP PRIOR TO CLOSE
	JFBCL
	JPOPJ

JSBDF1:	MOVEI T1,DSK1
	MOVEM T1,DSK1
	SETOI T1,
	JRST JSBDF2
;;
;
 SUBTTL[JSBDI]
JSBDI:	INIT CHAND,17
	SIXBIT /DSK/
	XWD 0,0
	JRNAV
	JPOPJ
;;
;
 SUBTTL[JSBDL]
JSBDL:	JSBDN
	JJEPNF
	JPOPJ
	SKIPE DFILEX
	HLL E1,DFILEX
	JPOPJ
;;
;
 SUBTTL[JSBDN]
JSBDN:	JSNQ
	SETZB E,E1
	SETZB E2,E3
	MOVE T2,[POINT 6,E]
	MOVEI T3,6

JSBDN0:	PUSHJ P,JSBDNA
	JRST JSBDN2
	IDPB Z,T2
	SOJN T3,JSBDN0
JSBDN1:	PUSHJ P,JSBDNA
	JRST JSBDN2
	JRST JSBDN1

JSBDN2:	MOVE T2,[POINT 6,E1]
	MOVEI T3,3

JSBDN3:	PUSHJ P,JSBDNA
	JRST JSBDN4
	IDPB Z,T2
	SOJN T3,JSBDN3

JSBDN4:	PUSHJ P,JSBDNA
	JRST JSBDN4
	JRST JSBDN4

JSBDN5:	POP P,Z
	TLNE E,777777
	JPOPZ
	MOVSI E,(SIXBIT /(NU/)
	TRNN E,777777
	HRRI E,(SIXBIT /LL)/)
	JPOPZ

JSBDNA:	JSR1
	JRST JSBDN5
	CAIN Z,56
	JPOPJ
	JSPKC
	JRST	JSBDNA
JPOP1:	AOS 0(P)
	JPOPJ
;;
;
 SUBTTL[JSBDP]
JSBDP:	MOVE	E3,DIREAD
JSBDPW:	JSAE
	JPOPJ
	PUSH P,E
	JSXX
	MOVE PAL21,Z
	JSXX
	JUMPE Z,JSBDP1
	JUMPE PAL21,JSBDP1
	HRR E3,Z
	HRL E3,PAL21
JSBDP1:	POP P,E
	JPOPJ
;;
;
 SUBTTL[JSBFI]
JSBFI:	JSER

JSBFI1:	JSAS
	JSBDP

	JMRPAL

	MOVE T1,kdevlf
	MOVE Z,KSTATR
	JSOPEN

	JJEDTA
	JRST JSBFIT

	SKIPN E3
	CALLI E3,24
	MOVE E,E3
;LEVEL D?
	MOVSI E1,(SIXBIT /UFD/)
	SETZB E2,E3
	AOBJN E3,.+1

	LOOKUP CHAND,E
	JRNAVL
	JSBUF
	JRQ
	JPOPJ

;;
;
 ;DECTAPE PROGRAM FOR FI
JSBFIT:	USETI CHAND,144
	JSBUF
	JFCL
	MOVEI T1,27
	MOVE T2,T7
	ADDI T2,DTADIR
	MOVE T4,T7
	MOVE T5,T7
	ADDI T5,201

JSBFI5:	AOS T4
JSBFI6:	AOS T2
	SOJE T1,JSBFI7
	MOVE Z,@T2
	JUMPE Z,JSBFI6
	MOVEM Z,@T4
	MOVE Z,26(T2)
	AOS T4
	MOVEM Z,@T4
	JRST JSBFI5


JSBFI7:	CAMN T4,T5
	JPOPJ
	SETZM @T4
	AOS T4
	JRST JSBFI7
;;
;
 SUBTTL[JSBK]
JSBK:	MOVE T1,PAL2
BNKA:	AOS T1
	MOVE Z,@T1
	JUMPLE Z,JPOPZ
	SUBI Z,60
	JUMPN Z,JPOPA

BNKB:	AOS PAL2
	SETZM @PAL2
	AOS PAN2
	JRST BNKA
;;
;
 SUBTTL[JSBT]
JSBT:	HRRO BASE,RIXBIX
	JSET
	SETZI PAN2,
	MOVE PAL2,T3
	SOS PAL2
	JPOPJ
;;
;
 SUBTTL[JSBTIM]
JSBTIM:	JJEPNF
	JPOPJ
	JJEDTA
	JRST	JSBTI1
	CALLI	T2,14	;4 new to fix date 75 problem
	DPB	T2,[POINT 12,E2,35]
	ROT	T2,-^D12
	DPB	T2,[POINT 3,E1,20]

	CALLI	T2,23
	IDIVI	T2,^D1000*^D60*^D3
	ADDI	T2,BKTIME
	LSH	T2,^D12
	ADD	E2,T2

JSBTI2:
 IFN LEVELD,<
	HLLZ	T2,PNTPUN
	TLZ	T2,777
	ADD	E2,T2>
	JPOPJ
JSBTI1:	HRRZI	E2,BKDATE
	JRST	JSBTI2
;;
;
 SUBTTL[JSBUF]
JSBUF:	MOVE Z,[IOWD 200,INDEX]
	JJEDTA
	HRLI Z,-177
	MOVEM Z,DSK1
	HRRZ T7,DSK1

	INPUT CHAND,DSK1
	JGETST
	STATZ CHAND,740000
	JRST JSBUF1
JSBUF3:	STATZ CHAND,20000
	JRST JSBUF2
	JPOPA

JSBUF1:	JJEDTA
	JRST JSBUF4
JSBUF5:	POP P,BASE
	JRNAVI

JSBUF4:	STATZ CHAND,700000
	JRST JSBUF5
	JRST JSBUF3

JSBUF2:	JFBCL
	JPOPZ
;;
;
 SUBTTL[JSBUFC]
JSBUFC:	JXBUCL
	MOVE Z,SYBUCH(PAN2)
	ANDI Z,7
	LSH Z,2
	SETZM CHANAS(Z)

	JCLA
	HRLM Z,SYBUH1(PAN2)

	MOVE PAL21,[CALL 0,10]
	HRLZI T2,40

JSBUC1:	MOVE T6,Z
	LSH T6,2
	SKIPE CHANAS(T6)
	XCT PAL21
	AOS Z
	ADD PAL21,T2
	CAIE Z,10
	JRST JSBUC1

	MOVE PAL21,FLOW
	MOVEM PAL21,ARG2
	MOVE PAL21,BUFLOW
	MOVEM PAL21,FLOW
	MOVE PAL21,BUFTOP

JSBUC2:	JSFS
	JRST JSBUC5

	HLRZ Z,@PFN
	JUMPN Z,JSBUC2

	JSDD

	MOVE PAL21,BUFTOP

JSBUC3:	JSFS
	JRST JSBUC5
	HLRZ Z,@PFN
	CAMN Z,PFN
	JRST JSBUC3

	MOVE PAN2,PFN
	HRLM PAN2,@PFN
	SUB Z,PFN
	SOS PAN2

	JCIA

	MOVE T6,SYBUCH(PAN2)
	ANDI T6,7
	LSH T6,2
	ADDM Z,CHANAS(T6)
	ADDI T6,1
	ADDM Z,CHANAS(T6)
	ADDM Z,SYBUR1(PAN2)
	HRRZ T6,SYBUR1(PAN2)
	SOS T6
	ADDM Z,@T6
	JRST JSBUC3

JSBUC4:	JFCL

JSBUC5:	MOVE PAL21,ARG2
	MOVE T7,FLOW
	MOVEM T7,BUFLOW
	MOVEM PAL21,FLOW

	JPOPJ
;;
;
 SUBTTL[JSBUFH]
JSBUFH:	MOVE PAN2,CHANAS(PAN2)
	TLNN PAN2,1
	JRST JSBU1H

	JXBUIO
	JXBUST
	JRST JSBU2H

JSBU1H:	JSBUFC
	JFCL
	JPOPJ

JSBU2H:	JXBUGS
	JSBUFC
	JRDNAV
;;
;
 SUBTTL[JSBUFO]
JSBUFO:	SUB Z,OR2
	MOVE PAL21,Z
	MOVE T7,LOW
	SUB T7,PAE
	SUBI T7,200
	CAMG T7,Z
	JSOPN

	MOVE T7,PAL21
	ADD PAL21,PAE

	JSSR
	PAL21
	PAE
	OR2

	JRST JSBUZ1

;;
;
 SUBTTL[JSBUFZ]
JSBUFZ:	SETZI T7,
	MOVE Z,BUFLOW
	CAMN Z,OR2
	JPOPZ
	HRL Z,OR2
	AOBJN Z,.+1
	MOVE T2,PAE
	SUB T2,OR2
	MOVE T7,BUFLOW
	SUB T7,OR2
	ADD T2,BUFLOW
	ADDI T2,1
	HRLI T2,(BLT Z,)
	XCT T2

	ADDM T7,OR2
JSBUZ1:	ADDM T7,PAL
	ADDM T7,PEL
	ADDM T7,PFL
	ADDM T7,PAE

	JPOPZ

;;
;
 SUBTTL[JSBUG]
JSBUG1:	JSBUF
	JPOPZ
JSBUG:	AOS T7
	CAIN T7,INDEX+200
	JRST JSBUG1
	MOVE T1,@T7
	JUMPE T1,JSBUG
	JPOPA
;;
;
 SUBTTL[JSCF]
JSCF:	JSF
	JRQ
JSCFA:	MOVEM PAL2,CHAR1
	HRRZ T3,@PFI
	ADD PAL2,T3
	MOVEM PAL2,PAL21
	JSAS
	JPOPJ
;;
;
 SUBTTL[JSCT]
JSCT:	JSR2
	JRST JSCT2
	JRST JSCT
	SOS PAL2

JSCT2:	MOVE T6,PAL2
	SUB T6,CHAR1
	HRRM T6,@PFI
	JPOPJ
;;
;
 SUBTTL[JSD]
JSD:	MOVE	T7,@0(P)
	AOS	T7
JSD1:	MOVE	T2,@T7
	HRRZ	T3,T2
	JUMPE	T3,JSD11
	TRZ	T3,10000
	CAME	Z,T3
	AOJA	T7,JSD1

JSD11:	HLRZ	T3,(T7)
	POP	P,Z
	JCLA
	JRST	0(T3)
;;
;
 SUBTTL[JSDC]
JSDC:	ADDI Z,60
	MOVEM Z,@PAL2
	JSDL
	JSDN
	JPOPZ
;;
;
 SUBTTL[JSDD]
JSDD:	MOVE Z,FLOW
	AOS PAL21
	SUB Z,PAL21
	ADD Z,PFN
	MOVEM Z,FLOW
	HRL T2,PAL21
	HRR T2,PFN
	HRLI Z,(BLT T2,)
	XCT Z
	JPOPZ
;;
;
 SUBTTL[JSDLST]
JSDLST:	MOVE	T7,@0(P)
	AOS	0(P)
	JSDTST
	JPOPJ

	ADDI	T5,DITBL
	HLRZ	T7,@T5
	JRST	@T7

;;
;
 SUBTTL[JSDS]
JSDS:	MOVE Z,FLOW
	AOS Z

	MOVN T2,PAN2
	HRRZM T2,@Z	;PFN
	AOS Z
	MOVN T3,PAN  ;PFF
	HRRZM T3,@Z
	AOS Z
	MOVEI T1,2
	MOVSM T1,@Z
	SETZI T1,
	LSH Z,2
	ADDI Z,3
	MOVEM Z,T1
	ADD Z,T3
	ADD Z,T2
	LSH Z,-2
	ADDI Z,100
	CAML Z,END
	JRST JSDS1
	SUBI Z,100
	MOVEM Z,FLOW
	JPOPJ

JSDS1:	JSOPF
	JRST JSDS

JSDSA:	JSDS
	
	JSNQ
JSDSA1:	JSR1
	JPOPZ
	JSW2C
	JRST JSDSA1
;;
;
 SUBTTL[JSDTST]
JSDTST:	MOVE	T5,Z
	SUBI	T5,101
	SETZI	T6,0

	LSHC	T5,-6
	IMULI	T5,32
	ROT	T6,6
	ANDI	T6,77
	ADD	T5,T6
	IDIVI	T5,4
	ADD	T5,T7
	LDB	T5,ZT50(T6)
	JUMPE	T5,JPOPZ
	JPOPA
;;
;
 SUBTTL[JSER]
JSER:	MOVEM PAL,PALPAL
	JNULLE
	JPOPJ
	jjemoe
	jpopj
	JSSR 
	LOW
	PAE
	PAL
	MOVEM T2,PWR
	AOS T2
	MOVEM PAL,PALPAL
	MOVE Z,LOW
	MOVEM Z,PAE
	SETZB Z,@PWR
	JPOPJ
;;
;
 SUBTTL[JSERNO]
JSERNO:	JPOPZ
SUBTTL[JSET]
JSET:	MOVEM PAL,TEM4
	JSAS
	MOVE T2,PAL
	JSAE
	AOS T6
	JSAS
	MOVE T3,PAL
	MOVEM PAL,ARG2
	JPOPJ

;;
;
 SUBTTL[JSF]
JSF:	MOVE PAL21,FTOP
JSFBK:	JTMP2Z
	
JSF1:	JSFS
	JPOPJ

	CAME PAN,PAN2
	JRST JSF1
	JUMPE PAN,JPOP1
	MOVE T6,PAL
	JTMP2E
	JRST JSFA1
	MOVN T7,PAN
	CAILE T7,^D8
	JRST JSF2
	JSNAST

JSFA1:	SUB PAL2,PAN
	MOVEM PAL2,CHAR2
	ADD PAL2,PAN

	JSNAMA
	JRST JSF1
	HLRM BASE,CHAR2
	JTMP2Z
	MOVEI T4,1
	JPOPA

JSF2:	AOS PAL2
	JSR2C
	JMASCI
	AOS T6
	CAME Z,@T6
	JRST JSF1
	AOJN PAN2,JSF2
	JPOPA
;;
;
 SUBTTL[JSFBL]
JSFBL:	MOVE E3,DIREAD
	JSAE
	SKIPA
	JSBDP
	JCLA
	LOOKUP CHAND,E
	JRST JSFBL1
	LDB Z,QTIME2
	CAIL Z,BKTIME
	JPOPA
	LDB Z,QDATE2
	CAIN Z,7303
	JPOPA
	JPOPZ

JSFBL1:	JFBCL
	JRAC

;;
;
 SUBTTL[JSFDL]
JSFDL:	AOS TEM2
	HRRZ Z,@TEM2
	JUMPE Z,JPOPZ
	JPOP1
;;
;
 SUBTTL[JSFLIX]
JSFLIX:	SETZB T3,TEM3
	MOVE T2,Z
	JUMPGE T2,JSFL01
	MOVNS T2
	JSWSGN
	TLZE T2,400000
	JRST JSFL02

JSFL01:	TLNN T2,400
	JRST JSFL05
	CAMGE T2,FP2467
	JRST JSFL07
	CAML T2,FP2455
	AOJA T3,JSFL07

	PUSHJ P,JSFL02
	JRST JSFL06

JSFL02:	MOVEI T4,0
JSFL03:	MULI T2,400
	ASHC T3,-243(T2)
	SKIPE T2,T3
	PUSHJ P,JSFL12
	MOVNI T2,10
	ADD T2,TEM3
	MOVE T1,T4
	JUMPE T1,CPOPJ
	JTMP2Z
JSFL04:	MOVE Z,T1
	MULI Z,12
	JTMP2N
	JRST JSFL19
JSFL22:	PUSHJ P,JSFL13
	SKIPE T1
	AOJL T2,JSFL04
	JPOPJ

JSFL19:	JUMPE Z,JSFL20
	JTMP2O
	JRST JSFL22

JSFL20:	ADDI T7,1
	JRST JSFL04

JSFL05:	PUSHJ P,JSFL12
JSFL06:	PUSHJ P,JSFL15
	PUSHJ P,JSFLIE
	MOVE T2,TEM3
	JRST JSFL11


JSFL07:	MOVNI T4,6
	SETZB T7,TEM3
JSFL08:	ASH T7,1
	XCT JSFL16(T3)
	JRST JSFL09
	FMPR T2,@JSFL17(T3)
	IORI T7,1

JSFL09:	AOJN T4,JSFL08

	ADDI T7,1
	JJZSGN
	SKIPN T3
	JJOSGN

JSFL10:	PUSHJ P,JSFL03
	PUSHJ P,JSFL15
	PUSHJ P,JSFLIE
	JJESGN
	PUSHJ P,JSWSGN+1
	MOVE T2,T7

JSFL11:	JUMPE T2,JSFL13
JSFL12:	IDIVI T2,12
	AOS TEM3
	HRLM T3,0(P)
	SKIPE T2
	PUSHJ P,JSFL12

	HLRZ Z,0(P)
JSFL13:	ADDI Z,60
	JSW
	JPOPJ

FPTABM=FP2467+1

JSFL14:	SOS PFL
JSFL15:	MOVE Z,@PFL
	CAIE Z,"0"
	JPOPJ
	JRST JSFL14

JSFL16:	CAML T2,FPTABM(T4)
JSFL17:	CAMGE T2,FP2461(T4)
JSFL18:	XWD T4,FPTABM


JSFLIE:	JTMP1N
	JRST JSFLI2
	JSAT
	JPOPJ

JSFLI2:	MOVEI Z,"E"
	JSW
	JPOPJ


;;
;
 SUBTTL[JSFLOT]

JSFLOT:	JSAE
	JPOPJ
	MOVE T5,PAL
	JSAS
	MOVE T7,PAL
	SETZI PAL21,
	JTMP1N
	PUSHJ P,JSFLOE

	SOS T7
	MOVE Z,@T7
	CAIN Z,"0"
	JRST .-3
	AOS T7

JSFLO1:	SETZB T1,T6

JSFLO2:	AOS T5
	CAMN T5,T7
	JRST JSFLO4

	MOVE Z,@T5
	CAIG Z,"9"
	CAIGE Z,"0"
	JRST JSFLON

	TLNN PAL21,2
	JRST JSFLOF

JSFLO3:	SUBI Z,60
	IMULI T1,12
	ADD T1,Z
	TLNN T1,377000
	JRST JSFLO2

	IDIVI T1,12
	CAIL T2,5
	ADDI T1,1
JSFLO4:	JUMPE T1,JPOPZ
	MOVEM T1,TEM1
	SUB T5,TEM2

	SUB T5,T6
	MOVEM T5,TEM4;NUMBER OF DIGITS

JSFLO5:	JCLA
	TLNN PAL21,10
	JSGT
	JJNSGN
	JCIA
	SUB Z,TEM4

	JFCL;SUBTRACT FROM Z  SCALE FACTOR
	JOV .+1
	JUMPE Z,JSFLO6
	CAIG Z,46
	CAMGE Z,FPM46
	JRST FPBADX
JSFLO6:	MOVE T1,TEM1
	TLC T1,233000
	FAD T1,FPZERO
	JUMPGE Z,FPFMR
	JCIA
	MOVEI T5,-6
	CAIA

FPFMR:	MOVEI T5,1
FPFMR1:	TRNE Z,1
	FMPR	 T1,FPTBLP(T5)
	ASH Z,-1
	ADDI T5,1
	JUMPN Z,FPFMR1
	JOV FPBADX

FPTLF:	TLNE PAL21,1
	MOVNS T1
	MOVE Z,T1
	JPOPJ

FPBADX:	MOVE Z,MIFI
	JJNSGN
	JCIA
	JPOPJ

JSFLON:	CAIN Z,55
	TLOA PAL21,1
	TLZ PAL21,1
	JRST JSFLO2

JSFLOF:	CAIE Z,"0"
	JRST JSFLOG
	AOS T6
	JRST JSFLO2

JSFLOG:	MOVEM T5,TEM2
	TLO PAL21,2
	JRST JSFLO3

JSFLOE:	MOVEM PAL,CHAR2

JSFL30:	SOS T7
	CAMN T5,T7
	JRST JSFL32
	MOVE Z,@T7
	CAIE Z,"E"
	JRST JSFL30
	MOVE Z,T7
	SUB Z,PAL
	ADDI Z,1
	HRLI Z,500000
	MOVEM Z,@T7

	MOVE T6,T7
JSFL31:	SOS T6
	CAMN T5,T6
	JRST JSFL33
	MOVE Z,@T6
	CAIG Z,"9"
	CAIGE Z,"0"
	CAIA
	JRST JSFL33
	MOVEI Z,"0"
	MOVEM Z,@T6
	JRST JSFL31

JSFL32:	TLO PAL21,10
	MOVE T7,PAL
	JPOPJ

JSFL33:	MOVE PAL,T7
	JXGLN
	JPOPJ


;;
;
 SUBTTL[JSFS]
JSFS:	MOVE PAL2,PAL21
	CAMN PAL2,FLOW
	JPOPJ
	CAML PAL2,FLOW
	JRCE
	AOS PAL2

	MOVEM PAL2,PFN
	HRRZ PAN2,@PAL2
	MOVNS PAN2
	AOS PAL2
	HRRZ BASE,@PAL2
	MOVEM PAL2,PFF

	AOS PAL2
	HLL PAL2,@PAL2
	TLNN PAL2,2
	JTMP3A
	JTMP3O

	HRRM PAL2,PFI
	HRR PAL21,PAL2
	LSH PAL21,2
	ADDI PAL21,3
	MOVEM PAL21,PAL2

	SUB PAL21,PAN2
	ADD PAL21,BASE
	MOVEM PAL21,CHAR2
	HRLZ BASE,PAL21

	LSH PAL21,-2
	JPOP1
;;
;
 SUBTTL[JSGE]
JSGE:	JSNQ
	JSGT
	JUMPE Z,JRQ
	JPOPZ
;;
;
 SUBTTL[JSGQ]
JSGQ:	MOVE Z,PAN
	SUB Z,PAN2
	JUMPN Z,AGQ3
	MOVE T4,PAN
	JUMPE T4,CPOPJ
	MOVE T1,PAL
	MOVE T7,PAL2
AGQ2:	AOS T7
	MOVE Z,@T7
	AOS T1
	SUB Z,@T1
	JUMPN Z,AGQ3
	AOJN T4,AGQ2
	JPOPJ

AGQ3:	SKIPL Z
JPOPB:	AOS 0(P)
	JPOPA
;;
;
 SUBTTL[JSGSEV]
JSGSEV:	SETZI	T1,
	MOVEI	T2,5

JSGSV1:	JSR1
	JRST	JSGSV2
	ADD	T1,Z
	SOJE	T2,JSGSV3
	LSH	T1,7
	JRST	JSGSV1

JSGSV2:	SOJE	T2,JSGSV4
	LSH	T1,7
	JRST	JSGSV2

JSGSV4:	JXGLN
	JPOPJ

JSGSV3:	JSR1
	JRST	JSGSV4
	JRST	JSGSV3


;;
;
 SUBTTL[JSGSIX]
JSGSIX:	SETZI T1,
	JSAE
	JPOPJ
	MOVEI T2,6


JSGSX1:	JSR1
	JRST JSGSX2
	JSPKC
	JFCL
	ADD T1,Z
	SOJE T2,JSGSX3
	LSH T1,6
	JRST JSGSX1

JSGSX2:	SOJE T2,JSGSX4
	LSH T1,6
	JRST JSGSX2

JSGSX4:	JXGLN
	JPOPJ

JSGSX3:	JSR1
	JRST JSGSX4
	JRST JSGSX3

;;
;
 SUBTTL[JSGT]
JSGT:	MOVNI BASE,12
	MOVEI Z,GX
	JSGX
	JPOPJ
;;
;
 SUBTTL[JSGV]
JSGV:	MOVEI Z,GL
	MOVEM Z,ARG2
	SETZB Z,LT
GV1:	AOS ARG2
	SETZM ARG3
GV11:	MOVE Z,@ARG2
	JUMPE Z,JPOP1
	MOVNS Z
	ADD Z,TEM3
	JUMPG Z,GV13
GV12:	AOS ARG3
	MOVEM Z,TEM3
	JUMPN Z,GV11
GV13:	MOVE Z,ARG3
	JUMPE Z,GV14
	AOS LT
	JRST GV15
GV14:	MOVE Z,LT
	JUMPE Z,GV1
GV15:	MOVE Z,ARG3
	ADDI Z,60
	XCT @0(P)
	JRST GV1
;;
;
 SUBTTL[JSGX]
JSGX:	MOVEM Z,T2
	SETZB T4,TEM2
	JSAE
	JPOPJ
	JSAS
	MOVEM PAL,T3
GXT1:	JSD2
	JSD3
	MOVE Z,@T3
	JSAN
	JRST GXT3
	JUMPE Z,GXT1
	MOVNM Z,TEM6
GXT2:	MOVE Z,@T2
	JUMPE Z,GXT3
	SUB T4,Z
	AOSE TEM6
	JRST GXT2

	JRST GXT1
GXT3:	SUB Z,T4
	JPOPJ
;;
;
 SUBTTL[JSHRN]
JSHRN:	ADD Z,FLOW
	SUB Z,LOW
	MOVE T3,FLOW
	SUB T3,Z
	MOVEM Z,FLOW
	MOVNS T3
	ADDM T3,FTOP
	HRL T2,LOW
	ADDM T3,LOW
	HRR T2,LOW

	HRLI Z,(BLT T2,)
	XCT Z

	MOVE Z,FLOW
	JSOPF
	JPOPJ
;;
;
 SUBTTL[JSIRO]
JSIRO:	JTMP1Z
JSIRO3:	JSTI
	CAIN Z,30;<CONTROL X>
	JRST JSIROX
	CAMN Z,RUBOUT
	JRST JSIROR
	JTMP1N
	JPOPJ
	JRORN
	JPOPJ
	PUSH P,Z
	HRRZ Z,RUBOUC
	SKIPE	Z
	JSTO
	JSTINF
	POP P,Z
	SKIPE	Z
	JSTO
	JPOPJ

JSIROR:	JTMP1N
	SETZM TEM1
	JRORN
	JRST JSIRO1

	JTMP1E
	JRST JSIRO1
	HLRZ Z,RUBOUC
	JSTO
	JSTINH

JSIRO1:	JTMP1O
	AOS TEM1
	MOVE T1,OR2
	ADDI T1,4
	CAME T1,PFL
	JRST JSIRO2
	JSTINF
	JRST REST

JSIRO2:	MOVE Z,PFL
	CAMN Z,PEL
	JRST JSIRO3

	MOVE Z,@PFL
	JRORE
	JSTO
	SOS PFL
	JRST JSIRO3

JSIROX:	JSPR
	MOVE Z,PEL
	MOVEM Z,PFL
	JRST JSIRO3
;;
;
 SUBTTL[JSL2]
JSL2:	CAMN PAL2,CHAR1
	JPOPZ
	AOS 0(P)
	JSR2C
	JMASCI
	CAIGE Z,CMASK
	AOS 0(P)
	SOS PAL2
	JPOPZ
;;
;
 SUBTTL[JSLG]
JSLG:	MOVE	T4,PAL
	MOVE	T5,PAL

JSLG1:	AOS	T4
	SKIPGE	@T4
	JPOPA
	AOS	T5
	AOS	PAL2
	SKIPGE	@PAL2
	JRST	JSLG2
	MOVN	Z,@PAL2
	ADD	Z,@T5
	JUMPE	Z,JSLG1
	SKIPLE	Z

JSLG2:	JPOPZ
	JPOPA
;;
;
 SUBTTL[JSLNA]
JSLNA:	LSH PAL21,2
	JSAT
	JUMPE PAN2,JSLNA2

JSLNA1:	AOS PAL2
	JSR2C
	JMASCI
	JSW
	AOJN PAN2,JSLNA1
JSLNA2:	LSH PAL21,-2
	JPOPJ
;;
;
 SUBTTL[JSML]
JSML:	JSER
	JSAA
	MOVE Z,ZERO
	ADDI Z,2
	JUMPE Z,CPOPJ
	JUMPE PAN,CPOPJ
	JST2
	TEM4
	JUMPE PAN2,JRNR
	ADD PAN2,PAN
	SUBI PAN2,2
	MOVE Z,T6
	ANDI Z,3
	JUMPE Z,MLD1
	CAIN Z,3
	JRST MLD1
	MOVE Z,ARG1
	JSW
MLD1:	MOVE T2,PFL
MLD2:	CAML T2,PWR
	JRST MLD3
	MOVEI Z,60
	AOS T2
	MOVEM Z,@T2
	AOJN PAN2,MLD2
	SETZM ARG1
	MOVE Z,PFL
	MOVEM Z,PFF
	MOVEM T3,ARG3
	MOVE Z,PAL2
	JPOP1

MLD3:	MOVEI Z,1000
	JSOPN
	ADDM Z,PAL
	ADDM Z,PAE
	ADDM Z,T3
	ADDM Z,PAL2
	JRST MLD2
;;
;
 SUBTTL[JSMT]
JSMT:	MOVE T3,ARG3
	MOVE T2,ARG2
	JPOPJ
;;
;
 SUBTTL[JSNAMA]
JSNAMA:	SETZB T6,T7
	JSR2
	JPOPZ
	JRST JSNAM0
	JRST JSNAM5

JSNAM3:	AOS BASE
JSNAM4:	JSR2
	JPOPZ
	JRST JSNAM6

JSNAM5:	LSHC T6,11
	ADD T7,Z
	AND T7,T3
	CAME T5,T7
	JRST JSNAM4
	JUMPE T2,JPOPA
	AND T6,T2
	CAME T4,T6
	JRST JSNAM4
	JPOPA

JSNAM0:	JJEGAP
	JRST JSNAMA

JSNAM6:	JJEGAP
	JRST JSNAM3
	ADDI Z,CMASK
	JRST JSNAM5
;;
;
 SUBTTL[JSNAST]
JSNAST:	JTMP2O
	SETZB T2,T3
	SETZB T4,T5

JSNAS1:	AOS T6
	MOVE Z,@T6
	LSHC T4,11
	LSHC T2,11
	ADD T5,Z
	ADDI T3,777
	SOJN T7,JSNAS1
	JPOPZ

;;
;
 SUBTTL[JSNT]
JSNT:	SETZM PAN2
	ROT T6,1
NES1:	JSDL
	MOVE Z,@PAL2
	JSAN
	JRST NES2
	JSDN
	JRST NES1

NES2:	SETZI Z,
	SUB Z,PAL2
	JJESGN
	AOS Z
	ADD Z,TEM4
	MOVEM Z,TEM5
	JSBK
	JPOPJ
	JJESGN
	AOS T6
	JPOPZ
;;
;
 SUBTTL[JSNQ]
JSNQ:	JSAE
	JRQ
	JPOPJ
;;
;
 SUBTTL[JSOPEN]
JSOPEN:	MOVEM T1,KBDEV
	CALLI T1,4
	JFCL;TEST OK
	JFCL;TEST OK
	OPEN CHAND,KBSTAT
	JRNAVR
	TLNN T1,100
	JZADTA
	JJODTA
	JPOPZ


;;
;
 SUBTTL[JSOPF]
JSOPF:	ADDI Z,1000
JSOPF1:	ORI Z,1777
	PUSH P,Z
	CALLI Z,11
	JRCE
	POP P,Z
	MOVEM Z,END
	JPOPZ
;;
;
 SUBTTL[JSOPN]
JSOPN:	PUSH P,T2
	PUSH P,T1

	MOVE T2,FLOW
	ADD Z,FLOW
	JSOPF
	MOVE Z,END
	SUBI Z,200
	MOVEM Z,TEM2

JSOPN1:	MOVE T1,@T2
	MOVEM T1,@Z
	SOS T2
	SOS Z
	CAML T2,PWR
	JRST JSOPN1
	MOVE Z,TEM2
	SUB Z,FLOW
	POP P,T1
	POP P,T2
	ADDM Z,PWR
	ADDM Z,FTOP
	ADDM Z,LOW
	ADDM Z,FLOW
	ADDM Z,PFI
	JPOPJ
;;
;
 SUBTTL[JSP9]
JSP9:	MOVE T6,@0(P)
JSP91:	AOS T6
	MOVE Z,@T6
	JUMPE Z,JPOP1
	JSTO
	JRST JSP91
;;
;
 SUBTTL[JSPK]
JSPK:	MOVE	T1,PAL
	AOS	T1
	MOVE	Z,@T1
	HRLM	Z,S1S2
	AOS	T1
	MOVE	Z,@T1
	HRRM	Z,S1S2
	aos	t1
	move	z,@t1
	hrlm	z,S3S4
	MOVN	T1,PAN
	CAIE	T1,2
	JPOPZ
	HLRZ	Z,S1S2
	SUBI	Z,140
	SKIPG	Z
	ADDI	Z,40
	JUMPLE	Z,JPOPZ
	ROT	Z,+6
	MOVE	T1,Z
	HRRZ	Z,S1S2
	SUBI	Z,140
	SKIPG	Z
	ADDI	Z,40
	JUMPLE	Z,JPOPZ
	ADD	T1,Z
	MOVEI	T4,1
	JSAS
	MOVE	Z,T1
	JPOP1
;
SUBTTL[JSPKA]
JSPKA:	JSPK
	JXSKIP
	JPOPJ
	HLRZ Z,S1S2
	CAIL	Z,140
	SUBI	Z,40
	ANDI	Z,77
	LSH Z,6
	JPOPJ
;;
;
 SUBTTL[JSPKB]
JSPKB:	JSXX
JSPKB1:	MOVE PAL2,Z
	ANDI PAL2,7
	MOVE PAN2,PAL2
	ROT PAL2,-^D13
	MOVE PAL21,PAN2
	LSH PAN2,2
	JPOPZ
;;
;
 SUBTTL[JSPKC]
JSPKC:	CAIGE	Z,40
	JPOPJ
	CAIL	Z,140
	SUBI	Z,40
	SUBI	Z,40
	ANDI	Z,77
	JPOP1
;;
;
 SUBTTL[JSPL]
JSPL:	MOVE PAL2,PAL
	MOVE PAN2,PAN
	JSAS
	JPOPJ
;;
;
 SUBTTL[JSPLBD]
JSPLBD:	HLRO Z,RIXBIX
	JCIA
	CAIN Z,10
	JPOPZ
	CAIE Z,12
	JRNAV
	JPOPA

;;
;
 SUBTTL[JSPLGM]
JSPLGM:	JSPLBD
	JRST JSPLG1
	JSGT
	JJNSGN
	JCIA
	JPOPJ

JSPLG1:	JSXX
	JJESGN
	JCIA
	JPOPJ

;;
;
 SUBTTL[JSR1]
JSR1:	AOS	PAL
	CAMLE	PAL,PAE
	JRCE
	MOVE	Z,@PAL
	JUMPL	Z,JSR11
	AOS	0(P)
	TRZ	Z,1000
	JPOPJ


JSR11:	JXGLN
	JPOPZ
;;
;
 SUBTTL[JSR2]
JSR2:	JSFD
	JPOPZ
	AOS 0(P)
	AOS PAL2
	JSR2C
	TRZE Z,CMASK
	JPOPJ
	JMASCI
	JPOP1

JSR2C:	HRR Z,PAL2
	ANDI Z,3
	ROT PAL2,-2
	LDB Z,ZP20(Z)
	ROT PAL2,2
	JPOPJ
;;
;
 SUBTTL[JSR9]
JSR9:	JSNQ
        JSR1
        JRQ
	JPOPJ
;;
;
 SUBTTL[JSS]
JSS:	HRLZ Z,@0(P)
	AOS 0(P)
	HRR Z,@0(P)
	HRRZ T1,Z
	AOBJN Z,.+1
	AOS 0(P)
	SUB T1,@0(P)
	HRRM T1,T2
	HRLI T2,(BLT Z,)
	XCT T2
	JPOP1
;;
;
 SUBTTL[JSSB]
SEG0:	JJNGAP
	JRST SEG7
SEG1:	MOVE PAL2,T1
	AOS PAL2

JSSBA:	JTMP2E
	JRST JSSBA2
	JUMPE PAN,JPOPZ
	JSFD
	JPOPJ
	MOVN T7,PAN
	MOVE T6,PAL
	CAILE T7,^D8
	JRST JSSB1
	MOVEM T7,ARG1
	JSNAST

	MOVEM T3,TEM3

JSSBA2:	MOVE BASE,ARG1
	MOVE T3,TEM3

	JSNAMA
	JPOPZ

	MOVE T1,PAL2
	SUB T1,ARG1
	JPOPA


;;
;
 JSSB1:	MOVEM PAL2,T1
	MOVE BASE,T7
	MOVE T7,PAN

SEG2:	JSR2
	JRST SEG1
	JRST SEG0
	JRST SEG5

SEG3:	AOS BASE
SEG4:	JSR2
	JRST SEG1
	JRST SEG6
SEG5:	AOS T6
	CAME Z,@T6
	JRST SEG1
	AOJN T7,SEG4
	JPOPA

SEG6:	JJEGAP
	JRST SEG3

SEG7:	ADDI Z,CMASK
	JRST SEG5
;;
;
 SUBTTL[JSSEV]
JSSEV:	MOVEI	T6,5

	JTMP1E
	JRST	JSSEV1
	TRZN	T1,1
	JRST	JSSEV2
	SKIPN	CSEQNO
	JRST	JSSEV0
	MOVE	Z,CSEQNO
	JSW
	JTMP3Z

JSSEV2:	JCLA
	LSHC	Z,7
	JUMPE	Z,JSSEV3
	JTMP3E
	JRST	JSSEV4
	CAIN	Z,15
	JTMP3O
JSSEV5:	JSW

JSSEV3:	SOJN	T6,JSSEV2
	JPOPZ

JSSEV4:	JTMP3Z
	CAIE	Z,12
	JRST	JSSEV5
	JSDF
	JRST	JSSEV5

JSSEV0:	JTMP1O
	JPOPZ

JSSEV1:	LSHC	Z,7
JSSEV6:	SOJE	T6,JPOPZ
	JCLA
	LSHC	Z,7

	CAIN	Z,15
	JRST	JSSEV6
	JSW
	JTMP1Z
	JRST	JSSEV2
;;
;
 SUBTTL[JSSIX]
JSSIX:	JTMP3A
JSSIXB:	JTMP3O
	MOVEI T6,6

JSSIX1:	JCLA
	LSHC Z,6
	JTMP3N
	JUMPE Z,JSSIX2
	ADDI Z,40
	JSW
JSSIX2:	SOJN T6,JSSIX1
	JPOPZ
;;
;
 SUBTTL[JSSR]
JSSR:	MOVE Z,@0(P)
	MOVE Z,(Z)
	MOVEM Z,T2
	AOS 0(P)
	MOVE Z,@0(P)
	MOVE Z,(Z)
	MOVEM Z,T3
	AOS 0(P)
	MOVE Z,@0(P)
	MOVEM Z,LT
	MOVN Z,T3
	SOS Z
	ADD Z,@LT
	JUMPE Z,SHR2
	MOVEM Z,TEM6
SHR1:	MOVE Z,@T3
	MOVEM Z,@T2
	JSD2
	JSD3
	AOSE TEM6
	JRST SHR1

SHR2:	MOVE Z,T2
	AOS Z
	MOVEM Z,@LT
	JPOPA
;;
;
 SUBTTL[JST2]
JST2:	MOVE Z,@0(P)
	MOVEM Z,TEM6
	MOVE T1,(Z)
	AOS TEM6
	MOVE Z,@TEM6
	JUMPE Z,JPOP1
	MOVEM Z,TEM6
JST22:	AOS T1
	MOVE Z,@T1
	JSW
	AOSE TEM6
	JRST JST22
	JPOP1

;;
;
 SUBTTL[JSTAB]
JSTAB:	MOVE T7,@0(P)
	MOVEI T5,1(T7)
	AOS 0(P)
	MOVE T6,@0(P)
	AOS 0(P)
JSTAB1:	AOS T6
	AOS T7
	MOVE T2,@T7
	JUMPE T2,CPOPJ
	CAME T1,T2
	JRST JSTAB1
	MOVE T1,@T6
	JPOP1

;;
;
 SUBTTL[JSW]
JSW:	JNULLE
	JPOPZ
	jjemoe
	jrst	jswnud
	AOS PFL
	MOVEM Z,@PFL
	MOVE Z,PFL
	SUB Z,PWR
	JUMPL Z,JPOPZ

	MOVEI Z,1000
	JSOPN
	ADDM Z,PAL
	ADDM Z,PALPAL
	ADDM Z,T2
	ADDM Z,PAE
	LSH Z,2
	ADDM Z,PAL2
	ADDM Z,CHAR1
	ADDM Z,CHAR2
	ADDM Z,PAL21
	JPOPZ
;
jswnud:	andi	z,377
	tlz	z,777777
	push	p,t1
	jstl
	pop	p,t1
	jpopz
;
;;
;
 SUBTTL[JSW2C]
JSW2C:	AOS T1
	HRRZ T3,T1
	ANDI T3,3

	ROT T1,-2
	DPB Z,ZT10(T3)
	ROT T1,2
	JPOPJ
;;
;
 SUBTTL[JSWSGN]
JSWSGN:	JUMPE Z,CPOPJ
	PUSH P,Z
	MOVEI Z,55
	JSW
	POP P,Z
	JPOPJ
;;
;
 SUBTTL[JSXR]
JSXR:	MOVNI T3,14
	HRRZ T2,LNMOXR
JSXRZ:	SETZI Z,
JSXR1:	JUMPN T2,JSXR4

JSXR2:	LSHC Z,3
JSXR3:	ANDI Z,7
	ADDI Z,60
	JSW
	AOJN T3,JSXR2
	JPOPJ

JSXR4:	LSHC Z,3
	JUMPN Z,JSXR3
	AOJN T3,JSXR4
	ADDI Z,60
	JSW
	JPOPJ
;;
;
 SUBTTL[JSXX]
JSXX:	MOVNI BASE,10
	MOVEI Z,GXL
	JSGX
	JCIA
	JPOPJ
;;
;
 SUBTTL[159/ab]
Qab:	JSPL
	JSNQ
	MOVE T2,PAL

	JSLG
	JSAS
	JRAZ
;;
;
 SUBTTL[128/ad]
Qsu:	MOVEI Z,1
Qad:	JSAA;ENTRY TO ADD
	JRST @ADSL(T6)

ADSL:	EXP AD3
	EXP AD43
	EXP AD4
	EXP AD31
	EXP AD4
	EXP AD31
	EXP AD3
	EXP AD43
	EXP AD3
	EXP AD5
	EXP AD51
	EXP AD31
	EXP AD51
	EXP AD31
	EXP AD3
	EXP AD5
AD5:	SETZM ARG1
AD51:	MOVEM T2,ARG3
	JSMT
	JRST AD41
AD43:	SKIPE T5
AD4:	SETZM ARG1
AD41:	JSA3
	JRST AD42
AD3:	SETZM ARG1
AD31:	JSA1
AD42:	AOSN ZERO
	JRNR
	JST2
	EXP TEM4
	AOSE ZERO
	JSAU
	JRML
;;
;
 SUBTTL[160/ai]
Qai:	JSER

	MOVEM	PAL,T2
	MOVEM	PAN,T3
	JSAS
	JSNQ
	JSPL
	MOVEM	PAL2,PFI
	MOVEM	PAN2,PFF

qai1:	JSAE
	JRST	qai3
	JSLG
	JRST	qai3
	JFCL

	JST2
	T2
	JSAT
	MOVE	PAL2,PFI
	JSAS
	JRST	qai1

qai3:	JST2
	T2
	JST2
	PFI

qai2:	JSNQ
	JST2
	T2

	JSAT
	JSAS

	JRST	qai2

;;
;
 SUBTTL[187/and]
Qand:	JSBT
	JSA2
	MOVEM PAL2,ARG2
	AOS ARG2
	JSAU
	JRAG

JSTNY:	MOVEM Z,TEM6
	SETCA Z,
	AND Z,T6
	ADD Z,TEM6
	MOVEM Z,T6
	JPOPZ
;;
;
 SUBTTL[161/as]
Qas:	JSER

qas0:	MOVEM	PAL,T2
	MOVEM	PAN,T3
	JSAS
	JSNQ
	JSPL
	MOVEM	PAL2,PFI
	MOVEM	PAN2,PFF

	JXSKIP

qas1:	JSAS
	MOVE	PAL2,PFI
	JSAE
	JRST	qas3
	JSLG

	JRST	qas1
	JFCL

	MOVEM	PAL,PFI
	MOVEM	PAN,PFF
	JRST	qas1

qas3:	JST2
	T2
	JST2
	PFI

	MOVN	T3,PFF
	ADD	T3,PFI
	SOS	PFI
	MOVE	PAL,T2

	JSSR
	T3
	PFI
	PAL

	JXGLN
	MOVEM	T2,PWR

	JRST	qas0

;;
;
 SUBTTL[220/bf]
Qbf:


qbfDI:	JSBDL

	MOVE T1,kdevbf
	MOVE Z,KSTATR
	JSOPEN

qbfDI3:	JSFBL
	JRST qbfDI1  ;NOT SAM76 FILE

qbfIN:	HLRE Z,E3
	JCIA
	ADD Z,FLOW
	MOVEM Z,PAL2
	ADDI Z,200
	CAML Z,END
	JRST qbfIN1

qbfIN2:	HRR T1,FLOW

	JJEDTA
	SUBI PAL2,176

	MOVEM PAL2,FLOW

	HLL T1,E3
	MOVEM T1,DSK1

	INPUT CHAND,DSK1
	JGETST
	STATZ CHAND,740000
	JRNAVI
	JFBCL

qbfIN3:	SKIPE @FLOW
	JRQ
	SOS FLOW
	JRST qbfIN3

qbfIN1:	JSOPF
	JRST qbfIN

qbfDI1:	JJEPNF
	JRST qbfIN
	JRNAV

;;
;
 SUBTTL[113/ca]
Qca:	JSR9
	MOVEM Z,MCH
	JRQ
;;
;
 SUBTTL[191/cll]
Qcll:	JSGT
	MOVNM Z,CLINEL
	JRQ


SUBTTL[133/cnb]
Qcnb:	JSGT
	HRLM Z,RIXBIX
	JRQ



SUBTTL[203/cro]
Qcro:	JSAE
	JRST	qcro1
	SETZM	RUBOUC
	SETZM	RUBOUT
	JRORZ

	JSR9
	MOVEM	Z,RUBOUT

	JSR9
	HRLM	Z,RUBOUC

	JSR1
	JXSKIP
	HRRM	Z,RUBOUC

	SKIPE	RUBOUC
	JRORO
	JRQ

qcro1:	MOVE	Z,XRUBOC
	MOVEM	Z,RUBOUC
	MOVE	Z,XRUBOU
	MOVEM	Z,RUBOUT
	JRORO
	JRQ

;;
;
 SUBTTL[132/ct]
Qct:	JTMP1Z
	MOVEM	PAL,ARG1
	JSF
	JTMP1O
	JSPL
	SETZI	T1,
	JSNQ

qct1:	JSAE
	JRST	qct2
	JSF
	JRST	qct11
	HRRZ	T2,@PFF
	ADD	T1,T2
	HRRZ	T2,@PFI
	SUB	T1,T2
qct11:	JSAS
	JRST	qct1

qct2:	MOVN	PAN,T1
	MOVE	PAL,ARG1
	HRRE	PAN2,@PAL
	JSDSA
	JXGLN
	JXSKIP

qct30:	JSAS
qct3:	JSAE
	JRST	qct4
	JSF
	JRST	qct30
	JSCFA

qct5:	JSR2
	JRST	qct3
	ADDI	Z,CMASK
	JSW2C
	JRST	qct5

qct4:	JTMP1E
	JRQ
	MOVE	PAL,ARG1
	JXGLN
	JSF
qct6:	JRST	NCARNO
	JSDD
	JRQ
;;
;
 SUBTTL[250/cwc]
Qcwc:	movei	t7,CWCTAB
qcwc1:	jsae
	jrst	qcwc2
	jsr1
	jrst	qcwc2
	movem	z,@t7
	cain	t7,CWCEND
	jrst	qcwc2
	aos	t7
	jrst	qcwc1
;
qcwc2:	move	z,CWCSA
	movem	z,CPSN
	movem	z,SYN1
	move	z,CWCAS
	movem	z,CPCM
	move	z,CWCSE
	movem	z,CPRP
	movem	z,CPRP1
;
	jrq
;
;
SUBTTL[171/cx]
Qcx:	JSER
	MOVEM PAN,ADS32;PALPAL+1
	JSAS

qcx1:	JSR9
	PUSH P,Z
	JST2
	PALPAL
	POP P,T1
	JUMPE T1,qcx2
	MOVNI T2,3
	MOVNI T3,14
	JSXRZ
	JRST qcx1

qcx2:	MOVEI Z,60
	JSW
	JRST qcx1
;;
;
 SUBTTL[200/cxb]
Qcxb:	JSGT
	HRRM Z,RIXBIX
	JRQ



;;
;
 SUBTTL[131/di]
Qdi:	JSML
	JRAB
	MOVEM Z,ARG2
	ANDI T6,10
	JUMPN T6,JRNR
	JSA3
	AOS ARG2

DV2:	SKIPGE @ARG2
	JRMV
	AOS PFF
	AOS ARG2
	JSDN
DV3:	JSMT
	JSGQ
	JXSKIP
	JRST DV2
	JSAU
	AOS @PFF
	JSBK
	JFCL
	JRST DV3
;;
;
 SUBTTL[dif]
qdif:	movei	z,6
	jtmp3Z
	jrst	qdof1
;
qdof:	movei	z,7
	jtmp3O
qdof1:	pushj	p,JSPKB1
	movem	z,tem5
	jrst	QSYDIF
;
;
SUBTTL[164/ds]
Qds:	JSGE
	JSER

qds1:	JSAT
	SOJE	T4,JRQ
	JMRPAL
	JRST	qds1

;;
;
 SUBTTL[103/dt]
Qdt:	JJEPNF
	JRST	qdt0
	JSF
	JXSKIP
	JSDD
qdt0:	JSPL
	MOVE PAL,PAL2
	JSDSA

qdt1:	JSNQ

qdt2:	JSR1
	JRQ
	JSW2C
	JRST qdt2
;;
;
 SUBTTL[173/dx]
Qdx:	JSGT
	JJESGN
	JSWSGN
	MOVE T1,T4
	JRXR
;;
;
 SUBTTL[206/ea]
Qea:	JSAE
	JRST	qea1

qea2:	JRNAV

qea1:	MOVE	Z,FTOP
	MOVEM	Z,FLOW
	JRQ
;;
;
 SUBTTL[207/ed]
Qed:	JSCF
	JSGT
	MOVE	PAL2,CHAR1
	ADD	PAL2,T4
	SUBI	PAL2,1
	JSGE

	JJESGN
	JRST	qed4

qed1:	JSR2
	JRAC
	JRST	qed1
	JSW

	CAILE	T4,10
	JSER

qed2:	SOJE	T4,JRQ
qed3:	JSR2
	JRQ
	JRST	qed3
	JSW
	JRST	qed2

qed4:	MOVEM	PAL2,CHAR2

qed5:	JSL2
	JRST	qed3
	JRST	qed5
	SOJN	T4,qed5

	JRST	qed3
;;
;
 SUBTTL[224/ef]
Qef:

	JSBDL
	MOVE E3,DIWRIT
qefDI:	MOVE T1,kdevef
	MOVE Z,KSTATW
	JSOPEN

	LOOKUP CHAND,E
	JRST qefDI1
	JMREN
	JRNAVR
	JRQ

qefDI1:	JFBCL
	JRQ;;
;
 SUBTTL[151/ep]
Qep:	JSCF
	MOVE T1,PAL2


qep1:	JSR2
	JRST qep2
	JRST qep1
	JSW2C
	JRST qep1


qep2:	MOVE T2,T1
	HRRZ T3,@PFI
	ADD T2,T3
	SUB T2,PAL21

	MOVEM T2,@PFF
	JRST qpt42
;;
;
 SUBTTL[104/et]
Qet:	JSNQ

Qet1:	JSF
	JRST	Qet2
	JSDD
	JJEPNF
	JRST	Qet1

Qet2:	JSAS
	JRST	Qet
;;
;
 SUBTTL[249/etb]
Qetb:	JSAS
	MOVEM	PAL,T2

qetb1:	JSD2
	SOS	PAL
	MOVE	Z,@T2
	TLNE	Z,700000
	JRST	qetb4

qetb2:	MOVEM	Z,@PAL
	CAIE	Z,CCNULIN
	JRST	qetb1

qetb3:	JSD2
	MOVE	Z,@T2
	TLNE	Z,700000
	JRST	qetb4
	CAIN	Z,CGSPACE
	JRST	qetb3
	SOS	PAL
	JRST	qetb2

qetb4:	ADD	Z,PAL
	SUB	Z,T2
	MOVEM	Z,@PAL
	JXGLN
	JRAD

;;
;
 SUBTTL[112/ex]
Qex:	MOVE Z,BUFTOP
	CAMN Z,BUFLOW

	JRST qex2
	SETZB T1,PAN2

qex1:	MOVE Z,T1
	JSPKB1
	SKIPE CHANAS(PAN2)
	JSBUFH
	AOS T1
	CAIE T1,10
	JRST qex1

	JSBUFZ

qex2:	JSAE
	JRST qex3
IFE PURE,<JRNAV>

IFN PURE,<
	MOVEI Z,10
	ADD Z,PAE

	JSHRN

	JSBDN

	MOVE E3,DIWRIT
	MOVSI E1,(SIXBIT/SAV/)

	MOVE T1,kdevex
	MOVE Z,KSTATW
	JSOPEN

	MOVE T3,FLOW
	ADDI T3,10
	MOVEM T3,END

	SUBI T3,74-1
	MOVN T3,T3
	HRLZ T3,T3
	HRRI T3,140-1
	MOVEM T3,PAL2
	SETZI PAN2,
	ENTER CHAND,E
	JRNAVE
	PUSHJ P,qex4

	MOVE T3,END
	ADDI T3,140-74
	MOVEM T3,PAL21
	CALLI T3,11
	HALT


	HLL	E2,PNTPUN

qexSHF:	MOVE T3,74-140(PAL21)
	MOVEM T3,(PAL21)
	CAIE PAL21,115
	SOJA PAL21,qexSHF

qexEND:	OUTPUT CHAND,PAL2
	STATZ CHAND,740000
	JRNAVO

	RENAME CHAND,E
	HALT
	CALLI 12
>

qex4:	JSTTIR

	MOVE T2,.JBREL
	HRLM T2,.JBCOR
	ADDI T2,1
	HRLZS T2

IFN PURE,<HRRI T2,INDEX>
IFE PURE,<HRRI T2,Qex6>

	MOVEM T2,.JBSA

IFN PURE,<
	SETZM .JBHRL
	JSS
	qexRET-1
	INDEX-1
	-13
	MOVE Z,kdevex
	JJEPNF
	MOVEM Z,INDEX+5
>
	MOVEM PAL,ARG1
	MOVEM SWITCH,ARG2
	JPOPJ

qex3:	PUSHJ P,qex4
	CALLI 12

;;
;
 ;************EXIT AND REENTRY POINT**************
Qex6:	MOVE	E1,Z
	HLRZ	Z,.JBVER
	CAIE	Z,VERLOW
	CALLI	12
	JRSETP
	MOVEI	Z,STMEDL
	HRRM	Z,.JBSA
	MOVE	Z,FLOW
	JSOPF
	IFN	PURE,<JSERNO>

	MOVE	PAL,ARG1
	JXGLN
	MOVE	Z,XTYCON
	SKIPN	TTYCON
	MOVEM	Z,TTYCON

	MOVE	SWITCH,ARG2
	JTMP1E
	JRST	Qex6A
	JSDTI
	JSDT

	SETZM	DSK1+1
	JRQ

Qex6A:	JSTTI
	JRNAVR

;TABLE	AND	INSTRUCTIONS	FOR	LOW	SEGMENT

IFN	PURE,<
qexRET:	JFCL
		MOVEI	E,INDEX+5
	CALLI	E,40		;GETSEG
	HALT
	JRST	400010

IFG	PURE,<
	SIXBIT	/DSK/
	SIXBIT	/SAM76/>

IFL	PURE,<
	SIXBIT	/SYS/
	SIXBIT	/SAM76/>

	Z
	Z
	Z
>
;;
;
 SUBTTL[702/fa]
Qfa:	JSCF
	JSFD
	JRAC
	JSER

	JSPR
qfa1:	JFCL
qfa11:	JSTINH
	JSTI
	JSTINF
	CAMN Z,MCH
	JRST qfaMCH
	CAIN Z,40
	JRST qfa2
	MOVEM Z,ARG1
	HLRZ Z,RUBOUC
	JSTO
	MOVE Z,ARG1
	JSTO
	MOVE Z,MCH
	JSTO
	MOVE Z,ARG1
	JSD
	qfa1L-1


qfa1L:	XWD qfaI,111;INSERT
	XWD qfaD,104;DELETE
	XWD qfaS,123;SEARCH
	XWD qfaQ,121;QUIT
	XWD qfa1,0

qfa2:	JSR2
	JRST qfa4
	JRST qfa2
	JSW
	MOVE Z,@PFL
	JSTO
	JRST qfa11

qfaMCH:	JSTO

qfa4:	JSCT
	JRQ

qfaD:	JRNAV

qfaI:	JSTI
	CAMN Z,MCH
	JRST qfaI1
	JSW
	JRST qfaI

qfaI1:	HRRZ Z,RUBOUC
	JSTO
	JRST qfa11

qfaQ:	MOVE Z,PEL
	MOVEM Z,PFL
	JSTINF
	JRAC


qfaS:	JRNAV
;;
;
 SUBTTL[226/fb]
Qfb:
qfbDI:	JSBDN
	MOVEM E,TEM1
	SKIPE DFILEX
	HLLZ E1,DFILEX
	MOVEM E1,TEM4

	MOVEM PAL,PALPAL
	JSAS
	PUSHJ P,JSBFI1

	SKIPA

qfb2:	AOS T7
	JSBUG
	JRAZ
	MOVE E2,T7
	AOS E2
	HLLZ Z,@E2
	CAME Z,TEM4
	JRST qfb2

	MOVE T1,@T7
	CAME T1,TEM1
	JRST qfb2
	JRAD

;;
;
 SUBTTL[137/fc]
Qfc:	JSCF
qfc1:	JSFD
	JRAC
	CAIL T4,7
	JSER

qfc11:	JSR2
	JRAC
	JRST qfc11
	JRST qfc21

qfc2:	JSR2
	JRST qfc3
	JRST qfc2

qfc21:	JTMP1N
	JSW
	SOJN T4,qfc2

qfc3:	JSCT
	JRQ
;;
;
 SUBTTL[138/fdc]
Qfdc:	JSCF
	JSGE
	JJNSGN
	JRST qfc1

qfdc1:	JSL2
	JRAC
	JRST qfdc1
	JRST qfdc3

qfdc2:	JSL2
	JRST qfdc4
	JRST qfdc2

qfdc3:	SOJN T4,qfdc2

qfdc4:	JFCL
	JSCT
	JNULLE
	JRQ
	MOVEM PAL21,CHAR2

	JSER ;TEMP UNTIL # OF CHAR CHECK IS MADE
qfdc5:	JSR2
	JRQ
	JRST qfdc5
	JSW
	JRST qfdc5
;;
;
 SUBTTL[139/fde]
Qfde:	JSCF
	JSGE
	JJNSGN
	JRST qfe1

	JSFD
	AOS PAL2

qfde1:	JSL2
	JRAC
	JRST qfde1

qfde2:	JSL2
	JRST qfde4
	JXSKIP
	JRST qfde2

qfde3:	JSL2
	JRST qfde4
	JRST qfde3
	SOJN T4,qfde2
	AOS PAL2

qfde4:	JRST qfdc4
;;
;
 SUBTTL[140/fdm]
Qfdm:	JSCF
	JSGE
	MOVE	PAN2,T4
	JJESGN
	JRST	qfl0

qfdm1:	JSSBA
	JRAB

	SOJE	PAN2,qfr0

	JRST	qfdm1
;;
;
 SUBTTL[141/fe]
Qfe:	JSCF
qfe1:	JSFD
	JRAC
	JSER

qfe2:	JSR2
	JRST qfc3
	JRST qfe3
	JSW
	JRST qfe2

qfe3:	JSCT
	SOJN T4,qfe2
	JRQ
;;
;
 SUBTTL[142/ff]
Qff:	JSCF
	JSGT
	MOVE	PAL2,CHAR1
	JUMPE	T4,qff3
	JRST	qff1

qff2:	CAMN	Z,T4
	JRST	qff3
qff1:	JSR2
	JRAD
	JRST	qff2
	JRST	qff1

qff3:	JSER
qff4:	JSR2
	JRQ
	JRQ
	JSW
	JRST	qff4

;;
;
 SUBTTL[143/fl]
Qfl:	JSCF
qfl0:	JSER
	MOVE T6,PAN
	MOVEM PAL2,CHAR2

qfl1:	JSL2
	JRAB
	JRST qfl1
	AOJN T6,qfl1
	JRST qfl3

qfl2:	JMRPAL
	MOVE PAL2,TEM6

qfl4:	JSL2
	JRAB
	JRST qfl4

qfl3:	MOVEM PAL2,TEM6
	JSSBA
	JRST qfl2
	MOVEM PAL2,T2
	MOVE PAL2,T1
	JSCT
	JNULLE
	JRQ
	MOVE PAL2,T2
	MOVEM PAL21,CHAR2
	JRST qfr3
;;
;
 SUBTTL[$/flt]
Qflt0:	jtcpnf
	jrst	qflt1
;
Qflt:
IFE FLOATP,<JRNAV>
IFN FLOATP,<	JTMP1O
Qflt1:	JSGSIX
	JSTAB
	TABFPR-1
	FPRTAB-1
	JRQ

	JSER

	HRRZM T1,ADS32
	HLRZM T1,ADS33
	SKIPN ADS32
	JRST @ADS33

	JTMP1E
	JSAS
	JSFLOT
	MOVEM Z,ARG1

	PUSHJ P,@ADS32
	JRST @ADS33

QFPPI:	MOVE Z,FPPII
	JRST FPRET1

QFPDR:	FDVR Z,FPSCD1
	JFCL
	JPOPJ

QFPRD:	POP P,BASE

FPRETD:	FMPR Z,FPSCD1
	JFCL
	JRST FPRET1

QFPQF:	MOVEI T5,TABFPR
	JRTABN

;
fltcwc:	setzm	CWCAST
	jsr9
	movem	z,CWCAST
	jrq
;
;;
;
 SUBTTL[FPADSU]
JSFLTW:	JSFLOT
	MOVEM Z,ARG2
	MOVE T1,Z
	MOVE Z,ARG1
	JPOPJ

QFPSU:	FSBR Z,T1
	JRST FPRET1

QFPAD:	FADR Z,T1
	JRST FPRET1

QFPML:	FMPR Z,T1
	JRST FPRET1

QFPDV:	JUMPE T1,JRAC
	FDVR Z,T1
	JOV JRAC
	JRST FPRET1

QFPGR:	CAMLE Z,T1
	JRAC
	JRAB

QFPLT:	CAMG Z,T1
	JRAC
	JRAB

FPFRAC:	PUSHJ P,FPAINT
	MOVE T1,ARG1
	EXCH Z,T1
	JRST QFPSU

;;
;
 FPFORM:	JRNAV

FPMACH:	MOVE T1,ARG1
	JRXR

MACHFP:	JSXX
	JRST FPRET1

JRQFPI:	JTMP3A
JRQFP:	JTMP3O
	JMRPAL
	JTMP1N
	JRST JRQFP1
	JSAS
	JSAS
	JSAS
JRQFP1:	JSAS
	JSAS
	JTMP3E
	JRAB
	JRAC

FPJRVI:	JUMPGE Z,JRVI
	JSWSGN
	JRV

FPRET2:	JMRPAL
	PUSH P,T1
	JSFLIX
	PUSHJ P,FPRET8
	POP P,Z
	JRST FPRET0

FPRET1:	JMRPAL
FPRET0:	JSFLIX
	JRQ

FPRET8:	JTMP1E
	JRST FPRET9
	MOVEI Z,","
	JSW
	JPOPJ

FPRET9:	JSAT
	JPOPJ
;;
;
 SUBTTL[FPMISC]
FPABS:	MOVMS Z
	JPOPJ

FPIABS:	MOVMS Z
	JFCL 1,JRQFPI
	JPOPJ

FPINT:FPIFIX:	MOVMS Z
	MULI Z,400
	EXCH Z,T1
	ASH Z,-243(T1)
	JRST FPARG1

FPAINT:	MOVMS Z
	CAML Z,FPMOD1
	JRST FPARG1
	FAD Z,FPMOD1
	FSB Z,FPMOD1
	JRST FPARG1

FPFLOT:	JTMP1E
	JSAS
	JSGT
	JCIA
	IDIVI Z,400
	SKIPE Z
	TLC Z,243000
	TLC T1,233000
	FADL Z,T1
	JJESGN
	JCIA
	JRST FPRET1

FPSIGN:	JSFLTW
	MOVMS Z
	SKIPGE T1
	JCIA
	JPOPJ

FPISIGN:	JSFLTW
	XOR T1,Z
	JUMPGE T1,CPOPJ
	JCIA
	JFCL .+2
	JPOPJ
	HRLOI Z,377777
	JPOPJ

FPDIM:	JSFLTW
	CAMG Z,T1
	TDZA Z,Z
	FSBR Z,T1
	JPOPJ

FPIDIM:	JRNAV

;;
;
 SUBTTL[FPMINMAX]
FPAMAX:	SKIPA PAN2,FPZERO
FPAMIN:	MOVEI PAN2,1
	JRST FPMMM0

FPMAX:	SKIPA PAN2,FPZERO
FPMIN:	MOVEI PAN2,1
	SETZM ADS32
	JSGT
	JJNSGN
	JCIA
	MOVEM Z,ARG1
	JRST FPMMM0

FPMMM3:	JSFLOT

FPMMM1:	MOVE T1,ARG1
	XCT FPMMM(PAN2)
	EXCH Z,T1
	MOVEM Z,ARG1

FPMMM0:	JSAE
	JRST FPMMM2
	SKIPE ADS32
	JRST FPMMM3
	JSGT
	JJNSGN
	JCIA
	JRST FPMMM1

FPMMM2:	MOVE Z,ARG1
	SKIPE ADS32
	JPOPJ
	JRST FPJRVI

FPMMM:	CAMG Z,T1
	CAML Z,T1

;;
;
 SUBTTL[FPMOD]
FPMOD:	JTMP1E
	JSAS
	JSGT
	MOVNM Z,ARG1
	JSGT
	JCIA
	MOVE BASE,ARG1
	IDIV BASE,Z
	JRST FPJRVI

FPAMOD:	JSFLTW
	MOVM T2,T1
	FDVM Z,T1
	JFCL FPAMO1
	MOVMS T1
	CAML T1,FPMOD1
	JPOPZ

	FAD T1,FPMOD1
	FSB T1,FPMOD1
	FMP T2,T1
	SKIPGE Z
	MOVNS T2
	FSB Z,T2
	JPOPJ

FPAMO1:	MOVE T1,126
	TLNE T1,000100
	JPOPJ
	JPOPZ

;;
;
 SUBTTL[FPALOG]
;REF: ALOG.MAC 17 JULY 1970 - KK/DMN

FPAL10:	FMPR Z,LOG10A
	JRST FPRET1

FPALOG:	MOVMS	Z
	JUMPE	Z,LZERO
	CAMN	Z,FPTBLP
	JRST	ZERANS
	ASHC	Z,-33
	ADDI	Z,211000
	MOVSM	Z,ARG2
	MOVSI	Z,567377
	FADM	Z,ARG2
	ASH	T1,-10
	TLC	T1,200000
	FAD	T1,FPLOG1
	MOVE	Z,T1
	FAD	Z,FPLOG2
	FDV	T1,Z
	MOVEM	T1,ARG3
	FMP	T1,T1
	MOVE	Z,FPLOG3
	FMP	Z,T1
	FAD	Z,FPLOG4
	FMP	Z,T1
	FAD	Z,FPLOG5
	FMP	Z,ARG3
	FAD	Z,ARG2
	FMP	Z,LN2BE
	JPOPJ
LZERO:	
	SKIPA	Z,MIFI
ZERANS:	MOVEI	Z,0
	JPOPJ

;;
;
 SUBTTL[FPASIN]
;REF: ASIN.MAC  10 JULY 1970  ED YOURDON

FPASIN:	MOVMS Z
	CAMLE Z,FPTBLP
	JRQFP
	MOVN Z,ARG1
	FMP Z,ARG1
	JFCL
	FAD Z,FPTBLP
	JUMPE Z,FPASI1
	PUSHJ P,FPSQRT
	MOVE T1,ARG1
	FDV T1,Z
	MOVE Z,T1
	PUSHJ P,FPATAN
	JPOPJ

FPASI1:	MOVE Z,FPPIOT
	SKIPG ARG1
	JCIA
	JPOPJ



FPACOS:	MOVM Z,Z
	CAMLE Z,FPTBLP
	JRQFP
	JUMPE Z,FPACO1
	FMPR Z,Z
	JFCL
	JCIA
	FAD Z,FPTBLP
	PUSHJ P,FPSQRT
	FDVR Z,ARG1
	JFCL
	PUSHJ P,FPATAN
	SKIPGE ARG1
	FAD Z,FPPII
	JPOPJ

FPACO1:	MOVE Z,FPPIOT
	JPOPJ

;;
;
 ;REF: ATAN.MAC

FPATAN:	MOVMS Z
	CAMG Z,FPA1
	JPOPJ
	HLLO T2,ARG1
	CAML Z,FPA2
	JRST FPAT4
	MOVSI T1,201400
	CAMG Z,T1
	TRZA T2,-1
	FDVM T1,Z
	TLC T2,(T2)
	MOVEM Z,T4
	FMP Z,Z
	MOVE T1,FPKB3
	FAD T1,Z
	MOVE BASE,FPKA3
	FDVM BASE,T1
	FAD T1,Z
	FAD T1,FPKB2
	MOVE BASE,FPKA2
	FDVM BASE,T1
	FAD T1,Z
	FAD T1,FPKB1
	MOVE BASE,FPKA1
	FDV BASE,T1
	FAD BASE,FPKB0
	FMP BASE,T4
	TRNE T2,-1
	FSB BASE,FPPIOT
	SKIPA Z,BASE

FPAT4:	MOVE Z,FPPIOT
	SKIPGE T2
	JCIA
	JPOPJ

;;
;
 ;REF: ATAN2.MAC  17-JUL-70  TKE
FPATN2:	JSFLTW
	FDVR Z,T1
	JFCL FPAT21
	PUSHJ P,FPATAN
	SKIPL ARG2
	JPOPJ
	JUMPGE Z,FPAT22
	FADR Z,FPPII
	JPOPJ

FPAT22:	FSBR Z,FPPII
	JPOPJ

FPAT21:	MOVE Z,FPPIOT
	MOVE T1,126
	TLNN T1,000100
	JRST FPARG1

	SKIPL ARG2
	JPOPZ
	MOVE Z,FPPII
	JRST FPARG1

;;
;
 SUBTTL[FPSIN]
;REF: SIN.MAC 12 DECEMBER 1969 - ED YOURDAN

FPCOSD:	FADR Z,FPSCD
FPSIND:	FDVR Z,FPSCD1
	JFCL
	SKIPA
FPCOS:	FADR Z,FPPIOT
FPSIN:	MOVEM Z,T4
	MOVMS	Z
	CAMG	Z,FPSP2
	JRST	FPS3A
	FDV	Z,FPPIOT
	CAMG	Z,FPTBLP
	JRST	FPS2
	MULI	Z,400
	ASH	T1,-202(Z)
	JFCL
	MOVEI	Z,200
	ROT	T1,3
	LSHC	Z,33
	FAD	Z,FPZERO
	JUMPE	T1,FPS2
	TLCE	T1,1000
	FSB	Z,FPTBLP
	TLCE	T1,3000
	TLNN	T1,3000
	JCIA
FPS2:	SKIPGE	T4
	JCIA
	MOVEM Z,T4
	FMPR	Z,Z
	MOVE	BASE,FPSC9
	FMP	BASE,Z
	FAD	BASE,FPSC7
	FMP	BASE,Z
	FAD	BASE,FPSC5
	FMP	BASE,Z
	FAD	BASE,FPSC3
	FMP	BASE,Z
	FAD	BASE,FPPIOT
	FMPR	BASE,T4
	SKIPA	Z,BASE
FPS3A:	MOVE	Z,T4
	JPOPJ

FPTAN:	PUSHJ P,FPCOS
	EXCH Z,ARG1
	PUSHJ P,FPSIN
FPTAN1:	FDVR Z,ARG1
	JFCL
	JFCL;TEST FOR TOO LARGE
	JPOPJ

FPTAND:	PUSHJ P,FPCOSD
	EXCH Z,ARG1
	PUSHJ P,FPSIND
	JRST FPTAN1

;;
;
 SUBTTL[FPSINH]
;REF: SINH.MAC 15-JUL-70 KAREN KOLLING

FPSINH:	MOVMS Z
	CAMLE Z,FPSIN8
	JRST FPOV88
	CAMG Z,FPS10T
	JRST FPSERI
	PUSHJ P,FPEXP
	HRLZI T2,576400
	PUSHJ P,FPCOS1
	JRST FPARG1

FPSERI:	MOVE T2,Z
	FMPR T2,T2
	JFCL
	MOVEM T2,T4
	FDVR T2,FPS120
	JFCL
	FADR T2,FPSSIX
	FMPR T2,T4
	JFCL
	FADRI T2,201400
	FMPR Z,T2
	JPOPJ

FPOV88:	PUSHJ P,FPCO88
FPARG1:	SKIPGE ARG1
	JCIA
	JPOPJ




;REF COSH.MAC 9-JUL-70  ED YOURDAN

FPCOSH:	MOVMS Z
	CAMLE Z,FPSIN8
	JRST FPCO88

	PUSHJ P,FPEXP
	MOVSI T2,201400
FPCOS1:	FDVR T2,Z
	FADR Z,T2
	FDVRI Z,202400
	JPOPJ

FPCO88:	FSBR Z,LN2BE
	JUMPLE Z,JRQFP
	PUSHJ P,FPEXP
	JPOPJ


;;
;
 ;REF: TANH.MAC 22 SEPTEMBER 1969  ED YOURDAN

FPTANH:	MOVM T1,Z
	CAMGE T1,FPTK1
	JPOPJ

	CAMLE T1,FPTK2
	JRST FPTAN5
	CAMGE T1,FPTK3
	JRST FPTAN2
	FMPRI T1,202400
	MOVE Z,T1
	PUSHJ P,FPEXP
	MOVSI T1,201400
	FAD Z,T1
	FDVM T1,Z
	FMPRI Z,202400
	FSBRM T1,Z
	JRST FPARG1

FPTAN2:	FMP Z,FPTK7
	MOVEM Z,T3
	FMP Z,Z
	MOVEM Z,T4
	FAD Z,FPTK4
	MOVE T1,FPTK5
	FDV T1,Z
	FAD T1,FPTK6
	FMP T1,T4
	FAD T1,FPTK7
	MOVE Z,T3
FPTAN5:	FDV Z,T1
	JPOPJ

;;
;
 SUBTTL[FPEXP]
;REF: EXP.MAC

FPEXP:	CAMGE	Z,FPEX77
	JRQFP
	CAMLE	Z,FPEX7
	JRQFPI

	MOVE T1,Z
	HRLZI BASE,(FSC Z,)
	SETZM	T4
	MULI	T1,400
	TSC	T1,T1
	MUL	T2,FPEX5
	ASHC	T2,-242(T1)
	AOSG T2
	AOS T2
	HRRM	T2,BASE
	JUMPG	T3,FPEXAS
	TRNN	T3,377
	JRST	FPEXAS
	ADDI	T3,200
FPEXAS:	ASH	T3,-10
	TLC	T3,200000
	FADB	T3,T4
	FMP	T3,T3
	MOVE	Z,FPEX2
	FMP	Z,T3
	FAD	T3,FPEX4
	MOVE	T1,FPEX3
	FDV	T1,T3
	FSB	Z,T1
	MOVE	T2,T4
	FSB	Z,T2
	FAD	Z,FPEX1
	FDVM	T2,Z
	FAD	Z,FPEX6
	XCT	BASE
	JPOPJ

;;
;
 SUBTTL[FPSQRT]
;REF: SQRT.MAC 30 SEPTEMBER 1970 - TONY LAUCK
FPSQRT:	JUMPLE Z,JRQFP
	HRLZI T3,(FSC BASE,)
	MOVEI	0,0
	LSHC	0,^D9
	SUBI	0,201
	ROT	0,-1
	HRRM 0,T3
	JUMPL	0,FPSQR3


;FRACTION <.5
	LSH	Z,-^D9
	FSC	Z,177
	MOVEM	Z,T4

;COMPUTE LINEAR APPROX #1
	FMP	Z,[200640000000]
	FAD	Z,[177465000000]
	

FPSQR1:	MOVE	0,T4
	FDV	0,Z
	FAD	Z,0
	FSC	Z,-1
	MOVE 	0,T4
	FDV	0,Z
	FADR	0,Z
FPSQR2:	XCT T3
	MOVE Z,0
	JPOPJ


;HERE ON F >= .5
FPSQR3:	LSH	Z,-^D9
	FSC	Z,200
	MOVEM	Z,T4

;COMPUTE LINEAR APPROX #2
	FMP	Z,[200450000000]
	FAD	Z,[177660000000]
	JRST FPSQR1
;;
;
 SUBTTL[FPCABS]
;REF: CABS.MAC  23-SEPT-69  TOM EGGERS
FPCABS:	JSFLOT
	MOVM T1,Z
	MOVM Z,ARG1
	CAML Z,T1
	EXCH Z,T1
	FDVR Z,T1
	JFCL FPCAB1
	FMPR Z,Z
	JFCL FPCAB1
	MOVEM T1,ARG2
	FADRI Z,201400
	PUSHJ P,FPSQRT
	FMPR Z,ARG2
	JPOPJ

FPCAB1:	MOVE Z,T1
	JPOPJ



SUBTTL[FPREAL]
;REF: REAL.MAC  28 NOV 69  ED YOURDON
FPREAL:	JPOPJ

SUBTTL[FPCONJ]
;REF: CONJG.MAC  29 NOV 69  ED YOURDON
FPCONJ:	JSFLOT
	MOVN T1,Z
	MOVE Z,ARG1
	JPOPJ

;;
;
 FPMOD1:	233400000000
FPLOG1:	577225754146
FPLOG2:	201552023632
FPLOG3:	200462532521
FPLOG4:	200754213604
FPLOG5:	202561251002
;FPLOG7=LN(2)
MIFI:	400000000001

LOG10A:	177674557305


FPA1:	145000000000
FPA2:	233000000000
FPKB0:	176545543401
FPKB1:	203660615617
FPKB2:	202650373270
FPKB3:	201562663021
FPKA1:	202732621643
FPKA2:	574071125540
FPKA3:	600360700773
FPPII:	202622077325	;JUST PLAIN PIE

FPSC3:	577265210372
FPSC5:	175506321276
FPSC7:	606315546346
FPSC9:	164475536722

FPSP2:	170000000000

FPSCD:	90.0
FPSCD1:	206712273406
FPPIOT:	201622077325

;FPKONE=FPTBLP




FPM46:	DEC -38
FPZERO=XXZERO

FPTBLM:	201400000000
FPS10T:	175631463146	;1.E-1
	172507534122	;1.E-2
	163643334273	;1.E-4
	146527461671	;1.E-8
	113715126246	;1.E-16
	026637304365	;1.E-32

FPTBLP:	201400000000
	204500000000	;1.E1
	207620000000	;1.E2
	216470400000	;1.E4
	233575360400	;1.E8
	266434157116	;1.E16
	353473426555	;1.E32


FPEX1:	204476430062
FPEX2:	174433723400
FPEX3:	212464770715
FPEX4:	207535527022
FPEX5:	270524354513
FPEX6:	0.5
FPEX7:	207540074636
FPEX77:	570232254037

LN2BE:	200542710300	;LN(2)
FPSIN8:	207540074636	;88.029

FPS120:	207740000000	;120.0
FPSSIX:	0.166666667


FPTK1:	165544410070	;0.00034
FPTK2:	204600000000	;12.0
FPTK3:	176534121727	;0.17
FPTK4:	211535527022	;349.6699888
FPTK5:	204704333567	;14.1384514018
FPTK6:	174433723376	;0.01732867951
FPTK7:	203561250731	;5.7707801636

FP2453:	XWD 353473,426555
	XWD 266434,157116
FP2455:	XWD 233575,360400
	XWD 216470,400000
	XWD 207620,0
	XWD 204500,0
FP2461:	XWD 201400,0
	XWD 26637,304365
	XWD 113715,126246
	XWD 146527,461671
	XWD 163643,334273
	XWD 172507,534122
FP2467:	XWD 175631,463146

>;;
;
 
;;
;
 SUBTTL[145/fp]
Qfp:	JSCF
qfp1:	JSR2
	JRAC
	JXSKIP
	JRST qfp1
	TRZ Z,CMASK
	JRVI
;;
;
 SUBTTL[144/fr]
Qfr:	JSCF
	JSSBA
	JRAB

qfr0:	JSCT
	JNULLE
	JRQ
	MOVE PAL2,PAL21

qfr1:	MOVEM T1,CHAR2
qfr2:	JSER ;SUBJECT TO LATER TEST
qfr3:	JSR2
	JRQ
	JRST qfr3
	JSW
	JRST qfr3
;;
;
 SUBTTL[106/ft]
Qfti:	move	pal,pel
	aos	pal
	jxgln

Qfti1:	MOVE	Z,SWITCH
	JNDPNF
	ROT	Z,1
	IOR	SWITCH,Z
	JJZPNF
Qft:	JNULLE
	JRQ
	JSCF
	JSER
	JRST	Qft3

Qft4:	TRZ	Z,CMASK
	MOVE	T5,Z
	CAILE	Z,qpcLIM
	JRST	QftMG
	TDZA	Z,Z
Qft2:	JSAS
	JSAE
	JRST	Qft3
	SOJN	T5,Qft2
Qft21:	JSR1
	JRST	Qft3
	JSW
	JRST	Qft21

Qft3:	JMRPAL
Qft1:	JSR2
	JRQ
	JRST	Qft4
XCTJSW:	JSW
	JRST	Qft1

QftMG:	SUBI	T5,qpcLIM
QftMG1:	SOJE	T5,QftMG2
	JSAS
	JRST	QftMG1


QftMG2:	JSAE
	JRST	Qft3

	MOVE	Z,CPCM
QftMG3:	JSW
	JSR1
	JRST	QftMG2
	TRO	Z,1000
	JRST	QftMG3

;;
;
 SUBTTL[210/ftb]
Qftb:	JSCF
	JSFD
	JRAC
	JSER

qftb1:	JMRPAL
qftb2:	JSR2
	JRST	qftb4
	JRST	qftb2
	MOVE	T2,Z

qftb3:	JSR1
	JRST	qftb5
	CAME	Z,T2
	JRST	qftb3

qftb4:	JSCT
	JRQ

qftb5:	MOVE	Z,T2
	JSW
	JRST	qftb1

;;
;
 SUBTTL[211/fts]
Qfts:	JSCF
	JSFD
	JRAC
	JSER

qfts1:	JMRPAL
qfts2:	JSR2
	JRST qfts4
	JRST qfts2
	MOVE T2,Z

qfts3:	JSR1
	JRST qfts4
	CAME Z,T2
	JRST qfts3
	JSW
	JRST qfts1

qfts4:	JSCT
	JRQ

;;
;
 SUBTTL[212/hc]
Qhc:	MOVE	Z,PAN
	JRV


;;
;
 SUBTTL[150/hm]
Qhm:	JSCF
	SETZI	PAN2,

qhm1:	JSSBA
	JRST	qhm2
	AOS	PAN2
	JRST	qhm1

qhm2:	MOVE	Z,PAN2
	JRVI
;;
;
 SUBTTL[149/hp]
Qhp:	JSCF
	JSGT
	SETZM	TEM1
	JRST	qhp1

qhp2:	SKIPE	T4
	CAMN	Z,T4
	AOS	TEM1

qhp1:	JSR2
	JRST	qhp3
	JRST	qhp2
	JRST	qhp1

qhp3:	MOVE	Z,TEM1
	JRVI

;;
;
 SUBTTL[114/ht]
Qht:	MOVE PAL21,FLOW
	JJEPNF
	JRST qht2
	JSAE
	JRST qht1
	JSF
	JRQ
	CAIA
qht1:	MOVE PAL21,LOW
qht2:	MOVEM PAL21,FTOP
	JRQ

;;
;
 SUBTTL[116/id]
Qid:	JSGE
	CAILE T4,4
	JSER


Qic:	JSTI
	JSW
	SOJN T4,Qic
	SETZM TM2
	JRQ
;;
;
 SUBTTL[136/ig]
Qig:	JSAA
	ADD T6,T5
	JUMPE T6,JRAZ
	MOVE Z,T6
	JSD
	qigL-1

qigL:	XWD JRAZ,2
	XWD JRAZ,12
	XWD JRAZ,13
	XWD JRAZ,202
	XWD JRAY,0
;;
;
 SUBTTL[135/ii]
Qii:	JSPL
	JSGQ
	JRAZ
	JFCL
JRAY:	JSAS
JRAZ:	JSAS
JRAD:	JSAT
	JRQ


JRAB:	JSAS

JRAC:	JJZPNF
	MOVE Z,PEL
	MOVEM Z,PFL
	JRAD
;;
;
 SUBTTL[117/im]
Qim:	JSER
qim1:	JSIRO
	JSW
	JMRPAL
qim2:	JUMPE PAN,qim4
	MOVE T4,PFL
	ADD T4,PAN
	MOVE T3,PAL
qim21:	AOS T4
	AOS T3
	MOVE Z,@T4
	CAME Z,@T3
	JRST qim3
	AOJN PAN,qim21
	JRQ

qim3:	JSAS
	JSAE
	JRST qim1
	JRST qim2

qim4:	MOVE Z,C
	CAME Z,MCH
	JRST qim3
	JRQ
;;
;
 SUBTTL[102/is]
Qis:	JSER
	JXSKIP

qis1:	JSW
	JSIRO
	CAME Z,MCH
	JRST qis1
	SETZM TM2
	JRQ
;;
;
 SUBTTL[152/it]
Qidt:	JSGE
Qit:	JFCL; MAKE SURE WE ARE IN IMAGE MODE
qit7:	JFCL; DUMMY
qitA:	SETZM TEM6
	PUSHJ P,MFLK
	MOVE Z,C
	SUBI Z,300
	JUMPL Z,qitA
	PUSHJ P,MFLB
	MOVNM Z,ARG2
	PUSHJ P,MFLB
	MOVNM Z,PAN
	MOVE PAL2,FLOW
	MOVEM PAL2,ARG1
	ADDI PAL2,3
	MOVE PAN2,ARG2
	JSDS
	PUSHJ P,MFLB

	HRRM Z,@PAL2

	SETOI PAL2,
	ADD PAL2,PAN
	ADD PAL2,ARG2

qit1:	AOJE PAL2,qit2
	MOVE Z,C
	ANDI Z,200
	JUMPN Z,qit3
	MOVE Z,C

	JSW2C
	MOVE Z,C
	ADDI Z,200
	PUSHJ P,MFLK
	JRST qit1
;;
;
 qit3:	PUSHJ P,MFLB
	ADDI Z,CMASK
	JSW2C
	JRST qit1

qit2:	MOVN Z,C
	ADD Z,TEM6
	ANDI Z,7777
	MOVEM Z,TEM2
	PUSHJ P,MFLB
	ANDI Z,7777
	SUB Z,TEM2
	JUMPN Z,qit4
	SOJN T4,qitA
	JJNPNF
	JRST qit5
	JRST qitA

qit4:	MOVE Z,ARG1
	MOVEM Z,FLOW
	JFCL;MAKE SURE WE GO BACK TO NON IMAGE MODE
	JRAB

qit5:	JFCL;BACK TO NON IMAGE MODE
	JRQ



;;
;
 MFLK:	JSTGET
	JUMPE Z,MFLK
	MOVEM Z,C
	SUBI Z,377
	JUMPE Z,MFLK1
	MOVE Z,C
	ADD Z,TEM6
	MOVEM Z,TEM6
	JPOPJ

MFLK1:	JXBUCL
	JRST qit5

MFLB:	SETZB Z,T5
MFB1:	MOVE T6,T5
	MOVE T5,C
	ANDI T5,77
	PUSHJ P,MFLK
	MOVE Z,C
	ANDI Z,300
	JUMPE Z,MFB3
	SUBI Z,200
	JUMPE Z,MFB1

MFB3:	MOVE Z,T6
	LSH Z,6
	ADD Z,T5
	JPOPJ
;;
;
 SUBTTL[213/iw]
Qiw:	JSGT
	LSH T4,12
	CALLI T1,23
	ADD T4,T1
	LSH T4,-1
	MOVEM T4,TM2
	JRQ
;;
;
 SUBTTL[216/lf]
Qlf:


qlfDI:	JSBFI
	SKIPE DFILEX
	JRST qlfDI2

qlfDI3:	JSBUG
	JRQ
	JMQDI
	JSBUG
	JRQ
	HLLZ T1,@T7
	JUMPE T1,qlfDI3
	MOVEI Z,56
	JSW
	JSSIX
	JRST qlfDI3


qlfDI1:	AOS T7
qlfDI2:	JSBUG
	JRQ
	MOVE E2,T7
	AOS E2
	HLLZ Z,@E2
	CAME Z,DFILEX
	JRST qlfDI1
	JMQDI
	JRST qlfDI1
;;
;
 SUBTTL[241/lic]
Qlic:	JSER
	MOVEI	T5,TABSIC
	JRTABN

; [242/loc]
Qloc:	JSER
	MOVEI	T5,TABSOC
	JRTABN

SUBTTL[$/lkf]
Qlkf:	SKIPE TTOBUF+40
	JRST	qlkf2
	JSBDL

	MOVE	T1,kdevbf
	MOVE	Z,KSTATR
	JSOPEN

	OPEN	CHANL,KBSTAT
	JRNAVO

	JSBTIM
	ENTER	CHANL,E
	JRST	qlkf1

	MOVEM	E,TTOBUF+40
	MOVEM	E1,TTOBUF+41
	MOVEM	E2,TTOBUF+42
	MOVEM	E3,TTOBUF+43

	JSFBL
	JFCL

	JRST	qbfIN

qlkf1:	CLOSE	CHANL,
	JFBCL
qlkf2:	JFCL
	JRAC
;;
;
 SUBTTL[$/lko]
Qlko:	SKIPN	TTOBUF+40
	JRNAV
	JSAE
	JRST	qlko1
	PUSHJ	P,qsfB
	JXSKIP
qlko1:	MOVE	T1,FTOP
	MOVE	BASE,FLOW
	PUSH	P,T1
	MOVEM	T1,DSK1
	SUB	T1,BASE
	JUMPE	T1,qlko3

qlko2:	MOVE	E,TTOBUF+40
	MOVE	E1,TTOBUF+41
	MOVE	E2,TTOBUF+42
	MOVE	E3,TTOBUF+43
	HRLM	T1,DSK1
	OUTPUT	CHANL,DSK1

	SETZM	TTOBUF+40
	GETSTS	CHANL,ERBIT
	STATZ	CHANL,740000
	JRST	qlkoNA
	CLOSE	CHANL,

	POP	P,FLOW
	JRQ

qlko3:	MOVEI	T1,DSK1
	MOVEM	T1,DSK1
	SETOI	T1,
	JRST	qlko2

qlkoNA:	CLOSE	CHANL,
	JRNAVO

;;
;
 SUBTTL[$/lne]
Qlne:	JSPL
	JSGQ
	JSAS
	JRAZ
	JRAZ

;;
;
 SUBTTL[105/lt]
Qlt:	MOVE PAL21,FTOP
	JSER

qlt1:	JSFS
	JRQ
	JSLNA
	JRST qlt1
;;
;
 SUBTTL[214/lw]
Qlw:	MOVE PAL21,FTOP
	JSER

qlw1:	JSFS
	JRQ
	PUSH P,PAL21

	JSCFA
	POP P,PFI
	JTMP1A

qlw2:	JSAS
	MOVE PAL2,PAL21
	JSAE
	JRST qlw3
	JUMPE PAN,qlw2

	JTMP2Z
	JSSBA
	JRST qlw4
	JTMP1O
	JRST qlw2

qlw3:	JTMP1N

	JRST qlw4
	JMRPAL
	MOVE PAL2,CHAR1
	JSLNA

qlw4:	JMRPAL
	MOVE PAL21,PFI
	JRST qlw1

;;
;
 SUBTTL[110/mc]
Qmc:	JSGE
	ADDI	T4,qpcLIM+CMASK
	CAIL	T4,qmcLIM+CMASK
	JRAC
	JRST	qpc1
;;
;
 SUBTTL[146/md]
Qmd:	JSCF
	JSGT
	HRRZ T5,@PFF
	JJNSGN
	JRST qmd1
	ADD Z,T5
	JUMPGE Z,qmd2
	JCLA
	JRST qmd2

qmd1:	MOVE Z,T4
	CAMLE Z,T5
	MOVE Z,T5

qmd2:	HRRM Z,@PFI
	JRQ
;;
;
 SUBTTL[109/mt]
;
Qmt:	JJOSGN
	jrst	qptmt
SUBTTL
SUBTTL[130/mu]
Qmu:	JSML
	JRMR
	MOVEM Z,TEM1
	JSA1
	MOVN Z,PAN
	AOS Z
	ADD Z,PFF
	MOVEM Z,PFF

qmuA:	AOSE TEM1
	MOVE Z,@TEM1
	JUMPL Z,JRMV
	AOSE PFF
	ANDI Z,17
	JUMPE Z,qmuA
	MOVNM Z,@TEM1
	MOVE Z,PFF
	AOS Z
	MOVEM Z,ARG2

qmuB:	JSMT
	JSAU
	AOSE @TEM1
	JRST qmuB
	JRST qmuA
;;
;
 SUBTTL[111/ni]
Qni:	JJNPNI
	JSAS
	JRAD
;;
;
 SUBTTL[188/not]
Qnot:	JSBT
qnotA:	JSD2
	MOVE Z,@T2
	JSAN
	JRAG
	SETCA Z,
	ANDI Z,7
	JSDC
	JRST qnotA
;;
;
 SUBTTL[209/nu]
Qnu=FNPNL
;;
;
 SUBTTL[/oj]
Qrp:	JTMP1O
Qrj:	JSER
	MOVE	T7,XCTJSW
	JRST	qoj00

Qop:	JTMP1O
Qoj:	MOVEM	PAL,PALPAL
	MOVE	T7,qos2
qoj00:	PUSHJ	P,qojP

qoj01:	MOVE	T4,CLINEL
qoj02:	ADD	T1,T4
	MOVEM	T7,ADS32
	MOVE	T3,PAL
	MOVE	T7,[XWD 400001,100000]
	SETZB	PAL2,TEM4

	JRST	qoj04

qoj03:	SKIPN	ARG3
	JRST	qoj04
	TRO	PAN2,400000
	MOVEM	PAN2,@T3

qoj04:	SKIPA	PAN2,T4
qoj05:	MOVE	PAN2,T1

	MOVEM	T3,CHAR1
	HRLZ	Z,PAL2
	IORM	Z,@T3
	ADDI	PAL2,1
	SETZI	T6,

qoj06:	ADDI	T3,1
	MOVE	Z,@T3
	JUMPL	Z,qoj60

	JTSTCN
	JRST	qoj12
	SOJGE	PAN2,qoj06

qoj10:	SETZI	T6,
	MOVE	PAN2,T3
qoj11:	CAMN	T3,PAL
	JRST	qoj18
	HRRZ	Z,@T3
	CAIE	Z,CGSPACE
	CAIN	Z,CCHTAB
	JRST	qoj13
	SUBI	T3,1
	CAIN	Z,CCBKSP
	SOJA	T6,qoj11
	AOJA	T6,qoj11

qoj12:	CAIE	Z,CCNULIN
	CAIN	Z,CCRETURN
	JRST	qoj03
	CAIN	Z,CCHTAB
	JRST	qoj17
	CAIN	Z,CCBKSP
	AOJA	PAN2,qoj06
	JRST	qoj06

qoj13:	HRRM	T7,@T3
	JTMP1E
	JRST	qoj05
	JUMPE	T6,qoj05
	MOVEM	T3,ARG1
	JTMP2Z

qoj14:	SUBI	T3,1
	HRRZ	Z,@T3
	JTSTCN
	JRST	qoj16
	CAIE	Z,CGSPACE
	JRST	qoj22
	ADDI	T6,1
	HLRM	T7,@T3
	JRST	qoj14

qoj16:	CAIN	Z,CCBKSP
	SOJA	T6,qoj14
	CAIN	Z,CCHTAB
	ADDI	T6,10
	JRST	qoj14

qoj17:	MOVE	T5,T4
	SUB	T5,PAN2
	ANDI	T5,7
	SUBI	PAN2,10
	ADD	PAN2,T5
	JUMPGE	PAN2,qoj06
	JRST	qoj10

qoj18:	MOVE	T3,PAN2
	HRRZ	Z,@T3
	TRO	Z,100000
	MOVEM	Z,@T3
	JRST	qoj05

qoj20:	JTMP2N
	JRST	qoj25
qoj22:	CAME	PAL21,qoj06

	SKIPA	PAL21,qoj06
	SKIPA	PAL21,qoj14
	MOVE	T3,CHAR1

qoj21:	XCT	PAL21
	MOVE	Z,@T3
	JUMPL	Z,qoj20
	TLNE	Z,77777
	JRST	qoj20
	CAIE	Z,CCNULIN
	CAIN	Z,CCRETURN
	JRST	qoj20
	TRNE	Z,100000
	JRST	qoj20

	CAIN	Z,CGSPACE
	JRST	qoj23
	CAIN	Z,400000
	JRST	qoj20
	CAIG	Z,400000
	JRST	qoj21
qoj24:	AOS	@T3

	JTMP2O
	SOJG	T6,qoj21
qoj25:	MOVE	T3,ARG1
	JRST	qoj05

qoj23:	HLRM	T7,@T3
	JRST	qoj24

qoj30:	JTMP2O
qoj31:	PUSHJ	P,qojJSR
qoj311:	XCT	T7
	TLNE	Z,77777
	JRST	qojPB
qoj312:	ANDI	Z,777777
qoj32:	CAILE	Z,377
	JRST	qoj33
	XCT	ADS32
	JRST	qoj31

qoj33:	PUSHJ	P,qojPD
	JRST	qoj31

qoj40:	CAIE	Z,100000
	PUSHJ	P,qojPA
	JJNSGN
	JRST	qoj50
	MOVEI	Z,CCNULIN
	XCT	ADS32
qoj41:	PUSHJ	P,qojJSR
	CAIN	Z,CGSPACE
	JRST	qoj41
	JRST	qoj311

qoj50:	MOVE	T3,PFI
	MOVE	T4,PFF
	PUSHJ	P,qojPC
	JRST	qoj41

qoj60:	MOVE	T7,[JRST	qoj312]
	SKIPN	ARG3
	JRST	qoj30

	MOVSI	T7,(JFCL)
	MOVE	T3,PAL
	LSH	PAL2,-1
qoj61:	ADDI	T3,1
	MOVE	Z,@T3
	TLNN	Z,77777
	JRST	qoj61
	SOJG	PAL2,qoj61

qoj62:	MOVE	T2,T3
	JRST	qoj30

qojJSR:	JSR9
	SKIPE	TEM4
	JPOPJ
	CAMLE	PAL,PWR
	AOS	PWR
	JPOPJ

qojP:	JSAS
	JSGT
	SETZB	T1,ARG3
	JSAE
	JRST	qojP3
	MOVEM	PAL,PFI
	MOVEM	PAN,PFF

qojP1:	JSR1
	JRST	qojP2
	JTSTCN
	JXSKIP
	AOJA	T1,qojP1

	CAIN	Z,CCBKSP
	SOJA	T1,qojP1
	CAIE	Z,CCHTAB
	JRST	qojP1
	ADDI	T1,10
	ANDI	T1,777770
	JRST	qojP1

qojP2:	JXGLN
	JSAE
	JRST	qojP3
	SUB	PAL,PFI
	MOVEM	PAL,ARG2
	MOVEM	PAN,ARG3

qojP3:	SKIPN	T1
	JJOSGN
	MOVEM	T1,PFN
	MOVNS	T1
	JMRPAL
	JUMPE	T4,CPOPJ
	JPOP1

qojPA:	ANDI	Z,377
	XCT	ADS32
	JPOPZ

qojPB:	EXCH	PAL,T2
	SKIPE	TEM4
	JRST	qojPB2
	AOS	TEM4
	PUSHJ	P,qojPD
	JFCL
	MOVE	T3,ARG2
	ADD	T3,PFI
	MOVE	T4,ARG3
	PUSHJ	P,qojPC
	JFCL
	JRST	qoj41

qojPB2:	SETZM	TEM4
	MOVEI	Z,CCNULIN
	XCT	ADS32
	JFCL
	JRST	qoj41

qojPB3:	JFCL
	JFCL
	JFCL
	JFCL
	JFCL
	JFCL
	JFCL
	JRST	qoj41

qojPC:	AOJG	T4,CPOPJ
	ADDI	T3,1
	MOVE	Z,@T3
	XCT	ADS32
	JRST	qojPC

qojPD:	TRNN	Z,400000
	JPOP1
	HRRZ	PAN2,Z
	ANDI	PAN2,377
qojPD1:	SOJL	PAN2,CPOPJ
	MOVEI	Z,CGSPACE
	XCT	ADS32
	JRST	qojPD1

qojos:	JTMP1O
	JJOSGN
	SETZB	T1,ARG3
	MOVE	T7,qos2
	JRST	qoj01
;;
;
 SUBTTL[186/or]
Qor:	JSBT
qorA:	JSD3
	MOVE Z,@T3
	JSAN
	JRAG
	MOVEM Z,TEM4
	JSD2
	MOVE Z,@T2
	JSAN
	JRAG
	AND Z,TEM4
	JSDC
	JRST qorA
;;
;
 SUBTTL[101/os]
Qos:	JBUPSE
	JRST	qos3

qos0:
 IFDEF qojos,<	JJEPNF
	JRST	qojos
 >

qos1:	JSR9
qos2:	JSTL
	JRST	qos1

qos3:	HLRZ	Z,LNMOXR
	JUMPE	Z,qos0
	JXTTC1
	JRST	qos0
;;
;
 SUBTTL[154/ot]
Qot:	JJO8BX;SET UP IMAGE MODE
qot7:	JSF
	JRST qot8

	MOVNI T1,100
qot1:	PUSHJ P,MFDR
	MOVEI Z,16
	JSTPUT
	HRRZ Z,@PFN
	PUSHJ P,MFDH
	HRRZ Z,@PFF
	PUSHJ P,MFDH
	HRRZ Z,@PFI
	PUSHJ P,MFDH
	MOVE PAL2,PFI
	ROT PAL2,2
	ADDI PAL2,3

qot2:	JSR2
	JRST qot4
	JRST qot3
	ANDI Z,177
	PUSHJ P,MFDK
	JRST qot2

qot3:	PUSHJ P,MFDH
	JRST qot2
qot4:	MOVE Z,T1
	PUSHJ P,MFDH
	MOVEI Z,17
	JSTPUT
qot5:	JSAS
	JSAE
	JRST qot6
	JSF
	JRST qot5
	MOVNI T1,6
	JRST qot1
qot6:	MOVNI T1,100
	PUSHJ P,MFDR


qot8:	JJE8B
	JJZ8BX;RESTORE TO NON IMAGE MODE
	JFCL;OUTPUT LAST BUFFER LOAD
	JRQ
;;
;
 MFDR:	JCLA
MFDR1:	JSTPUT
	AOJN T1,MFDR1
	JPOPJ


MFDK:	ADD T1,Z
	JSTPUT
	JPOPJ


MFDH:	ANDI Z,7777
	MOVEM Z,TEM2
	ANDI Z,7700
	JUMPE Z,FDH3
	ROT Z,-6
	ADDI Z,100
	PUSHJ P,MFDL
	MOVE Z,TEM2
	ANDI Z,77
FDH2:	PUSHJ P,MFDL
	JPOPJ

FDH3:	MOVE Z,TEM2
	ADDI Z,100
	JRST FDH2

MFDL:	ADDI	Z,200
	MOVEM	Z,TEM5
	SUBI	Z,377
	JUMPE	Z,FDL2
	MOVE	Z,TEM5
FDL1:	PUSHJ	P,MFDK
	JPOPJ

FDL2:	MOVEI	Z,300
	PUSHJ	P,MFDK
	MOVEI	Z,277
	JRST	FDL1

;;
;
 SUBTTL[108/pc]
Qpc:	JSGE
	ADDI	T4,CMASK
	CAILE	T4,qpcLIM+CMASK
	JRAC
qpc1:	MOVE	Z,T4
	JSW
	JRQ
;;
;
 SUBTTL[PLOTTER]
IFNDEF PLOTER, <
Qpl:	JRNAV
Qwi:	JRNAV
Qws:	JRNAV
Qwx:	JRNAV
Qwy:
Qwr:
Qwl:
Qwc:
	JRNAV
 >
IFDEF PLOTER, <
;DEFINITIONS FOR PLOTTER

Qwr:Qwl:Qwc:	JRNAV
;
PLOTPN=TTOBUF
PLOTNX=TTOBUF+1
PLOTNY=TTOBUF+2
PLTCOM=TTOBUF+3
PLTSCX=TTOBUF+4
PLTSCY=TTOBUF+5
PLOTX=TTOBUF+6
PLOTY=TTOBUF+7
PLTOUT=TTOBUF+10
PLTCWR=TTOBUF+11
PLTCWL=TTOBUF+12
;TTOBUF+13
PLTPUT=TTOBUF+14
PLTQAD=TTOBUF+15
;TTOBUF+16
;TTOBUF+17
PLTMX0=TTOBUF+20;THROUGH 37
PLOTPU=140
PLOTPD=120

;-y+x,+y-x,-y-x,+y+x,+y,+x,-y,-x
;DUPR,DDPL,DUPL,DDPR,DD,PR,DU,PL
;111,106,112,105,104,101,110,102

PLTQA0:	BYTE (9) 104,110,101,102
	BYTE (9) 105,111,106,112

PLTQA1:	BYTE (9) 102,101,104,110
	BYTE (9) 106,105,112,111

PLTQA2: BYTE (9) 110,104,102,101
	BYTE (9) 112,106,111,105

PLTQA3: BYTE (9) 101,102,110,104
	BYTE (9) 111,112,105,106

PLTQA4:	BYTE (9) 104,110,102,101
	BYTE (9) 106,112,105,111

PLTQA5:	BYTE (9) 101,102,104,110
	BYTE (9) 105,106,111,112

PLTQA6: BYTE (9) 110,104,101,102
	BYTE (9) 111,105,112,106

PLTQA7: BYTE (9) 102,101,110,104
	BYTE (9) 112,111,106,105

OPDEF JSPLT [XCT PLTPUT]
OPDEF JSBD [PUSHJ P,JSBD]
OPDEF JSGM [PUSHJ P,JSGM]


SUBTTL[174/pl]
Qpl:	JSPK
	JRQ
	JSD
	qplL-1

qplL:
XWD qplWS,2723; LIST WS SUBFUNCTIONS
XWD qplLF,1406;	PL LIST FUNCTIONS
XWD qplNM,1615;	NULL MODE OUTPUT AS IF PS
XWD qplVM,2615;	VALUE MODE PLOT CONTROL CODES RETURNED AS VALUE
XWD qplMQ,1521;	ROTATE QUADRANTS OF AXES
XWD FR,0

qplWS:	MOVEI	Z,qpl10-1
	JRST	MOLF2

qplLF:	MOVEI	Z,qplL-1
	JRST	MOLF2

qplNM:	MOVE	Z,KSTPUT
	MOVEM	Z,PLTPUT
	SETZM	PLTOUT
	JRQ

qplVM:	MOVE	Z,XCTJSW
	MOVEM	Z,PLTPUT
	MOVEM	Z,PLTOUT
	JRQ

qplMQ:	PUSHJ	P,qplROT
	JRQ

KSTPUT:	JSTPUT

;;
;
 
SUBTTL175/wi]
Qwi:	JSGM
	MOVNM	Z,PLOTNX
	JSGM
	MOVNM	Z,PLOTNY
	JRQ

;;
;
 SUBTTL[176/wx]
Qwx:	MOVE	PAL21,PLOTNX
	JXSKIP
Qwy:	MOVE	PAL21,PLOTNY

JSLN:	JSER
	MOVE	Z,PAL21
	JUMPE	PAL21,JRV
	JUMPG	PAL21,JSLN2
	JSWSGN

JSLN2:	JSBD
	JRST	JSLN3
	JUMPL	Z,JRV
	JRVI

JSLN3:	MOVE	T1,PAL21
	SKIPG	T1
	MOVNS	T1
	MOVNI	T3,14
	MOVEI	T2,1
	JSXRZ
	JRQ

;;
;
 SUBTTL[180/ws]
Qws:	SKIPN	PLTQAD
	JRST	QWSINI
QWSA:	SKIPE	PLTOUT
	JSER
QWS0:	JSNQ
	JSGM
	MOVEM	Z,PLOTX
	MOVEM	T4,TEM5

	JCLA
	JJESGN
	MOVEI	Z,2
	MOVEM	Z,ARG1
	SETZM	TEM2

	JJESGN
QWS2:	JSD3
	MOVE	Z,@T3
	JUMPL	Z,QWS3

	JSD
	qpl10-1

QWSINI:	MOVEI	Z,PLTQA0
	MOVEM	Z,PLTQAD
	MOVE	Z,KSTPUT
	MOVEM	Z,PLTPUT

	JRST	QWSA



;;
;
 
QWS4:	AOSE	PLOTPN
	JRST	QWS5
	MOVEI	Z,PLOTPU
	JRST	QWS6


QWS5:	MOVNI	Z,1
	MOVEM	Z,PLOTPN
	MOVEI	Z,PLOTPD

QWS6:	JSPLT
	JRST	QWS1

QWS3:	MOVE	Z,PLOTPN
	ADD	Z,TEM2
	JUMPE	Z,QWS4

QWS1:	JSGM
QWS1G:	MOVEM	T4,TEM6
	MOVEM	Z,PLOTY

	SKIPE	PLTCOM
	JRST	QWSABS

	MOVE	Z,PLOTX
	SKIPE	PLTSCX
	PUSHJ	P,QWSSCX
	ADDM	Z,PLOTNX

	MOVE	Z,PLOTY
	SKIPE	PLTSCY
	PUSHJ	P,QWSSCY
	ADDM	Z,PLOTNY


	JCLA
	JJESGN
	MOVEI	Z,1
	ADDM	Z,ARG1

QWSP1:	MOVE	Z,TEM5
	CAML	Z,TEM6
	JRST	QWSP2

	EXCH	Z,TEM5
	EXCH	Z,TEM6
	EXCH	Z,TEM5
	MOVEI	Z,1
	AND	Z,ARG1

QWSP6:	MOVE	T5,PLTQAD
	LDB	Z,ZT50(Z)
	MOVEM	Z,ADS32

	MOVE	Z,ARG1
	ADDI	T5,1
	LDB	Z,ZT50(Z)
	MOVEM	Z,ADS33

	MOVE	Z,TEM5
	LSH	Z,-1
	MOVEM	Z,ARG2
	MOVN	Z,TEM5
	SUBI	Z,1
	MOVEM	Z,ARG1
	JRST	QWSP3


QWSP4:	MOVE	Z,ADS32
QWSP7:	JSPLT
QWSP3:	AOSN	ARG1
	JRST	QWS0

	MOVE	Z,TEM6
	ADD	Z,ARG2
	MOVEM	Z,ARG2
	CAMGE	Z,TEM5
	JRST	QWSP4

	MOVE	Z,ADS33
	JSPLT
	MOVN	Z,TEM5
	ADD	Z,ARG2
	MOVEM	Z,ARG2
	JRST	QWSP3

QWSP2:	MOVE	Z,ARG1
	LSH	Z,-1
	ADDI	Z,2
	JRST	QWSP6

;;
;
 SUBTTL[/pl10]
qpl10:
XWD qpl1U,125
XWD qpl1A,101
XWD qpl1I,111
XWD qpl1G,107
XWD qpl1M,115
XWD qpl1R,122
XWD qpl1S,123
XWD qpl1W,127
XWD qpl1C,103
XWD qpl1Q,121
XWD QWS2,0

qpl1U:	MOVEI	Z,1
	MOVEM	Z,TEM2
	JRST	QWS2

qpl1A:	MOVEI	Z,1
qpl1I:	MOVEM	Z,PLTCOM
	JRST	QWS2


qpl1B:	JRST	qplFUT

qpl1D:	JRST	qplFUT

qpl1M:	JSGT
	CAILE	T4,7
	JRST	QWS0
	LSH	T4,1
	ADDI	T4,PLTMX0
	MOVE	Z,PLOTNX
	MOVEM	Z,@T4
	ADDI	T4,1
	MOVE	Z,PLOTNY
	MOVEM	Z,@T4
	JRST	QWS0

qpl1G:	JSGT
	CAILE	T4,7
	JRST	QWS0
	LSH	T4,1
	ADDI	T4,PLTMX0
	SETZB	T5,TEM2
	MOVE	Z,PLOTNX
	SUB	Z,@T4
	MOVEM	Z,PLOTX
	JUMPGE	Z,qpl1G1
	MOVEI	T5,2
	JCIA

qpl1G1:	MOVEM	Z,TEM5
	MOVEM	T5,ARG1
	SETZM	TEM2

	ADDI	T4,1
	MOVE	Z,PLOTNY
	SUB	Z,@T4
	JUMPGE	Z,qpl1G2
	JCIA
	JJOSGN

qpl1G2:	MOVE	T4,Z

	JRST	QWS1G



qpl1Q:	PUSHJ	P,qplROT
	JRST	QWS0

qpl1R:	JRST	qplFUT

qpl1S:	MOVE	T4,TEM5
	MOVEM	T4,PLTSCX
	JSGM
	MOVEM	T4,PLTSCY
	JRST	QWS0


qpl1W:	MOVE	T4,TEM5
	MOVEM	T4,PLTCWL
	JSGM
	MOVEM	T4,PLTCWR
	JRST	QWS0

qpl1C:	JFCL
	JSAS
	JRST	QWS0

qplFUT:	JSAS
	JRST	QWS0

SUBTTL[QWSABS]
QWSABS:	MOVE	T1,PLOTX
	MOVN	T2,PLOTNX
	ADD	T2,T1
	MOVEM	T1,PLOTNX
	JCLA
	SKIPL	T2
	MOVEI	Z,2
	MOVEM	Z,ARG1
	SKIPGE	T2
	MOVNS	T2
	MOVEM	T2,TEM5

	MOVE	T1,PLOTY
	MOVN	T2,PLOTNY
	ADD	T2,T1
	MOVEM	T1,PLOTNY
	JCLA
	SKIPL	T2
	MOVEI	Z,1
	ADDM	Z,ARG1
	SKIPGE	T2
	MOVNS	T2
	MOVEM	T2,TEM6

	JRST	QWSP1

SUBTTL[QWSSCX]
QWSSCX:	IMUL	Z,PLTSCX
	IDIVI	Z,144
	MOVE	T1,Z
	SKIPGE	Z
	MOVNS	T1
	MOVEM	T1,TEM5
	JPOPJ

SUBTTL[QWSSCY]
QWSSCY:	IMUL	Z,PLTSCY
	IDIVI	Z,144
	MOVE	T1,Z
	SKIPGE	Z
	MOVNS	T1
	MOVEM	T1,TEM6
	JPOPJ

SUBTTL[/plSUB]

qplROT:	JSGT
	JJESGN
	ADDI	T4,4
	CAILE	T4,7
	JPOPJ
	LSH	T4,1
	ADDI	T4,PLTQA0
	MOVEM	T4,PLTQAD
	JPOPJ

JSGM:	JSBD
	JRST	GE1B
	JSGT

GE2B:	JJESGN
	JCIA
	JPOPJ

GE1B:	JSXX
	JRST	GE2B

JSBD:	HLRO	T1,RIXBIX
	ADDI	T1,10
	JUMPE	T1,CPOPJ
	JPOP1

;;
;
 
 >
SUBTTL[$/dol]
Qdol:
Q$M:	JTMP1O
Q$M1:	JSGSIX
	JSTAB
	TABSNO-1
	SNOTAB-1
	JRQ

	HRRZ	PAL21,@T6
	HLRZ	T6,@T6
	MOVE	T1,PAL21
	JCLA

	JRST	@T6

dolQF:	JSER
	MOVEI	T5,TABSNO
	JRTABN
;
dolCWC:	setzm	CWCDOL
	jsr9
	movem	z,CWCDOL
	jrq
;
;;
;
 SUBTTL[162/ps]
Qps:	JSGE
	JSNQ
	CAILE	T4,10
	JSER

	JSR1
	JRAD
	MOVEM	Z,ADS32

	JSAS
	ADD	T4,PAN
	JUMPL	T4,JRAB
	JJESGN
	JRST	qps1
	JSAT
	PUSHJ	P,PADPAD
	JRQ

qps1:	PUSHJ	P,PADPAD
	JRAD

PADPAD:	SOJL	T4,JPOPZ
	MOVE	Z,ADS32
	JSW
	JRST	PADPAD
;;
;
 SUBTTL[107/pt]
Qpt:	JJZSGN
Qptmt:	JSCF
	HRRZ	Z,@PFF
	MOVEM	Z,TEM2

	MOVEI	PAN2,CMASK
	JJESGN
	ADDI	PAN2,qpcLIM
	JRST	qpt11

qptF1:	JJNPNF
	JRST	qpt2

qpt1:	JSAS
qpt11:	JSAE
	JRST	qpt4
	AOS	PAN2
	CAIL	PAN2,QMCLIM+400
	JRNAV
	MOVE	PAL2,PAL21
	JTMP2Z

	JRST	qpt2

qpt2:	JSSBA;JSSB
	JRST	qpt1
	MOVE	Z,PAN2
	JSW2C
	SOJE	BASE,qptF1

qpt3:	SOS	@PFF
	MOVEI	Z,CMASK
	JSW2C
	SOJE	BASE,qptF1
	JRST	qpt3

qpt4:	HRRZ	Z,@PFF
	CAMN	Z,TEM2
	JRQ

	MOVE	PAL2,CHAR1
	MOVE	T1,PAL2

qpt41:	JSR2
	JRST	qpt42
	JRST	qpt43
qpt411:	JSW2C
	JRST	qpt41

qpt42:	LSH	T1,-2
	AOS	T1
	MOVEM	T1,PFN
	MOVE	PAL21,CHAR2
	LSH	PAL21,-2
	JSDD
	JRQ

qpt43:	JUMPE	Z,qpt41
	ADDI	Z,CMASK
	JRST	qpt411


;;
;
 SUBTTL[238/qfn]
Qqfn:	JTMP1O
Qqf:	JSER
	MOVEI	T7,FNL
	SETOI	T3,

qqfn1:	ADDI	T3,1
	CAILE	T3,32*32
	jrst	treqf
	MOVE	T5,T3
	IDIVI	T5,4
	ADD	T5,T7
	LDB	T5,ZT50(T6)
	JUMPE	T5,qqfn1

	JSAT
	MOVE	Z,T3
	IDIVI	Z,32
	ADDI	Z,101
	JSW
	MOVE	Z,T1
	ADDI	Z,101
	JSW
	JTMP1N
	JRST	qqfn1
	JSAT
	ADDI	T5,DITBL
	HRRZ	Z,@T5
	MOVNM	Z,TEM3
	JSGV
	JSW
	JRST	qqfn1

treqf:	movei	t5,tabtre
	jrtabn
SUBTTL[qfa]
Qqfa:	JSER
	JSPL
	MOVEM	PAL,ARG1
	JSAS
	JSBDN
	MOVE	T1,kdevlf;SET UP AS FOR LF
	MOVE	Z,KSTATR
	JSOPEN
	JSFBL
	JFCL
	MOVE	PAL,ARG1

	MOVNI	Z,10
	MOVEM	Z,BASE
QQFA1:	JSR9
	JSAN
	JRST	QQFA1

	JST2
	PAL2
	MOVE	Z,C
	ANDI	Z,7
	LDB	T2,QDATE3
	LSH	T2,^D12
	LDB	T1,QQFAU1(Z)

	CAIN	Z,4
	JRST	QQFA2
	CAIN	Z,5
	ADD	T1,T2

QQFA11:	JSXR
	JRST	QQFA1

QQFA2:	CAIGE	T1,BKTIME
	JRST	QQFA11
	SUBI	T1,BKTIME
	IMULI	T1,^D3
	JRST	QQFA11


QQFAU1:	POINT	6,E1,^D23
QDATE1:	POINT	15,E1,^D35
QPROT2:	POINT	9,E2,^D8;PROTECTION
	POINT	4,E2,^D12
qtiME2:	POINT	11,E2,^D23
QDATE2:	POINT	12,E2,^D35
	POINT	18,E3,^D17
	POINT	18,E3,^D35
QDATE3:	POINT	3,E1,^D20;DATE	75
;;
;
 SUBTTL[219/qfe]
Qqfe:	hllz	t1,DFILEX
	camn	t1,[sixbit /(NULL)/]
	jrq
	jrsix
	;
;;
;
 SUBTTL[197/qld]
Qqld:	PUSHJ	P,Qqlcom
Qcl1:	ADD	Z,T3
	JRV
;
Qcld:	PUSHJ	P,Qqlcom
	MOVE	Z,T2
	JRST	Qcl1
;
Qqlcom:	JSER
	JSCF
	SETZB T2,T3

Qql1:	JSL2
	JPOPJ
	AOS T2
	JSD3
	JRST Qql1
;;
;
 SUBTTL[192/qll]
Qqll:	MOVE Z,CLINEL
	JJEPNF
	SUB Z,CLINE
	JRVI

SUBTTL[239/qn]
Qqn:	JSER
	MOVE T1,.JBVER
	JJEPNF
	JRXR
	HRLI T1,VERLOW
	HRRI T1,VERSION
	JRXR
;;
;
 SUBTTL[134/qnb]
Qqnb:	HLRO Z,RIXBIX
	JRV

SUBTTL[202/qof]
Qqof:	HLRZ Z,qqofQ
	JUMPE Z,FR
	JSW
	HRLM Z,qqofQ
	HRRZ Z,qqofQ
	JUMPE Z,FR
	JSW
	SETZM qqofQ
	JRQ

SUBTTL[167/qp]
Qqp:	JSCF
qqp1:	JSR2
	JRAC
	JXSKIP
	JRST qqp1
	TRZ Z,CMASK
	JRVI
;;
;
 SUBTTL[$/qb]
Qqqb:	MOVEI	T7,FNL
	JSPK
	JRAY

	JSDTST
	JRAZ
	JRAD
;;
;
 SUBTTL[198/qrd]
Qqrd:	PUSHJ	P,Qqrcom
Qcr1:	ADD	Z,T3
	JRV
;
Qcrd:	PUSHJ	P,Qqrcom
	MOVE	Z,T2
	JRST	Qcr1
;
Qqrcom:	JSER
	JSCF
	SETZB T2,T3
Qqr1:	JSR2
	JPOPJ
	AOS T2
	JSD3
	JRST Qqr1

;
;
;;
;
 SUBTTL[204/qro]
Qqro:	MOVE	Z,RUBOUT
	JSW
	HLRZ	Z,RUBOUC
	JSW
	HRRZ	Z,RUBOUC
	JSW
	JRQ

SUBTTL[qrt]
Qqrt:	JSER
	MOVE T1,RUNTIM
	CALLI Z,27
	MOVEM Z,RUNTIM
	SUB Z,T1
	JRVI

SUBTTL[237/qt]
Qqt:	JSER
	JST2
	EXP	LNST
	JRQ

;;
;
 SUBTTL[205/qta]
Qqta:	MOVE PAL21,FTOP
qqta1:	JSFS
	JRVI
	ADDI Z,3
	HRRZ T1,@PFN
	ADD Z,T1
	HRRZ T1,@PFF
	ADD Z,T1
	JRST qqta1

SUBTTL[251/qwc]
Qqwc:	jser
	movei	t7,CWCTAB
Qqwc1:	move	z,@t7
	jsw
	cain	t7,CWCEND
	jrq
	aos	t7
	jrst	qqwc1
;
;
SUBTTL[201/qxb]
Qqxb:	HRRO Z,RIXBIX
	JRV

SUBTTL[215/ra]
Qra:	JSGE
	MOVEM	PAL,PALPAL
	jrst	qra10

qra1:	JSAS
qra10:	JSAE
	JRST	qra2
	SOJG	T4,qra1
	JRAD

qra2:	JMRPAL
	JRAC

;;
;
 SUBTTL[263/rcp]
Qrcp:	JSGE
	MOVNM	T4,TEM4
	JSGE
	MOVNM	T4,TEM5
	JSER
	MOVNI	T3,5*7

	MOVEI	T6,12

qrcpI0:	MOVE	T5,TEM5
	SOJE	T6,JRQ
qrcpI8:	PUSHJ	P,qrcpI1
	AOJN	T5,qrcpI8
	ADDI	T3,5
	JRST	qrcpI0


qrcpI1:	MOVE	PAL,PALPAL
qrcpI2:	JSR1
	JRST	QPMNUL

	MOVEI	PAN2,100
	MOVEM	Z,C
	CAIGE	Z,40
	ADDM	PAN2,C


	MOVNI	T4,5
	MOVE	T7,CHPMPI(Z)
	TRNE	T7,1
	JRST	qrcpI5
	LSH	T7,43(T3)

qrcpI3:	MOVEI	PAN2,40
	AOJG	T4,qrcp31
	JUMPGE	T7,.+2
	MOVE	PAN2,C
	PUSHJ	P,qrcpI4
	LSH	T7,1
	JRST	qrcpI3

qrcp31:	PUSHJ	P,qrcpI4
	PUSHJ	P,qrcpI4
	JRST	qrcpI2


qrcpI4:	MOVE	BASE,TEM4
	CAIGE	PAN2,40
	ADDI	PAN2,100

qrcpI9:	MOVE	Z,PAN2
	JSW
	AOJL	BASE,qrcpI9
	JPOPJ

qrcpI5:	LSH	T7,-12+43(T3)
	CAIL	T6,10
	SETZI	T7,
	JRST	qrcpI3

QPMNU1:	SOS 	PFL
QPMNUL:	MOVE	Z,@PFL
	CAIN	Z,40
	JRST	QPMNU1
	MOVEI	Z,12
	JSW
	JPOPJ

;;
;
 SUBTTL[$/ref]
Qref:	JSBDL
	MOVE	T1,kdevrb
	MOVE	Z,KSTATR
	JSOPEN
	LOOKUP	CHAND,E
	JRST	qref1
IFN LEVELC,<	MOVE	PAN2,E2>
IFN LEVELD,<	TLZ	E2,777000
	HLLZ	PAN2,PNTPUN
	IOR	PAN2,E2

>
	JSBDL
	MOVE	E2,PAN2

	RENAME	CHAND,E
	JRST	qref1
	JFBCL
	JRQ

qref1:	JFBCL
	JRAB
;;
;
 SUBTTL[243/rf]
Qrf:	JSNQ
	JSER
	JSBDN

	MOVE T1,kdevrf
	MOVE Z,KSTATR
	JSOPEN

	JSFBL
	JXSKIP  ;  OK, NOT A SAM76 FILE
	JRNAVL

	JSBUF
	JRQ

qrf1:	JSBUG
	JRQ
	JSSEV
	JRST qrf1
;;
;
 SUBTTL[166/ri]
Qri:	JSS
	XLRXBX-1
	RIXBIX-1
	-7
	MOVEI Z,"="
	MOVEM Z,MCH
	MOVEI Z,SUS
	MOVEM Z,.JBREN

	JRX


SUBTTL[252/rn]
Qrn:	MOVE Z,[XWD 16,13];RANDOM?
	CALLI Z,41
	ADDM Z,RM
	CALLI Z,23
	ADDM Z,RM
	MOVN Z,RM
	ANDI Z,777777
	MOVNM Z,PAN2
	MOVE Z,Kqrn+1
	PUSHJ P,qrn1
	JSGE
	MOVN Z,T4
	PUSHJ P,qrn1
	MOVE Z,PAN2
	JRV

qrn1:	MOVNM Z,TEM6
	MOVE Z,PAN2
	SKIPL Z
	JCIA
qrn2:	MOVEM Z,PAN2
	ADD Z,TEM6
	JUMPL Z,qrn2
	JPOPJ
;;
;
 SUBTTL[189/rot]
Qrot:	PUSHJ P,qrotB

	MOVN T5,PAN2
	IMULI T5,3
	SETM T1,T5
	CAMGE T4,T5
	JRST qrot3
	IDIV T4,T5
	SETM T4,T5
qrot3:	JTMP1N
	JRST qrot31
	SUBM T1,T4
qrot31:	JUMPE T4,JRAG
	SETMI T7,4
qrot4:	SETM PAL21,[IORM T7,1(PAL2)]
qrot41:	SETZ T1,
qrot5:	SETM PAL,PAL2
qrot6:	AOS PAL
	HRRZ Z,(PAL)
	ANDI Z,7
	TRZE  T1,1
	IORI Z,10
	TRNE Z,1
	IORI T1,1
	LSH Z,-1
	IORI Z,60
	SETAM Z,(PAL)
	CAME PAL,T2
	JRST qrot6
	TRZE T1,1
	XCT PAL21
	SOJN T4,qrot5
	JRAG
;;
;
 Qsh:	MOVSI PAL21,(JFCL)
	PUSHJ P,qrotB
	JTMP1N
	JRST qrot41


qshi4:	SETM PAL,PAL2
qshi41:	AOS PAL
	SETM Z,(PAL)
	LSH Z,1
	ANDI Z,7
	IORI Z,60
	SETAM Z,(PAL)
	CAMN PAL,T2
	JRST qshi5
	SETM T5,1(PAL)
	LSH T5,-2
	ANDI T5,1
	ADD Z,T5
	SETAM Z,(PAL)
	JRST qshi41

qshi5:	SOJN T4,qshi4
	JRAG
;;
;
 qrotB:	JSGT
	JJESGN
	JTMP1A
	JTMP1O
	JSBT
	JSD2
	SETM PAL2,T2
	SETM Z,(PAL2)
	JSAN
	JRQ

qrotB1:	JSDN
	JSDL
	SETM Z,(PAL2)
	JSAN
	JXSKIP
	JRST qrotB1

	JUMPE T4,JRAG
	JPOPJ
;;
;
 SUBTTL[165/rr]
Qrr:	MOVE Z,OR2
	ADDI Z,4
	MOVEM Z,PFL
	MOVEM Z,PEL
	JSAT
	MOVE PAL,PAE
	SUBI PAL,1

qrr1:	MOVE Z,K600K
	MOVEM Z,@PAL
	JRQ
;;
;
 SUBTTL[163/rs]
Qrs:	JSER
	JSNQ
	JSAS

qrs1:	SOS	PAL
	MOVE	Z,@PAL
	JUMPL	Z,JRQ
	JSW
	JRST	qrs1

;;
;
 SUBTTL[$/rt]
Qrdl:	JSGT
	JUMPE Z,JRAD
	MOVEM Z,T2

	MOVE T3,PFL
	JXSKIP
qrt1:	JSD3
	CAMN T3,OR2
	JRST qrr
	MOVE Z,@T3
	AND Z,K700K
	CAMN Z,K700K
	JRST qrt2
	CAME Z,K400K
	JRST qrt1

qrt2:	AOJN T2,qrt1
	JSD3
	MOVEM T3,PFL
	MOVEM T3,PEL
	JSAT

qrt3:	JSAE
	JRST qrt4
	AOS PAL
	JRST qrt3

qrt4:	JSD2
qrt5:	AOS PAL
	MOVE Z,@PAL
	CAMN Z,CPRP
	JRST qrt6
	CAMN Z,CWCSP
	JRST qrt4
	JRST qrt5

qrt6:	AOJN T2,qrt5
	SOJN T4,qrt4
	JRST qrr1
;;
;
 SUBTTL[158/sar]
Qsar:	JJNPNF
	JRETUA;[   ]#(MO,MD,CR) EMITTED ON LF
	JRETUO;[   ]##(MO,MD,CR) NO CR EMITTED
	JRQ

SUBTTL[705/sd]
Qsd:	JSPKA
	JSD
	EXP	qsdL-1


qsdt:	JBUPRZ
	JSDT
	JRQ

SUBTTL[/sdDI]
qsdDI:	JTMP3A
qsdDO:	JTMP3O
	JSPKB

qsdDIO:	MOVE PAL2,CHANAS(PAN2)
	JUMPE PAL2,JRQ

	ADDI PAN2,CHANAS
	AOS PAN2
	TLNE PAL2,1
	JRST qsdDO1
	JTMP3E
	JRNAV
	JBURSO
	HRRM PAL2,sybuis
	HRLM PAN2,sybuis
	JRQ

qsdDO1:	JTMP3N
	JRNAV
	JBUPSO
	HRRM PAL2,sybuos
	HRLM PAN2,sybuos
	JRQ

sicfil:	movei	z,6
	jtmp3Z
	jrst	siofil
;
socfil:	movei	z,7
	jtmp3O
siofil:	pushj	p,JSPKB1
	jrst	qsddio
;
;;
;
 SUBTTL[/sdQF]
qsdQF:	MOVEI Z,qsdL-1
	JRST MOLF2


SUBTTL[199/sem]
Qsem:	JJEPNF
	JTCPNF
	SKIPA T3,[XWD 10000,200]
Qsuc:	HRLZI T3,20
	MOVE T2,LNBTS
	JJNPNF
	TDZA T2,T3
	TDO T2,T3
	MOVEM T2,LNBTS
	JSDT
	JRQ

;;
;
 SUBTTL[222/sf]
Quf:	JTMP1O
Qsf:
qsfDI:	JSBDL
 IFN LEVELD,<MOVE	E3,DIWRIT>

	SKIPE	TTOBUF+40
	JRST	qsfTST

qsfDI2:	MOVE	T1,kdevsf
	MOVE	Z,KSTATW
	JSOPEN

	JTMP1N
	LOOKUP	CHAND,E
	JXSKIP
	JRNAEF

qsfDI3:	JSAE
	JRST	qsfDIA

	PUSH	P,E
	PUSH	P,E1
	PUSH	P,E2
	PUSH	P,E3

	PUSHJ	P,qsfB

	POP	P,E3
	POP	P,E2
	POP	P,E1
	POP	P,E
	JRST	qsfDIB

qsfDIA:	MOVE	T1,FTOP
qsfDIB:	MOVE	BASE,FLOW
	PUSH	P,T1
	JSBTIM
 IFN LEVELC,<JSBDE>
 IFN LEVELD,<JSBDF>

	POP	P,FLOW
	JRQ

;;
;
 
qsfB:	SOS	PAL
	MOVE	T1,FLOW

qsfB1:	JSAS
	JSAE
	JPOPJ
	JSF
	JRST	qsfB1

qsfB2:	MOVE	Z,PAL21
	MOVEM	T1,TEM1
	SUB	Z,PFN
	AOS	Z
	SUB	T1,Z
	ADD	Z,FLOW
	CAML	Z,END
	JRST	qsfB3

	MOVE	T2,FLOW
	AOS	T2
	HRL	T2,PFN
	MOVEM	Z,FLOW
	HRLI	Z,(BLT	T2,)
	XCT	Z
	JSDD
	JRST	qsfB1

qsfB3:	JSOPF
	MOVE	T1,TEM1
	JRST	qsfB2

qsfTST:	CAME	E,TTOBUF+40
	JRST	qsfDI2
	CAME	E1,TTOBUF+41
	JRST	qsfDI2
	JRNAV

;;
;
 
SUBTTL[157$/sfd]
qsfd:	JSPKA
	JSD
	qsfdL-1

qsfdES:	JSR9
	MOVEM Z,CESCAP
	JRQ

SUBTTL[$/sfdEX]
qsfdEX:	MOVE	Z,XTYCON
	JJNPNF
	TLO	Z,000640;TTCALL Z,15
	MOVEM	Z,TTYCON
	JRQ

qsfdFF:	JRNAV

qsfdHL:	JRNAV

qsfdHT:	JRNAV

qsfdQF:	MOVEI Z,qsfdL-1
	JRST MOLF2

SUBTTL[QsfdIN]
QsfdIN:	jjepnf
	JZAINT;&mo,in/	;on
	JJOINT;%mo,in/	;off
	JRQ

;;
;
 SUBTTL[/sfdTV]
qsfdTV:

IFE MON506,<
	JRNAV>

IFN MON506,<
	JJNPNF
	AOS	Z;%mo,md,tv,lines,width/
	CALLI	T1,30
	JSTNO
	MOVEI	T2,2021;.TOPAG

	JSTOP

	JSGT
	JCIA
	JUMPE	Z,qsfdT1
	MOVEI	T2,2023;.TOPSZ
	JSTOP

qsfdT1:	JSNQ
	JSGT
	JCIA
	CAIGE	Z,20
	JRQ
	MOVEI	T2,2012;.TOWID
	JSTOP

	JRQ

JSTOP:	MOVEM	Z,INDEX+2
	MOVEM	T2,INDEX
	MOVE	T1,[XWD 3,INDEX]
	CALLI	T1,116
	JRST	ERR116
	JPOPZ


>

qsfdVT:	JRNAV
;;
;
 SUBTTL[221/sfe]
Qsfe:	SETZB E1,DFILEX
	IFN BLOCKS,<SETZM DFIL0>
	JSNQ
	MOVEI E,1
	PUSHJ P,JSBDN2
	MOVEM E1,DFILEX
	JRQ

;;
;
 SUBTTL[245/sic]
Qsic:	JSGSIX
	JSTAB
	TABSIC-1
	SICTAB-1
	JRST	qsdt
	JRST	@T1

siccom:	JRNAV

siccon:	JBURSZ
	JRQ

SUBTTL[246/soc]
Qsoc:	JSGSIX
	JSTAB
	TABSOC-1
	SOCTAB-1
	JRST	qsdt
	JRST	@T1

soccom:	JRNAV

soccon:	JBUPSZ
	JRQ

socdot:	HRLM	Z,LNMOXR
	JSR9
	HRLM	Z,LNMOXR
	JRQ
;;
;
 SUBTTL[127/tb]
Qtb:	JSF
	JSAS
	JRAZ
;;
;
 SUBTTL[257/ti]
Qti:	JSER

	JSAS
	JSAE
	JRST qti3
	JSXX
	ANDI Z,3777
	MOVE T4,Z
	JRST qti4
qti3:	CALLI T4,23
	IDIVI T4,^D1000*^D60
qti4:	IDIVI T4,^D60
	MOVNM T4,TEM3
	JSGV
	JSW
	JMRPAL
	JSAT
	SUBI T5,12
	JUMPGE T5,qti1
	MOVEI Z,60
	JSW
qti1:	ADDI T5,12
	MOVNM T5,Z
	JRV
;;
;
 SUBTTL[125/tm]
Qtm:	jjepnf
	jrst	QTF
	JSGT
	JOATCE

QTF:	JJZTCE
	MOVEM Z,TCECNT
	JRQ

;;
;
 QTCE:	JJETTN
	JRST TE1A
	MOVE T5,T3
	MOVE T6,PEL
	JRST TE1B

TE1A:	MOVE T5,PAE
	MOVE T6,OR2
TE1B:	JSPR

TE1D:	CAMN T6,T5
	JRST TE1E
	AOS T6
	MOVE Z,@T6
	JUMPL Z,TE2A
TE1D1:	TRZ	Z,1000
	JSTL
	JRST TE1D

TE1E:	SKIPE TCECNT
	JRST QTCE4
	JBURSE
	JRST QTCE3
	JSTI
	CAIN Z,12
	JRST FNP1
	JJZTCE
	CAIE Z,7
	JRST Qri
	JRST FNP1

TE2A:	ROT Z,3
	ANDI Z,3
	JUMPE Z,TE274
	SOJE Z,TE336
	SOJE Z,TE276
	MOVNI Z,2
TE336:	ADDI Z,40
TE276:	ADDI Z,2
TE274:	ADDI Z,74
	JRST TE1D1

QTCE3:	SKIPN TCECNT
	JRST QTCE5
QTCE4:	AOSN TCECNT
	JRST QTCE5
	JSPR
	JRST FNP1
QTCE5:	JJZTCE
	SETZM TCECNT
	JRX
;;
;
 SUBTTL[124/tma]
Qtma:	JJNPNF
	MOVEI Z,1
	JJOTTN
	JRKWIT

SUBTTL[168/tr]
Qtr:	JSCF
	HRR	Z,@PFF
	MOVEM	Z,TEM2

qtr1:	JSR1
	JRST	qpt4
	MOVEM	Z,T6
	MOVE	PAL2,PAL21

qtr12:	JSR2
	JRST	qtr1
	JFCL
	CAME	Z,T6
	JRST	qtr12

qtr13:	MOVE	T1,PAL2
	JSR2
	JRST	qtr1
	JFCL
	CAME	Z,T6
	JRST	qtr12
	MOVEI	Z,CMASK
	JSW2C
	SOS	@PFF
	JRST	qtr13

;;
;
 SUBTTL[169/ut]
Qut:	jjepnf
	jrst	qutn

qutT:	JSAE
	JRST qutT1
	JSR1
	JRST qutT2
	HRLM Z,KKYN
	JSR1
qutT3:	MOVEI Z,51
	HRRM Z,KKYN

qutT1:	MOVEI Z,1
	SKIPA T2,[STJRCE]

qutN:	MOVEI T2,STJRQ
	MOVEM T2,.JBREN
	JJOSCE
	JRKWIT

qutT2:	MOVEI Z,51
	HRLM Z,KKYN
	JRST qutT3
;;
;
 SUBTTL[118/vt]
qvt1:	JSAS
Qvt:	JSNQ
	JSF
	JRST	qvt1
	JSPR
	HRRE	T3,@PFI

qvt2:	JSR2
	JRST	qvt1
	JRST	qvt3
qvt21:	JSTL
	SOJN	T3,qvt2
	MOVEI	Z,133
	JSTL
	MOVEI	Z,136
	JRST	qvt4

qvt3:	MOVE	T5,Z
	MOVEI	Z,133
	JSTL
	TRZ	T5,CMASK
	CAIG	T5,qpcLIM
	JRST	qvt31

	MOVEI	Z,43
	JSTL
	SUBI	T5,qpcLIM

qvt31:	MOVNM	T5,TEM3
	JSGV
qvt4:	JSTL
	MOVEI	Z,135
	JRST	qvt21

;;
;
 SUBTTL[244/wf]
Qwf:	JSNQ
	JSBDN
	IFN	LEVELD,<MOVE	E3,DIWRIT>

	MOVE	T1,kdevwf
	MOVE	Z,KSTATW
	JSOPEN
	JJEPNF
	JRST	qwfB

	LOOKUP	CHAND,E
	JXSKIP
	JRNAEF

qwfB:	MOVE	T1,PFL
	MOVE	BASE,T1
	HRLZI	T2,10700
	HRR	T2,T1

qwfB1:	PUSHJ	P,qwfNXT

qwfB2:	JSR1
	JRST	qwfB3
	CAMN	Z,CSEQNO
	JRST	qwfB4
	CAIN	Z,CCNULIN
	JRST	qwfB7
qwfB21:	IDPB	Z,T2
	SOJN	T3,qwfB2
	JRST	qwfB1

qwfB3:	HRR	BASE,T2
	IFN	LEVELC,<SETZI	E2,
	JSBDE>

	IFN	LEVELD,<HLLZ	E2,PNTPUN
	JSBDF>
	JRQ

qwfB4:	JCLA
	CAIN	T3,5
	JRST	qwfB6
qwfB5:	IDPB	Z,T2
	SOJN	T3,qwfB5
	PUSHJ	P,qwfNXT
qwfB6:	TRO	Z,1
	MOVEM	Z,@BASE
	JRST	qwfB2

qwfB7:	MOVEI	Z,CCRETUR
	IDPB	Z,T2
	SOSN	T3
	PUSHJ	P,qwfNXT
qwfB71:	MOVEI	Z,CCNULIN
	JRST	qwfB21

qwfNXT:	MOVEI	T3,5
	AOS	BASE
	SETZM	@BASE
	JPOPJ

;;
;
 SUBTTL[170/xc]
Qxc:	JSNQ
	JSXX
	ANDI Z,377
	JSW
	JRST Qxc
;;
;
 SUBTTL[172/xd]
Qxd:	JSXX
	JJESGN
	JSWSGN
	JRVI
;;
;
 SUBTTL[123/xj]
Qxj:	JSXX
	JRST @Z

SUBTTL[156/xal]
Qxal:	JTMP1O
Qxrl:	JSER
	JSGSIX
	JSTAB
	LABTAB-1
	qxqTAB-1
	JRNAV
	JTMP1E
	JRXR
	MOVEM T1,T7
	JRST qxr2

Qxll:	jser
	movei	t5,LABTAB
	jrtabn
;

SUBTTL[119/xr]
Qxr:	JSER
	JSXX
	CAIG Z,10
	JRST qxr1
	MOVEM Z,T7
qxr2:	JSAE
	JRST qxr3
	JSXX
	JJESGN
	JCIA
qxr21:	ADD T7,Z
qxr3:	MOVE T1,@T7
	JRXR

qxr1:	CAIE Z,5
	JRQ
	HLLZ T1,DFILEX
	LSH T1,6
	JRSIX

;;
;
 SUBTTL[120/xw]
Qxw:	JSXX
	CAIG Z,10
	JRST qxw1
	MOVEM Z,ARG3
	JSXX
	MOVEM Z,@ARG3
	JRQ

qxw1:	CAIE Z,5
	JRQ
	JSXX
	ANDI Z,77
	LSHC Z,-3
	ADDI Z,300
	LSH Z,3
	LSHC Z,3
	ADDI Z,2020
	HRLZM Z,DFILEX
	JRQ
;;
;
 SUBTTL[126/yt]
Qyt:	JSF
	JRST qyt1
	JSCFA;JSCF
	JUMPE PAN,JRAZ
	JSSBA;JSSB
	JRAY
	JRAZ

qyt1:	JSAS
	JRAY
;;
;
 SUBTTL[182/zd-ZI-ZS-ZQ]
Qzq:	JTMP1O
QZI:	SOS T4
Qzs:	SOS T4
Qzd:	JSAE
	JRST qzd1
	JSAS
	MOVE PAL2,PAL
	SOS PAL2
	MOVE PAN2,@PAL2
	JUMPL PAN2,qzd1
	CAIGE PAN2,60
	JRQ
	CAIL PAN2,72
	JRQ
	ANDI PAN2,7
	JUMPE T4,QZS1

qzd2:	JTMP1E
	JRST QZQ1
	ADDM T4,ZCNTRS(PAN2)
	SKIPN ZCNTRS(PAN2)
	JRAZ
	SKIPG ZCNTRS(PAN2)
	JRAY
	JRAD

qzd1:	SETZI PAN2,
	JUMPN T4,qzd2

QZS1:	JSGT
	JJESGN
	JCIA
	MOVEM Z,ZCNTRS(PAN2)
	JRQ

QZQ1:	JSER
	MOVE Z,ZCNTRS(PAN2)
	JUMPG Z,JRVSGN
	JRV

;;
;
 SUBTTL[FNL]
FNL:

BYTE (9)0,DI159-DITBL,0,DI128-DITBL
BYTE (9)0,0,0,0
BYTE (9)DI160-DITBL,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,DI161-DITBL,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,DI220-DITBL
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)DI113-DITBL,0,0,0
BYTE (9)0,0,0,0
BYTE (9)DI700-DITBL,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,DI132-DITBL
BYTE (9)0,0,0,DI171-DITBL
BYTE (9)0,0,DI259-DITBL,0
BYTE (9)0,0,0,0
BYTE (9)0,0,DI131-DITBL,0
BYTE (9)0,0,0,0
BYTE (9)0,0,DI208-DITBL,DI808-DITBL
BYTE (9)DI164-DITBL,DI103-DITBL,0,0
BYTE (9)0,DI173-DITBL,0,0
BYTE (9)DI206-DITBL,0,0,DI207-DITBL
BYTE (9)0,DI224-DITBL,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,DI151-DITBL
BYTE (9)0,DI809-DITBL,0,DI104-DITBL
BYTE (9)0,0,0,DI112-DITBL
BYTE (9)0,0,DI702-DITBL,DI226-DITBL
BYTE (9)DI137-DITBL,0,DI141-DITBL,DI142-DITBL
BYTE (9)0,0,0,0
BYTE (9)0,DI143-DITBL,0,0
BYTE (9)0,DI145-DITBL,0,DI144-DITBL
BYTE (9)0,DI106-DITBL,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,DI805-DITBL,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)DI212-DITBL,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,DI150-DITBL,0
BYTE (9)0,DI149-DITBL,0,0
BYTE (9)0,DI114-DITBL,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,DI115-DITBL,DI116-DITBL
BYTE (9)0,0,DI136-DITBL,0
BYTE (9)DI135-DITBL,0,0,0
BYTE (9)DI117-DITBL,0,0,0
BYTE (9)0,DI806-DITBL,DI102-DITBL,DI152-DITBL
BYTE (9)0,0,DI213-DITBL,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,DI216-DITBL
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,DI807-DITBL
BYTE (9)0,DI105-DITBL,0,0
BYTE (9)DI214-DITBL,0,0,0
BYTE (9)0,0,DI110-DITBL,DI146-DITBL
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,DI109-DITBL
BYTE (9)DI130-DITBL,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,DI111-DITBL,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,DI209-DITBL,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,DI814-DITBL
BYTE (9)0,DI186-DITBL,DI101-DITBL,DI154-DITBL
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)DI108-DITBL,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,DI174-DITBL,0,0
BYTE (9)0,0,0,0
BYTE (9)DI162-DITBL,DI107-DITBL,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,DI238-DITBL,0,0
BYTE (9)0,0,0,0
BYTE (9)0,DI239-DITBL,0,DI167-DITBL
BYTE (9)0,0,0,DI237-DITBL
BYTE (9)0,0,0,0
BYTE (9)0,0,DI215-DITBL,0
BYTE (9)0,0,0,DI243-DITBL
BYTE (9)0,0,DI166-DITBL,DI247-DITBL
BYTE (9)0,0,0,DI252-DITBL
BYTE (9)0,DI248-DITBL,0,DI165-DITBL
BYTE (9)DI163-DITBL,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,DI705-DITBL
BYTE (9)0,DI222-DITBL,0,DI190-DITBL
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)DI129-DITBL,0,DI231-DITBL,0
BYTE (9)DI232-DITBL,0,0,DI127-DITBL
BYTE (9)0,0,0,0
BYTE (9)0,0,DI257-DITBL,0
BYTE (9)0,0,DI125-DITBL,0
BYTE (9)0,0,0,DI168-DITBL
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,DI218-DITBL,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,DI169-DITBL
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,DI118-DITBL,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,DI181-DITBL,0
BYTE (9)0,DI244-DITBL,0,0
BYTE (9)DI175-DITBL,0,0,DI179-DITBL
BYTE (9)0,0,0,0
BYTE (9)0,DI178-DITBL,DI180-DITBL,0
BYTE (9)0,0,0,DI176-DITBL
BYTE (9)DI177-DITBL,0,0,0
BYTE (9)DI170-DITBL,DI172-DITBL,0,0
BYTE (9)0,0,DI255-DITBL,DI123-DITBL
BYTE (9)0,0,0,0
BYTE (9)DI256-DITBL,0,DI800-DITBL,DI119-DITBL
BYTE (9)0,0,0,0
BYTE (9)DI120-DITBL,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,DI126-DITBL
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,DI182-DITBL,0,0
BYTE (9)0,0,DI183-DITBL,0
BYTE (9)0,0,0,0
BYTE (9)0,0,DI184-DITBL,0
BYTE (9)DI185-DITBL,0,0,0
BYTE (9)0,0,0,0
BYTE (9)0,0,0,0;;
;
 SUBTTL[DITBL]
DITBL:
DI000: XWD 0,QFTI

DI101: XWD QOS,145;	Output String
DI102: XWD QIS,146;	Input String
DI103: XWD QDT,147;	Define Text (superseding)
DI104: XWD QET,150;	Erase Text
DI105: XWD QLT,151;	List Texts
DI106: XWD QFT,152;	Fetch Text
DI107: XWD QPT,153;	Partition Text all matches
DI108: XWD QPC,154;	Partition Character
DI109: XWD QMT,155;	Multi-part Text all matches
DI110: XWD QMC,156;	Multi-partition Character
DI111: XWD QNI,157;	Neutral Implied
DI112: XWD QEX,160;	Exit
DI113: XWD QCA,161;	Change Activator (current)
DI114: XWD QHT,162;	Hide Text
DI115: XWD QIC,163;	Input Character
DI116: XWD QID,164;	Input "D" characters
DI117: XWD QIM,165;	Input to Match
DI118: XWD QVT,166;	View Texts
DI119: XWD QXR,167;	eXamine Register
DI120: XWD QXW,170;	eXperimental Write in reg.
DI123: XWD QXJ,173;	eXperimental Jump
DI125: XWD QTM,175;	Trace Mode activated
DI126: XWD QYT,176;	Ys There
DI127: XWD QTB,177;	Text Branch
DI128: XWD QAD,200;	Add
DI129: XWD QSU,201;	Subtract
DI130: XWD QMU,202;	Multiply
DI131: XWD QDI,203;	Divide
DI132: XWD QCT,204;	Combine Texts (superseding)
DI135: XWD QII,207;	If Identical
DI136: XWD QIG,210;	If Greater
DI137: XWD QFC,211;	Fetch Character
DI141: XWD QFE,215;	Fetch Element
DI142: XWD QFF,216;	Fetch Field
DI143: XWD QFL,217;	Fetch Left match
DI144: XWD QFR,220;	Fetch Right match
DI145: XWD QFP,221;	Fetch Partition
DI146: XWD QMD,222;	Move Divider to pos. "d"
DI149: XWD QHP,225;	How many Partitions
DI150: XWD QHM,226;	How many Matches
DI151: XWD QEP,227;	Erase Partitions
DI152: XWD QIT,230;	Input Text
DI154: XWD QOT,232;	Output Texts
DI159: XWD QAB,237;	Alphabetic Branch
DI160: XWD QAI,240;	Alphabetic Insertion
DI161: XWD QAS,241;	Alphabetic Sort
DI162: XWD QPS,242;	Pad String
DI163: XWD QRS,243;	Reverse String
DI164: XWD QDS,244;	Duplicate String
DI165: XWD QRR,245;	Return to Restart
DI166: XWD QRI,246;	Restart Initialized
DI167: XWD QQP,247;	Query Partition
DI168: XWD QTR,250;	Trim
DI169: XWD QUT,251;	User Trap active
DI170: XWD QXC,252;	"X" to Character
DI171: XWD QCX,253;	Character to "X"
DI172: XWD QXD,254;	"X" to Decimal
DI173: XWD QDX,255;	Decimal to "X"
DI174: XWD QPL,256;	Plot
DI175: XWD QWI,257;	Write Initialize
DI176: XWD QWX,260;	Write "X" displacement
DI177: XWD QWY,261;	Write "Y" displacement
DI178: XWD QWR,262;	Width Right
DI179: XWD QWL,263;	Width Left
DI180: XWD QWS,264;	Write Straight Lines
DI181: XWD QWC,265;	Write Characters
DI182: XWD QZD,266;	"Z" reg. Decrement and branch
DI183: XWD QZI,267;	"Z" reg. Increment and branch
DI184: XWD QZQ,270;	"Z" reg. Query
DI185: XWD QZS,271;	"Z" reg. Set
DI186: XWD QOR,272;	Or the bits
DI190: XWD QSH,276;	Shift the bits
DI206: XWD QEA,316;	Erase All excepting
DI207: XWD QED,317;	Extract "D" characters
DI208: XWD QDQ,320;	Define Quote
DI209: XWD QNU,321;	Null
DI212: XWD QHC,324;	How many Characters
DI213: XWD QIW,325;	Input Wait
DI214: XWD QLW,326;	List Where
DI215: XWD QRA,327;	Return Argument
DI216: XWD QLF,330;	List Files
DI218: XWD QUF,332;	Update File
DI220: XWD QBF,334;	Bring File
DI222: XWD QSF,336;	Store File
DI224: XWD QEF,340;	Erase Files
DI226: XWD QFB,342;	File Branch
DI231: XWD QSW,347;	Switches
DI232: XWD QSY,350;	System functions
DI237: XWD QQT,355;	whQ is processor Title
DI238: XWD QQF,356;	whQ are Functions
DI239: XWD QQN,357;	whQ is processor ser. Number
DI243: XWD QRF,363;	Read File
DI244: XWD QWF,364;	Write File
DI247: XWD QRJ,367;	Return Justified lines
DI248: XWD QRP,370;	Return Padded lines
DI252: XWD QRN,374;	Random Number
DI255: XWD QXI,377;	eXperimental Input
DI256: XWD QXO,400;	eXperimental Output
DI257: XWD QTI,401;	Time
DI259: XWD QDA,403;	Date
DI700: XWD QCI,1274;	System CI UUO
DI702: XWD QFA,1276;	Fetch Alter
DI705: XWD QSD,1301;	Select Device
DI800: XWD QXQ,1440;	eXperimental label Query
DI805: XWD QGR,1445;	Get Relationship
DI806: XWD QIR,1446;	Intersect Relationships
DI807: XWD QLR,1447;	List Relationship
DI808: XWD QDR,1450;	Define Relationship
DI809: XWD QER,1451;	Express Relationship
DI813: XWD QOP,1455;	Output Paddded lines
DI814: XWD QOP,1456;	Output Paddded lines;;
;
 SUBTTL[NAVFNL]

IFE FLOATP,<
QFP:	JRNAV
 >

SUBTTL[TABFPR]
IFN FLOATP,<
TABFPR:
EXP SIXBIT /CWC   /;	[   ] Change Warning Char.
EXP SIXBIT /SIND  /;	[   ] DEGREES - REAL
EXP SIXBIT /COSD  /;	[   ] DEGREES - REAL
EXP SIXBIT /SIN   /;	[   ] RADIANS - REAL
EXP SIXBIT /COS   /;	[   ] RADIANS - REAL
EXP SIXBIT /SQRT  /;	[   ] REAL
EXP SIXBIT /ALOG10/;	[   ] LOG BASE 10 - REAL
EXP SIXBIT /ALOG  /;	[   ] NATURAL LOG - REAL
EXP SIXBIT /FPMACH/;	[   ] REAL TO OCTAL
EXP SIXBIT /MACHFP/;	[   ] OCTAL TO REAL
EXP SIXBIT /QF    /;	[   ] LIST FUNCTIONS
EXP SIXBIT /SINH  /;	[   ] RADIANS - REAL
EXP SIXBIT /COSH  /;	[   ] RADIANS - REAL
EXP SIXBIT /TANH  /;	[   ] RADIANS - REAL
EXP SIXBIT /EXP   /;	[   ] E TO THE X - REAL
EXP SIXBIT /ARSIN /;	[   ] REAL - RADIANS
EXP SIXBIT /ARCOS /;	[   ] REAL - RADIANS
EXP SIXBIT /ARTAN /;	[   ] REAL - RADIANS
EXP SIXBIT /DR    /;	[   ] REAL - DEGREES TO RADIANS
EXP SIXBIT /RD    /;	[   ] REAL - RADIANS TO DEGREES
EXP SIXBIT /FORMAT/;	[   ] 
EXP SIXBIT /ARSIND/;	[   ] REAL - DEGREES
EXP SIXBIT /ARCOSD/;	[   ] REAL - DEGREES
EXP SIXBIT /ARTAND/;	[   ] REAL - DEGREES
EXP SIXBIT /TAN   /;	[   ] RADIANS - REAL
EXP SIXBIT /TAND  /;	[   ] DEGREES - REAL
EXP SIXBIT /PI    /;	[   ] PI - REAL
EXP SIXBIT /AD    /;	[   ] ADD - REAL
EXP SIXBIT /SU    /;	[   ] SUBTRACT - REAL
EXP SIXBIT /ML    /;	[   ] MULTIPLY - REAL
EXP SIXBIT /DV    /;	[   ] DIVIDE - REAL
EXP SIXBIT /GR    /;	[   ] GREATER THAN - REAL
EXP SIXBIT /LT    /;	[   ] EQUAL OR LESS THAN - REAL
EXP SIXBIT /IABS  /;	[   ] INTEGER ABSOLUTE
EXP SIXBIT /ABS   /;	[   ] REAL ABSOLUTE
EXP SIXBIT /AINT  /;	[   ] TRUNCATE FRACTION - REAL
EXP SIXBIT /IFIX  /;	[   ] REAL TO INTEGER
EXP SIXBIT /INT   /;	[   ] DITTO
EXP SIXBIT /FLOAT /;	[   ] INTEGER TO REAL
EXP SIXBIT /CABS  /;	[   ] COMPLEX ABSOLUTE - REAL
EXP SIXBIT /REAL  /;	[   ] REAL PORTION OF COMPLEX
EXP SIXBIT /CONJG /;	[   ] COMPLEX CONJUGATE - REAL
EXP SIXBIT /DIM   /;	[   ] DIMENSION - REAL
EXP SIXBIT /IDIM  /;	[   ] DIMENSION - INTEGER
EXP SIXBIT /SIGN  /;	[   ] REAL
EXP SIXBIT /ISIGN /;	[   ] INTEGER
EXP SIXBIT /MOD   /;	[   ] INTEGER
EXP SIXBIT /AMOD  /;	[   ] REAL
EXP SIXBIT /ATAN2 /;	[   ] ARC TAN OF TWO ARGUMENTS - REAL
EXP SIXBIT /AMAX  /;	[   ] MAX ARGUMENT IN EXPRESSION - REAL
EXP SIXBIT /MAX   /;	[   ] MAX ARGUMENT IN EXPRESSION - INTEGER
EXP SIXBIT /AMIN  /;	[   ] MIN ARGUMENT IN EXPRESSION - REAL
EXP SIXBIT /MIN   /;	[   ] MIN ARGUMENT IN EXPRESSION - INTEGER
Z
>

;;
;
 SUBTTL[TABMOD]
TABMOD:
EXP SIXBIT /TTY33 /;	[   ] MODEL 33 TELETYPEWRITER
EXP SIXBIT /TTY35 /;	[   ] MODEL 35
EXP SIXBIT /TTY37E/;	[   ] 8 BIT MODEL 37
EXP SIXBIT /TTY37 /;	[   ] MODEL 37
EXP SIXBIT /INF1  /;	[   ] INFOTON
EXP SIXBIT /QF    /;	[   ] LIST FUNCTIONAL DEVICES
Z

MODTAB:
XWD 0,MOSD1
XWD 0,MOSD1
XWD 0,MOD37E
XWD 0,MOD37
XWD 0,MOSD1
XWD 0,MOSDQF
Z

SUBTTL[LABTAB]
;
LABTAB:
EXP SIXBIT /INDEX /
EXP SIXBIT /LOW   /
EXP SIXBIT /TOP   /
EXP SIXBIT /KWITCH/
EXP SIXBIT /DSK1  /
EXP SIXBIT /END   /
EXP SIXBIT /CHANAS/
EXP SIXBIT /BUFTOP/
EXP SIXBIT /DELETE/
EXP SIXBIT /ERBIT /
EXP SIXBIT /TTSTAT/
EXP SIXBIT /TTBITS/
EXP SIXBIT /TTYPVT/
EXP SIXBIT /TTYCON/
Z

SUBTTL[QCIL] 
QCIL:
XWD qciQF,2106;	[   ] QUERY FUNCTIONS AVAIL. %ci,.../
XWD qciGT,0724;	[   ] GETTAB
XWD FR,0


QCIGTL:
XWD cigtQF,2106;	[   ] QUERY FUNCTIONS AVAIL. GETTAB
XWD FR,0



;;
;
 SUBTTL[QSDL] 
QSDL:
XWD qsdDI,0411;	[737] INPUT FILE SPECIFIED
XWD qsdDO,0417;	[738] OUTPUT DISK FILE SPECIFIED
XWD qsdQF,2106;	[,QF] QUERY FUNCTIONS AVAIL. %sd,.../
XWD qsdT,2400;	[ ,T] S/D TERMINAL
XWD FR,0
;;
;
 SUBTTL[QSYL] 
QSYL:
XWD qsyAD,0104;	[,AD] REASSIGN DEVICE
XWD qsyAF,0106;	[745] ALL FILE FUNCTION DEVICE SELECTION
XWD qsyAO,0117;	[,AO] ASCII TO 5 PER WORD OCTAL
XWD qsyBF,0206;	[747] BF DEVICE SELECTION
XWD qsyDI,0411;	[734] SELECT DISK INPUT FILE
XWD qsyDO,0417;	[735] DEFINE DISK OUTPUT FILE
XWD qsyDR,0422;	[731] READ FROM DIRECTORY
XWD qsyDW,0427;	[732] WRITE IN DIRECTORY
XWD qsyED,0504;	[733] IS FILE AT END OF DATA <T/F>
XWD qsyEF,0506;	[746] EF DEVICE SELECTION
XWD qsyEX,0530;	[,HL] EX DEVICE SELECTION
XWD qsyLD,1404;	[,LD] LIST SYS. DEVICES
XWD qsyLF,1406;	[748] LF DEVICE SELECTION
XWD qsyLS,1423;	[758] LIST SYS. STRUCTURES
XWD qsyLU,1425;	[757] LIST SYS. UNITS
XWD qsyMP,1520;	[752] MODIFY PROT. FOR SB &C.
XWD qsyMT,1524;	[,MT] MAGTAPE STUFF
XWD qsyOA,1701;	[,OA] OCTAL 7 BIT PACK TO ASCII
XWD qsyOS,1723;	[,OS] OCTAL TO SIXBIT CONV.
XWD qsyPA,2001;	[,PA] PUNCH SPOOL ASCII
XWD qsyPB,2002;	[,PB] PUNCH SPOOL BINARY
XWD qsyPC,2003;	[,PC] PUNCH SPOOL COMBINED IMAGE BINARY
XWD qsyPF,2006;	[,PF] PRINT FORTRAN THROUGH SPOOL
XWD qsyPI,2011;	[,PI] PUNCH SPOOL IMAGE
XWD qsyPL,2014;	[,PL] PLOTTER CONTROL
XWD qsyPP,2020;	[,PP] PRINT-PUNCH PROTECTION SETTING
XWD qsyPQ,2021;	[,PQ] PRINT-PUNCH QUANTITY DESIRED
XWD qsyPR,2022;	[717] PRINT FILE VIA .R PRINT
XWD qsyPS,2023;	[740] PRINT U/L CASE VIA S360
XWD qsyQB,2102;	[753] QUERY ERROR BITS
XWD qsyQD,2104;	[,QD] QUERY DEVICE CHARACTERISTICS
XWD qsyQF,2106;	[759] QUERY FUNCTIONS AVAIL. %sy,.../
XWD qsyQP,2120;	[754] QUERY STORAGE PROTECTION SETTING
XWD qsyQR,2122;	[755] QUERY DIRECTORY FROM WHICH READ
XWD qsyQW,2127;	[756] QUERY DIRECTORY IN WHICH WRITE
XWD qsyRB,2202;	[,RB] RB DEVICE SELECTION
XWD qsyRD,2204;	[,RD] RELEASE DEVICE
XWD qsyRF,2206;	[750] RF DEVICE SELECTION
XWD qsySD,2304;	[,SD] SELECT DEVICE FOR OD/ID SYS.
XWD qsySF,2306;	[749] SF DEVICE SELECTION
XWD qsySN,2316;	[736] SET CHARACTER TO MARK S/N
XWD qsySO,2317;	[,SO] SIXBIT TO OCTAL CONV.
XWD qsyTC,2403;	[,TC] TEMPCORE
XWD qsyWF,2706;	[751] WF DEVICE SELECTION
XWD FR,0
;
SYTCL:
XWD sytcCD,0304	;[   ] READ AND CLEAR DIRECTORY {CODE 5}
XWD sytcDF,0406	;[   ] READ AND DELETE FILE {CODE 2}
XWD sytcFS,0623	;[   ] FREE SPACE {CODE 0}
XWD sytcQF,2106	;[   ] QUERY AVAIL. %sy,tc,.../
XWD sytcRD,2204	;[   ] READ DIRECTORY {CODE 4}
XWD sytcRF,2206	;[   ] READ FILE {CODE 1}
XWD sytcWF,2706	;[   ] WRITE FILE {CODE 3}
XWD FR,0
;;
;
 KSTATR:XWD 46,100000;	OK TO READ FILE STATUS
KSTATW:XWD 45,100000;	OK TO WRITE FILE STATUS MODE 17




SUBTTL[SYMTL]
SYMTL:
XWD SYMTAE,0105;	[,AE] ADVANCE TO END OF TAPE
XWD SYMTAF,0106;	[,AF] ADVANCE FILE
XWD SYMTAR,0122;	[,AR] ADVANCE RECORD
XWD SYMTBF,0206;	[,BF] BACKSPACE FILE
XWD SYMTBR,0222;	[,BR] BACKSPACE RECORD
XWD SYMTDC,0403;	[,DC] DIGITAL COMPATIBLE
XWD SYMTDE,0405;	[,DE] DENSITY EIGHT HUNDRED BPI
XWD SYMTDF,0406;	[,DF] DENSITY 556 BPI
XWD SYMTDT,0424;	[,DT] DENSITY TWO HUNDRED BPI
XWD SYMTIC,1103;	[,IC] INDUSTRY COMPATIBLE
XWD SYMTMO,1012;	[,MO] TAPE MODE
XWD SYMTPE,2005;	[,PE] SET FOR EVEN PARITY
XWD SYMTPO,2012;	[,PO] SET FOR ODD PARITY
XWD SYMTQF,2106;	[,QF] QUERY FUNCTIONS
XWD SYMTRL,2214;	[,RL] REWIND TO LOAD POINT
XWD SYMTWB,2702;	[,WB] WRITE 3 IN. BLANK
XWD SYMTWE,2705;	[,WE] WRITE END OF FILE
XWD FR,0
;;
;
 SUBTTL[QSFDL]
QSFDL:
XWD qsfdEX,0530; [ ] ##-7, #-8 bit output
XWD qsfdHT,1024; [ ] HTAB SETUP
XWD qsfdFF,0606; [ ] MODIFY ACTION ON FORM FEED
XWD qsfdQF,2106; [ ] QUERY FUNCTIONS AVAIL. MOD. DEVICES
XWD qsfdVT,2624; [ ] MODIFY ACTION ON VTAB
XWD qsfdHL,1014; [ ] MODIFY ACTION ON HIGHLITE CODE
XWD qsfdES,0523; [ ] MODIFY ESCAPE CHARACTER SELECTION
XWD qsfdTV,2426; [#TV] Set tty page - video paging
XWD qsfdSD,2304; [#SD]
XWD qsfdQD,2104; [#QD]
XWD qsfdIN,1116; [$IN]
XWD FR,0
;;
;
 SUBTTL[FPRTAB]
IFN FLOATP,<
FPRTAB:
XWD FLTCWC,0
XWD FPRET1,FPSIND
XWD FPRET1,FPCOSD
XWD FPRET1,FPSIN
XWD FPRET1,FPCOS
XWD FPRET1,FPSQRT
XWD FPAL10,FPALOG
XWD FPRET1,FPALOG
XWD 0,FPMACH
XWD MACHFP,0
XWD QFPQF,0
XWD FPRET1,FPSINH
XWD FPRET1,FPCOSH
XWD FPRET1,FPTANH
XWD FPRET1,FPEXP
XWD FPRET1,FPASIN
XWD FPRET1,FPACOS
XWD FPRET1,FPATAN
XWD FPRET1,QFPDR
XWD FPRET1,QFPRD
XWD FPFORM,0
XWD FPRETD,FPASIN
XWD FPRETD,FPACOS
XWD FPRETD,FPATAN
XWD FPRET1,FPTAN
XWD FPRET1,FPTAND
XWD QFPPI,0
XWD QFPAD,JSFLTW
XWD QFPSU,JSFLTW
XWD QFPML,JSFLTW
XWD QFPDV,JSFLTW
XWD QFPGR,JSFLTW
XWD QFPLT,JSFLTW
XWD FPRET1,FPIABS
XWD FPRET1,FPABS
XWD FPRET1,FPAINT
XWD FPJRVI,FPIFIX
XWD FPJRVI,FPINT
XWD FPFLOT,0
XWD FPRET1,FPCABS
XWD FPRET1,FPREAL
XWD FPRET2,FPCONJ
XWD FPRET1,FPDIM
XWD FPRET1,FPIDIM
XWD FPRET1,FPSIGN
XWD FPRET1,FPISIGN
XWD FPMOD,0
XWD FPRET1,FPAMOD
XWD FPRET1,FPATN2
XWD FPRET1,FPAMAX
XWD FPMAX,0
XWD FPRET1,FPAMIN
XWD FPMIN,0
Z
>;;
;
 SUBTTL[QXQTAB]

QXQTAB:
EXP INDEX
EXP FLOW
EXP FTOP
EXP KWITCH
EXP DSK1
EXP END
EXP CHANAS
EXP BUFTOP
EXP qct6
EXP ERBIT
EXP TTSTAT
EXP LNBTS
EXP TTYPVT
EXP TTYCON
Z

SUBTTL[NAVLK]
NAVLK:
EXP SIXBIT / -FNF>/;FILE NOT FOUND
EXP SIXBIT / -IPP>/;INCORRECT PROJECT PROGRAMMER NUMBER
EXP SIXBIT / -PRT>/;PROTECTION FAILURE
EXP SIXBIT / -FBM>/;FILE BEING MODIFIED
EXP SIXBIT / -AEF>/;ALREADY EXISTING FILE
EXP SIXBIT / -ISU>/;ILLEGAL SEQUENCE OF UUO'S
EXP SIXBIT / -TRN>/;TRANSMISSION ERROR
EXP SIXBIT / -NSF>/;NOT A SAVE FILE
EXP SIXBIT / -NEC>/;NOT ENOUGH CORE
EXP SIXBIT / -DNA>/;DEVICE NOT AVAILABLE
EXP SIXBIT / -NSD>/;NO SUCH DEVICE
EXP SIXBIT / -ILU>/;ILLEGAL UUO
EXP SIXBIT / -NRM>/;NO ROOM OR QUOTA EXCEEDED
EXP SIXBIT / -WLK>/;WRITE-LOCK ERROR
EXP SIXBIT / -NET>/;NOT ENOUGH TABLE SPACE IN MONITOR
EXP SIXBIT / -POA>/;PARTIAL ALLOCATION ONLY
EXP SIXBIT / -BNF>/;BLOCK NOT FREE ON ALLOC. POSITION

;;
;
 SUBTTL[TABSNO]
TABSNO:
EXP SIXBIT /QF    /
EXP SIXBIT /CWC   /
TABSYS:	;MATCHES MOCIL TABLE
EXP SIXBIT /DEVCHR/
EXP SIXBIT /DDTGT /
EXP SIXBIT /GETCHR/
EXP SIXBIT /WAIT  /
EXP SIXBIT /EXIT  /
EXP SIXBIT /UTPCLR/
EXP SIXBIT /DATE  /
EXP SIXBIT /LOGOUT/
EXP SIXBIT /SWITCH/
EXP SIXBIT /REASSI/
EXP SIXBIT /TIMER /
EXP SIXBIT /MSTIME/
EXP SIXBIT /GETPPN/
EXP SIXBIT /RUNTIM/
EXP SIXBIT /PJOB  /
EXP SIXBIT /SLEEP /
EXP SIXBIT /PEEK  /
EXP SIXBIT /GETLIN/
EXP SIXBIT /RUN   /
EXP SIXBIT /GETTAB/
EXP SIXBIT /SETNAM/
EXP SIXBIT /DEVPPN/
EXP SIXBIT /TRMNO /
EXP SIXBIT /TRMOP /
EXP SIXBIT /DUMMY1/
EXP SIXBIT /LIGHTS/
EXP SIXBIT /DUMMY2/
EXP SIXBIT /PRJPRG/
EXP SIXBIT /JBTPRG/
EXP SIXBIT /TTIME /
EXP SIXBIT /JBTCKT/
EXP SIXBIT /JBTPRV/
EXP SIXBIT /TTYTAB/
EXP SIXBIT /CNFTBL/
EXP SIXBIT /NSWTBL/
EXP SIXBIT /SWPTBL/
EXP SIXBIT /JBTSGN/
EXP SIXBIT /ODPTBL/
EXP SIXBIT /LEVDBL/
EXP SIXBIT /JBTNM /
EXP SIXBIT /JBTCNO/
Z;
;;
;
 
SUBTTL[SNOTAB]
SNOTAB:
XWD DOLQF,0
XWD DOLCWC,0
MOCIL:	;MUST FOLLOW SNOTAB
XWD CI04,04;	[   ] DEVCHR
XWD CI05,05;	[   ] DDTGT
XWD CI06,06;	[   ] GETCHR
XWD CI10,10;	[   ] WAIT
XWD CI12,12;	[   ] EXIT
XWD CI13,13;	[   ] UTPCLR
XWD CI14,14;	[   ] DATE
XWD CI17,17;	[   ] LOGOUT
XWD CI20,20;	[   ] SWITCH
XWD CI21,21;	[   ] REASSI
XWD CI22,22;	[   ] TIMER
XWD CI23,23;	[   ] MSTIME
XWD CI24,24;	[   ] GETPPN
XWD CI27,27;	[   ] RUNTIM
XWD CI30,30;	[   ] PJOB
XWD CI31,31;	[   ] SLEEP
XWD CI33,33;	[   ] PEEK
XWD CI34,34;	[   ] GETLIN
XWD CI35,35;	[   ] RUN
XWD CI41,41;	[   ] GETTAB
XWD CI43,43;	[   ] SETNAM
XWD CI55,55;	[   ] DEVPPN
XWD CI115,115;	[   ] TRMNO
XWD CI116,116;	[   ] TRMOP
XWD FR,0


MOCIL3:
XWD CIN01,01;	[   ] LIGHTS (CUSTOMER DEFINED UUO TABLE)
XWD FR,0


CI41L:
XWD CI4102,02;	[   ] PRJPRG
XWD CI4103,03;	[   ] JBTPRG
XWD CI4104,04;	[   ] TTIME
XWD CI4105,05;	[   ] JBTKCT
XWD CI4106,06;	[   ] JBTPRV
XWD CI4110,10;	[   ] TTYTAB
XWD CI4111,11;	[   ] CNFTBL
XWD CI4112,12;	[   ] NSWTBL
XWD CI4113,13;	[   ] SWPTBL
XWD CI4114,14;	[   ] JBTSGN
XWD CI4115,15;	[   ] ODPTBL
 IFN LEVELD,<
XWD CI4116,16;	[   ] LEVDBL
XWD CI4131,31;	[   ] JBTNM1-2
XWD CI4100,33;	[   ] JBTCNO
 >
XWD CI4100,0


;;
;
 SUBTTL[QSIOL]
TABSOC:
EXP SIXBIT /COM   /	;Communications Channel
EXP SIXBIT /CON   /	;Console
EXP SIXBIT /DOT   /	;Mark outputs to "FILE"
EXP SIXBIT /FIL   /	;Directory File
Z

SOCTAB:
XWD 0,soccom
XWD 0,soccon
XWD 0,socdot
XWD 0,socfil
Z

TABSIC:
EXP SIXBIT /COM   /	;Communications Channel
EXP SIXBIT /CON   /	;Console
EXP SIXBIT /FIL   /	;Directory File
Z

SICTAB:
XWD 0,siccom
XWD 0,siccon
XWD 0,sicfil
Z

TABTRE:
EXP SIXBIT /and   /; [187] And the bits
EXP SIXBIT /cld   /; [148] Characters Left of Divider
EXP SIXBIT /cll   /; [191] Change Line Length "active"
EXP SIXBIT /cnb   /; [133] Change Number Base "active"
EXP SIXBIT /cpc   /; [266] Change Protection Class
EXP SIXBIT /crd   /; [147] Characters Right of Divider
EXP SIXBIT /cro   /; [203] Change Rub Out char. schema
EXP SIXBIT /cwc   /; [250] Change Warning Character
EXP SIXBIT /cxb   /; [200] Change "X" Base "active"
EXP SIXBIT /dif   /; [233] Designate Input File
EXP SIXBIT /dof   /; [234] Designate Output File
EXP SIXBIT /dol   /; [704] "Dollar Sign Functions"
EXP SIXBIT /etb   /; [249] Erase Trailing Blanks
EXP SIXBIT /fdc   /; [138] Fetch "D" Characters
EXP SIXBIT /fde   /; [139] Fetch "D" Elements
EXP SIXBIT /fdm   /; [140] Fetch "D" Matches
EXP SIXBIT /flt   /; [703] "Asterisk Functions"
EXP SIXBIT /ftb   /; [210] Fetch To Break character
EXP SIXBIT /fts   /; [211] Fetch To Span character
EXP SIXBIT /idt   /; [153] Input "D" Texts
EXP SIXBIT /lff   /; [228] List File Functions
EXP SIXBIT /lic   /; [241] List Input Channels
EXP SIXBIT /lkf   /; [802] Lock and Fetch File
EXP SIXBIT /lko   /; [803] Overwrite Locked File
EXP SIXBIT /loc   /; [242] List Output Channels
EXP SIXBIT /not   /; [188] Not "complement" the bits
EXP SIXBIT /nud   /; [268] Null Display
EXP SIXBIT /qfa   /; [$qfa] Query File Attributes
EXP SIXBIT /qfe   /; [219] Query File Extension
EXP SIXBIT /qfn   /; [$qfn] Query Function Numbers
EXP SIXBIT /qld   /; [197] Query Left of Divider
EXP SIXBIT /qll   /; [192] Query Line Length
EXP SIXBIT /qnb   /; [134] Query Number Base
EXP SIXBIT /qof   /; [202] Query Over Flow conditions
EXP SIXBIT /qpc   /; [267] Query Protection Class
EXP SIXBIT /qqb   /; [$qqb] Query @ Branch
EXP SIXBIT /qrd   /; [198] Query Right of Divider
EXP SIXBIT /qro   /; [204] Query Rubout character
EXP SIXBIT /qrt   /; [$qrt] Query Run Time
EXP SIXBIT /qta   /; [205] Query Text Area used
EXP SIXBIT /qwc   /; [251] Query Warning Characters
EXP SIXBIT /qxb   /; [201] Query "X" Base
EXP SIXBIT /rcp   /; [263] Return Character Picture
EXP SIXBIT /rdl   /; [700] Return D Levels   
EXP SIXBIT /ref   /; [810] REname File
EXP SIXBIT /rot   /; [189] Rotate the bits
EXP SIXBIT /sar   /; [158] Set Automatic Return on line feed
EXP SIXBIT /sem   /; [199] Set "Echoplex" Mode active
EXP SIXBIT /sfd   /; [157] Specify Function Device
EXP SIXBIT /sfe   /; [221] Set File Extension
EXP SIXBIT /sic   /; [245] Select Input Channel
EXP SIXBIT /soc   /; [246] Select Output Channel
EXP SIXBIT /suc   /; [$suc] Set Upper Case mode
EXP SIXBIT /tma   /; [124] Trace Mode All activated
EXP SIXBIT /xal   /; [156] Xamine Address of Label
EXP SIXBIT /xll   /; [155] Xamine Label List
EXP SIXBIT /xrl   /; [$xrl] Xamine Read Label
Z
;
;
TRETAB:
XWD Qand,0
XWD Qcld,0
XWD Qcll,0
XWD Qcnb,0
XWD Qcpc,0
XWD Qcrd,0
XWD Qcro,0
XWD Qcwc,0
XWD Qcxb,0
XWD Qdif,0
XWD Qdof,0
XWD Qdol,0
XWD Qetb,0
XWD Qfdc,0
XWD Qfde,0
XWD Qfdm,0
XWD Qflt,0
XWD Qftb,0
XWD Qfts,0
XWD Qidt,0
XWD Qlff,0
XWD Qlic,0
XWD Qlkf,0
XWD Qlko,0
XWD Qloc,0
XWD Qnot,0
XWD Qnud,0
XWD Qqfa,0
XWD Qqfe,0
XWD Qqfn,0
XWD Qqld,0
XWD Qqll,0
XWD Qqnb,0
XWD Qqof,0
XWD Qqpc,0
XWD Qqqb,0
XWD Qqrd,0
XWD Qqro,0
XWD Qqrt,0
XWD Qqta,0
XWD Qqwc,0
XWD Qqxb,0
XWD Qrcp,0
XWD Qrdl,0
XWD Qref,0
XWD Qrot,0
XWD Qsar,0
XWD Qsem,0
XWD Qsfd,0
XWD Qsfe,0
XWD Qsic,0
XWD Qsoc,0
XWD Qsuc,0
XWD Qtma,0
XWD Qxal,0
XWD Qxll,0
XWD Qxrl,0
Z
;
;
SUBTTL[CHPMPI]
CHPMPI:
BYTE (5) 37,21,21,21,21,21,37;NUL-@
BYTE (5) 37,20,20,20,20,20,20;SOH-A
BYTE (5) 04,04,04,04,04,04,37;STX-B
BYTE (5) 01,01,01,01,01,01,37;ETX-C
BYTE (5) 10,04,02,37,10,04,02;EOT-D
BYTE (5) 37,21,33,25,33,21,37;ENQ-E
BYTE (5) 00,00,01,02,24,30,20;ACK-F
BYTE (5) 00,00,16,21,21,37,00;BEL-G
BYTE (5) 04,10,36,11,05,01,01;BS-H
BYTE (5) 10,04,02,37,02,04,10;HT-I
BYTE (5) 37,00,00,37,00,00,37;LF-J
BYTE (5) 04,04,04,04,25,16,04;VT-K
BYTE (5) 04,25,16,04,25,16,04;FF-L
BYTE (5) 02,04,10,37,10,04,02;CR-M
BYTE (5) 16,21,33,25,33,21,16;SO-N
BYTE (5) 16,21,21,25,21,21,16;SI-O
BYTE (5) 37,21,21,37,21,21,37;DLE-P
BYTE (5) 16,25,25,27,21,21,16;DC1-Q
BYTE (5) 16,21,21,27,25,25,16;DC2-R
BYTE (5) 16,21,21,35,25,25,16;DC3-S
BYTE (5) 16,25,25,35,21,21,16;DC4-T
BYTE (5) 00,00,05,02,25,30,20;NAK-U
BYTE (5) 16,12,12,12,12,12,33;SYN-V
BYTE (5) 01,01,01,37,01,01,01;ETB-W
BYTE (5) 37,21,12,04,12,21,37;CAN-X
BYTE (5) 04,04,04,16,04,04,04;EM-Y
BYTE (5) 16,21,20,10,04,00,04;SUB-Z
BYTE (5) 16,21,21,37,21,21,16;ESC-[
BYTE (5) 37,25,25,35,21,21,37;FS-\
BYTE (5) 37,21,21,35,25,25,37;GS-]
BYTE (5) 37,21,21,27,25,25,37;RS-^
BYTE (5) 37,25,25,27,21,21,37;US-_
;;
;
 BYTE (5) 00,00,00,00,00,00,00;  
BYTE (5) 04,04,04,04,04,00,04; !
BYTE (5) 11,11,22,00,00,00,00; "
BYTE (5) 12,12,37,12,37,12,12; #
BYTE (5) 04,17,24,16,05,36,04; $
BYTE (5) 31,31,02,04,10,23,23; %
BYTE (5) 16,21,24,10,25,22,15; &
BYTE (5) 02,04,10,00,00,00,00; '
BYTE (5) 04,10,20,20,20,10,04; (
BYTE (5) 04,02,01,01,01,02,04; )
BYTE (5) 04,25,16,04,16,25,04; *
BYTE (5) 00,04,04,37,04,04,00; +
BYTE (5) 00,00,00,06,06,02,04(1)1; ,
BYTE (5) 00,00,00,16,00,00,00; -
BYTE (5) 00,00,00,00,00,06,06; .
BYTE (5) 00,00,01,02,04,10,20; /
BYTE (5) 16,21,23,25,31,21,16; 0
BYTE (5) 04,14,04,04,04,04,16; 1
BYTE (5) 16,21,01,02,04,10,37; 2
BYTE (5) 37,01,02,06,01,21,16; 3
BYTE (5) 02,06,12,22,37,02,02; 4
BYTE (5) 37,20,36,01,01,21,16; 5
BYTE (5) 17,20,20,36,21,21,16; 6
BYTE (5) 37,01,02,04,04,04,04; 7
BYTE (5) 16,21,21,16,21,21,16; 8
BYTE (5) 16,21,21,17,01,01,16; 9
BYTE (5) 00,00,06,06,00,06,06; :
BYTE (5) 06,06,00,06,06,02,04(1)1; ;
BYTE (5) 02,04,10,20,10,04,02; <
BYTE (5) 00,00,37,00,37,00,00; =
BYTE (5) 10,04,02,01,02,04,10; >
BYTE (5) 16,21,02,04,04,00,04; ?
;;
;
 BYTE (5) 16,21,25,25,26,20,17; @
BYTE (5) 04,12,21,21,37,21,21; A
BYTE (5) 36,21,21,36,21,21,36; B
BYTE (5) 17,20,20,20,20,20,17; C
BYTE (5) 36,21,21,21,21,21,36; D
BYTE (5) 37,20,20,36,20,20,37; E
BYTE (5) 37,20,20,36,20,20,20; F
BYTE (5) 17,20,20,23,21,21,17; G
BYTE (5) 21,21,21,37,21,21,21; H
BYTE (5) 16,04,04,04,04,04,16; I
BYTE (5) 01,01,01,01,21,21,16; J
BYTE (5) 21,21,22,34,22,21,21; K
BYTE (5) 20,20,20,20,20,20,37; L
BYTE (5) 21,33,25,25,21,21,21; M
BYTE (5) 21,21,31,25,23,21,21; N
BYTE (5) 16,21,21,21,21,21,16; O
BYTE (5) 36,21,21,36,20,20,20; P
BYTE (5) 16,21,21,21,25,22,15; Q
BYTE (5) 36,21,21,36,24,22,21; R
BYTE (5) 17,20,20,16,01,01,36; S
BYTE (5) 37,04,04,04,04,04,04; T
BYTE (5) 21,21,21,21,21,21,37; U
BYTE (5) 21,21,21,21,21,12,04; V
BYTE (5) 21,21,21,25,25,33,21; W
BYTE (5) 21,21,12,04,12,21,21; X
BYTE (5) 21,21,12,04,04,04,04; Y
BYTE (5) 37,01,02,04,10,20,37; Z
BYTE (5) 36,20,20,20,20,20,36; [
BYTE (5) 00,00,37,01,01,00,00; \
BYTE (5) 17,01,01,01,01,01,17; ]
BYTE (5) 04,12,21,00,00,00,00; ^
BYTE (5) 00,00,00,00,00,00,37(1)1; _
;;
;
 BYTE (5) 10,04,02,00,00,00,00; `
BYTE (5) 00,00,06,01,17,21,17; a
BYTE (5) 20,20,26,31,21,31,26; b
BYTE (5) 00,00,17,20,20,20,17; c
BYTE (5) 01,01,15,23,21,23,15; d
BYTE (5) 00,00,16,21,37,20,16; e
BYTE (5) 03,04,04,16,04,04,04; f
BYTE (5) 15,23,21,23,15,01,16(1)1; g
BYTE (5) 20,20,26,31,21,21,21; h
BYTE (5) 04,00,14,04,04,04,16; i
BYTE (5) 02,06,02,02,02,02,14(1)1; j
BYTE (5) 20,20,22,24,30,24,22; k
BYTE (5) 14,04,04,04,04,04,16; l
BYTE (5) 00,00,32,25,25,25,25; m
BYTE (5) 00,00,26,31,21,21,21; n
BYTE (5) 00,00,16,21,21,21,16; o
BYTE (5) 26,31,21,31,26,20,20(1)1; p
BYTE (5) 15,23,21,23,15,01,01(1)1; q
BYTE (5) 00,00,27,30,20,20,20; r
BYTE (5) 00,00,17,20,16,01,36; s
BYTE (5) 10,10,34,10,10,10,06; t
BYTE (5) 00,00,21,21,21,23,15; u
BYTE (5) 00,00,21,21,21,12,04; v
BYTE (5) 00,00,25,25,25,25,12; w
BYTE (5) 00,00,21,12,04,12,21; x
BYTE (5) 21,21,21,23,15,01,16(1)1; y
BYTE (5) 00,00,37,02,04,10,37; z
BYTE (5) 03,04,04,30,04,04,03; {
BYTE (5) 04,04,04,00,04,04,04; |
BYTE (5) 30,04,04,03,04,04,30; }
BYTE (5) 11,25,22,00,00,00,00; ~
BYTE (5) 00,37,00,37,00,37,00;equiv; 
;;
;
 BYTE (5) 00,00,00,00,00,00,00;CI; |@
BYTE (5) 00,00,00,00,00,00,00;PU; 201
BYTE (5) 00,00,00,00,00,00,00;PD; 202
BYTE (5) 00,00,00,00,00,00,00;PR; 203
BYTE (5) 00,00,00,00,00,00,00;PL; 204
BYTE (5) 00,00,00,00,00,00,00; 205
BYTE (5) 00,00,00,00,00,00,00; 206
BYTE (5) 00,00,00,00,00,00,00;PM; 207
BYTE (5) 00,00,00,00,00,00,00;PH; 210
BYTE (5) 00,00,00,00,00,00,00;PT; 211
BYTE (5) 00,00,00,00,00,00,00;CSC; 212
BYTE (5) 00,00,00,00,00,00,00;CLC; 213
BYTE (5) 00,00,00,00,00,00,00;LI; 214
BYTE (5) 00,00,00,00,00,00,00;LD; 215
BYTE (5) 00,00,00,00,00,00,00; 216
BYTE (5) 00,00,00,00,00,00,00; 217
BYTE (5) 00,00,00,00,00,00,00;CD; 220
BYTE (5) 00,00,00,00,00,00,00;CIN; 221
BYTE (5) 00,00,00,00,00,00,00;CIF; 222
BYTE (5) 00,00,00,00,00,00,00;SU; 223
BYTE (5) 00,00,00,00,00,00,00;SD; 224
BYTE (5) 00,00,00,00,00,00,00;NP; 225
BYTE (5) 00,00,00,00,00,00,00;PP; 226
BYTE (5) 00,00,00,00,00,00,00;PFN; 227
BYTE (5) 00,00,00,00,00,00,00;PF; 230
BYTE (5) 04,16,04,25,37,16,37; King; 231
BYTE (5) 00,00,04,16,04,16,37; Pawn; 232
BYTE (5) 04,16,34,31,33,16,37; Bishop; 233
BYTE (5) 17,37,33,23,07,17,37; Knight; 234
BYTE (5) 25,25,37,37,16,16,37; Castle; 235
BYTE (5) 25,16,04,04,16,04,37; Queen; 236
BYTE (5) 00,00,00,00,00,00,00; 237
;;
;
 BYTE (5) 00,00,00,00,00,00,00; HEB 240
BYTE (5) 21,21,12,04,12,21,21; HEB 241
BYTE (5) 00,36,02,02,02,02,37; HEB 242
BYTE (5) 07,01,01,01,07,05,05; HEB 243
BYTE (5) 37,02,02,02,02,02,02; HEB 244
BYTE (5) 37,01,01,21,21,21,21; HEB 245
BYTE (5) 03,01,01,01,01,01,01; HEB 246
BYTE (5) 16,04,04,04,04,04,04; HEB 247
BYTE (5) 37,21,21,21,21,21,21; HEB 250
BYTE (5) 21,23,25,21,21,21,37; HEB 251
BYTE (5) 06,02,02,00,00,00,00; HEB 252
BYTE (5) 37,01,01,01,01,01,37; HEB 253
BYTE (5) 17,01,01,01,01,01,01; HEB 254
BYTE (5) 20,37,01,01,16,20,20; HEB 255
BYTE (5) 11,13,15,11,21,21,27; HEB 256
BYTE (5) 37,21,21,21,21,21,16; HEB 257
BYTE (5) 07,01,01,01,01,01,37; HEB 260
BYTE (5) 07,01,01,01,01,01,01; HEB 261
BYTE (5) 21,11,11,05,05,03,37; HEB 262
BYTE (5) 37,21,21,31,01,01,37; HEB 263
BYTE (5) 37,21,21,31,01,01,01; HEB 264
BYTE (5) 21,11,06,02,02,01,37; HEB 265
BYTE (5) 21,21,22,36,20,20,20; HEB 266
BYTE (5) 37,01,01,11,12,12,10; HEB 267
BYTE (5) 37,01,01,01,01,01,01; HEB 270
BYTE (5) 25,25,25,25,25,25,16; HEB 271
BYTE (5) 17,11,11,11,11,11,31; HEB 272
BYTE (5) 04,04,16,37,16,04,04; Diamonds; 273
BYTE (5) 16,04,25,37,25,04,04; Clubs; 274
BYTE (5) 33,33,37,37,16,04,04; Hearts; 275
BYTE (5) 04,04,16,37,37,25,04; Spades; 276
BYTE (5) 00,16,37,37,37,16,00; Disc; 277

;;
;
 BYTE (5) 00,00,22,25,35,25,22; |@
BYTE (5) 00,00,16,01,17,21,17; |A
BYTE (5) 00,06,10,36,21,21,16; |B
BYTE (5) 22,22,22,22,37,01,00(1)1; |C
BYTE (5) 16,12,12,22,37,21,00(1)1; |D
BYTE (5) 00,00,16,21,36,20,17; |E
BYTE (5) 04,04,16,25,16,04,04(1)1; |F
BYTE (5) 00,00,37,21,20,20,20; |G
BYTE (5) 00,00,21,12,04,12,21; |H
BYTE (5) 00,00,21,23,25,31,21; |I
BYTE (5) 12,04,00,21,23,25,31; |J
BYTE (5) 00,00,22,24,30,24,22; |K
BYTE (5) 00,00,07,05,05,11,31; |L
BYTE (5) 00,00,21,33,25,21,21; |M
BYTE (5) 00,00,21,21,37,21,21; |N
BYTE (5) 00,00,16,21,21,21,16; |O
BYTE (5) 00,00,37,21,21,21,21; |P
BYTE (5) 00,00,17,21,17,05,11; |Q
BYTE (5) 26,31,21,31,26,20,20(1)1; |R
BYTE (5) 00,00,17,20,20,20,17; |S
BYTE (5) 00,00,37,04,04,04,04; |T
BYTE (5) 21,21,21,12,04,10,20(1)1; |U
BYTE (5) 00,00,25,25,16,25,25; |V
BYTE (5) 00,00,36,21,36,21,36; |W
BYTE (5) 00,00,20,20,34,22,34; |X
BYTE (5) 00,00,21,21,35,23,35; |Y
BYTE (5) 00,00,16,21,02,21,16; |Z
BYTE (5) 00,00,25,25,25,25,37; |[
BYTE (5) 00,00,16,21,07,21,16; |\
BYTE (5) 25,25,25,25,37,01,00(1)1; |]
BYTE (5) 00,00,21,21,17,01,01; |^
BYTE (5) 00,00,00,00,00,00,37(1)1; |_
;;
;
 BYTE (5) 22,25,25,35,25,25,22; |`
BYTE (5) 16,21,21,37,21,21,21; |a
BYTE (5) 37,21,20,36,21,21,36; |b
BYTE (5) 22,22,22,22,22,37,01; |c
BYTE (5) 16,12,12,12,22,37,21; |d
BYTE (5) 37,20,20,36,20,20,37; |e
BYTE (5) 04,16,25,25,25,16,04; |f
BYTE (5) 37,21,20,20,20,20,20; |g
BYTE (5) 21,21,12,04,12,21,21; |h
BYTE (5) 21,21,23,25,31,21,21; |i
BYTE (5) 12,04,21,23,25,31,21; |j
BYTE (5) 21,21,22,34,22,21,21; |k
BYTE (5) 07,05,05,05,05,11,31; |l
BYTE (5) 21,33,25,25,21,21,21; |m
BYTE (5) 21,21,21,37,21,21,21; |n
BYTE (5) 16,21,21,21,21,21,16; |o
BYTE (5) 37,21,21,21,21,21,21; |p
BYTE (5) 17,21,21,17,05,11,21; |q
BYTE (5) 36,21,21,36,20,20,20; |r
BYTE (5) 17,20,20,20,20,20,17; |s
BYTE (5) 37,04,04,04,04,04,04; |t
BYTE (5) 21,21,21,12,04,10,20; |u
BYTE (5) 25,25,25,16,25,25,25; |v
BYTE (5) 36,21,21,36,21,21,36; |w
BYTE (5) 20,20,20,36,21,21,36; |x
BYTE (5) 21,23,21,35,23,23,35; |y
BYTE (5) 16,21,01,06,01,21,16; |z
BYTE (5) 25,25,25,25,25,25,37; |{
BYTE (5) 16,21,01,17,01,21,16; ||
BYTE (5) 25,25,25,25,25,37,01; |}
BYTE (5) 21,21,21,17,01,01,01; |~
BYTE (5) 00,00,00,00,00,00,00; 377
;;
;
 SUBTTL[HOLDING]
Qxi:Qxo:
Qdq:
Qda:
Qxq:
Qsw:
Qlr:Qer:Qdr:Qgr:Qir:
Qcpc:Qqpc:
Qlff:
	JRNAV
;
SUBTTL[sfdMV]
qsfdMV:	JSGT
	MOVEM	Z,CVERTL
	JRQ


;;
;
 SUBTTL[sfdQD]
qsfdQD:	MOVE	T1,LNBTS
	JJEPNF
	MOVE	T1,TTSTAT
	JRPPN

SUBTTL[sfdQV]
QsfdQV:	MOVE	Z,CVERTL
	JJNPNF
	SUB	Z,CVERT
	JRVI

;;
;
 SUBTTL[sfdsd]
QsfdSD:	JSAE
	JRST	MOSD1
	JSGSIX
	JSTAB
	TABMOD-1
	MODTAB-1
	JRST	MOSD1

	JRST	@T1

MOSD1:	JJZ8B
	JLALLZ
	SETZM	TTYPVT
	JRQ

MOSDQF:	JSER
	MOVEI	T5,TABMOD
	JRTABN

MOD33:	JRST	MOSD1

MOD37E:	JLALLZ
	JJM37O

MOD37:	JJO8B
	MOVEI	Z,1
	MOVEM	Z,TTYPVT
	JRQ

SUBTTL[CI100]
IFE MON506,<

CI115:	JRNAV

CI116:	JRNAV

>

IFN MON506,<

CI115:	JSER
	JSTNO
	JRST	CI100Z

CI116:	JSTNO
	MOVEM	T1,INDEX+1
	JSXX
	CAIG	Z,1777
	JRST	CI116R
	JTMP1O
	JSXX
	SKIPN	Z,
	MOVEI	Z,1
	MOVEM	Z,INDEX+2

CI116R:	MOVE	T1,[XWD 3,INDEX]
	CALLI	T1,116
	JRST	ERR116
	JTMP1N
CI100Z:	JSXRZ
	JRQ

JSTNO:	JSGT
	MOVE	T1,Z
	SKIPN	T1,
	CALLI	T1,30
	CALLI	T1,115;TRMNO
	JRST	ERR115
	JPOPJ

ERR115:
ERR116:	MOVEM	T1,ERBIT
	JRNAV
>;;
;
 SUBTTL[CICICI]

CI10:CI12:CI17:	JRNAV

CIN01:	JSXX
	CALLI	Z,-1
	JRQ

CI00:	JRNAV

CI04:CI06:
	JSBDN
	CALLI	E,4
	JRXRS

CI13:	JSNQ
	JSGSIX
	JSOPEN
	CALLI	CHAND,13
	JFBCL
	JRQ

CI21:	JRNAV;REASSI

CI24:	CALLI	T1,24
	JXSKIP
	JRNAV
	JUMPL	T1,JRNAV;ALPHA	PPN
JRPPN:	JSER
	MOVNI	T3,6
	MOVNI	T2,6
	JSXRZ

	PUSH	P,T1
	JSAT
	POP	P,T1
	MOVNI	T3,6
	JSXRZ

CI05:	JRQ

CI31:	JSGE
	CALLI	T4,31
	JRQ

CI33:	JSXX
	CALLI	Z,33
	MOVE	T1,Z
	JRXRS

CI34:	CALLI	T1,34
	JRSIXS

;;
;
 CI35:	MOVEM	PAL,PALPAL
	JSAS
	JSAS
	JSAS
	JSAS
	JSGT
	MOVEM	T4,ARG3
	JMRPAL
	JSBDN
	MOVSI	T3,(SIXBIT	/SYS/)
	SETZI	E3,
	JJEPNF
	JRST	CI35A
	JSBDP
	JSGSIX
	SKIPN	T1
	MOVSI	T1,(SIXBIT	/DSK/)
	MOVE	T3,T1
CI35A:	JTMP1O
	PUSHJ	P,qex4
	SETZB	E2,SWITCH
	MOVEI	Z,T3
	HRL	Z,ARG3
	MOVE	BASE,[CALLI	Z,35]
	MOVEM	BASE,ADS32
	MOVE	BASE,[JRST	@.JBSA]
	MOVEM	BASE,ADS33
	JRST	ADS32

;;
;
 CI41:	JSXX
	HRR	T1,Z
	JUMPE	Z,CI4100
	JSD
	CI41L-1

JCI41:	JSGT
	JCIA
	JXSKIP

JCI41X:	JSXX
	HRL	T1,Z
	CALLI	T1,41
	JRST	JCI41B
	JPOPJ
JCI41B:	POP	P,Z
	JRNAV

CI4101:CI4106:CI4107:CI4114:CI4100:
	JCI41
	JRXRS

CI4102:	JCI41
	JRPPN

CI4103:	JCI41
	JRSIX

CI4104:CI4105:	JSER
	JCI41
	MOVE	Z,T1
	JRVI

CI4110:	IFE	LEVELD,<JRNAV>
	IFN	LEVELD,<JCI41
	HRRZ	T1,T1
	CALLI	T1,33
	JRSIX
	>

CI4111:	JCI41X
	CAIGE	Z,7
	JRNAV

	CAIN	Z,7
	JRSIXS
	CAIN	Z,13
	JRSIXS
	JRPPN

CI4112:CI4113:CI4115:
	JSER
	JCI41X
	JRVI

CI4116:	JCI41X
	CAIG	Z,14
	JRPPN
	JRSIXS


CI4131:	JSGT
	JCIA
	HRL	T1,Z
	MOVEM	T1,ARG1
	CALLI	T1,41
	JRST	JCI41B
	JSSIX
	MOVE	T1,ARG1
	HRRI	T1,32
	CALLI	T1,41
	JRST	JCI41B
	JRSIX
;;
;
 CI43:	JSBDN
	CALLI	E,43
	JRQ

CI14:CI22:CI23:CI23:CI27:	JSER
CI30:	JSGT
	JCIA

	HRLI	PAL21,(CALLI	Z,)
	XCT	PAL21
	JRVI

CI20:	HRLI	PAL21,(CALLI	T1,)
	XCT	PAL21
	JRXRS

CI55:	JSGSIX
	CALLI	T1,55
	JRNAV
	JRPPN
;;
;
 SUBTTL[JIESC]
JIESC:	JBURSN

	JSTINH
	JSTGET
	CAIG	Z,140
	CAIGE	Z,100
	JRST	JIESC.
	SUBI	Z,100;	ESCAPE (F) F=@,A,B,C,...
	TRO	Z,200
	JBURSN
	JSTINF
	JRST	JSTI1

JIESC.:	CAIGE	Z,40
	JRST	JIEND;	ESCAPE CONTROL (ILLEGAL)
	CAIGE	Z,60
	JRST	JIINV;	ESCAPE (I)
	CAIL	Z,100
	JRST	JIEND;	ESCAPE L.C. CHAR. (ILLEGAL)

	MOVE	T1,TTYPVT
	JRST	@JIESFP(T1)

JIEND:	JBURSE
	JRST	JSTI1
	JSTINF
	JNECHO
	JSTPUT
	JRST	JSTI1

JIESFP:	JRST	JIEND;NO PRIVATE SET STIPULATED
	JRST	JIM37

JIINV:	CAIN	Z,"#"
	JRST	JISHRP
	JFCL;TESTS FOR OTHER ALLOWABLE (I) CHARACTERS
	JRST	JIEND

JISHRP:	JSTGET; IF CHAR. @ABCD... THEN "NUL" TO "37" PASSED
	CAIG	Z,140
	CAIL	Z,100
	ANDI	Z,37
	JRST	JIEND
;;
;
 SUBTTL[JIM37]
JIM37:	MOVEI	T1,JIM37L

JIPVT:	MOVEM	Z,GETHLD
	JBURSE
	JRST	JIPVT1
	JSTINF
	JSTPUT

JIPVT1:	MOVE	T3,GETHLD
	CAIL	T3,100
	JRST	JIPVT2
	SUBI	T3,60
	JUMPL	T3,JIPVT2
	MOVE	T2,T3
	LSH	T3,-2
	ANDI	T2,3
	ADD	T1,T3
	LDB	Z,ZT10(T2)
	JUMPN	Z,JSTI1

JIPVT2:	JJOALT
	MOVEI	Z,CCESC
	JRST	JSTI2

JIM37L:
BYTE (9) 000,CPHTS,CPHTC,CPXHN
BYTE (9) CPXHF,CPVTS,CPVTC,CPRLF
BYTE (9) CPHLR,CPHLF,CPLCF,CPLCN
BYTE (9) 000,000,000,000
;;
;
 SUBTTL[JSACR]
JSACR:	JBURSE
	JPOPJ
	JTMP2E
	JPOPJ
	MOVE	T1,CLINEL
	JUMPE	T1,CPOPJ
	AOS	CLINE
	CAMGE	T1,CLINE
	JSPR
	JPOPJ
;;
;
 SUBTTL[JSCON]
JSCONT:	JBURSE
	JRST	JSCON2
JSCON:	CAIN Z,CCNULIN
	JRST JNULIN
JSCON2:	CAIN	Z,CCRETUR
	JRST JRETUR
	CAIN Z,CCHTAB
	JRST JHTAB
	CAIN Z,CCPAGE
	JRST JPAGE
	CAIN Z,CCVTAB
	JRST JVTAB
	CAIN Z,CCBKSP
	JRST JBKSP
	JPOP1

JNULIN:	JRETUE
	JPOP1
	MOVEI Z,CCRETUR
	JSTPUT

JNULI1:	MOVEI Z,CCNULIN
JRETUR:	SETZM CLINE
	JPOP1

JHTAB:	SKIPN CLINEL
	JPOP1
	MOVE T1,CLINE
	ADDI T1,10
	ANDI T1,777770
	MOVEM T1,CLINE
	JPOPJ

JPAGE:	SKIPN CVERTL
	JPOP1;NO
	JFCL
	JFCL
	SETZM CVERT
	JPOP1

JVTAB:	SKIPN CVERTL
	JPOP1;NO
	JFCL
	JFCL
	JPOP1


JBKSP:	SKIPN CLINEL
	JPOP1;NO
	SKIPE CLINE
	SOS CLINE
	JPOP1

;;
;
 SUBTTL[JSDT]
JSDT:	TRZ	SWITCH,31000
	JCMA
	TTCALL	6,Z
	HLL	Z,LNBTS
	TTCALL	7,Z
	JSTTI
	JPOPZ

SUBTTL[JSDTI]
JSDTI:	JCMA
	TTCALL	6,Z
	HLLM	Z,TTSTAT

IFN	NCAR,<
	MOVEI	Z,206
	CAME	Z,JRPOPA-1
	JPOPJ
	HLRZ	T2,T1
	TRNN	T1,20
	CAIE	T2,(SIXBIT	/TTY/)
	JPOPJ
	LSH	T1,-6
	MOVE	T2,T1
	LSH	T2,-3
	ANDI	T1,27
	ANDI	T2,70
	JUMPE	T1,JSDTI1
	SUBI	T1,20

	ADD	T1,T2
	CAIL	T1,12

	>

	JPOPJ

IFN	NCAR,<

JSDTI1:	JRETUO
	TLO	Z,20
	HLLM	Z,LNBTS
	JPOPJ
	>

;;
;
 SUBTTL[JSPR]
JSPR:	PUSH	P,Z
	SETZM	CLINE
	MOVEI	Z,CCRETUR
	JSTPUT

JSPR1:	MOVEI	Z,CCNULIN
	JSTPUT

	POP	P,Z
	JFCL	;TEST FOR PAGE HEIGHT CONTROL

	JPOPJ






;;
;
 SUBTTL[JSTGET]
JSTGET:	JBURSN
	JRST	JTINP

JDINP:	HLRZ	PAL21,sybuis
	HRRZ	PAN2,sybuis

JDICNT:	JXSOGE
	JRST	JDIGET

JDINXT:	JXILDB
	JUMPE	Z,JDICNT
	CAIN	Z,CCRETUR
	JRST	JDICNT
	JPOPJ

JDIGET:	JXBUIO
	JXBUST
	JRDNAV
	JXBUEF
	JRQ
	JRST	JDICNT

;;
;
 SUBTTL[JSTI]
JSTI:	JJEALT
	JRST	JSTI3
	JSTGET
JSTI1:	JTSTCN
	JRST	JSTI4
	JSACR
JSTI2:	MOVEM	Z,C
	JPOPJ

JSTI3:	JJZALT
	MOVE	Z,GETHLD
	JRST	JSTI1

JSTI4:	CAMN	Z,CESCAP
	JRST	JIESC
	CAIN	Z,CCSUB
	JRST	JSTI5
	PUSHJ	P,JSCONT
	JSACR
	MOVEM	Z,C
	JPOPJ

JSTI5:	JSTGET
	TRO	Z,200
	JRST	JSTI1
;;
;
 SUBTTL[JSTINH-F]
JSTINH:	JOAECH
JSTINF:	JJZECH

	SETO	BASE,0
	TTCALL	6,BASE
	JNECHO
	TLZA	BASE,4
	TLO	BASE,4
	TTCALL	7,BASE
	JPOPJ


;;
;
 SUBTTL[JSTL]
JSTL:JSTO:
	CAIL	Z,CMASK
	JPOPJ

	JTSTCN
	JSCON
	JSACR

	JSTPUT
	JTBCK
	JPOPJ

;;
;
 SUBTTL[JSTPUT]
JSTPUT:	JBUPSN
	JRST	JTOOUT

JDOUT:	HLRZ	PAL21,sybuos
	HRRZ	PAN2,sybuos

JDOUT1:	JXSOSG
	JRST	JDOBUF

JDOUT2:	JJE8BX;skip if seven bit output
	JRST	JDOUT3

JDOSEV:	CAMN	Z,CSEQNO
	JRST	JDOUT4
	TRZE	Z,200
	JRST	JDOEXT;8 bit char = SUB & 7 bit char
JDOUT3:	JXIDPB
	JPOPJ

JDOBUF:	JXBUIO
	JXBUST
	JRDNAV
	JRST	JDOUT2


JDOUT4:	JFCL
	JFCL
	JRST	JDOUT3;TEMP SHORT CIRCUIT

JDOEXT:	PUSH	P,Z
	MOVEI	Z,CCSUB
	JXIDPB
	POP	P,Z
	JRST	JDOUT1

;;
;
 SUBTTL[JSTTI]
JSTTI:	HRRZ	Z,LNBTS
	ANDI	Z,OKSTAT
JSTTIC:	CALLI	T1,34
	SETZI	T2,
	OPEN	CHANT,Z
	JRCE
	CLOSE	CHANT

IFE	MON506,<JPOPZ>

IFN	MON506,<
	CALLI	T1,30
	CALLI	T1,115
	JRST	ERR115
	MOVEM	T1,INDEX+1
	MOVEI	T1,2026
	MOVEM	T1,INDEX
	MOVEI	T1,1
	MOVEM	T1,INDEX+2
	MOVE	T2,[XWD	3,INDEX]
	CALLI	T2,116
	JRST	JSTTIX

	JPOPZ

JSTTIX:	MOVEM	T2,INDEX+4
	JRNAV





;;
;
 SUBTTL[JSTTIR]
JSTTIR:	JCMA
	TTCALL	6,Z
	HLL	Z,TTSTAT
	TTCALL	7,Z
	JCLA
	JSTTIC

	JPOPZ
;;
;
 SUBTTL[JTBCK]
JTBCK:	JJEINT
	JPOPJ
	TTCALL	13,0
	JPOPJ
	TTCALL	0,Z

	CAIE	Z,134
	JPOPJ
	TTCALL	12,0
	JRCE
;;
;
 SUBTTL[JTINP]
JTINP:	SKIPE	TM2
	JRST	JTINP1

JTINP2:	JXTTC0
	JPOPJ

JTINP1:	TTCALL	13,0
	JXSKIP
	JRST	JTINP2
	CALLI	Z,23
	LSH	Z,-1
	CAMGE	Z,TM2
	JRST	JTINP1
	SETZM	TM2
	TTCALL	11,0
	JRQ


;;
;
 SUBTTL[JTOUT]
JTOOUT:	JJM37E
	JRST	JTO37E
	JJINFE
	JRST	JTOINF

	JRETUE
	JRST	JTOIBM

	JXTTC1
	JPOPJ

JTOIBM:	CAIN	Z,15
	JPOPJ
	CAIN	Z,12
	MOVEI	Z,15
	JXTTC1
	JPOPJ

JTOINF:	JFCL;INF
	JXTTC1
	JPOPJ

JTO37E:	TRNE	Z,200
	TRC	Z,100;complement bit 7 for spec 37
	JXTTC1

JTOFI:	CAIL	Z,15
	JPOPJ
	CAIN	Z,11
	JRST	JTOFHT
	CAIN	Z,14
	JRST	JTOFFF
	CAIE	Z,13
	JPOPJ

JTOFVT:	SKIPA	Z,3
JTOFFF:	MOVEI	Z,5
JTOFI1:	CALLI	Z,31
	JPOPJ

JTOFHT:	JCLA
	MOVEI	BASE,2

JTOFI2:	JXTTC1
	SOJN	BASE,JTOFI2
	JPOPJ
;;
;
 SUBTTL[MOLF]
MOQF:
MOLF4:	SETZM	ARG1
MOLF3:	MOVEM	Z,TEM2
	JSER
MOLF1:	JSFDL
	JRQ
	MOVEM	Z,LT
	JSAT
	MOVE	Z,LT
	ROT	Z,-6
	ANDI	Z,77
	ADDI	Z,100
	JSW
	MOVE	Z,LT
	ANDI	Z,77
	JUMPN	Z,MOLF5
	ADD	Z,ARG1
	JUMPE	Z,MOLF1
MOLF5:	ADDI	Z,100
	JSW
	JRST	MOLF1

molf2:	MOVEI	T1,53-100
	MOVEM	T1,ARG1
	JRST	MOLF3
;
;;
;
 SUBTTL[PLOVF]
PLOVF:	230000
CH2:PLOV:
	MOVE	T1,.JBCNI
	MOVE	T2,PLOVF
	CALLI	T2,16
	JSER
	MOVEI	Z,74
	JSW
	JSXR
	MOVEI	Z,76
	JSW
	JFCL
	JRQ



;;
;
 SUBTTL[QCI]
QCI:	JSNQ
	JSPK
	JRST QCI1
	JSD
	QCIL-1

QCI1:	JSXX
	ANDI Z,77
	JUMPE Z,CI00
	MOVE PAL21,Z
	JJESGN
	JRST QCINEG
	JSD
	MOCIL-1

QCINEG:	JSD
	MOCIL3-1

QCIGT:	JSPKA
	JSD
	QCIGTL-1

QCIQF:	MOVEI Z,MOCIL-1
	JRST QCIL3

CIGTQF:	MOVEI Z,CI41L-1
QCIL3:	MOVEM Z,TEM2
	JSER
QCIL4:	JSFDL
	JRQ
	MOVEM Z,LT
	JSAT
	MOVE T1,LT
	JSXR
	JRST QCIL4

;
SUBTTL[QSY]
Qsy:	JSPKA
	JSD
	QSYL-1

QSYSO:	JSER
	JSGSIX
	JRXR

QSYOS:	JSXX
	MOVE	T1,Z
	JRSIX

QSYAO:	JSER
	JSGSEV
	JRXR

QSYOA:	JSXX
	MOVE	T1,Z
	JSSEV
	JRQ

;;
;
 ;;
;
 SUBTTL[QSYAD]
QSYAD:	JSAE
	JRST	QSYAD1
	JSGSIX
	JSAS
	MOVE	E1,T1
	JSGT
	JCIA
	SKIPN	Z
	CALLI	Z,30
	MOVE	E,Z
	CALLI	E,21;REASSI
	SKIPN	E
	JRAZ
	JUMPE	E1,JRAD
	JRQ


QSYAD1:	JRNAV

;;
;
 SUBTTL[syaf]
qsyex:	AOS	Z
QSYRB:	AOS	Z
QSYWF:	AOS	Z
QSYRF:	AOS	Z
qsyef:	AOS	Z
qsylf:	AOS	Z
qsysf:	AOS	Z
qsybf:	AOS	Z
qsyaf:	MOVEM	Z,PAN2
	MOVE	T1,XBDEV
	JSAE
	JRST	qsyaf1
	JSGSIX
	MOVE	Z,T1
	CALLI	Z,4
	TLC	Z,47
	TLNE	Z,47
	JRNAV
qsyaf1:	SKIPN	PAN2
	JRST	qsyaf2
	MOVEM	T1,KBBUF(PAN2)
	JRQ

qsyaf2:	MOVEI	T2,11
qsyaf3:	SOJE	T2,JRQ
	AOS	PAN2
	MOVEM	T1,KBBUF(PAN2)
	JRST	qsyaf3
;;
;
 SUBTTL[QSYDI-DO]
QSYPL:	MOVEI	Z,1
	JXSKIP
QSYDI:	JTMP3A
QSYDO:	JTMP3O
QSYDIO:	MOVEM	Z,TEM5

	JSPKB
qsydif:	MOVEM	PAL21,CHAR2
	MOVEI	Z,CHANAS(PAN2)
	MOVEM	Z,CHAR1

	MOVE	PAN2,CHANAS(PAN2)
	SKIPE	PAN2
	JSBUFC
	JSNQ

	MOVE	PAL21,CHAR2
	MOVEM	PAL21,SYBUCH+INDEX-1

	MOVSI	T5,(INPUT 0,)
	JTMP3E
	MOVSI	T5,(OUTPUT 0,)
	ADD	T5,PAL2
	MOVEM	T5,SYBUIO+INDEX-1
	MOVSI	T5,(STATZ 0,)
	ADD	T5,PAL2
	ADDI	T5,20000
	MOVEM	T5,SYBUEF+INDEX-1
	ADDI	T5,740000-20000
	MOVEM	T5,SYBUST+INDEX-1
	MOVSI	T5,(CLOSE 0,)
	ADD	T5,PAL2
	MOVEM	T5,SYBUCL+INDEX-1

	MOVSI	T5,(GETSTS 0,)
	ADD	T5,PAL2
	ADDI	T5,ERBIT
	MOVEM	T5,SYBUGS+INDEX-1

	JSNQ
	JSBDN
	MOVEM	E,SYBUE0+INDEX-1
	MOVEM	E1,SYBUE1+INDEX-1
	JTMP3E
	SKIPA	E3,DIWRIT
	MOVE	E3,DIREAD
	PUSHJ	P,JSBDPW
	MOVEM	E3,SYBUE3+INDEX-1
	SETZB	E2,SYBUE2+INDEX-1

	JSGSIX
	SKIPN	T1
	MOVSI	T1,(SIXBIT	/DSK/)
	MOVEM	T1,SYBUDV+INDEX-1


	JSXX
	JFCL	;MODE TEST HERE
	MOVEM	Z,SYBUMO+INDEX-1

	JSXX
	MOVEM	Z,ARG2;BYTE POINTER IF 0 STANDARD

	JSXX
	MOVEM	Z,ARG3;INCREMENT DESIRED TO BUFFER SIZE

	MOVE	E1,SYBUDV+INDEX-1

QSYIO3:	MOVEI	Z,E
	JFCL	;UNTIL CALLI Z,101 WORKS
	MOVEI	Z,203
	ADD	Z,ARG3
	JUMPLE	Z,QSYERR
	ADD	Z,Z
	ADDI	Z,SYBUR0-1
	MOVEM	Z,ARG1

	ADD	Z,BUFLOW
	CAMLE	Z,OR2

	JSBUFO

	MOVE	PAN2,BUFLOW
	MOVE	Z,BUFLOW
	ADDI	Z,1
	MOVEI	T2,SYBUR0(PAN2)
	JTMP3E
	TLO	PAN2,1

	JFCL

	HRLI	Z,INDEX
	HRLI	T2,(BLT	Z,)
	XCT	T2

QSYIO4:	MOVE	E2,CHAR1
	AOS	E2
	JTMP3E
	HRLZ	E2,E2
	MOVSI	Z,(OPEN 0,)
	ADD	Z,PAL2
	ADDI	Z,E

	XCT	Z
	JRNAVO
	MOVSI	E,(LOOKUP 0,)
	ADD	E,PAL2
	ADDI	E,SYBUE0(PAN2)
	MOVE	Z,E
	MOVSI	PAL21,(INBUF 0,)
	ADD	PAL21,PAL2
	ADDI	PAL21,2
	TLO	E,1000
	XCT	Z
	JRST	QSYIO5
	JTMP3N
	JRST	QSYIO7
	SKIPE	TEM5
	JRST	QSYIO7
	JSBUFC
	JRNAEF

QSYIO5:	TLC	PAL21,1000
	JTMP3N
	JRST	QSYIO6
	XCT	E
	JXSKIP
	JRST	QSYIO7
QSYIO6:	JSBUFC
	JRNAV




QSYIO7:	MOVEI	T2,SYBUR0(PAN2)
	MOVEM	T2,.JBFF
	XCT	PAL21
	MOVE	T1,.JBFF
	SOS	T1
	ADD	T1,ARG3
	ADD	T1,ARG3
	MOVEM	T1,BUFLOW

	HRLZ	Z,PAN2
	AOBJN	Z,.+1
	MOVEM	Z,SYBUH1(PAN2)

	MOVE	Z,ARG2
	JUMPE	Z,QSYIO8	;STANDARD BYTE POINTER
	MOVE	T1,CHAR1
	ADDI	T1,2
	MOVEM	Z,@T1	;SPECIAL BYTE POINTER

QSYIO8:	SKIPN	ARG3
	JRST	QSYIO9

	SOS	T1
	HRRZ	T1,@T1
	HLRZ	T2,@T1
	HRRZ	T3,@T1
	ADD	T2,ARG3
	ADD	T3,ARG3
	HRLM	T2,@T1
	HRRM	T3,@T1
	HRRM	T1,@T3
	HRLM	T2,@T3

QSYIO9:	MOVE	Z,ARG1
	LSH	Z,2
	SUBI	Z,17
	HRRM	Z,SYBUH2(PAN2)
	MOVEI	Z,SYBUR0
	LSH	Z,2
	SUBI	Z,14
	HRRM	Z,SYBUH3(PAN2)

	MOVEM	PAN2,@CHAR1
	JFCL
	JRQ

QSYERR:	JRNAV

;;
;
 SUBTTL[QSYDR-DW]
QSYDR:	MOVEI	T1,DIREAD
	JXSKIP
QSYDW:	MOVEI	T1,DIWRIT
	SETZM	,@T1
	JSBDP
	MOVEM	E3,@T1
	JRQ
;;
;
 SUBTTL[QSYED]
QSYED:	JSPKB
	MOVE	PAN2,CHANAS(PAN2)
	JUMPE	PAN2,JRQ
	JXBUEF
	JXSKIP
	JRAZ
	LSH	PAL21,2
	ADDI	PAL21,CHANAS+4
	SKIPE	@PAL21
	JRAZ
	JRAD
;;
;
 SUBTTL[QSYLD-LU-LS]
QSYLD:	ADDI	Z,13
QSYLU:	ADDI	Z,3
QSYLS:	ADDI	Z,46

	MOVSI	PAL21,(CALLI	PAL2,)
	ADD	PAL21,Z
	JSER
	MOVEI	PAL2,0

QSYLS1:	XCT	PAL21
	JRNAV
	JUMPE	PAL2,JRQ

	JSAT
	MOVE	T1,PAL2
	JSSIX
	JRST	QSYLS1
;;
;
 SUBTTL[QSYMP]
QSYMP:	JSXX
	ANDI Z,777
	LSH Z,11
	HRLM Z,PNTPUN
	JRQ

;;
;
 SUBTTL[QSYMT]
QSYMT:	JSPK
	JRQ

	JSD
	SYMTL-1
SYMTQF:	MOVEI	Z,SYMTL-1
	JRST	molf2
SYMTMO:	JRNAV
SYMTIC:	AOS	Z	;101
SYMTDC:	ADDI	Z,100	;100
SYMT1:	MOVEM	Z,ARG1
	JSPKB
	MOVSI	T3,(MTAPE 0,)
	ADD	T3,PAL2
	ADD	T3,ARG1
	XCT	T3
	JRQ

SYMTWB:	ADDI	Z,10
SYMTWE:	ADDI	Z,3
	JRST	SYMT1
SYMTAE:	ADDI	Z,10
	JRST	SYMT2
SYMTAF:	ADDI	Z,10
SYMTAR:	ADDI	Z,6
SYMT2:	MOVEM	Z,ARG1
	JSPKB
	MOVSI	T3,(MTAPE 0,)
	ADD	T3,PAL2
	MOVE	T4,T3
	ADD	T3,ARG1
	XCT	T3
	XCT	T4
	JRQ

SYMTRU:	ADDI	Z,10
SYMTRL:	ADDI	Z,1
	JRST	SYMT2
SYMTBF:	ADDI	Z,10
SYMTBR:	ADDI	Z,7
	MOVEM	Z,ARG1
	JSPKB
	MOVSI	T3,(MTAPE 0,)
	ADD	T3,PAL2
	MOVE	T4,T3
	MOVE	T5,T3
	MOVE	T6,T3
	ADD	T3,ARG1
	ADDI	T5,4000
	ADDI	T6,16
	XCT	T3
	XCT	T4
	XCT	T5
	XCT	T6
	JRQ

SYMTDE:	ADDI	Z,200;800BPI
SYMTDF:	ADDI	Z,200;556BPI
SYMTDT:	ADDI	Z,201;200BPI
	JXSKIP
SYMTPE:	ADDI	Z,1100
SYMTPO:	MOVEM	Z,ARG1
	JSPKB
	MOVSI	T5,(GETSTS 0,)
	ADD	T5,PAL2
	ADDI	T5,ARG2
	XCT	T5
	MOVSI	T5,(SETSTS 0,)
	ADD	T5,PAL2
	JFCL
	JFCL
	ADD	T5,ARG1
	XCT	T5
	JRQ

;;
;
 SUBTTL[QSYPA-PB-PI-PC]
QSYPC:	TRO	Z,140000
QSYPI:	TROA	Z,100000
QSYPB:	TRO	Z,40000
QSYPA:	HRLZI	PAL21,(SIXBIT	/PUN/)
	JRST	QSYPR0
;;
;
 SUBTTL[QSYPF-PR-PS]
QSYPF:	TRO	Z,100000
QSYPR:	HRLZI	PAL21,(SIXBIT	/PNT/)

	IFNDEF	QUEUE,<	JXSKIP>
	IFDEF	QUEUE,<	JRQ>


QSYPS:	HRLZI	PAL21,(SIXBIT	/360/)

QSYPR0:	JJEPNF
	TRO	Z,400000
	HRRZ	T1,PNTPUN
	ANDI	T1,37777
	ADD	Z,T1
	MOVEM	Z,TEM1

	JSNQ
	MOVE	BASE,FLOW
	MOVE	Z,DIREAD
	SKIPN	Z
	CALLI	Z,24
	AOS	BASE
	MOVEM	Z,@BASE

IFN	LEVELC,<
QSYPR1:	JSAE
	JRST	QSYPR2

	JSBDL
	AOS	BASE
	MOVEM	E,@BASE
	AOS	BASE
	HRR	E1,TEM1
	MOVEM	E1,@BASE
	JRST	QSYPR1
	>

IFN	LEVELD,<
	MOVEM	Z,ARG1
	JSBDI
	MOVE	PAL2,BASE
QSYPR1:	JSAE
	JRST	QSYPR4

	MOVEI	E,16
	MOVEM	E,1(PAL2)
	SETZM	2(PAL2)
	HRLZI	E2,2(PAL2)
	HRRI	E2,3(PAL2)
	BLT	E2,17(PAL2)
	MOVE	Z,ARG1
	MOVEM	Z,2(PAL2)
	JSBDL
	MOVEM	E,3(PAL2)
	MOVEM	E1,4(PAL2)

	LOOKUP	CHAND,1(PAL2)
	JRST	QSYPR1
	MOVEM	E,1(PAL2)
	HRR	E1,TEM1
	MOVEM	E1,2(PAL2)
	MOVE	E1,17(PAL2)
	MOVEM	E1,3(PAL2)
	SETZM	4(PAL2)
	MOVEI	PAL2,3(PAL2)
	JRST	QSYPR1

QSYPR4:	MOVE	BASE,PAL2

	>

;;
;
 QSYPR2:	MOVE	E,PAL21
	
	MOVE	Z,[XWD	4,16]
	CALLI	Z,41
	MOVE	Z,[XWD	3,3]
	MOVEM	Z,PAL21
	MOVE	T1,[XWD	15,16]
	CALLI	T1,41
	HRLZI	T1,(SIXBIT	/DSK/)

	MOVEI	Z,17
	SETZ	T2,
	OPEN	CHAND,Z
	JRNAV
	JXSKIP

QSYPR3:	AOS	E
	MOVSI	E1,(SIXBIT	/TMP/)
	SETZI	E2,
	MOVE	E3,PAL21
	LOOKUP	CHAND,E
	JXSKIP
	JRST	QSYPR3

	MOVE	T1,FLOW
	JSBDF
	JRQ
;;
;
 SUBTTL[QSYPP]
QSYPP:	JSXX
	ANDI	Z,777
	HRRZ	T1,PNTPUN
	ANDI	T1,37000
QSYPP1:	ADD	Z,T1
	HRRM	Z,PNTPUN
	JRQ

SUBTTL[QSYPQ]
QSYPQ:	JSXX
	ANDI	Z,37
	HRRZ	T1,PNTPUN
	ANDI	T1,777
	LSH	Z,11
	JRST	QSYPP1


SUBTTL[QSYQB]
QSYQB:	MOVE	T1,ERBIT
	JJEPNF
	SETZM	ERBIT
	JRXR

;;
;
 SUBTTL[QSYQD]
QSYQD:	JSNQ
	JSER
	JSGSIX
	CALLI	T1,4
	JRXR

SUBTTL[QSYQF]
QSYQF:	MOVEI	Z,QSYL-1
	JRST	molf2

SUBTTL[QSYQP]
QSYQP:	HLRZ T1,PNTPUN
	LSH T1,-^D9
	JRXR

SUBTTL[QSYQR-QW]
QSYQR:	SKIPA	T1,DIREAD
QSYQW:	MOVE	T1,DIWRIT
	JUMPE	T1,CI24
	JRPPN



SUBTTL[QSYRD]
QSYRD:	JRNAV


QSYSD:	JRNAV
SUBTTL[QSYSN]
QSYSN:	JSR9
	MOVEM	Z,CSEQNO
	JRQ
;;
;
 SUBTTL[QSYTC]
QSYTC:	JSPK
	JRQ
	JSD
	SYTCL-1

SYTCQF:	MOVEI	Z,SYTCL-1
	JRST	molf2

SYTCFS:	CALLI	Z,44
	JRNAV
	MOVE	T1,Z
	JRXR

SYTCRF:	JRNAV

SYTCDF:	JRNAV

SYTCWF:	JRNAV

SYTCRD:	JRNAV

SYTCCD:	JRNAV

SUBTTL[BYTEPOINTERS]
ZP20:	POINT 9,@PAL2,^D8
ZP21:	POINT 9,@PAL2,^D17
ZP22:	POINT 9,@PAL2,^D26
ZP23:	POINT 9,@PAL2,^D35

ZT10:	POINT 9,@T1,^D8
ZT11:	POINT 9,@T1,^D17
ZT12:	POINT 9,@T1,^D26
ZT13:	POINT 9,@T1,^D35

ZT50:	POINT 9,(T5),^D8
	POINT 9,(T5),^D17
	POINT 9,(T5),^D26
	POINT 9,(T5),^D35

;;
;
 SUBTTL[LNST]
LNST:	EXP NSTL-1
	EXP -6
NSTL:	EXP 74
	EXP "a"
	EXP "r"
	EXP "1"
	EXP "0"
	EXP 76

GL:	0
	EXP -^D100000000000
	EXP -^D10000000000
	EXP -^D1000000000
	EXP -^D100000000
	EXP -^D10000000
	EXP -^D1000000
Kqrn:	EXP -^D100000
	EXP -^D10000
	EXP -^D1000
	EXP -^D100
	EXP -^D10
	EXP -^D1
GX:	0
	EXP -100000000000
	EXP -10000000000
	EXP -1000000000
	EXP -100000000
	EXP -10000000
	EXP -1000000
	EXP -100000
	EXP -10000
	EXP -1000
	EXP -100
	EXP -10
	EXP -1
GXL:	EXP 0

K400K:	400000000000
K500K:	500000000000
K600K:	600000000000
K700K:	700000000000

;;
;
 SUBTTL[LIT]

	LIT


;;
;
 SUBTTL[LOWPOINT]
	IFN PURE,<LOC 140>

BUFTOP:	BLOCK 1;	END OF BUFFER ZONE
BUFLOW:	BLOCK 1;	LIMIT OF BUFFER ZONE
OR2:	BLOCK 1;	START OF WORKING AREA
LOW:	BLOCK 1
FTOP:	BLOCK 1
FLOW:	BLOCK 1
END:	BLOCK 1


qqofQ:	BLOCK 1;	OVERFLOW INFO
PEL:	BLOCK 1;	SO-1, EXPRESSION LEFT END
PFL:	BLOCK 1;	WORKING STRING WRITE POINTER
PAE:	BLOCK 1;	SO+12, END OF WORK AREA
PWR:	BLOCK 1;	SE-1, TOP LIMIT FOR PFL


PFI:	BLOCK 1;	POINTER FORM INTERNAL
PFF:	BLOCK 1;	POINTER FORM FORM
PFN:	BLOCK 1;	POINTER FORM NAME



RUNTIM:	BLOCK 1;	RUNTIME
LPUSH:	BLOCK 40;	START OF PUSH AND POP LIST
	KPUSH=.-LPUSH;	LENGTH OF PUSH POP LIST

;;
;
 SUBTTL[LOWTEMP]
CHAR1:	BLOCK 1;	TEMP-FORM  LEFT LIMIT
CHAR2:	BLOCK 1;	TEMP-FORM RIGHT LIMIT
LT:	BLOCK 1;	TEMP - (LENGTH OF BLOCK ON DISC IN 8 VERSION)
C:	BLOCK 1;	CHARACTER RETURNED HERE IN I/O

ARG1:	BLOCK 1;	TEMP LOC
ARG2:	BLOCK 1
ARG3:	BLOCK 1

TEM1:	BLOCK 1
TEM2:	BLOCK 1
TEM3:	BLOCK 1
TEM4:	BLOCK 1;	MORE TEMPS
TEM5:	BLOCK 1
TEM6:	BLOCK 1
PALPAL:	BLOCK 1;	SAVED PAL
ADS32:	BLOCK 1;	USED FOR SWITCH XCT
ADS33:	BLOCK 1;	DITTO
TCECNT:	BLOCK 1;	COUNTER FOR TRACE

S1S2:	BLOCK 1;	CURRENT FUNCTION
S3S4:	BLOCK 1
LNBTS:	BLOCK 1;	L/H CURRENT GETLCH, R/H STATUS OF TTY (LEVELD)
TTSTAT:	BLOCK 1;	L/H GETLCH AT ENTRY TO PRO, R/H SPARE
ZERO:	BLOCK 1;	COUNTER OF ARITHMETIC ARGUMENTS

;;
;
 SUBTTL[LOWINIT]

;FOLLOWING ZONE SETUP AT INITIALIZATION TIME AND ON RESET

KKYN:	BLOCK 1;	NAME OF SCE TRAP FORM
DIREAD:	BLOCK 1;	SOURCE DIRECTORY
DIWRIT:	BLOCK 1;	DESTINATION DIRECTORY

CWCTAB:
CWCSA:	BLOCK 1
CWCSN:	BLOCK 1
CWCSE:	BLOCK 1
CWCSP:	BLOCK 1
CWCMB:	BLOCK 1
CWCMA:	BLOCK 1
CWCMN:	BLOCK 1
CWCAS:	BLOCK 1
CWCQC:	BLOCK 1
CWCIC:	BLOCK 1
CWCBQ:	BLOCK 1
CWCEQ:	BLOCK 1
CWCBP:	BLOCK 1
CWCEP:	BLOCK 1
CWCBA:	BLOCK 1
CWCEA:	BLOCK 1
CWCAST:	BLOCK 1
CWCDOL:	BLOCK 1

;
SYN:	   ;	USER'S RESTART EXPRESSION
CPSN:	BLOCK 1;	&
	BLOCK 1;	o
	BLOCK 1;	s
CPCM:	BLOCK 1;	,
SYN1:	BLOCK 1;	%
SYNR:	BLOCK 1;	i
	BLOCK 1;	s
CPRP:	BLOCK 1;	/
CPRP1:	BLOCK 1;	/
MCH:	BLOCK 2;	ACTIVATOR AND END OF TABLE

SPRWD1:	BLOCK 1
SPRWD2:	BLOCK 1
CESCAP:	BLOCK 1;	CURRENT CHAR. DENOTING ESCAPE FOR INPUT
RIXBIX:	BLOCK 1;	"N" AND "X" RADICES

RUBOUC:	BLOCK 1;	SPARE
RUBOUT:	BLOCK 1;	CURRENT RUBOUT CODE
CSEQNO:	BLOCK 1;	CHARACTER MARKER FOR S/N BIT
TM2:	BLOCK 1;	USED BY %iw,n/ INPUT TIMER
LNMOXR:	BLOCK 1;	 XR LINE LENGTH
BSEK:	BLOCK 1;	-260 ASCII BASE OF ARITHMETIC
PNTPUN:	BLOCK 1;	R PRINT/PUNCH PARAM PROT
CLINEL:	BLOCK 1;	 CONSTANT FOR LINE LENGTH
CVERTL:	BLOCK 1;	PAGE HEIGHT CONSTANT
TTYPVT:	BLOCK 1;	TYPE OF TERMINAL
TTYCON:	BLOCK 1;	CONTROL ON TERMINAL	
DFILEX:	BLOCK 1;	FILE EXT CONTROL
DSK1:	BLOCK 2;	INCLUDES ZERO FILE
sybuos:	BLOCK 1;	OS VT OUTPUT DEVICE
sybuis:	BLOCK 1;	IS IC ID IM INPUT DEVICE
CHANSP:	BLOCK 10;	CHANNEL ASSIGNMENT CONTROL REGISTERS
KBSTAT:	BLOCK 1;	SPEC FOR BF/SF/EF/LF/
KBDEV:	BLOCK 1;	ACTIVE DEVICE ON CHAND
KBBUF:	BLOCK 1;	IO BUFFER SPEC
kdevbf:	BLOCK 1;	BF DEVICE
kdevsf:	BLOCK 1;	SF DEVICE
kdevlf:	BLOCK 1;	LF DEVICE
kdevef: BLOCK 1;	EF DEVICE
kdevrf:	BLOCK 1;	RF DEVICE
kdevwf:	BLOCK 1;	WF DEVICE


kdevrb:	BLOCK 1;	UF DEVICE
kdevex:	BLOCK 1;	EX DEVICE
;;
;
 SUBTTL[LOWBUF]

CLINE:	BLOCK	1;CURRENT CHAR. POS. ON LINE
CVERT:	BLOCK	1;CURRENT LINE POS. ON PAGE
GETHLD:	BLOCK	1
ERBIT:	BLOCK	1;ERROR BITS FROM GETSTS
RM:	BLOCK	1;RANDOM NUMBER CELL
KWITCH:	BLOCK	1;SWITCH AUXILIARY



INDEX:	BLOCK	200
ZCNTRS:	BLOCK	12; "Z" REGISTERS FOR ZQ,ZI,ZS,ZD

CHANAS:	BLOCK	4*SYCHBK;CHANNEL HEADERS

TTOBUF:	BLOCK	100;BUFFERED OUTPUT BUFFER RING

;;
;
 DATAE:	END BEGIN
;;
;