Google
 

Trailing-Edge - PDP-10 Archives - decuslib10-03 - 43,50320/scat2.lst
There are no other files named scat2.lst in the archive.
SCAT2 STANDARD COMPLEX ALGEBRA TRANSLATER  V.2.	MACRO 47(116)-2 09:33 27-MAR-74 PAGE 1
SDEC	MAC	27-MAR-74 09:33		ACCUMULATOR DEFINITIONS

     1					TITLE SCAT2 STANDARD COMPLEX ALGEBRA TRANSLATER  V.2.
     2					SUBTTL ACCUMULATOR DEFINITIONS
     3
     4	400000'					TWOSEG
     5 
     6			000001			VCODE==1
     7			000002			VMAJOR==2
     8			000003			VMINOR==3
     9			000062			VEDIT==62
    10 
    11
    12			000000			T0==0	 ;TEMPORARY ACS FOR LOCAL USE
    13			000001			T1==1
    14			000002			T2==2
    15			000003			T3==3
    16			000004			T4==4
    17			000005			T5==5
    18			000006			G1==6	 ;GLOBALS FOR PASSING ARGS BETWEEN S/R'S
    19			000007			G2==7
    20			000010			G3==10	 ;COUNT ON LINE
    21			000011			A1==11	 ;ARITHMETIC REGISTERS
    22			000012			A2==12
    23			000013			A3==13
    24			000014			A4==14
    25			000015			PS1==15  ;STACK POINTERS
    26			000016			PS2==16
    27			000017			PSB==17
    28			000016			L==16	 ;LINK REGISTER
    29			000011			F1==A1	 ;FLAGS NEEDED DURING DECODING
    30			000012			F2==A2
    31			000014			T6==A4	 ;EXTRA TEMP NEEDED DURING DECODING
    32 
    33					INTERN .JBVER
    34			000137		.JBVER==137
    35	000137				LOC .JBVER
    36	000137	1 002 03 000062		BYTE (3)VCODE(9)VMAJOR(6)VMINOR(18)VEDIT
    37 
    38
    39	000000'					RELOC	 0
    40	400000'					RELOC	 400000
    41
    42
    43
    44					PAGE

SCAT2 STANDARD COMPLEX ALGEBRA TRANSLATER  V.2.	MACRO 47(116)-2 09:33 27-MAR-74 PAGE 2
SDEC	MAC	27-MAR-74 09:33		INITIALISATION

    45					SUBTTL INITIALISATION
    46
    47	400000'	047 00 0 00 000000	START:	RESET
    48	400001'	200 17 0 00 401541'		MOVE	PSB,	[IOWD	100,	SUBSTK]
    49
    50	400002'	402 00 0 00 000000'		SETZM		  VARTAB   ;ZERO VARTAB TO IMAG
    51	400003'	200 00 0 00 401542'		MOVE	 T0,	  [XWD	   VARTAB,VARTAB+1]
    52	400004'	251 00 0 00 000167'		BLT	 T0,	  S1-1
    53 
    54						OUTSTR		[ASCIZ /SCAT (26-MAR-74) READY
    55					 
    56	400005'	051 03 0 00 401543'	/]
    57
    58					PAGE

SCAT2 STANDARD COMPLEX ALGEBRA TRANSLATER  V.2.	MACRO 47(116)-2 09:33 27-MAR-74 PAGE 3
SDEC	MAC	27-MAR-74 09:33		NEW COMMAND INITIALISATION

    59					SUBTTL NEW COMMAND INITIALISATION
    60
    61	400006'	402 00 0 00 000170'	NEWCOM: SETZM		  S1	   ;ZERO S1 TO WFROM
    62	400007'	200 00 0 00 401551'		MOVE	 T0,	  [XWD	   S1,	    S1+1]
    63	400010'	251 00 0 00 000473'		BLT	 T0,	  WFROM
    64	400011'	400 10 0 00 000010		SETZ	G3, 	G3	   ;ZERO LINE COUNT
    65	400012'	200 11 0 00 401552'		MOVE	 F1,	  [23,,23]	;SET CHECK FLAGS
    66	400013'	255 17 0 00 400014'		JFCL	17,	.+1	;CLEAR ERROR FLAGS
    67
    68	400014'	200 15 0 00 401553'		MOVE	 PS1,	  [IOWD    100,     S1]      ;SET UP STACK POINTERS
    69	400015'	200 16 0 00 401554'		MOVE	 PS2,	  [IOWD    100,     S2]
    70	400016'	200 17 0 00 401541'		MOVE	 PSB,	  [IOWD    100,     SUBSTK]
    71
    72	400017'	051 01 0 00 401555'		OUTCHR		  ["*"]    ;INDICATE READY
    73	400020'	271 10 0 00 000001		ADDI	G3,	1	;POSITION ON LINE
    74
    75					PAGE

SCAT2 STANDARD COMPLEX ALGEBRA TRANSLATER  V.2.	MACRO 47(116)-2 09:33 27-MAR-74 PAGE 4
SDEC	MAC	27-MAR-74 09:33		INPUT AND DECODING

    76					SUBTTL INPUT AND DECODING
    77
    78	400021'	260 17 0 00 401053'	INNOC:	PUSHJ	 PSB,	  GETCHR   ;HERE IF NO CHAR READY
    79	400022'				INMITC: 			   ;HERE IF ALREADY HAVE CHAR
    80	400022'	260 17 0 00 401346'		PUSHJ	 PSB,	  SKCHCK   ;IS THIS ONE WANTED
    81	400023'	254 00 0 00 400030'		JRST		  .+5	   ;NO
    82	400024'	301 00 0 00 000101		CAIL	 T0,	  "A"	   ;IS IT A LETTER?
    83	400025'	303 00 0 00 000132		CAILE	 T0,	  "Z"
    84	400026'	334 00 0 00 000000		SKIPA			      ;NO
    85	400027'	254 00 0 00 400065'		JRST		  LETTER   ;YES A LETTER
    86
    87	400030'	260 17 0 00 401346'		PUSHJ	 PSB,	  SKCHCK   ;IS THIS ONE WANTED
    88	400031'	254 00 0 00 400034'		JRST		  .+3	   ;NO
    89	400032'	306 00 0 00 000050		CAIN	 T0,	  "("	   ;COMPLEX NO.?
    90	400033'	254 00 0 00 400072'		JRST		  CNUMBR   ;YES
    91
    92	400034'	260 17 0 00 401346'		PUSHJ	 PSB,	  SKCHCK   ;IS THIS ONE WANTED
    93	400035'	254 00 0 00 400046'		JRST		  .+9	   ;NO
    94	400036'	302 00 0 00 000052		CAIE	 T0,	  "*"	   ;AN OPERATOR?
    95	400037'	306 00 0 00 000057		CAIN	 T0,	  "/"
    96	400040'	254 00 0 00 400077'		JRST		  OPR	   ;YES *,/
    97	400041'	302 00 0 00 000053		CAIE	 T0,	  "+"
    98	400042'	306 00 0 00 000055		CAIN	 T0,	  "-"
    99	400043'	254 00 0 00 400077'		JRST		  OPR	   ;YES +,-
   100	400044'	306 00 0 00 000136		CAIN	 T0,	  "^"
   101	400045'	254 00 0 00 400077'		JRST		  OPR	   ;YES ^
   102	400046'	606 00 0 00 777626		TRNN	T0,	777626
   103	400047'	254 00 0 00 400077'		JRST		OPR
   104
   105	400050'	260 17 0 00 401346'		PUSHJ	 PSB,	  SKCHCK   ;IS THIS ONE WANTED
   106	400051'	254 00 0 00 400054'		JRST	 	.+3	   ;NO
   107	400052'	306 00 0 00 000137		CAIN	 T0,	  "_"	;ASSIGNMENT?
   108	400053'	254 00 0 00 400120'		JRST		  ASSIGN
   109	400054'	260 17 0 00 401346'		PUSHJ	 PSB,	  SKCHCK   ;IS THIS ONE WANTED
   110	400055'	254 00 0 00 400060'		JRST		  .+3	   ;NO
   111	400056'	306 00 0 00 000133		CAIN	 T0,	  "["	;BRACE?
   112	400057'	254 00 0 00 400115'		JRST		  BRACE    ;YES
   113
   114	400060'	260 17 0 00 401346'		PUSHJ	 PSB,	  SKCHCK   ;IS THIS ONE WANTED
   115	400061'	254 00 0 00 400064'		JRST		  .+3
   116	400062'	306 00 0 00 000135		CAIN	 T0,	  "]"	   ;LAST CHANCE
   117	400063'	254 00 0 00 400123'		JRST		  BACBRA   ;WHEW
   118
   119	400064'	254 00 0 00 400143'		JRST		  PROCIG   ;NAUGHTY, NAUGHTY
   120
   121					PAGE

SCAT2 STANDARD COMPLEX ALGEBRA TRANSLATER  V.2.	MACRO 47(116)-2 09:33 27-MAR-74 PAGE 5
SDEC	MAC	27-MAR-74 09:33		PROCESS EACH TYPE  OF INPUT

   122					SUBTTL PROCESS EACH TYPE  OF INPUT
   123
   124					; A VARIABLE NAME **********
   125
   126	400065'	260 17 0 00 401066'	LETTER: PUSHJ	 PSB,	  CONST    ;GET ITS VALUE OR STACK IT
   127	400066'	261 16 0 00 000007		PUSH	 PS2,	  G2	   ;NO ASSIGNMENT
   128	400067'	261 16 0 00 000006		PUSH	 PS2,	  G1	   ;ASSIGNMENT - IMAG PART
   129	400070'	200 11 0 00 401556'		MOVE	 F1,	  [54,,54]
   130	400071'	254 00 0 00 400022'		JRST		  INMITC   ;BACK FOR NEXT PROCESS
   131
   132					; A COMPLEX PAIR **********
   133
   134	400072'	260 17 0 00 401142'	CNUMBR: PUSHJ	 PSB,	  RCPAIR   ;GET ITS VALUE
   135	400073'	261 16 0 00 000006		PUSH	 PS2,	  G1	   ;REAL PART
   136	400074'	261 16 0 00 000007		PUSH	 PS2,	  G2	   ;IMAG PART
   137	400075'	200 11 0 00 401557'		MOVE	 F1,	  [44,,44]
   138	400076'	254 00 0 00 400021'		JRST		  INNOC    ;NEXT ONE
   139
   140					; AN OPERATOR **********
   141
   142	400077'	603 15 0 00 000077	OPR:	TLNE	PS1,	77	;IS S1 EMPTY?
   143	400100'	254 00 0 00 400104'		JRST		NOTEMP	;NO
   144	400101'	261 15 0 00 000000	FALLEV: PUSH	 PS1,	  T0	   ;YES  OR LEVEL TEST FALSE
   145	400102'	200 11 0 00 401552'		MOVE	 F1,	  [23,,23]
   146	400103'	254 00 0 00 400111'		JRST		  OPRET
   147	400104'	260 17 0 00 401312'	NOTEMP: PUSHJ	 PSB,	  LEV	   ;IS CHAR LEV .LE. TOP S1
   148	400105'	254 00 0 00 400101'		JRST		  FALLEV   ;NO
   149	400106'	262 15 0 00 000001		POP	 PS1,	  T1	   ;YES
   150	400107'	261 16 0 00 000001		PUSH	 PS2,	  T1
   151	400110'	254 00 0 00 400077'		JRST		  OPR	   ;TRY AGAIN
   152	400111'	602 00 0 00 777626	OPRET:	TRNE	T0,	777626
   153	400112'	254 00 0 00 400021'		JRST		INNOC
   154	400113'	201 00 0 00 000133		MOVEI	T0,	"["
   155	400114'	254 00 0 00 400115'		JRST		BRACE
   156
   157					;AN OPENING BRACE OR ASSIGNMENT **********
   158
   159	400115'	261 15 0 00 000000	BRACE:	PUSH	 PS1,	  T0	   ;PUT IT AWAY
   160	400116'	200 11 0 00 401560'		MOVE	 F1,	  [63,,63]
   161	400117'	254 00 0 00 400021'		JRST		  INNOC    ;GET NEXT ONE
   162
   163					;  ASSIGNMENT **********
   164
   165	400120'	261 15 0 00 000000	ASSIGN:	PUSH	PS1,	T0	;PUT ON STACK
   166	400121'	200 11 0 00 401552'		MOVE	F1,	[23,,23]
   167	400122'	254 00 0 00 400021'		JRST		INNOC	;RETURN
   168
   169					; A CLOSING BRACE **********
   170
   171	400123'	200 11 0 00 401557'	BACBRA:	MOVE	F1,	[44,,44]
   172	400124'	607 15 0 00 000077	BACB1:	TLNN	PS1,	77	;IS S1 EMPTY?
   173	400125'	254 00 0 00 400133'		JRST		UNB	;YES
   174	400126'	262 15 0 00 000001		POP	PS1,	T1	;NO

SCAT2 STANDARD COMPLEX ALGEBRA TRANSLATER  V.2.	MACRO 47(116)-2 09:33 27-MAR-74 PAGE 5-1
SDEC	MAC	27-MAR-74 09:33		PROCESS EACH TYPE  OF INPUT

   175	400127'	306 01 0 00 000133		CAIN	T1,	"["	;IS IT [
   176	400130'	254 00 0 00 400021'		JRST		INNOC	;YES
   177	400131'	261 16 0 00 000001		PUSH	PS2,	T1	;NO - PUT IT ON S2
   178	400132'	254 00 0 00 400124'		JRST	BACB1		;TRY AGAIN
   179	400133'	505 10 0 00 000011	UNB:	HRLI	G3,	9	;UNB PARENTHESES
   180	400134'	271 10 0 00 000001		ADDI	G3,	1
   181	400135'	254 00 0 00 400751'		JRST		ERRH
   182	400136'	505 10 0 00 000011	UNB1:	HRLI	G3,	9	;ENTER ERROR HANDLER
   183	400137'	550 05 0 00 000010		HRRZ	T5,	G3	; AT ERPRNT
   184	400140'	554 04 0 00 000010		HLRZ	T4,	G3
   185	400141'	200 03 0 00 401561'		MOVE	T3,	[-1]
   186	400142'	254 00 0 00 400757'		JRST		ERPRNT
   187
   188					; HERE FOR OTHER CHARACTERS **********
   189
   190	400143'	306 00 0 00 000012	PROCIG: CAIN	 T0,	  12	   ;IS IT <LF>
   191	400144'	254 00 0 00 400157'		JRST		  POSFIN   ;YES
   192
   193	400145'	306 00 0 00 000040		CAIN	 T0,	  " "	   ;IGNORE BLANKS
   194	400146'	254 00 0 00 400154'		JRST		  BLPRC
   195
   196	400147'	306 00 0 00 000015		CAIN	T0,	15	;IGNORE CR IN ANTICIPATION
   197	400150'	254 00 0 00 400021'		JRST		INNOC	; OF LF
   198 
   199	400151'	505 10 0 00 000001		HRLI	 G3,	  1	   ;OTHER IS ILLEGAL
   200	400152'	271 10 0 00 000001		ADDI	G3,	1
   201	400153'	254 00 0 00 400751'		JRST		  ERRH	   ;JUMP TO ERROR HANDLER
   202
   203	400154'	242 11 0 00 777764	BLPRC:	LSH	 F1,	  ^D-12	;RESTORE FLAG
   204	400155'	504 11 0 00 000011		HRL	F1,	F1	; AND DUPLICATE
   205	400156'	254 00 0 00 400021'		JRST		  INNOC
   206
   207					; HERE FOR END OF POSTFIX STRING **********
   208
   209	400157'	607 15 0 00 000077	POSFIN:	TLNN	PS1,	77	;S1 EMPTY
   210	400160'	254 00 0 00 400166'		JRST		POSTR	;YES
   211	400161'	262 15 0 00 000002		POP	 PS1,	  T2	   ;NO TRANSFER S1 TO S2
   212	400162'	306 02 0 00 000133		CAIN	T2,	"["	;IF [ APPEARS IT
   213	400163'	254 00 0 00 400136'		JRST		UNB1	; IS UNBAL.
   214	400164'	261 16 0 00 000002		PUSH	 PS2,	  T2
   215	400165'	254 00 0 00 400157'		JRST		  POSFIN   ;TRY AGAIN
   216 
   217					; TRANSFER WHOLE STRING TO S1
   218					;  IN REVERSE ORDER
   219 
   220
   221	400166'	607 16 0 00 000077	POSTR:	TLNN	PS2,	77	;S2 EMPTY?
   222	400167'	254 00 0 00 400173'		JRST	PROCES		;YES
   223	400170'	262 16 0 00 000000		POP	PS2,	T0	;EXCHANGE
   224	400171'	261 15 0 00 000000		PUSH	PS1,	T0
   225	400172'	254 00 0 00 400166'		JRST		POSTR
   226 
   227					PAGE

SCAT2 STANDARD COMPLEX ALGEBRA TRANSLATER  V.2.	MACRO 47(116)-2 09:33 27-MAR-74 PAGE 6
SDEC	MAC	27-MAR-74 09:33		PROCESSING OF POLISH STRING

   228					SUBTTL PROCESSING OF POLISH STRING
   229
   230					;
   231					; NOW WE HAVE A POLISH STRING IN S1 TO EXECUTE
   232					;
   233	400173'	400 01 0 00 000001	PROCES: SETZ	 T1,	T1	   ;ZERO ACS 0-14
   234	400174'	200 00 0 00 401562'		MOVE	 T0,	  [XWD	   T1,	    T2]
   235	400175'	251 00 0 00 000014		BLT	 T0,	  A4
   236 
   237 
   238					;
   239					; PREPARE TO DO ARITHMETIC
   240					;
   241 
   242	400176'	607 15 0 00 000077	TPOP:	TLNN	PS1,	77	;S1 EMPTY?
   243	400177'	254 00 0 00 400507'		JRST		RESOUT	;YES
   244	400200'	262 15 0 00 000000		POP	PS1,	T0	;GET TOP CHAR
   245 
   246	400201'	306 00 0 00 000053		CAIN	T0,	"+"	;IS IT +
   247	400202'	254 00 0 00 400222'		JRST		CPL
   248 
   249	400203'	306 00 0 00 000055		CAIN	T0,	"-"	;IS IT 	-
   250	400204'	254 00 0 00 400227'		JRST		CMIN
   251 
   252	400205'	306 00 0 00 000057		CAIN	T0,	"/"	;IS IT /
   253	400206'	254 00 0 00 400253'		JRST		CDIV
   254 
   255	400207'	306 00 0 00 000052		CAIN	T0,	"*"	;IS IT *
   256	400210'	254 00 0 00 400234'		JRST		CMUL
   257 
   258	400211'	306 00 0 00 000136		CAIN	T0,	"^"	;IS IT ^
   259	400212'	254 00 0 00 400301'		JRST		CUP
   260 
   261	400213'	306 00 0 00 000137		CAIN	T0,	"_"	;IS IT _
   262	400214'	254 00 0 00 400314'		JRST		CASS
   263 
   264	400215'	550 01 0 00 000000		HRRZ	T1,	T0
   265	400216'	306 01 0 00 000151		CAIN	T1,	151
   266	400217'	254 00 0 00 400337'		JRST		FUNCTH
   267 
   268 
   269	400220'	261 16 0 00 000000		PUSH	PS2,	T0	;MUST BE NO.
   270	400221'	254 00 0 00 400176'		JRST		TPOP
   271 
   272 
   273					PAGE 

SCAT2 STANDARD COMPLEX ALGEBRA TRANSLATER  V.2.	MACRO 47(116)-2 09:33 27-MAR-74 PAGE 7
SDEC	MAC	27-MAR-74 09:33		DO ARITHMETIC

   274					SUBTTL DO ARITHMETIC
   275 
   276					; DO ADDITION
   277 
   278	400222'	260 17 0 00 401505'	CPL:	PUSHJ	PSB,	GET4	;UNSTACK LAST VALUES
   279	400223'	144 11 0 00 000013		FADR	A1,	A3
   280	400224'	144 12 0 00 000014		FADR	A2,	A4
   281	400225'	260 17 0 00 401512'		PUSHJ	PSB,	STOR2	;PUT BACK
   282	400226'	254 00 0 00 400176'		JRST		TPOP
   283 
   284					; DO SUBTRACTION
   285 
   286	400227'	260 17 0 00 401505'	CMIN:	PUSHJ	PSB,	GET4	; UNSTACK LAST VALUES
   287	400230'	154 11 0 00 000013		FSBR	A1,	A3	; SUBTRACT
   288	400231'	154 12 0 00 000014		FSBR	A2,	A4
   289	400232'	260 17 0 00 401512'		PUSHJ	PSB,	STOR2	;RE-STORE
   290	400233'	254 00 0 00 400176'		JRST		TPOP
   291 
   292					; DO MULTIPLICATION
   293 
   294	400234'	260 17 0 00 401505'	CMUL:	PUSHJ	PSB,	GET4
   295	400235'	200 01 0 00 000011		MOVE	T1,	A1	;DO REAL PART
   296	400236'	164 01 0 00 000013		FMPR	T1,	A3
   297	400237'	200 02 0 00 000012		MOVE	T2,	A2
   298	400240'	164 02 0 00 000014		FMPR	T2,	A4
   299	400241'	154 01 0 00 000002		FSBR	T1,	T2	;REAL PART IN T1
   300 
   301	400242'	200 02 0 00 000012		MOVE	T2,	A2	;DO IMAG PART
   302	400243'	164 02 0 00 000013		FMPR	T2,	A3
   303	400244'	200 03 0 00 000011		MOVE	T3,	A1
   304	400245'	164 03 0 00 000014		FMPR	T3,	A4
   305	400246'	144 02 0 00 000003		FADR	T2,	T3	;IMAG PART IN T2
   306 
   307	400247'	200 11 0 00 000001		MOVE	A1,	T1	;PUT THEM AWAY
   308	400250'	200 12 0 00 000002		MOVE	A2,	T2
   309	400251'	260 17 0 00 401512'		PUSHJ	PSB,	STOR2
   310	400252'	254 00 0 00 400176'		JRST		TPOP
   311 
   312					; DO DIVISION
   313 
   314	400253'	260 17 0 00 401505'	CDIV:	PUSHJ	PSB,	GET4
   315	400254'	200 00 0 00 000013		MOVE	T0,	A3	;GET DIVISOR
   316	400255'	164 00 0 00 000013		FMPR	T0,	A3	;SQUARE
   317	400256'	200 01 0 00 000014		MOVE	T1,	A4
   318	400257'	164 01 0 00 000014		FMPR	T1,	A4	;SQUARE
   319	400260'	144 00 0 00 000001		FADR	T0,	T1	;ADD
   320 
   321	400261'	200 01 0 00 000011		MOVE	T1,	A1	;DO REAL PART
   322	400262'	164 01 0 00 000013		FMPR	T1,	A3
   323	400263'	200 02 0 00 000012		MOVE	T2,	A2
   324	400264'	164 02 0 00 000014		FMPR	T2,	A4
   325	400265'	144 01 0 00 000002		FADR	T1,	T2	;REAL IN T1
   326 

SCAT2 STANDARD COMPLEX ALGEBRA TRANSLATER  V.2.	MACRO 47(116)-2 09:33 27-MAR-74 PAGE 7-1
SDEC	MAC	27-MAR-74 09:33		DO ARITHMETIC

   327	400266'	200 02 0 00 000012		MOVE	T2,	A2	;DO IMAG PART
   328	400267'	164 02 0 00 000013		FMPR	T2,	A3
   329	400270'	200 03 0 00 000011		MOVE	T3,	A1
   330	400271'	164 03 0 00 000014		FMPR	T3,	A4
   331	400272'	154 02 0 00 000003		FSBR	T2,	T3	;IMAG IN T2
   332 
   333	400273'	174 01 0 00 000000		FDVR	T1,	T0	;DIVIDE
   334	400274'	174 02 0 00 000000		FDVR	T2,	T0
   335	400275'	200 11 0 00 000001		MOVE	A1,	T1	;AND PUT AWAY
   336	400276'	200 12 0 00 000002		MOVE	A2,	T2
   337	400277'	260 17 0 00 401512'		PUSHJ	PSB,	STOR2
   338	400300'	254 00 0 00 400176'		JRST		TPOP
   339 
   340					; DO EXPONENTIATION
   341 
   342	400301'	260 17 0 00 401505'	CUP:	PUSHJ	PSB,	GET4
   343	400302'	202 16 0 00 000503'		MOVEM	L,	SAVL	;SAVE 16
   344	400303'	201 16 0 00 000013		MOVEI	L,	A3	;POINTER TO POWER
   345	400304'	200 00 0 00 000011		MOVE	T0,	A1	;BASE IN T0,T1
   346	400305'	200 01 0 00 000012		MOVE	T1,	A2
   347	400306'	260 17 0 00 000000*		PUSHJ	PSB,	CEXP.3##	;SYSTEM ROUTINE
   348	400307'	200 16 0 00 000503'		MOVE	L,	SAVL	;RESTORE L
   349	400310'	200 11 0 00 000000		MOVE	A1,	T0	;RESULT IN T0,T1
   350	400311'	200 12 0 00 000001		MOVE	A2,	T1
   351	400312'	260 17 0 00 401512'		PUSHJ	PSB,	STOR2	;STORE
   352	400313'	254 00 0 00 400176'		JRST		TPOP
   353 
   354					; DO ASSIGNMENT
   355 
   356	400314'	260 17 0 00 401507'	CASS:	PUSHJ	PSB,	GET2	;GET TWO VALUES
   357	400315'	262 16 0 00 000001		POP	PS2,	T1	;VAR NAME
   358	400316'	260 17 0 00 401352'		PUSHJ	PSB,	WR6STR	;WRITE O/P
   359	400317'	476 00 0 00 000470'		SETOM		ASSFLG	;SET FLAG
   360	400320'	211 06 0 00 000050		MOVNI	G1,	50	;COUNTER
   361 
   362	400321'	200 00 0 06 000050'	ASSLOP:	MOVE	T0,	VARTAB+50(G1)	;SEARCH VARTAB
   363	400322'	316 00 0 00 000001		CAMN	T0,	T1	;FOR VARIABLE
   364	400323'	254 00 0 00 400333'		JRST		ASSFND
   365	400324'	322 00 0 00 400332'		JUMPE	T0,	ASSNFD	;OR NULL
   366	400325'	341 06 0 00 400321'		AOJL	G1,	ASSLOP
   367 
   368	400326'	201 05 0 00 000000		MOVEI	T5,	0	;ERROR IF OUT END
   369	400327'	201 04 0 00 000007		MOVEI	T4,	7
   370	400330'	201 03 0 00 401561'		MOVEI	T3,	[-1]
   371	400331'	254 00 0 00 400757'		JRST		ERPRNT
   372 
   373	400332'	202 01 0 06 000050'	ASSNFD:	MOVEM	T1,	VARTAB+50(G1)	;NEW VARIABLE
   374	400333'	202 11 0 06 000120'	ASSFND:	MOVEM	A1,	REAL+50(G1)	;OLD    "
   375	400334'	202 12 0 06 000170'		MOVEM	A2,	IMAG+50(G1)
   376	400335'	260 17 0 00 401512'		PUSHJ	PSB,	STOR2
   377	400336'	254 00 0 00 400176'		JRST		TPOP
   378 
   379					; FUNCTION HANDLER

SCAT2 STANDARD COMPLEX ALGEBRA TRANSLATER  V.2.	MACRO 47(116)-2 09:33 27-MAR-74 PAGE 7-2
SDEC	MAC	27-MAR-74 09:33		DO ARITHMETIC

   380 
   381 
   382	400337'	260 17 0 00 401507'	FUNCTH:	PUSHJ	PSB,	GET2
   383 
   384	400340'	316 00 0 00 401563'		CAMN	T0,	['MAG',,151]
   385	400341'	254 00 0 00 400363'		JRST		MAG
   386	400342'	316 00 0 00 401564'		CAMN	T0,	['ANG',,151]
   387	400343'	254 00 0 00 400371'		JRST		ANG
   388	400344'	316 00 0 00 401565'		CAMN	T0,	['SNH',,151]
   389	400345'	254 00 0 00 400401'		JRST		SNH
   390	400346'	316 00 0 00 401566'		CAMN	T0,	['TNH',,151]
   391	400347'	254 00 0 00 400407'		JRST		TNH
   392	400350'	316 00 0 00 401567'		CAMN	T0,	['CSH',,151]
   393	400351'	254 00 0 00 400404'		JRST		CSH
   394	400352'	316 00 0 00 401570'		CAMN	T0,	['CAR',,151]
   395	400353'	254 00 0 00 400463'		JRST		CAR
   396	400354'	316 00 0 00 401571'		CAMN	T0,	['POL',,151]
   397	400355'	254 00 0 00 400476'		JRST		POL
   398 
   399	400356'	260 17 0 00 401512'	ERRFUN:	PUSHJ	PSB,	STOR2
   400	400357'	551 04 0 00 000012		HRRZI	T4,	12	
   401	400360'	400 05 0 00 000005		SETZ	T5,	T5
   402	400361'	200 03 0 00 401561'		MOVE	T3,	[-1]
   403	400362'	254 00 0 00 400757'		JRST		ERPRNT
   404 
   405	400363'	266 16 0 00 000000*	MAG:	JSA	L,	CABS##
   406	400364'	000000	000011			EXP		A1
   407	400365'	200 11 0 00 000000		MOVE	A1,	T0
   408	400366'	201 12 0 00 000000		MOVEI	A2,	0
   409	400367'	260 17 0 00 401512'		PUSHJ	PSB,	STOR2
   410	400370'	254 00 0 00 400176'		JRST		TPOP
   411 
   412	400371'	266 16 0 00 000000*	ANG:	JSA	L,	ATAN2##
   413	400372'	320 00 0 00 000012		ARG		A2
   414	400373'	320 00 0 00 000011		ARG		A1
   415	400374'	164 00 0 00 401572'		FMPR	T0,	[57.29577951]
   416	400375'	200 11 0 00 000000		MOVE	A1,	T0
   417	400376'	201 12 0 00 000000		MOVEI	A2,	0
   418	400377'	260 17 0 00 401512'		PUSHJ	PSB,	STOR2
   419	400400'	254 00 0 00 400176'		JRST		TPOP
   420 
   421	400401'	260 17 0 00 400423'	SNH:	PUSHJ	PSB,	SINH
   422	400402'	260 17 0 00 401512'		PUSHJ	PSB,	STOR2
   423	400403'	254 00 0 00 400176'		JRST		TPOP
   424 
   425 
   426	400404'	260 17 0 00 400442'	CSH:	PUSHJ	PSB,	COSH
   427	400405'	260 17 0 00 401512'		PUSHJ	PSB,	STOR2
   428	400406'	254 00 0 00 400176'		JRST		TPOP
   429 
   430 
   431	400407'	200 13 0 00 000011	TNH:	MOVE	A3,	A1
   432	400410'	200 14 0 00 000012		MOVE	A4,	A2

SCAT2 STANDARD COMPLEX ALGEBRA TRANSLATER  V.2.	MACRO 47(116)-2 09:33 27-MAR-74 PAGE 7-3
SDEC	MAC	27-MAR-74 09:33		DO ARITHMETIC

   433 
   434	400411'	260 17 0 00 400423'		PUSHJ	PSB,	SINH
   435	400412'	250 13 0 00 000011		EXCH	A3,	A1
   436	400413'	250 14 0 00 000012		EXCH	A4,	A2
   437	400414'	260 17 0 00 400442'		PUSHJ	PSB,	COSH
   438 
   439						;SINH IN A3,A4
   440						;COSH IN A1,A2
   441 
   442	400415'	200 00 0 00 000013		MOVE	T0,	A3
   443	400416'	200 01 0 00 000014		MOVE	T1,	A4
   444 
   445	400417'	201 16 0 00 000011		MOVEI	L,	A1
   446	400420'	260 17 0 00 000000*		PUSHJ	PSB,	CFDM.0##
   447 
   448	400421'	260 17 0 00 401512'		PUSHJ	PSB,	STOR2
   449	400422'	254 00 0 00 400176'		JRST		TPOP
   450 
   451 
   452	400423'	266 16 0 00 000000*	SINH:	JSA	L,	CEXP##
   453	400424'	000000	000011			EXP		A1
   454	400425'	200 02 0 00 000000		MOVE	T2,	T0
   455	400426'	200 03 0 00 000001		MOVE	T3,	T1
   456 
   457	400427'	164 11 0 00 401573'		FMPR	A1,	[-1.0]
   458	400430'	164 12 0 00 401573'		FMPR	A2,	[-1.0]
   459 
   460	400431'	266 16 0 00 400423*		JSA	L,	CEXP##
   461	400432'	000000	000011			EXP		A1
   462 
   463	400433'	154 02 0 00 000000		FSBR	T2,	T0
   464	400434'	154 03 0 00 000001		FSBR	T3,	T1
   465 
   466	400435'	202 02 0 00 000011		MOVEM	T2,	A1
   467	400436'	202 03 0 00 000012		MOVEM	T3,	A2
   468 
   469	400437'	174 11 0 00 401574'		FDVR	A1,	[2.0]
   470	400440'	174 12 0 00 401574'		FDVR	A2,	[2.0]
   471 
   472	400441'	263 17 0 00 000000		POPJ	PSB,
   473 
   474 
   475	400442'	266 16 0 00 400431*	COSH:	JSA	L,	CEXP##
   476	400443'	000000	000011			EXP		A1
   477	400444'	200 02 0 00 000000		MOVE	T2,	T0
   478	400445'	200 03 0 00 000001		MOVE	T3,	T1
   479 
   480	400446'	164 11 0 00 401573'		FMPR	A1,	[-1.0]
   481	400447'	164 12 0 00 401573'		FMPR	A2,	[-1.0]
   482 
   483	400450'	200 02 0 00 000000		MOVE	T2,	T0
   484	400451'	200 03 0 00 000001		MOVE	T3,	T1
   485 

SCAT2 STANDARD COMPLEX ALGEBRA TRANSLATER  V.2.	MACRO 47(116)-2 09:33 27-MAR-74 PAGE 7-4
SDEC	MAC	27-MAR-74 09:33		DO ARITHMETIC

   486	400452'	266 16 0 00 400442*		JSA	L,	CEXP##
   487	400453'	000000	000011			EXP		A1
   488 
   489	400454'	144 00 0 00 000002		FADR	T0,	T2
   490	400455'	144 01 0 00 000003		FADR	T1,	T3
   491 
   492	400456'	202 00 0 00 000011		MOVEM	T0,	A1
   493	400457'	202 01 0 00 000012		MOVEM	T1,	A2
   494 
   495	400460'	174 11 0 00 401574'		FDVR	A1,	[2.0]
   496	400461'	174 12 0 00 401574'		FDVR	A2,	[2.0]
   497 
   498	400462'	263 17 0 00 000000		POPJ	PSB,
   499 
   500	400463'	266 16 0 00 000000*	CAR:	JSA	L,	SIND##
   501	400464'	320 00 0 00 000012		ARG		A2
   502	400465'	202 00 0 00 000005		MOVEM	T0,	T5
   503	400466'	266 16 0 00 000000*		JSA	L,	COSD##
   504	400467'	320 00 0 00 000012		ARG		A2
   505								;SIN IN T5, COS IN T0
   506	400470'	164 00 0 00 000011		FMPR	T0,	A1
   507	400471'	164 05 0 00 000011		FMPR	T5,	A1
   508 
   509	400472'	202 00 0 00 000011	CARRET:	MOVEM	T0,	A1
   510	400473'	202 05 0 00 000012		MOVEM	T5,	A2
   511	400474'	260 17 0 00 401512'		PUSHJ	PSB,	STOR2
   512	400475'	254 00 0 00 400176'		JRST		TPOP
   513 
   514	400476'	266 16 0 00 400363*	POL:	JSA	L,	CABS##
   515	400477'	000000	000011			EXP		A1
   516	400500'	202 00 0 00 000005		MOVEM	T0,	T5
   517	400501'	266 16 0 00 400371*		JSA	L,	ATAN2##
   518	400502'	000000	000012			EXP		A2
   519	400503'	000000	000011			EXP		A1
   520	400504'	164 00 0 00 401572'		FMPR	T0,	[57.29577951]
   521	400505'	250 00 0 00 000005		EXCH	T0,	T5
   522	400506'	254 00 0 00 400472'		JRST		CARRET
   523 
   524					PAGE

SCAT2 STANDARD COMPLEX ALGEBRA TRANSLATER  V.2.	MACRO 47(116)-2 09:33 27-MAR-74 PAGE 8
SDEC	MAC	27-MAR-74 09:33		NOW OUTPUT RESULTS

   525					SUBTTL NOW OUTPUT RESULTS
   526 
   527	400507'	335 00 0 00 000470'	RESOUT:	SKIPGE		ASSFLG	;NEED 'RESULT = '
   528	400510'	254 00 0 00 400514'		JRST		NUMPRT
   529 
   530	400511'	200 01 0 00 401575'		MOVE	T1,	[SIXBIT /RESULT/]
   531	400512'	260 17 0 00 401352'		PUSHJ	PSB,	WR6STR
   532	400513'	260 17 0 00 401507'		PUSHJ	PSB,	GET2	;AND GET RESULTS
   533 
   534	400514'	260 17 0 00 401472'	NUMPRT:	PUSHJ	PSB,	WCPAIR	;WRITE NUMBER
   535	400515'	051 03 0 00 401540'		OUTSTR		CRLF
   536 
   537	400516'	254 00 0 00 400006'		JRST		NEWCOM
   538
   539					PAGE

SCAT2 STANDARD COMPLEX ALGEBRA TRANSLATER  V.2.	MACRO 47(116)-2 09:33 27-MAR-74 PAGE 9
SDEC	MAC	27-MAR-74 09:33		SWITCH HANDLER

   540					SUBTTL SWITCH HANDLER
   541
   542	400517'	200 00 0 00 401576'	SWITCH: MOVE	 T0,	  [XWD	   T1,	    SAV]     ;SAVE ACS
   543	400520'	251 00 0 00 000500'		BLT	 T0,	  SAV+4
   544
   545	400521'	260 17 0 00 401061'	NSW:	PUSHJ	 PSB,	  INSW	   ;GET SW CHAR
   546
   547	400522'	302 00 0 00 000033		CAIE	T0,	33	;ESCAPE OR
   548	400523'	306 00 0 00 000175		CAIN	 T0,	  175	   ;ALTMODE - LAST SWITCH
   549	400524'	254 00 0 00 400552'		JRST		  LASTSW
   550	400525'	306 00 0 00 000104		CAIN	 T0,	  "D"	   ;D - DUMP
   551	400526'	254 00 0 00 400567'		JRST		  DUMP
   552	400527'	306 00 0 00 000105		CAIN	 T0,	  "E"	   ;E - EXIT
   553	400530'	047 00 0 00 000012		EXIT
   554	400531'	306 00 0 00 000122		CAIN	 T0,	  "R"	   ;R - RESTART COMMAND
   555	400532'	254 00 0 00 400626'		JRST		  RE
   556	400533'	306 00 0 00 000121		CAIN	 T0,	  "Q"	   ;Q - QUERY ERRORS
   557	400534'	254 00 0 00 400557'		JRST		  QUERY
   558	400535'	306 00 0 00 000114		CAIN	 T0,	  "L"	   ;L - LIST ERRORS AND IMPLICIT R
   559	400536'	254 00 0 00 400617'		JRST		  ERRSW
   560	400537'	306 00 0 00 000103		CAIN	 T0,	  "C"	   ;C - CLEAR ERROR COUNT
   561	400540'	254 00 0 00 400606'		JRST		  ECLR
   562	400541'	306 00 0 00 000110		CAIN	T0,	"H"	;H - HELP
   563	400542'	254 00 0 00 400612'		JRST		HELP
   564	400543'	306 00 0 00 000130		CAIN	T0,	"X"	;X SWITCH - DELETE VARIABLES
   565	400544'	254 00 0 00 400630'		JRST		DELVAR
   566
   567					; UNRECOGNIZED SWITCH **********
   568
   569						OUTSTR		  [ASCIZ /
   570	400545'	051 03 0 00 401577'	UNRECOGNIZED SWITCH /]
   571	400546'	051 01 0 00 000000		OUTCHR		  T0
   572	400547'	541 10 0 00 000044		HRRI	G3,	^D36
   573	400550'	051 03 0 00 401604'	NSMES:	OUTSTR		  [ASCIZ /, NEXT SWITCH $/]
   574	400551'	254 00 0 00 400521'		JRST		  NSW
   575
   576					; LAST SWITCH **********
   577
   578					LASTSW: OUTSTR		  [ASCIZ /
   579					CONTINUE, NOTHING HAS BEEN CHANGED
   580	400552'	051 03 0 00 401610'	/]
   581	400553'	200 00 0 00 401620'	LASTNO: MOVE	 T0,	  [XWD	   SAV,     T1]
   582	400554'	251 00 0 00 000005		BLT	 T0,	  T5	   ;RESTORE ACS
   583	400555'	260 17 0 00 401053'		PUSHJ	 PSB,	  GETCHR
   584	400556'	263 17 0 00 000000		POPJ	 PSB,		   ;RETURN
   585
   586					; ERROR QUERY **********
   587
   588	400557'	554 01 0 00 000010	QUERY:	HLRZ	 T1,	  G3	   ;GET ERROR COUNT
   589	400560'	322 01 0 00 400564'		JUMPE	 T1,	  QNO	   ;NO ERRORS
   590						OUTSTR		  [ASCIZ /
   591	400561'	051 03 0 00 401621'	ERRORS/]			   ;THERE ARE SOME
   592	400562'	541 10 0 00 000025		HRRI	G3,	^D21

SCAT2 STANDARD COMPLEX ALGEBRA TRANSLATER  V.2.	MACRO 47(116)-2 09:33 27-MAR-74 PAGE 9-1
SDEC	MAC	27-MAR-74 09:33		SWITCH HANDLER

   593	400563'	254 00 0 00 400550'		JRST		  NSMES
   594	400564'	051 01 0 00 401623'	QNO:	OUTCHR		  ["$"]    ;TERMINATE SWITCH LIST
   595	400565'	271 10 0 00 000001		ADDI	G3,	1
   596	400566'	254 00 0 00 400553'		JRST		  LASTNO   ;AND RETURN AS THO NOTHING HAPPENED
   597
   598					; DUMP OF VARIABLES **********
   599
   600	400567'				DUMP:
   601	400567'	332 00 0 00 000000'		SKIPE		VARTAB	;ANY DEFINED?
   602	400570'	254 00 0 00 400573'		JRST		DNO1	;YES
   603						OUTSTR		[ASCIZ /
   604	400571'	051 03 0 00 401624'	NO VARIABLES DEFINED/]		;NO
   605	400572'	254 00 0 00 400550'		JRST		NSMES
   606 
   607	400573'	400 06 0 00 000006	DNO1:	SETZ	G1,	G1	;ZERO INDEX
   608	400574'	051 03 0 00 401540'	DNO2:	OUTSTR		CRLF	;NEXT LINE
   609	400575'	200 01 0 06 000000'		MOVE	T1,	VARTAB(G1)	;GET NEXT NAME
   610	400576'	322 01 0 00 400604'		JUMPE	T1,	DEND	;NULL IS END
   611	400577'	260 17 0 00 401352'		PUSHJ	PSB,	WR6STR	;WRITE NAME
   612	400600'	200 11 0 06 000050'		MOVE	A1,	REAL(G1);AND VALUES
   613	400601'	200 12 0 06 000120'		MOVE	A2,	IMAG(G1)
   614	400602'	260 17 0 00 401472'		PUSHJ	PSB,	WCPAIR
   615	400603'	344 06 0 00 400574'		AOJA	G1,	DNO2	;LOOP FOR NEXT
   616 
   617					DEND:	OUTSTR		[ASCIZ /
   618	400604'	051 03 0 00 401631'	NOW/]
   619	400605'	254 00 0 00 400550'		JRST		NSMES
   620
   621					; CLEAR ERROR COUNT **********
   622
   623	400606'	505 10 0 00 000000	ECLR:	HRLI	 G3,	  0
   624						OUTSTR		  [ASCIZ /
   625	400607'	051 03 0 00 401633'	ERRORS CLEARED/]
   626	400610'	541 10 0 00 000035		HRRI	G3,	^D29
   627	400611'	254 00 0 00 400550'		JRST		  NSMES
   628
   629					; HELP - HELP TEXT **********
   630
   631					HELP:	OUTSTR		[ASCIZ /
   632					
   633					SWITCHES ARE:
   634					=============
   635					C    - CLEAR ERROR COUNT, COMMAND CONTINUED
   636					D    - DUMP ALL VARIABLES AND VALUES ASSIGNED TO DATE
   637					E    - EXIT
   638	400612'	051 03 0 00 401637'	H    - TYPE THIS TEXT/]
   639						OUTSTR		[ASCIZ /
   640					L    - LIST ERRORS AND IMPLICIT R
   641					Q    - QUERY IF ERRORS EXIST
   642	400613'	051 03 0 00 401701'	R    - RESTART COMMAND/]
   643						OUTSTR		[ASCIZ /
   644					X    - DELETE VARIABLES
   645					<ALT>- TERMINATES SWITCH LIST

SCAT2 STANDARD COMPLEX ALGEBRA TRANSLATER  V.2.	MACRO 47(116)-2 09:33 27-MAR-74 PAGE 9-2
SDEC	MAC	27-MAR-74 09:33		SWITCH HANDLER

   646					
   647	400614'	051 03 0 00 401723'	NOW/]
   648
   649	400615'	541 10 0 00 000022		HRRI	G3,	^D18
   650	400616'	254 00 0 00 400550'		JRST		NSMES
   651
   652					; ERROR LIST **********
   653
   654	400617'	554 01 0 00 000010	ERRSW:	HLRZ	T1,	G3
   655	400620'	322 01 0 00 400564'		JUMPE	T1,	QNO
   656	400621'	051 03 0 00 401540'		OUTSTR		CRLF
   657	400622'	550 05 0 00 000010		HRRZ	T5,	G3
   658	400623'	554 04 0 00 000010		HLRZ	T4,	G3
   659	400624'	200 03 0 00 401561'		MOVE	T3,	[-1]
   660	400625'	254 00 0 00 400757'		JRST		ERPRNT
   661
   662					; RESTART COMMAND **********
   663	400626'	051 03 0 00 401540'	RE:	OUTSTR		CRLF
   664	400627'	254 00 0 00 400006'		JRST		NEWCOM
   665 
   666					; DELETE VARIABLES **********
   667 
   668					DELVAR:	OUTSTR		[ASCIZ /
   669	400630'	051 03 0 00 401740'	CONFIRM: /]
   670	400631'	201 10 0 00 000011		MOVEI	G3,	9
   671	400632'	260 17 0 00 401061'		PUSHJ	PSB,	INSW
   672 
   673	400633'	302 00 0 00 000052		CAIE	T0,	"*"	;WANT ALL?
   674	400634'	254 00 0 00 400643'		JRST		DELSOM
   675 
   676						; CLEAR ALL
   677 
   678	400635'	200 00 0 00 401542'		MOVE	T0,	[XWD VARTAB,VARTAB+1]	
   679	400636'	402 00 0 00 000000'		SETZM		VARTAB
   680	400637'	251 00 0 00 000167'		BLT	T0,	S1-1	;BLT 0 TO ALL
   681 
   682						OUTSTR		[ASCIZ /
   683	400640'	051 03 0 00 401743'	ALL CLEARED/]
   684	400641'	201 10 0 00 000026		MOVEI	G3,	26
   685	400642'	254 00 0 00 400550'		JRST		NSMES
   686 
   687						;CLEAR ONLY SOME
   688 
   689	400643'	200 01 0 00 401746'	DELSOM:	MOVE	T1,	[POINT 6,T2]	;DECODE NAME
   690	400644'	200 03 0 00 401747'		MOVE	T3,	[-6]	;CHAR CNT
   691	400645'	400 02 0 00 000002		SETZ	T2,	T2	;ZERO RECEPTOR
   692 
   693	400646'	307 00 0 00 000132	DELS1:	CAIG	T0,	"Z"	;FIRST CHAR A-Z
   694	400647'	305 00 0 00 000101		CAIGE	T0,	"A"	
   695	400650'	334 00 0 00 000000		SKIPA
   696	400651'	254 00 0 00 400673'		JRST		DELLEG	;LEGAL
   697 
   698	400652'	307 00 0 00 000071		CAIG	T0,	"9"

SCAT2 STANDARD COMPLEX ALGEBRA TRANSLATER  V.2.	MACRO 47(116)-2 09:33 27-MAR-74 PAGE 9-3
SDEC	MAC	27-MAR-74 09:33		SWITCH HANDLER

   699	400653'	305 00 0 00 000060		CAIGE	T0,	"0"
   700	400654'	334 00 0 00 000000		SKIPA
   701	400655'	254 00 0 00 400673'		JRST		DELLEG
   702 
   703	400656'	302 00 0 00 000054		CAIE	T0,	","
   704	400657'	254 00 0 00 400663'		JRST		CRTEST
   705 
   706	400660'	402 00 0 00 000504'		SETZM		NLETT
   707	400661'	260 17 0 00 400701'		PUSHJ	PSB,	DELEND	;DEL VAR IN T2
   708	400662'	254 00 0 00 400643'		JRST DELSOM
   709 
   710	400663'	302 00 0 00 000015	CRTEST:	CAIE	T0,	15	;IGNORE CR
   711	400664'	254 00 0 00 400667'		JRST		LFTEST
   712 
   713	400665'	260 17 0 00 401061'		PUSHJ	PSB,	INSW
   714	400666'	254 00 0 00 400646'		JRST		DELS1
   715 
   716	400667'	306 00 0 00 000012	LFTEST:	CAIN	T0,	12	;END OF LINE
   717	400670'	254 00 0 00 400715'		JRST		DELFIN
   718  
   719	400671'	505 10 0 00 000001		HRLI	G3,	1
   720	400672'	254 00 0 00 400751'		JRST		ERRH
   721 
   722 
   723	400673'	275 00 0 00 000040	DELLEG:	SUBI	T0,	40	;HERE TO DECODE VARIABLE NAME
   724	400674'	136 00 0 00 000001		IDPB	T0,	T1	;PUT CHAR AWAY
   725	400675'	260 17 0 00 401061'		PUSHJ	PSB,	INSW
   726	400676'	343 03 0 00 400646'		AOJLE	T3,	DELS1	;RETURN WITH CHAR
   727 
   728	400677'	505 10 0 00 000002		HRLI	G3,	2	;ERROR
   729	400700'	254 00 0 00 400751'		JRST		ERRH
   730 
   731 
   732	400701'	211 01 0 00 000050	DELEND:	MOVNI	T1,	50
   733 
   734	400702'	316 02 0 01 000050'	DELEN1:	CAMN	T2,	VARTAB+50(T1)
   735	400703'	254 00 0 00 400710'		JRST		DELFND
   736	400704'	332 00 0 01 000050'		SKIPE		VARTAB+50(T1)
   737	400705'	341 01 0 00 400702'		AOJL	T1,	DELEN1
   738 
   739	400706'	505 10 0 00 000003		HRLI	G3,	3
   740	400707'	254 00 0 00 400751'		JRST		ERRH
   741 
   742 
   743	400710'	200 00 0 00 401561'	DELFND:	MOVE	T0,	[-1]
   744	400711'	202 00 0 01 000050'		MOVEM	T0,	VARTAB+50(T1)
   745	400712'	331 00 0 00 000504'		SKIPL		NLETT
   746	400713'	260 17 0 00 401061'		PUSHJ	PSB,	INSW
   747	400714'	263 17 0 00 000000		POPJ	PSB,
   748 
   749	400715'	322 02 0 00 400720'	DELFIN:	JUMPE	T2,	SHUFFL
   750	400716'	476 00 0 00 000504'		SETOM		NLETT
   751	400717'	260 17 0 00 400701'		PUSHJ	PSB,	DELEND	;PUT AWAY PRESENT ONE FIRST

SCAT2 STANDARD COMPLEX ALGEBRA TRANSLATER  V.2.	MACRO 47(116)-2 09:33 27-MAR-74 PAGE 9-4
SDEC	MAC	27-MAR-74 09:33		SWITCH HANDLER

   752 
   753	400720'	211 05 0 00 000050	SHUFFL:	MOVNI	T5,	50	;AND SHUFFLE
   754	400721'	200 04 0 00 401561'		MOVE	T4,	[-1]
   755 
   756	400722'	336 00 0 05 000050'	SHUFF1:	SKIPN		VARTAB+50(T5)
   757	400723'	254 00 0 00 400747'		JRST	SHUFIN
   758	400724'	316 04 0 05 000050'		CAMN	T4,	VARTAB+50(T5)
   759	400725'	254 00 0 00 400730'		JRST		SHUFMK
   760	400726'	341 05 0 00 400722'	SHFRET:	AOJL	T5,	SHUFF1
   761	400727'	254 00 0 00 400747'		JRST		SHUFIN
   762 
   763	400730'	200 03 0 00 000005	SHUFMK: MOVE	T3,	T5
   764	400731'	336 00 0 03 000051'	SHFMK1:	SKIPN		VARTAB+51(T3)
   765	400732'	254 00 0 00 400743'		JRST	SHFMK2
   766	400733'	200 01 0 03 000051'		MOVE	T1,	VARTAB+51(T3)
   767	400734'	202 01 0 03 000050'		MOVEM	T1,	VARTAB+50(T3)
   768	400735'	200 01 0 03 000121'		MOVE	T1,	REAL+51(T3)
   769	400736'	202 01 0 03 000120'		MOVEM	T1,	REAL+50(T3)
   770	400737'	200 01 0 03 000171'		MOVE	T1,	IMAG+51(T3)
   771	400740'	202 01 0 03 000170'		MOVEM	T1,	IMAG+50(T3)
   772	400741'	315 03 0 00 401750'		CAMGE	T3,	[-2]
   773	400742'	344 03 0 00 400731'		AOJA	T3,	SHFMK1
   774 
   775	400743'	402 00 0 03 000050'	SHFMK2:	SETZM		VARTAB+50(T3)
   776	400744'	402 00 0 03 000120'		SETZM		REAL+50(T3)
   777	400745'	402 00 0 03 000170'		SETZM		IMAG+50(T3)
   778 
   779	400746'	254 00 0 00 400720'		JRST		SHUFFL
   780 
   781	400747'	051 03 0 00 401751'	SHUFIN:	OUTSTR		[ASCIZ /CLEARED/]
   782	400750'	254 00 0 00 400550'		JRST		NSMES
   783 
   784					PAGE

SCAT2 STANDARD COMPLEX ALGEBRA TRANSLATER  V.2.	MACRO 47(116)-2 09:33 27-MAR-74 PAGE 10
SDEC	MAC	27-MAR-74 09:33		ERROR HANDLER

   785					SUBTTL ERROR HANDLER
   786
   787	400751'	550 05 0 00 000010	ERRH:	HRRZ	 T5,	  G3	   ;POSITION OF ERROR
   788	400752'	554 04 0 00 000010		HLRZ	 T4,	  G3	   ;ERROR TYPE
   789	400753'	200 03 0 00 401561'		MOVE	 T3,	  [-1]	   ;CONTROL COUNT
   790
   791	400754'	260 17 0 00 401053'	ERRCHR: PUSHJ	 PSB,	  GETCHR   ;FINISH LINE
   792	400755'	302 00 0 00 000012		CAIE	 T0,	  12	   ;<LF> = EOL
   793	400756'	254 00 0 00 400754'		JRST		  ERRCHR   ;TRY AGAIN
   794
   795	400757'	305 05 0 00 000025	ERPRNT:	CAIGE	 T5,	  25	   ;WHAT TO PRINT FIRST
   796	400760'	260 17 0 00 401042'		PUSHJ	 PSB,	  ARROW    ;ARROW TO BE PRINTED
   797	400761'	260 17 0 00 400766'		PUSHJ	 PSB,	  MESS	   ;MESSAGE
   798	400762'	357 00 0 00 000003		AOSG		  T3	   ;NEED TO DO ARROW
   799	400763'	260 17 0 00 401042'		PUSHJ	 PSB,	  ARROW
   800
   801	400764'	051 03 0 00 401540'		OUTSTR		  CRLF
   802	400765'	254 00 0 00 400006'		JRST		  NEWCOM   ;NEXT COMMAND
   803
   804					; PRINT MESSAGE **********
   805
   806	400766'	254 00 0 04 400767'	MESS:	JRST		  MS(T4)	;OUTPUT APPROPRIATE MESSAGE
   807	400767'	254 00 0 00 401002'	MS:	JRST		  E0
   808	400770'	254 00 0 00 401005'		JRST		  E1
   809	400771'	254 00 0 00 401010'		JRST		  E2
   810	400772'	254 00 0 00 401013'		JRST		  E3
   811	400773'	254 00 0 00 401016'		JRST		  E4
   812	400774'	254 00 0 00 401021'		JRST		  E5
   813	400775'	254 00 0 00 401024'		JRST		  E6
   814	400776'	254 00 0 00 401027'		JRST		E7
   815	400777'	254 00 0 00 401032'		JRST		E8
   816	401000'	254 00 0 00 401035'		JRST		E9
   817	401001'	254 00 0 00 401040'		JRST		E10
   818
   819	401002'	051 03 0 00 401753'	E0:	OUTSTR		  [ASCIZ /NO ERRORS YET/]
   820	401003'	275 05 0 00 000015		SUBI	T5,	^D13
   821	401004'	263 17 0 00 000000		POPJ	 PSB,
   822	401005'	051 03 0 00 401756'	E1:	OUTSTR		  [ASCIZ /ILL. CHAR. IN INPUT/]
   823	401006'	275 05 0 00 000023		SUBI	T5,	^D19
   824	401007'	263 17 0 00 000000		POPJ	 PSB,
   825	401010'	051 03 0 00 401762'	E2:	OUTSTR		  [ASCIZ /TOO MANY CHARS/]
   826	401011'	275 05 0 00 000016		SUBI	T5,	^D14
   827	401012'	263 17 0 00 000000		POPJ	 PSB,
   828	401013'	051 03 0 00 401765'	E3:	OUTSTR		  [ASCIZ /UNDEFINED VARIABLE/]
   829	401014'	275 05 0 00 000022		SUBI	T5,	^D18
   830	401015'	263 17 0 00 000000		POPJ	 PSB,
   831	401016'	051 03 0 00 401771'	E4:	OUTSTR		  [ASCIZ /DELIMITER EXPECTED/]
   832	401017'	275 05 0 00 000022		SUBI	T5,	^D18
   833	401020'	263 17 0 00 000000		POPJ	 PSB,
   834	401021'	051 03 0 00 401775'	E5:	OUTSTR		  [ASCIZ /NO. OUT OF RANGE/]
   835	401022'	275 05 0 00 000020		SUBI	T5,	^D16
   836	401023'	263 17 0 00 000000		POPJ	 PSB,
   837	401024'	051 03 0 00 402001'	E6:	OUTSTR		  [ASCIZ /EXP OUT OF RANGE/]

SCAT2 STANDARD COMPLEX ALGEBRA TRANSLATER  V.2.	MACRO 47(116)-2 09:33 27-MAR-74 PAGE 10-1
SDEC	MAC	27-MAR-74 09:33		ERROR HANDLER

   838	401025'	275 05 0 00 000020		SUBI	T5,	^D16
   839	401026'	263 17 0 00 000000		POPJ	 PSB,
   840	401027'	051 03 0 00 402005'	E7:	OUTSTR		[ASCIZ /TOO MANY VARIABLES/]
   841	401030'	275 05 0 00 000023		SUBI	T5,	^D19
   842	401031'	263 17 0 00 000000		POPJ	PSB,
   843	401032'	051 03 0 00 402011'	E8:	OUTSTR		[ASCIZ *EXEC OV/UND FLOW*]
   844	401033'	275 05 0 00 000020		SUBI	T5,	^D16
   845	401034'	263 17 0 00 000000		POPJ	PSB,
   846	401035'	051 03 0 00 402015'	E9:	OUTSTR		[ASCIZ /UNBAL PARENTH/]
   847	401036'	275 05 0 00 000015		SUBI	T5,	^D13
   848	401037'	263 17 0 00 000000		POPJ	PSB,
   849	401040'	051 03 0 00 402020'	E10:	OUTSTR		[ASCIZ /UDF FCN/]
   850	401041'	263 17 0 00 000000		POPJ	PSB,
   851
   852					; PRINT ARROW **********
   853
   854	401042'	336 00 0 00 000005	ARROW:	SKIPN		T5	;IF NO ARROW REQD.
   855	401043'	263 17 0 00 000000		POPJ	PSB,
   856	401044'	275 05 0 00 000002		SUBI	T5,	2	;AMEND POSITION FOR ARROW
   857	401045'	271 03 0 00 000001		ADDI	T3,	1
   858	401046'	213 05 0 00 000005		MOVNS	 T5,	T5
   859	401047'	051 01 0 00 402022'	ARR1:	OUTCHR		  [" "]
   860	401050'	341 05 0 00 401047'		AOJL	 T5,	  ARR1
   861	401051'	051 01 0 00 402023'		OUTCHR		  ["^"]
   862	401052'	263 17 0 00 000000		POPJ	 PSB,
   863
   864					PAGE

SCAT2 STANDARD COMPLEX ALGEBRA TRANSLATER  V.2.	MACRO 47(116)-2 09:33 27-MAR-74 PAGE 11
SDEC	MAC	27-MAR-74 09:33		SUBROUTINES

   865					SUBTTL SUBROUTINES
   866
   867					; ROUTINE TO GET A CHARACTER ---------------------------------------------------
   868
   869	401053'	051 00 0 00 000000	GETCHR: INCHRW	 T0,		   ;GET THE CHAR
   870	401054'	271 10 0 00 000001		ADDI	 G3,	  1	   ;INC CHAR CNT
   871	401055'	302 00 0 00 000033		CAIE	T0,	33	;ESCAPR OR
   872	401056'	306 00 0 00 000175		CAIN	 T0,	  175	   ;ALTMODE - SWITCH?
   873	401057'	260 17 0 00 400517'		PUSHJ	 PSB,	  SWITCH
   874	401060'	263 17 0 00 000000		POPJ	 PSB,		   ;NO - SO RETURN
   875
   876					; ROUTINE TO GET A SWITCH ------------------------------------------------------
   877
   878	401061'	051 00 0 00 000000	INSW:	INCHRW	 T0,		   ;GET THE CHAR
   879	401062'	271 10 0 00 000001		ADDI	G3,	1
   880	401063'	306 00 0 00 000040		CAIN	 T0,	  " "	   ;IGNORE BLANKS
   881	401064'	254 00 0 00 401061'		JRST		  INSW
   882	401065'	263 17 0 00 000000		POPJ	 PSB,
   883
   884					; ROUTINE TO EVALUATE A VARIABLE -----------------------------------------------
   885
   886	401066'	200 05 0 00 402024'	CONST:	MOVE	 T5,	  [POINT   6,T4]
   887	401067'	400 04 0 00 000004		SETZ	 T4,	T4	   ;ZERO RECEPTOR
   888	401070'	275 00 0 00 000040		SUBI	T0,	40	;CONV TO SIXBIT AND
   889	401071'	136 00 0 00 000005		IDPB	 T0,	  T5	   ;PUT AWAY EXISTING CHAR
   890	401072'	200 03 0 00 402025'		MOVE	 T3,	  [-5]	   ;GET READY FOR NEXT 5
   891
   892	401073'	260 17 0 00 401053'	NEXTCH: PUSHJ	 PSB,	  GETCHR   ;GET CHAR
   893
   894	401074'	301 00 0 00 000101		CAIL	 T0,	  "A"	   ;IS IT A LETTER
   895	401075'	303 00 0 00 000132		CAILE	 T0,	  "Z"
   896	401076'	334 00 0 00 000000		SKIPA			   ;NO
   897	401077'	254 00 0 00 401103'		JRST		  GOOD	   ;YES
   898
   899	401100'	301 00 0 00 000060		CAIL	 T0,	  "0"	   ;IS IT A NUMBER
   900	401101'	303 00 0 00 000071		CAILE	 T0,	  "9"
   901	401102'	254 00 0 00 401110'		JRST		  LASTCH   ;NO
   902
   903	401103'	353 00 0 00 000003	GOOD:	AOSLE		  T3	   ;INC CHAR CNT
   904	401104'	254 00 0 00 401135'		JRST		  TOMANY   ;TOO MANY
   905	401105'	275 00 0 00 000040		SUBI	 T0,	  40	   ;CONV TO 6BIT
   906	401106'	136 00 0 00 000005		IDPB	 T0,	  T5	   ;PUT IT AWAY
   907	401107'	254 00 0 00 401073'		JRST		  NEXTCH   ;NEXT ONE
   908
   909	401110'	306 00 0 00 000137	LASTCH: CAIN	 T0,	  "_"	   ;IS IT _
   910	401111'	254 00 0 00 401132'		JRST		  SKRT	   ;YES SKIP
   911	401112'	306 00 0 00 000133		CAIN	T0,	"["
   912	401113'	254 00 0 00 401124'		JRST		FUNCT
   913	401114'	400 05 0 00 000005		SETZ	 T5,	T5	   ;NO GET VALUES
   914
   915	401115'	200 01 0 05 000000'	NVAR:	MOVE	 T1,	  VARTAB(T5)	    ;GET NEXT VAR
   916	401116'	322 01 0 00 401140'		JUMPE	 T1,	  NDEF	   ;IS IT NULL
   917	401117'	312 01 0 00 000004		CAME	 T1,	  T4	   ;EQUAL?

SCAT2 STANDARD COMPLEX ALGEBRA TRANSLATER  V.2.	MACRO 47(116)-2 09:33 27-MAR-74 PAGE 11-1
SDEC	MAC	27-MAR-74 09:33		SUBROUTINES

   918	401120'	344 05 0 00 401115'		AOJA	 T5,	  NVAR	   ;NO TRY NEXT ONE
   919
   920	401121'	200 06 0 05 000120'	RET:	MOVE	 G1,	  IMAG(T5) ;GET IMAG
   921	401122'	200 07 0 05 000050'		MOVE	 G2,	  REAL(T5) ; &REAL PARTS
   922	401123'	263 17 0 00 000000		POPJ	 PSB,		   ;RETURN
   923 
   924	401124'	602 04 0 00 777777	FUNCT:	TRNE	T4,	777777
   925	401125'	254 00 0 00 401135'		JRST		TOMANY
   926 
   927	401126'	541 04 0 00 000151		HRRI	T4,	151
   928	401127'	262 17 0 17 000000		POP	PSB,	(PSB)
   929	401130'	200 00 0 00 000004		MOVE	T0,	T4
   930	401131'	254 00 0 00 400022'		JRST		INMITC
   931 
   932
   933	401132'	202 04 0 00 000006	SKRT:	MOVEM	 T4,	  G1	   ;SKIP RETURN
   934	401133'	350 00 0 17 000000		AOS		  (PSB)
   935	401134'	263 17 0 00 000000		POPJ	 PSB,
   936
   937	401135'	505 10 0 00 000002	TOMANY: HRLI	 G3,	  2	   ;TOO MANY CHARS
   938	401136'	271 10 0 00 000001		ADDI	G3,	1
   939	401137'	254 00 0 00 400751'		JRST		  ERRH	   ;ERROR HANDLER
   940
   941	401140'	505 10 0 00 000003	NDEF:	HRLI	 G3,	  3	   ;NOT DEFINED
   942	401141'	254 00 0 00 400751'		JRST		  ERRH	   ;MORE ERRORS
   943
   944					; ROUTINE TO READ A COMPLEX PAIR, WITH THANKS TO R. COOK'S IOLIB V.3. ----------
   945
   946	401142'	476 00 0 00 000472'	RCPAIR: SETOM		  TIME	   ;INITIATE
   947	401143'	200 03 0 00 402026'		MOVE	 T3,	  [MOVEM   T4,G1]
   948	401144'	403 06 0 00 000007		SETZB	 G1,	  G2
   949
   950	401145'	260 17 0 00 401053'	RREAL:	PUSHJ	 PSB,	  GETCHR   ;GET FIRST CHAR
   951	401146'	260 17 0 00 401263'		PUSHJ	 PSB,	  NEGTIV   ;PROCESS SIGN
   952	401147'	260 17 0 00 401053'		PUSHJ	 PSB,	  GETCHR   ;IT WAS SIGNED
   953	401150'	205 01 0 00 204500		MOVSI	 T1,	 (10.0)    ;NOT SIGNED
   954	401151'	634 04 0 00 000004		TDZA	 T4,	  T4	   ;ZERO RECEPTOR
   955
   956	401152'	260 17 0 00 401053'	RRE10:	PUSHJ	 PSB,	  GETCHR   ;GET ACHAR
   957	401153'	260 17 0 00 401230'		PUSHJ	 PSB,	  CDIGIT   ;CONVERT ASCII TO F.P
   958	401154'	254 00 0 00 401161'		JRST		  RRE20    ;NOT A DIGIT
   959	401155'	164 04 0 00 000001		FMPR	 T4,	  T1	   ;*10
   960	401156'	144 04 0 00 000000		FADR	 T4,	  T0	   ;ADD NEW NO.
   961	401157'	260 17 0 00 401341'		PUSHJ	 PSB,	  OFCHK    ;CHECK OVERFLOW
   962	401160'	254 00 0 00 401152'		JRST		  RRE10    ;GO BACK FOR NEXT
   963
   964	401161'	302 00 0 00 000056	RRE20:	CAIE	 T0,	  "."	   ;CORRECT?
   965	401162'	254 00 0 00 401172'		JRST		  RRE40    ;NO - MAY BE EXPONENT
   966	401163'	260 17 0 00 401227'	RRE30:	PUSHJ	 PSB,	  RDIGIT   ;READ AND CONVERT
   967	401164'	254 00 0 00 401172'		JRST		  RRE40    ;NOT A DIGIT
   968	401165'	174 00 0 00 000001		FDVR	 T0,	  T1	   ;CORRECT FOR DEC PLACE
   969	401166'	144 04 0 00 000000		FADR	 T4,	  T0	   ;AND ADD
   970	401167'	260 17 0 00 401341'		PUSHJ	 PSB,	  OFCHK    ;CHECK UNDERFLOW

SCAT2 STANDARD COMPLEX ALGEBRA TRANSLATER  V.2.	MACRO 47(116)-2 09:33 27-MAR-74 PAGE 11-2
SDEC	MAC	27-MAR-74 09:33		SUBROUTINES

   971	401170'	165 01 0 00 204500		FMPRI	 T1,	  (10.0)   ;CORRECT MULT FOR DEC PLACE
   972	401171'	254 00 0 00 401163'		JRST		  RRE30    ;NEXT
   973
   974	401172'	164 04 0 00 000471'	RRE40:	FMPR	T4,	SIGN	;GET CORR. SIGN
   975	401173'	302 00 0 00 000105		CAIE	 T0,	  "E"	   ;EXPONENT?
   976	401174'	254 00 0 00 401210'		JRST	 RRE60		   ;NO
   977	401175'	336 00 0 00 000004		SKIPN		T4	;MANTISSA 1.0 FOR PURE E FORMAT
   978	401176'	201 04 0 00 402027'		MOVEI	T4,	[1.0]
   979	401177'	260 17 0 00 401237'		PUSHJ	 PSB,	  RDECEX   ;YES GET DEC EXPONENT
   980	401200'	200 05 0 00 402030'		MOVE	 T5,	  [FMPRI   T4,(10.0)]	     ;ASSUME +VE EXP.
   981	401201'	335 00 0 00 000002		SKIPGE	 	T2	;IS IT REALLY -VE
   982	401202'	505 05 0 00 175200		HRLI	 T5,	   (FDVRI T4,)	    ;YES
   983	401203'	217 02 0 00 000002		MOVMS	 T2,	T2
   984
   985	401204'	361 02 0 00 401210'	RRE50:	SOJL	 T2,	  RRE60    ;APPLY EXP.
   986	401205'	256 00 0 00 000005		XCT	 	T5
   987	401206'	260 17 0 00 401341'		PUSHJ	PSB,	OFCHK	;CHECK IF OVFLW OCCURRED
   988	401207'	254 00 0 00 401204'		JRST		  RRE50
   989
   990	401210'	306 00 0 00 000051	RRE60:	CAIN	 T0,	  ")"	   ;END OF NUMBER?
   991	401211'	254 00 0 00 401221'		JRST		  RRE70    ;YES
   992	401212'	302 00 0 00 000054		CAIE	 T0,	  ","	   ;END OF FIRST HALF
   993	401213'	254 00 0 00 401224'		JRST		  RRE80    ;NO - ERROR
   994
   995	401214'	256 00 0 00 000003	RRE61:	XCT	 	T3	   ;GET IN CORRECT AC
   996	401215'	271 03 0 00 000001		ADDI	 T3,	  1	   ;READY FOR NEXT HALF
   997	401216'	357 00 0 00 000472'		AOSG		  TIME	   ;NO NEXT HALF?
   998	401217'	260 17 0 00 401145'		PUSHJ	 PSB,	  RREAL    ;READ NEXT HALF
   999	401220'	263 17 0 00 000000	RRE63:	POPJ	 PSB,		   ;POP TWICE TO RETURN
  1000
  1001	401221'	322 04 0 00 401220'	RRE70:	JUMPE	 T4,	  RRE63    ;) FOUND AFTER 1ST HALF
  1002	401222'	350 00 0 00 000472'		AOS		  TIME	   ;) FOUND DURING FIRST OR SECOND HALF
  1003	401223'	254 00 0 00 401214'		JRST		  RRE61
  1004
  1005	401224'	505 10 0 00 000004	RRE80:	HRLI	 G3,	  4	   ;ERROR CONDITION
  1006	401225'	271 10 0 00 000001		ADDI	G3,	1
  1007	401226'	254 00 0 00 400751'		JRST		  ERRH
  1008
  1009					; ROUTINES USED BY RCPAIR ------------------------------------------------------
  1010
  1011	401227'	260 17 0 00 401053'	RDIGIT: PUSHJ	 PSB,	  GETCHR   ;GET CHAR
  1012	401230'	301 00 0 00 000060	CDIGIT: CAIL	 T0,	  "0"	   ;CONVERT IT
  1013	401231'	303 00 0 00 000071		CAILE	 T0,	  "9"	   ;IS IT LEGAL?
  1014	401232'	263 17 0 00 000000		POPJ	 PSB,		   ;NO
  1015	401233'	275 00 0 00 000060		SUBI	 T0,	  "0"	   ;CONVERT
  1016	401234'	132 00 0 00 000233		FSC	 T0,	  233
  1017	401235'	350 00 0 17 000000		AOS		  (PSB)    ;SKIP RETURN
  1018	401236'	263 17 0 00 000000		POPJ	 PSB,
  1019
  1020	401237'	400 02 0 00 000002	RDECEX: SETZ	 T2,	T2	   ;ZERO RECEPTOR
  1021	401240'	260 17 0 00 401053'		PUSHJ	 PSB,	  GETCHR   ;GET CHAR
  1022	401241'	260 17 0 00 401262'		PUSHJ	 PSB,	  NEGDEC   ;SIGN?
  1023	401242'	260 17 0 00 401053'	RDEC1:	PUSHJ	 PSB,	  GETCHR   ;YES

SCAT2 STANDARD COMPLEX ALGEBRA TRANSLATER  V.2.	MACRO 47(116)-2 09:33 27-MAR-74 PAGE 11-3
SDEC	MAC	27-MAR-74 09:33		SUBROUTINES

  1024	401243'	301 00 0 00 000060		CAIL	 T0,	  "0"	   ;NO
  1025	401244'	303 00 0 00 000071		CAILE	 T0,	  "9"	   ;IS IT LEGAL
  1026	401245'	254 00 0 00 401252'		JRST		  RDEND    ;NO
  1027	401246'	221 02 0 00 000012		IMULI	 T2,	  ^D10	   ;MUL * 10
  1028	401247'	275 00 0 00 000060		SUBI	 T0,	   60	   ;ADD TO NUMBER
  1029	401250'	270 02 0 00 000000		ADD	 T2,	  T0	   ; AFTER CONVERSION
  1030	401251'	254 00 0 00 401242'		JRST		  RDEC1    ;GO BACK FOR NEXT
  1031	401252'	220 02 0 00 000471'	RDEND:	IMUL	 T2,	  SIGN	   ;FIX SIGN
  1032	401253'	307 02 0 00 000046		CAIG	 T2,	  ^D38	  ;CHECK EXPONENT   SIZE
  1033	401254'	315 02 0 00 402031'		CAMGE	 T2,	  [^D-38]
  1034	401255'	254 00 0 00 401257'		JRST		RDERR
  1035	401256'	263 17 0 00 000000		POPJ	 PSB,
  1036	401257'	505 10 0 00 000006	RDERR:	HRLI	 G3,	  6
  1037	401260'	254 00 0 00 400751'		JRST		  ERRH
  1038	401261'	263 17 0 00 000000		POPJ	 PSB,		   ;RETURN
  1039
  1040	401262'	476 00 0 00 000473'	NEGDEC: SETOM		  WFROM    ;INDICATES INTEGER
  1041	401263'	200 14 0 00 401561'	NEGTIV: MOVE	 T6,	  [-1]	   ;ASSUME -VE
  1042	401264'	350 00 0 17 000000		AOS		  (PSB)    ;ASSUME SKIP
  1043	401265'	306 00 0 00 000055		CAIN	 T0,	  "-"	   ;IS IT -VE
  1044	401266'	254 00 0 00 401273'		JRST		  TST	   ;YES - OK
  1045	401267'	306 00 0 00 000053		CAIN	 T0,	  "+"
  1046	401270'	254 00 0 00 401272'		JRST		  PL	   ;WHOOPS A +
  1047	401271'	350 00 0 17 000000		AOS		  (PSB)    ;ANYTHING ELSE
  1048	401272'	201 14 0 00 000001	PL:	MOVEI	 T6,	  1	   ;RESTORE +
  1049	401273'	331 00 0 00 000473'	TST:	SKIPL		  WFROM    ;NOW SHOULD WE FLOAT
  1050	401274'	254 00 0 00 401301'		JRST		FLOTR	;YES
  1051	401275'	202 14 0 00 000471'	TSTRET:	MOVEM	 T6,	  SIGN	   ;PUT AWAY
  1052	401276'	370 00 0 17 000000		SOS		  (PSB)    ;RESTORE CORRECT SKIP
  1053	401277'	402 00 0 00 000473'		SETZM		  WFROM    ;RESTORE CORRECT ENTRY
  1054	401300'	263 17 0 00 000000		POPJ	 PSB,		   ;AND RETURN
  1055	401301'	200 01 0 00 000014	FLOTR:	MOVE	T1,	T6
  1056	401302'	231 01 0 00 000400		IDIVI	T1,	400
  1057	401303'	332 00 0 00 000001		SKIPE		T1
  1058	401304'	641 01 0 00 243000		TLC	T1,	243000
  1059	401305'	641 02 0 00 233000		TLC	T2,	233000
  1060	401306'	141 01 0 00 000002		FADL	T1,	T2
  1061	401307'	200 14 0 00 000001		MOVE	T6,	T1
  1062	401310'	400 02 0 00 000002		SETZ	T2,	T2
  1063	401311'	254 00 0 00 401275'		JRST		TSTRET
  1064
  1065					; ROUTINE TO MAKE LEVEL COMPARISONS --------------------------------------------
  1066
  1067	401312'	260 17 0 00 401327'	LEV:	PUSHJ	 PSB,	  LEVFND   ;FIND CURRENT LEVEL
  1068	401313'	202 01 0 00 000005		MOVEM	 T1,	  T5	   ;PUT LEVEL IN T5
  1069	401314'	202 00 0 00 000003		MOVEM	 T0,	  T3	   ;SAVE T0
  1070
  1071	401315'	262 15 0 00 000000		POP	 PS1,	  T0	   ;FIND LEV TOP S1
  1072	401316'	202 00 0 00 000502'		MOVEM	T0,	REPLT0	;STORE FOR POSSIBLE REPLACEMENT
  1073	401317'	260 17 0 00 401327'		PUSHJ	 PSB,	  LEVFND
  1074	401320'	202 01 0 00 000004		MOVEM	 T1,	  T4	   ;PUT LEV S1 IN T4
  1075	401321'	200 00 0 00 000003		MOVE	 T0,	  T3	   ;RESTORE T0
  1076

SCAT2 STANDARD COMPLEX ALGEBRA TRANSLATER  V.2.	MACRO 47(116)-2 09:33 27-MAR-74 PAGE 11-4
SDEC	MAC	27-MAR-74 09:33		SUBROUTINES

  1077	401322'	317 05 0 00 000004		CAMG	 T5,	  T4
  1078	401323'	350 00 0 17 000000		AOS		  (PSB)    ;SKIP RETURN IF LE
  1079	401324'	200 03 0 00 000502'		MOVE	T3,	REPLT0	;PUT BACK ON STACK
  1080	401325'	261 15 0 00 000003		PUSH	PS1,	T3	; IF TEST FAILS
  1081	401326'	263 17 0 00 000000		POPJ	 PSB,
  1082
  1083	401327'	201 04 0 00 000011	LEVFND: MOVEI	 T4,	  11	   ;SET UP TABLE SEARCH
  1084	401330'	361 04 0 00 401337'	FINONE: SOJL	 T4,	  NFND
  1085	401331'	554 01 0 04 401524'		HLRZ	 T1,	  LEVTAB(T4)	    ;GET NEXT CHAR
  1086	401332'	550 14 0 00 000000		HRRZ	T6,	T0
  1087	401333'	312 14 0 00 000001		CAME	T6,	T1
  1088	401334'	254 00 0 00 401330'		JRST		  FINONE   ;NO
  1089	401335'	550 01 0 04 401524'		HRRZ	 T1,	  LEVTAB(T4)	    ;YES - GET ITS LEVEL
  1090	401336'	263 17 0 00 000000		POPJ	 PSB,		   ;RETURN
  1091	401337'	201 01 0 00 000007	NFND:	MOVEI	 T1,	  7	   ;MUST BE CONST OR VAR
  1092	401340'	263 17 0 00 000000		POPJ	 PSB,
  1093
  1094					;ROUTINE TO TEST FOV & FUND FLOWS ----------------------------------------------
  1095
  1096	401341'	255 01 0 00 401343'	OFCHK: JFOV		  FOVH	;OF OCCURRED
  1097	401342'	263 17 0 00 000000		POPJ	 PSB,		;NO
  1098	401343'	505 10 0 00 000005	FOVH:	HRLI	 G3,	  5	;YES
  1099	401344'	271 10 0 00 000001		ADDI	G3,	1
  1100	401345'	254 00 0 00 400751'		JRST		  ERRH
  1101
  1102					; ROUTINE TO CHECK IF INPUT DECODING DESIRED -----------------------------------
  1103
  1104	401346'	231 11 0 00 000002	SKCHCK: IDIVI	 F1,	  2	   ;STRIP OFF LOW DIGIT
  1105	401347'	332 00 0 00 000012		SKIPE		  F2	   ;IS IT ZERO
  1106	401350'	350 00 0 17 000000		AOS		  (PSB)    ;NO
  1107	401351'	263 17 0 00 000000		POPJ	 PSB,		   ;YES
  1108					;
  1109					; WR6STR - WRITES A 6BIT STRING IN T1 ------------------------------------------
  1110					;
  1111
  1112	401352'	211 02 0 00 000006	WR6STR: MOVNI	T2,	6	;LOOP COUNTER
  1113	401353'	200 03 0 00 402032'		MOVE	T3,	[POINT	6,T1]	;BYTE POINTER
  1114
  1115	401354'	134 00 0 00 000003	WR6ST1: ILDB	T0,	T3	;GET NEXT CHAR
  1116	401355'	271 00 0 00 000040		ADDI	T0,	40
  1117	401356'	260 17 0 00 401362'		PUSHJ	PSB,	WASCII	;AND OUTPUT
  1118	401357'	341 02 0 00 401354'		AOJL	T2,	WR6ST1
  1119
  1120	401360'	051 03 0 00 402033'		OUTSTR		[ASCIZ / = /]	;FOLLOW BY =
  1121	401361'	263 17 0 00 000000		POPJ	PSB,
  1122
  1123					;
  1124					; WASCII - WRITES AN ASCII CHAR IN T0 ------------------------------------------
  1125					;
  1126
  1127	401362'	051 01 0 00 000000	WASCII: OUTCHR		T0	;SIMPLY O/P CHAR
  1128	401363'	263 17 0 00 000000		POPJ	PSB,
  1129

SCAT2 STANDARD COMPLEX ALGEBRA TRANSLATER  V.2.	MACRO 47(116)-2 09:33 27-MAR-74 PAGE 11-5
SDEC	MAC	27-MAR-74 09:33		SUBROUTINES

  1130					;
  1131					; WFPNO - WRITE A FLOATING POINT NO IN T1	--------------------------------
  1132					; THANKS TO ROB COOK'S IOLIB V.3.
  1133					;
  1134
  1135	401364'	403 04 0 00 000005	WFPNO:	SETZB	T4,	T5	;INIT EXPS
  1136	401365'	200 14 0 00 402034'		MOVE	T6,	[1.0E-7]	;SMALLEST PRINTABLE FRACTION
  1137	401366'	214 03 0 00 000001		MOVM	T3,	T1	;SAVE NO
  1138	401367'	325 01 0 00 401372'		JUMPGE	T1,	WFP1	;SPACE IF POSVE
  1139	401370'	201 00 0 00 000055		MOVEI	T0,	"-"	;OTHERWISE SIGN
  1140	401371'	334 00 0 00 000000		SKIPA
  1141	401372'	201 00 0 00 000040	WFP1:	MOVEI	T0,	" "
  1142	401373'	260 17 0 00 401362'		PUSHJ	PSB,	WASCII
  1143
  1144	401374'	322 03 0 00 401405'		JUMPE	T3,	WRE30	;SPECIAL TEEATMENT FOR 0.0
  1145
  1146	401375'	315 03 0 00 402027'	WRE20:	CAMGE	T3,	[1.0]	;BIGGER THAN RANGE
  1147	401376'	254 00 0 00 401401'		JRST		WRE25
  1148	401377'	175 03 0 00 204500		FDVRI	T3,	(10.0)	;YES - REDUCE
  1149	401400'	344 05 0 00 401375'		AOJA	T5,	WRE20	;AND LOOP
  1150 
  1151	401401'	311 03 0 00 402035'	WRE25:	CAML	T3,	[0.1]	;IS IT .LT. 0.1
  1152	401402'	254 00 0 00 401405'		JRST		WRE30	;NO
  1153	401403'	165 03 0 00 204500		FMPRI	T3,	(10.0)	;YES INC NO.
  1154	401404'	364 05 0 00 401401'		SOJA	T5,	WRE25
  1155
  1156	401405'	271 03 0 00 000001	WRE30:	ADDI	T3,	1	;BEAT ROUNDING ERRORS
  1157	401406'	214 01 0 00 000005		MOVM	T1,	T5	;MOD OF EXPONENT
  1158	401407'	303 01 0 00 000006		CAILE	T1,	6	;E FORMAT?
  1159	401410'	250 04 0 00 000005		EXCH	T4,	T5	;YES
  1160	401411'	327 05 0 00 401415'		JUMPG	T5,	WRE40	;IF EXP .LT.0
  1161	401412'	201 00 0 00 000060		MOVEI	T0,	"0"
  1162	401413'	260 17 0 00 401362'		PUSHJ	PSB,	WASCII	;PRECEDE BY 0
  1163	401414'	254 00 0 00 401417'		JRST		WRE50
  1164
  1165	401415'	260 17 0 00 401435'	WRE40:	PUSHJ	PSB,	WDIGIT	;WRITE A DIGIT
  1166	401416'	367 05 0 00 401415'		SOJG	T5,	WRE40	;LOOP FOR ALL INTEGERS
  1167
  1168	401417'	201 00 0 00 000056	WRE50:	MOVEI	T0,	"."	;DELIMITER
  1169	401420'	260 17 0 00 401362'		PUSHJ	PSB,	WASCII
  1170
  1171	401421'	325 05 0 00 401425'	WRE60:	JUMPGE	T5,	WRE70	;ANY MORE LEADING ZEROES
  1172	401422'	201 00 0 00 000060		MOVEI	T0,	"0"	;YES
  1173	401423'	260 17 0 00 401362'		PUSHJ	PSB,	WASCII
  1174	401424'	344 05 0 00 401421'	 	AOJA	T5,	WRE60	;LOOP FOR MORE
  1175
  1176	401425'	260 17 0 00 401435'	WRE70:	PUSHJ	PSB,	WDIGIT	;WRITE A DIGIT
  1177	401426'	326 03 0 00 401425'		JUMPN	T3,	WRE70	;UNTIL NONE LEFT
  1178
  1179	401427'	336 00 0 00 000004		SKIPN		T4
  1180	401430'	263 17 0 00 000000		POPJ	PSB,		;FINISH IF NOT WANTED
  1181	401431'	201 00 0 00 000105		MOVEI	T0,	"E"	;SHOW E
  1182	401432'	260 17 0 00 401362'		PUSHJ	PSB,	WASCII

SCAT2 STANDARD COMPLEX ALGEBRA TRANSLATER  V.2.	MACRO 47(116)-2 09:33 27-MAR-74 PAGE 11-6
SDEC	MAC	27-MAR-74 09:33		SUBROUTINES

  1183	401433'	200 01 0 00 000004		MOVE	T1,	T4	;SET UP AND
  1184	401434'	254 00 0 00 401451'		JRST		WDECL	;WRITE EXPONENT
  1185
  1186	401435'	165 03 0 00 204500	WDIGIT: FMPRI	T3,	(10.0)	;MAKE A DIGIT
  1187	401436'	165 14 0 00 204500		FMPRI	T6,	(10.0)	;* TEST FRACTION
  1188	401437'	200 01 0 00 000003		MOVE	T1,	T3	;COPY NO
  1189	401440'	225 01 0 00 000400	 	MULI	T1,	400	;SEPARATE EXPON.
  1190	401441'	240 02 0 01 777535		ASH	T2,	-243(T1)	;KEEP TOP DIGIT
  1191	401442'	201 00 0 02 000060		MOVEI	T0,	"0"(T2) ;SET FOR O/P
  1192	401443'	132 02 0 00 000233		FSC	T2,	233	;CONVERT DIG TO REAL
  1193	401444'	154 03 0 00 000002		FSBR	T3,	T2	;REMOVE FROM NO.
  1194	401445'	260 17 0 00 401362'		PUSHJ	PSB,	WASCII	;WRITE NO.
  1195	401446'	317 03 0 00 000014		CAMG	T3,	T6	;BIGGER THAN SMALLEST ALLOWABLE
  1196	401447'	400 03 0 00 000003		SETZ	T3,	T3	; 8 DIGITS WRITTEN
  1197	401450'	263 17 0 00 000000		POPJ	PSB,
  1198					;
  1199					; WDECL - WRITES A DECIMAL INTEGER IN T1 ---------------------------------------
  1200					;
  1201
  1202	401451'	403 04 0 00 000005	WDECL:	SETZB	T4,	T5	;TO WRITE A DEC EXPONENT
  1203	401452'	335 00 0 00 000001		SKIPGE		T1	;NEG?
  1204	401453'	201 04 0 00 000001		MOVEI	T4,	1	;YES
  1205	401454'	214 01 0 00 000001		MOVM	T1,	T1	;GET MAGNITUDE
  1206
  1207	401455'	231 01 0 00 000012	WD1:	IDIVI	T1,	12	;STRIP OFF LOW DIGIT
  1208	401456'	261 15 0 00 000002		PUSH	PS1,	T2	;STACK IT
  1209	401457'	322 01 0 00 401461'		JUMPE	T1,	WPR	;END?
  1210	401460'	344 05 0 00 401455'		AOJA	T5,	WD1
  1211
  1212	401461'	201 00 0 00 000053	WPR:	MOVEI	T0,	"+"	;OP SIGN
  1213	401462'	332 00 0 00 000004		SKIPE		T4
  1214	401463'	201 00 0 00 000055		MOVEI	T0,	"-"
  1215	401464'	260 17 0 00 401362'		PUSHJ	PSB,	WASCII
  1216
  1217	401465'	262 15 0 00 000000	WP1:	POP	PS1,	T0	;UNSTACK VALUE
  1218	401466'	271 00 0 00 000060		ADDI	T0,	60	;AND PRINT
  1219	401467'	260 17 0 00 401362'		PUSHJ	PSB,	WASCII
  1220	401470'	365 05 0 00 401465'		SOJGE	T5,	WP1
  1221 
  1222	401471'	263 17 0 00 000000		POPJ	PSB,
  1223 
  1224					;
  1225					; WCPAIR WRITES A COMPLEX PAIR FROM A1,A2 --------------------------------------
  1226					;
  1227	401472'	201 00 0 00 000050	WCPAIR: MOVEI	T0,	"("	;JUST USE PREVIOUS ROUTINES
  1228	401473'	260 17 0 00 401362'		PUSHJ	PSB,	WASCII
  1229	401474'	200 01 0 00 000011		MOVE	T1,	A1
  1230	401475'	260 17 0 00 401364'		PUSHJ	PSB,	WFPNO
  1231	401476'	201 00 0 00 000054		MOVEI	T0,	","
  1232	401477'	260 17 0 00 401362'		PUSHJ	PSB,	WASCII
  1233	401500'	200 01 0 00 000012		MOVE	T1,	A2
  1234	401501'	260 17 0 00 401364'		PUSHJ	PSB,	WFPNO
  1235	401502'	201 00 0 00 000051		MOVEI	T0,	")"

SCAT2 STANDARD COMPLEX ALGEBRA TRANSLATER  V.2.	MACRO 47(116)-2 09:33 27-MAR-74 PAGE 11-7
SDEC	MAC	27-MAR-74 09:33		SUBROUTINES

  1236	401503'	260 17 0 00 401362'		PUSHJ	PSB,	WASCII
  1237	401504'	263 17 0 00 000000		POPJ	PSB,
  1238
  1239					; GET4 &GET2 TO UNSTACK VALUES FROM S1 --------------------------- 
  1240 
  1241	401505'	262 16 0 00 000014	GET4:	POP	PS2,	A4	;GET LAST VALUES
  1242	401506'	262 16 0 00 000013		POP	PS2,	A3	;INTO ARITH REGS
  1243	401507'	262 16 0 00 000012	GET2:	POP	PS2,	A2
  1244	401510'	262 16 0 00 000011		POP	PS2,	A1
  1245	401511'	263 17 0 00 000000		POPJ	PSB,
  1246 
  1247					; STOR2 TO PUT 2 VALUES BACK ON S1 AND TEST FOR OVFLOW----------------- 
  1248 
  1249	401512'	261 16 0 00 000011	STOR2:	PUSH	PS2,	A1	;REAL
  1250	401513'	261 16 0 00 000012		PUSH	PS2,	A2	;IMAG
  1251	401514'	260 17 0 00 401516'		PUSHJ	PSB,	EXOV
  1252	401515'	263 17 0 00 000000		POPJ	PSB,
  1253 
  1254					; EXOV TO TEST FOR EXECUTION OVFLOWS ----------------------------------- 
  1255 
  1256	401516'	255 01 0 00 401520'	EXOV:	JFOV		EXER	;OFLOW?
  1257	401517'	263 17 0 00 000000		POPJ	PSB,		;NO
  1258	401520'	201 05 0 00 000000	EXER:	MOVEI	T5,	0	;YES
  1259	401521'	201 04 0 00 000010		MOVEI	T4,	8
  1260	401522'	201 03 0 00 401561'		MOVEI	T3,	[-1]
  1261	401523'	254 00 0 00 400757'		JRST		ERPRNT
  1262 
  1263
  1264					PAGE

SCAT2 STANDARD COMPLEX ALGEBRA TRANSLATER  V.2.	MACRO 47(116)-2 09:33 27-MAR-74 PAGE 12
SDEC	MAC	27-MAR-74 09:33		DATA LOCATIONS IN HISEG

  1265					SUBTTL DATA LOCATIONS IN HISEG
  1266
  1267	401524'	000052	000004		LEVTAB: 52,,4	 ;*
  1268	401525'	000151	000006			151,,6	;SUBR.
  1269	401526'	000057	000004			57,,4	 ;/
  1270	401527'	000053	000003			53,,3	 ;+
  1271	401530'	000055	000003			55,,3	 ;-
  1272	401531'	000136	000005			136,,5	 ;^
  1273	401532'	000137	000002			137,,2	 ;_
  1274	401533'	000133	000002			133,,2	 ;[
  1275	401534'	000135	000001			135,,1	 ;]
  1276
  1277	401535'	123 103 101 124 062	DESCR:	ASCII /SCAT2/
  1278	401536'	104 101 124 106 114	FILNAM: ASCII /DATFL/
  1279	401537'	000111	000132		PPN:	111,,132
  1280	401540'				CRLF:	ASCIZ /
  1281	401540'	015 012 000 000 000	/
  1282
  1283	401541'				LIT
  1284	401541'	777700	000367'
  1285	401542'	000000'	000001'
  1286	401543'	123 103 101 124 040
  1287	401544'	050 062 066 055 115
  1288	401545'	101 122 055 067 064
  1289	401546'	051 040 122 105 101
  1290	401547'	104 131 015 012 040
  1291	401550'	015 012 000 000 000
  1292	401551'	000170'	000171'
  1293	401552'	000023	000023
  1294	401553'	777700	000167'
  1295	401554'	777700	000267'
  1296	401555'	000000	000052
  1297	401556'	000054	000054
  1298	401557'	000044	000044
  1299	401560'	000063	000063
  1300	401561'	777777	777777
  1301	401562'	000001	000002
  1302	401563'	554147	000151
  1303	401564'	415647	000151
  1304	401565'	635650	000151
  1305	401566'	645650	000151
  1306	401567'	436350	000151
  1307	401570'	434162	000151
  1308	401571'	605754	000151
  1309	401572'	206712	273407
  1310	401573'	576400	000000
  1311	401574'	202400	000000
  1312	401575'	62 45 63 65 54 64
  1313	401576'	000001	000474'
  1314	401577'	015 012 125 116 122
  1315	401600'	105 103 117 107 116
  1316	401601'	111 132 105 104 040
  1317	401602'	123 127 111 124 103

SCAT2 STANDARD COMPLEX ALGEBRA TRANSLATER  V.2.	MACRO 47(116)-2 09:33 27-MAR-74 PAGE 12-1
SDEC	MAC	27-MAR-74 09:33		DATA LOCATIONS IN HISEG

  1318	401603'	110 040 000 000 000
  1319	401604'	054 040 116 105 130
  1320	401605'	124 040 123 127 111
  1321	401606'	124 103 110 040 044
  1322	401607'	000 000 000 000 000
  1323	401610'	015 012 103 117 116
  1324	401611'	124 111 116 125 105
  1325	401612'	054 040 116 117 124
  1326	401613'	110 111 116 107 040
  1327	401614'	110 101 123 040 102
  1328	401615'	105 105 116 040 103
  1329	401616'	110 101 116 107 105
  1330	401617'	104 015 012 000 000
  1331	401620'	000474'	000001
  1332	401621'	015 012 105 122 122
  1333	401622'	117 122 123 000 000
  1334	401623'	000000	000044
  1335	401624'	015 012 116 117 040
  1336	401625'	126 101 122 111 101
  1337	401626'	102 114 105 123 040
  1338	401627'	104 105 106 111 116
  1339	401630'	105 104 000 000 000
  1340	401631'	015 012 116 117 127
  1341	401632'	000 000 000 000 000
  1342	401633'	015 012 105 122 122
  1343	401634'	117 122 123 040 103
  1344	401635'	114 105 101 122 105
  1345	401636'	104 000 000 000 000
  1346	401637'	015 012 015 012 123
  1347	401640'	127 111 124 103 110
  1348	401641'	105 123 040 101 122
  1349	401642'	105 072 015 012 075
  1350	401643'	075 075 075 075 075
  1351	401644'	075 075 075 075 075
  1352	401645'	075 075 015 012 103
  1353	401646'	040 040 040 040 055
  1354	401647'	040 103 114 105 101
  1355	401650'	122 040 105 122 122
  1356	401651'	117 122 040 103 117
  1357	401652'	125 116 124 054 040
  1358	401653'	103 117 115 115 101
  1359	401654'	116 104 040 103 117
  1360	401655'	116 124 111 116 125
  1361	401656'	105 104 015 012 104
  1362	401657'	040 040 040 040 055
  1363	401660'	040 104 125 115 120
  1364	401661'	040 101 114 114 040
  1365	401662'	126 101 122 111 101
  1366	401663'	102 114 105 123 040
  1367	401664'	101 116 104 040 126
  1368	401665'	101 114 125 105 123
  1369	401666'	040 101 123 123 111
  1370	401667'	107 116 105 104 040

SCAT2 STANDARD COMPLEX ALGEBRA TRANSLATER  V.2.	MACRO 47(116)-2 09:33 27-MAR-74 PAGE 12-2
SDEC	MAC	27-MAR-74 09:33		DATA LOCATIONS IN HISEG

  1371	401670'	124 117 040 104 101
  1372	401671'	124 105 015 012 105
  1373	401672'	040 040 040 040 055
  1374	401673'	040 105 130 111 124
  1375	401674'	015 012 110 040 040
  1376	401675'	040 040 055 040 124
  1377	401676'	131 120 105 040 124
  1378	401677'	110 111 123 040 124
  1379	401700'	105 130 124 000 000
  1380	401701'	015 012 114 040 040
  1381	401702'	040 040 055 040 114
  1382	401703'	111 123 124 040 105
  1383	401704'	122 122 117 122 123
  1384	401705'	040 101 116 104 040
  1385	401706'	111 115 120 114 111
  1386	401707'	103 111 124 040 122
  1387	401710'	015 012 121 040 040
  1388	401711'	040 040 055 040 121
  1389	401712'	125 105 122 131 040
  1390	401713'	111 106 040 105 122
  1391	401714'	122 117 122 123 040
  1392	401715'	105 130 111 123 124
  1393	401716'	015 012 122 040 040
  1394	401717'	040 040 055 040 122
  1395	401720'	105 123 124 101 122
  1396	401721'	124 040 103 117 115
  1397	401722'	115 101 116 104 000
  1398	401723'	015 012 130 040 040
  1399	401724'	040 040 055 040 104
  1400	401725'	105 114 105 124 105
  1401	401726'	040 126 101 122 111
  1402	401727'	101 102 114 105 123
  1403	401730'	015 012 074 101 114
  1404	401731'	124 076 055 040 124
  1405	401732'	105 122 115 111 116
  1406	401733'	101 124 105 123 040
  1407	401734'	123 127 111 124 103
  1408	401735'	110 040 114 111 123
  1409	401736'	124 015 012 015 012
  1410	401737'	116 117 127 000 000
  1411	401740'	015 012 103 117 116
  1412	401741'	106 111 122 115 072
  1413	401742'	040 000 000 000 000
  1414	401743'	015 012 101 114 114
  1415	401744'	040 103 114 105 101
  1416	401745'	122 105 104 000 000
  1417	401746'	44 06 0 00 000002
  1418	401747'	777777	777772
  1419	401750'	777777	777776
  1420	401751'	103 114 105 101 122
  1421	401752'	105 104 000 000 000
  1422	401753'	116 117 040 105 122
  1423	401754'	122 117 122 123 040

SCAT2 STANDARD COMPLEX ALGEBRA TRANSLATER  V.2.	MACRO 47(116)-2 09:33 27-MAR-74 PAGE 12-3
SDEC	MAC	27-MAR-74 09:33		DATA LOCATIONS IN HISEG

  1424	401755'	131 105 124 000 000
  1425	401756'	111 114 114 056 040
  1426	401757'	103 110 101 122 056
  1427	401760'	040 111 116 040 111
  1428	401761'	116 120 125 124 000
  1429	401762'	124 117 117 040 115
  1430	401763'	101 116 131 040 103
  1431	401764'	110 101 122 123 000
  1432	401765'	125 116 104 105 106
  1433	401766'	111 116 105 104 040
  1434	401767'	126 101 122 111 101
  1435	401770'	102 114 105 000 000
  1436	401771'	104 105 114 111 115
  1437	401772'	111 124 105 122 040
  1438	401773'	105 130 120 105 103
  1439	401774'	124 105 104 000 000
  1440	401775'	116 117 056 040 117
  1441	401776'	125 124 040 117 106
  1442	401777'	040 122 101 116 107
  1443	402000'	105 000 000 000 000
  1444	402001'	105 130 120 040 117
  1445	402002'	125 124 040 117 106
  1446	402003'	040 122 101 116 107
  1447	402004'	105 000 000 000 000
  1448	402005'	124 117 117 040 115
  1449	402006'	101 116 131 040 126
  1450	402007'	101 122 111 101 102
  1451	402010'	114 105 123 000 000
  1452	402011'	105 130 105 103 040
  1453	402012'	117 126 057 125 116
  1454	402013'	104 040 106 114 117
  1455	402014'	127 000 000 000 000
  1456	402015'	125 116 102 101 114
  1457	402016'	040 120 101 122 105
  1458	402017'	116 124 110 000 000
  1459	402020'	125 104 106 040 106
  1460	402021'	103 116 000 000 000
  1461	402022'	000000	000040
  1462	402023'	000000	000136
  1463	402024'	44 06 0 00 000004
  1464	402025'	777777	777773
  1465	402026'	202 04 0 00 000006
  1466	402027'	201400	000000
  1467	402030'	165 04 0 00 204500
  1468	402031'	777777	777732
  1469	402032'	44 06 0 00 000001
  1470	402033'	040 075 040 000 000
  1471	402034'	151655	376246
  1472	402035'	175631	463146
  1473	000000'				RELOC
  1474
  1475					PAGE

SCAT2 STANDARD COMPLEX ALGEBRA TRANSLATER  V.2.	MACRO 47(116)-2 09:33 27-MAR-74 PAGE 13
SDEC	MAC	27-MAR-74 09:33		DATA LOCATIONS IN LOSEG

  1476					SUBTTL DATA LOCATIONS IN LOSEG
  1477
  1478
  1479	000000'				VARTAB: BLOCK	 50	  ;PREDEFINED VARIABLES
  1480	000050'				REAL:	BLOCK	 50	  ;REAL PARTS
  1481	000120'				IMAG:	BLOCK	 50	  ;IMAG    PARTS
  1482	000170'				S1:	BLOCK	 100	  ;TEMP STORAGE STACKS
  1483	000270'				S2:	BLOCK	 100
  1484	000370'				SUBSTK: BLOCK	 100	  ;S/R LINKAGE
  1485	000470'				ASSFLG:	BLOCK 	1	;ASSIGNMENT FLAG
  1486	000471'				SIGN:	BLOCK	 1	  ;SIGN HANDLING
  1487	000472'				TIME:	BLOCK	 1	  ;RECURSIVE S/R TIME CALLED
  1488	000473'				WFROM:	BLOCK	 1	  ;-VE PROCESSING
  1489	000474'				SAV:	BLOCK	 5	  ;SAVE ACS
  1490	000501'				SAVT0:	BLOCK	1	;SAVE T0
  1491	000502'				REPLT0:	BLOCK	1	;REPLACE T0
  1492	000503'				SAVL:	BLOCK	1	;SAVE L
  1493	000504'				NLETT:	BLOCK	1
  1494
  1495			400000'			END START

NO ERRORS DETECTED

HI-SEG. BREAK IS 402040
PROGRAM BREAK IS 000505

3K CORE USED

SCAT2 STANDARD COMPLEX ALGEBRA TRANSLATER  V.2.	MACRO 47(116)-2 09:33 27-MAR-74 PAGE 14
SDEC	MAC	27-MAR-74 09:33		SYMBOL TABLE

A1		000011	SPD	E2		401010'		NEGTIV		401263'		SAVL		000503'	
A2		000012	SPD	E3		401013'		NEWCOM		400006'		SAVT0		000501'	
A3		000013	SPD	E4		401016'		NEXTCH		401073'		SHFMK1		400731'	
A4		000014	SPD	E5		401021'		NFND		401337'		SHFMK2		400743'	
ANG		400371'		E6		401024'		NLETT		000504'		SHFRET		400726'	
ARR1		401047'		E7		401027'		NOTEMP		400104'		SHUFF1		400722'	
ARROW		401042'		E8		401032'		NSMES		400550'		SHUFFL		400720'	
ASSFLG		000470'		E9		401035'		NSW		400521'		SHUFIN		400747'	
ASSFND		400333'		ECLR		400606'		NUMPRT		400514'		SHUFMK		400730'	
ASSIGN		400120'		ERPRNT		400757'		NVAR		401115'		SIGN		000471'	
ASSLOP		400321'		ERRCHR		400754'		OFCHK		401341'		SIND		400463'	EXT
ASSNFD		400332'		ERRFUN		400356'		OPR		400077'		SINH		400423'	
ATAN2		400501'	EXT	ERRH		400751'		OPRET		400111'		SKCHCK		401346'	
BACB1		400124'		ERRSW		400617'		OUTCHR	051040	000000		SKRT		401132'	
BACBRA		400123'		EXER		401520'		OUTSTR	051140	000000		SNH		400401'	
BLPRC		400154'		EXIT	047000	000012		PL		401272'		START		400000'	
BRACE		400115'		EXOV		401516'		POL		400476'		STOR2		401512'	
CABS		400476'	EXT	F1		000011	SPD	POSFIN		400157'		SUBSTK		000370'	
CAR		400463'		F2		000012	SPD	POSTR		400166'		SWITCH		400517'	
CARRET		400472'		FALLEV		400101'		PPN		401537'		T0		000000	SPD
CASS		400314'		FILNAM		401536'		PROCES		400173'		T1		000001	SPD
CDIGIT		401230'		FINONE		401330'		PROCIG		400143'		T2		000002	SPD
CDIV		400253'		FLOTR		401301'		PS1		000015	SPD	T3		000003	SPD
CEXP		400452'	EXT	FOVH		401343'		PS2		000016	SPD	T4		000004	SPD
CEXP.3		400306'	EXT	FUNCT		401124'		PSB		000017	SPD	T5		000005	SPD
CFDM.0		400420'	EXT	FUNCTH		400337'		QNO		400564'		T6		000014	SPD
CMIN		400227'		G1		000006	SPD	QUERY		400557'		TIME		000472'	
CMUL		400234'		G2		000007	SPD	RCPAIR		401142'		TNH		400407'	
CNUMBR		400072'		G3		000010	SPD	RDEC1		401242'		TOMANY		401135'	
CONST		401066'		GET2		401507'		RDECEX		401237'		TPOP		400176'	
COSD		400466'	EXT	GET4		401505'		RDEND		401252'		TST		401273'	
COSH		400442'		GETCHR		401053'		RDERR		401257'		TSTRET		401275'	
CPL		400222'		GOOD		401103'		RDIGIT		401227'		UNB		400133'	
CRLF		401540'		HELP		400612'		RE		400626'		UNB1		400136'	
CRTEST		400663'		IMAG		000120'		REAL		000050'		VARTAB		000000'	
CSH		400404'		INCHRW	051000	000000		REPLT0		000502'		VCODE		000001	SPD
CUP		400301'		INMITC		400022'		RESET	047000	000000		VEDIT		000062	SPD
DELEN1		400702'		INNOC		400021'		RESOUT		400507'		VMAJOR		000002	SPD
DELEND		400701'		INSW		401061'		RET		401121'		VMINOR		000003	SPD
DELFIN		400715'		L		000016	SPD	RRE10		401152'		WASCII		401362'	
DELFND		400710'		LASTCH		401110'		RRE20		401161'		WCPAIR		401472'	
DELLEG		400673'		LASTNO		400553'		RRE30		401163'		WD1		401455'	
DELS1		400646'		LASTSW		400552'		RRE40		401172'		WDECL		401451'	
DELSOM		400643'		LETTER		400065'		RRE50		401204'		WDIGIT		401435'	
DELVAR		400630'		LEV		401312'		RRE60		401210'		WFP1		401372'	
DEND		400604'		LEVFND		401327'		RRE61		401214'		WFPNO		401364'	
DESCR		401535'		LEVTAB		401524'		RRE63		401220'		WFROM		000473'	
DNO1		400573'		LFTEST		400667'		RRE70		401221'		WP1		401465'	
DNO2		400574'		MAG		400363'		RRE80		401224'		WPR		401461'	
DUMP		400567'		MESS		400766'		RREAL		401145'		WR6ST1		401354'	
E0		401002'		MS		400767'		S1		000170'		WR6STR		401352'	
E1		401005'		NDEF		401140'		S2		000270'		WRE20		401375'	
E10		401040'		NEGDEC		401262'		SAV		000474'		WRE25		401401'	

SCAT2 STANDARD COMPLEX ALGEBRA TRANSLATER  V.2.	MACRO 47(116)-2 09:33 27-MAR-74 PAGE 14-1
SDEC	MAC	27-MAR-74 09:33		SYMBOL TABLE

WRE30		401405'		
WRE40		401415'		
WRE50		401417'		
WRE60		401421'		
WRE70		401425'		
.JBVER		000137	SIN	

A1    	    21#	    29	   279	   287	   295	   303	   307	   321	   329	   335	   345	   349	   374	   406
	   407	   414	   416	   431	   435	   445	   453	   457	   461	   466	   469	   476	   480	   487
	   492	   495	   506	   507	   509	   515	   519	   612	  1229	  1244	  1249
A2    	    22#	    30	   280	   288	   297	   301	   308	   323	   327	   336	   346	   350	   375	   408
	   413	   417	   432	   436	   458	   467	   470	   481	   493	   496	   501	   504	   510	   518
	   613	  1233	  1243	  1250
A3    	    23#	   279	   287	   296	   302	   315	   316	   322	   328	   344	   431	   435	   442	  1242
A4    	    24#	    31	   235	   280	   288	   298	   304	   317	   318	   324	   330	   432	   436	   443
	  1241
ANG   	   387	   412#
ARR1  	   859#	   860
ARROW 	   796	   799	   854#
ASSFLG	   359	   527	  1485#
ASSFND	   364	   374#
ASSIGN	   108	   165#
ASSLOP	   362#	   366
ASSNFD	   365	   373#
ATAN2 	   412#	   412	   517#	   517
BACB1 	   172#	   178
BACBRA	   117	   171#
BLPRC 	   194	   203#
BRACE 	   112	   155	   159#
CABS  	   405#	   405	   514#	   514
CAR   	   395	   500#
CARRET	   509#	   522
CASS  	   262	   356#
CDIGIT	   957	  1012#
CDIV  	   253	   314#
CEXP  	   452#	   452	   460#	   460	   475#	   475	   486#	   486
CEXP.3	   347#	   347
CFDM.0	   446#	   446
CMIN  	   250	   286#
CMUL  	   256	   294#
CNUMBR	    90	   134#
CONST 	   126	   886#
COSD  	   503#	   503
COSH  	   426	   437	   475#
CPL   	   247	   278#
CRLF  	   535	   608	   656	   663	   801	  1280#
CRTEST	   704	   710#
CSH   	   393	   426#
CUP   	   259	   342#
DELEN1	   734#	   737
DELEND	   707	   732#	   751
DELFIN	   717	   749#
DELFND	   735	   743#
DELLEG	   696	   701	   723#
DELS1 	   693#	   714	   726
DELSOM	   674	   689#	   708
DELVAR	   565	   668#
DEND  	   610	   617#
DESCR 	  1277#
DNO1  	   602	   607#
DNO2  	   608#	   615
DUMP  	   551	   600#
E0    	   807	   819#
E1    	   808	   822#
E10   	   817	   849#
E2    	   809	   825#
E3    	   810	   828#
E4    	   811	   831#
E5    	   812	   834#
E6    	   813	   837#
E7    	   814	   840#
E8    	   815	   843#
E9    	   816	   846#
ECLR  	   561	   623#
ERPRNT	   186	   371	   403	   660	   795#	  1261
ERRCHR	   791#	   793
ERRFUN	   399#
ERRH  	   181	   201	   720	   729	   740	   787#	   939	   942	  1007	  1037	  1100
ERRSW 	   559	   654#
EXER  	  1256	  1258#
EXOV  	  1251	  1256#
F1    	    29#	    65	   129	   137	   145	   160	   166	   171	   203	   204	  1104
F2    	    30#	  1105
FALLEV	   144#	   148
FILNAM	  1278#
FINONE	  1084#	  1088
FLOTR 	  1050	  1055#
FOVH  	  1096	  1098#
FUNCT 	   912	   924#
FUNCTH	   266	   382#
G1    	    18#	   128	   135	   360	   362	   366	   373	   374	   375	   607	   609	   612	   613	   615
	   920	   933	   947	   948
G2    	    19#	   127	   136	   921	   948
G3    	    20#	    64	    73	   179	   180	   182	   183	   184	   199	   200	   572	   588	   592	   595
	   623	   626	   649	   654	   657	   658	   670	   684	   719	   728	   739	   787	   788	   870
	   879	   937	   938	   941	  1005	  1006	  1036	  1098	  1099
GET2  	   356	   382	   532	  1243#
GET4  	   278	   286	   294	   314	   342	  1241#
GETCHR	    78	   583	   791	   869#	   892	   950	   952	   956	  1011	  1021	  1023
GOOD  	   897	   903#
HELP  	   563	   631#
IMAG  	   375	   613	   770	   771	   777	   920	  1481#
INMITC	    79#	   130	   930
INNOC 	    78#	   138	   153	   161	   167	   176	   197	   205
INSW  	   545	   671	   713	   725	   746	   878#	   881
L     	    28#	   343	   344	   348	   405	   412	   445	   452	   460	   475	   486	   500	   503	   514
	   517
LASTCH	   901	   909#
LASTNO	   581#	   596
LASTSW	   549	   578#
LETTER	    85	   126#
LEV   	   147	  1067#
LEVFND	  1067	  1073	  1083#
LEVTAB	  1085	  1089	  1267#
LFTEST	   711	   716#
MAG   	   385	   405#
MESS  	   797	   806#
MS    	   806	   807#
NDEF  	   916	   941#
NEGDEC	  1022	  1040#
NEGTIV	   951	  1041#
NEWCOM	    61#	   537	   664	   802
NEXTCH	   892#	   907
NFND  	  1084	  1091#
NLETT 	   706	   745	   750	  1493#
NOTEMP	   143	   147#
NSMES 	   573#	   593	   605	   619	   627	   650	   685	   782
NSW   	   545#	   574
NUMPRT	   528	   534#
NVAR  	   915#	   918
OFCHK 	   961	   970	   987	  1096#
OPR   	    96	    99	   101	   103	   142#	   151
OPRET 	   146	   152#
PL    	  1046	  1048#
POL   	   397	   514#
POSFIN	   191	   209#	   215
POSTR 	   210	   221#	   225
PPN   	  1279#
PROCES	   222	   233#
PROCIG	   119	   190#
PS1   	    25#	    68	   142	   144	   149	   159	   165	   172	   174	   209	   211	   224	   242	   244
	  1071	  1080	  1208	  1217
PS2   	    26#	    69	   127	   128	   135	   136	   150	   177	   214	   221	   223	   269	   357	  1241
	  1242	  1243	  1244	  1249	  1250
PSB   	    27#	    48	    70	    78	    80	    87	    92	   105	   109	   114	   126	   134	   147	   278
	   281	   286	   289	   294	   309	   314	   337	   342	   347	   351	   356	   358	   376	   382
	   399	   409	   418	   421	   422	   426	   427	   434	   437	   446	   448	   472	   498	   511
	   531	   532	   534	   545	   583	   584	   611	   614	   671	   707	   713	   725	   746	   747
	   751	   791	   796	   797	   799	   821	   824	   827	   830	   833	   836	   839	   842	   845
	   848	   850	   855	   862	   873	   874	   882	   892	   922	   928	   934	   935	   950	   951
	   952	   956	   957	   961	   966	   970	   979	   987	   998	   999	  1011	  1014	  1017	  1018
	  1021	  1022	  1023	  1035	  1038	  1042	  1047	  1052	  1054	  1067	  1073	  1078	  1081	  1090
	  1092	  1097	  1106	  1107	  1117	  1121	  1128	  1142	  1162	  1165	  1169	  1173	  1176	  1180
	  1182	  1194	  1197	  1215	  1219	  1222	  1228	  1230	  1232	  1234	  1236	  1237	  1245	  1251
	  1252	  1257
QNO   	   589	   594#	   655
QUERY 	   557	   588#
RCPAIR	   134	   946#
RDEC1 	  1023#	  1030
RDECEX	   979	  1020#
RDEND 	  1026	  1031#
RDERR 	  1034	  1036#
RDIGIT	   966	  1011#
RE    	   555	   663#
REAL  	   374	   612	   768	   769	   776	   921	  1480#
REPLT0	  1072	  1079	  1491#
RESOUT	   243	   527#
RET   	   920#
RRE10 	   956#	   962
RRE20 	   958	   964#
RRE30 	   966#	   972
RRE40 	   965	   967	   974#
RRE50 	   985#	   988
RRE60 	   976	   985	   990#
RRE61 	   995#	  1003
RRE63 	   999#	  1001
RRE70 	   991	  1001#
RRE80 	   993	  1005#
RREAL 	   950#	   998
S1    	    52	    61	    62	    68	   680	  1482#
S2    	    69	  1483#
SAV   	   542	   543	   581	  1489#
SAVL  	   343	   348	  1492#
SAVT0 	  1490#
SHFMK1	   764#	   773
SHFMK2	   765	   775#
SHFRET	   760#
SHUFF1	   756#	   760
SHUFFL	   749	   753#	   779
SHUFIN	   757	   761	   781#
SHUFMK	   759	   763#
SIGN  	   974	  1031	  1051	  1486#
SIND  	   500#	   500
SINH  	   421	   434	   452#
SKCHCK	    80	    87	    92	   105	   109	   114	  1104#
SKRT  	   910	   933#
SNH   	   389	   421#
START 	    47#	  1495
STOR2 	   281	   289	   309	   337	   351	   376	   399	   409	   418	   422	   427	   448	   511	  1249#
SUBSTK	    48	    70	  1484#
SWITCH	   542#	   873
T0    	    12#	    51	    52	    62	    63	    82	    83	    89	    94	    95	    97	    98	   100	   102
	   107	   111	   116	   144	   152	   154	   159	   165	   190	   193	   196	   223	   224	   234
	   235	   244	   246	   249	   252	   255	   258	   261	   264	   269	   315	   316	   319	   333
	   334	   345	   349	   362	   363	   365	   384	   386	   388	   390	   392	   394	   396	   407
	   415	   416	   442	   454	   463	   477	   483	   489	   492	   502	   506	   509	   516	   520
	   521	   542	   543	   547	   548	   550	   552	   554	   556	   558	   560	   562	   564	   571
	   581	   582	   673	   678	   680	   693	   694	   698	   699	   703	   710	   716	   723	   724
	   743	   744	   792	   869	   871	   872	   878	   880	   888	   889	   894	   895	   899	   900
	   905	   906	   909	   911	   929	   960	   964	   968	   969	   975	   990	   992	  1012	  1013
	  1015	  1016	  1024	  1025	  1028	  1029	  1043	  1045	  1069	  1071	  1072	  1075	  1086	  1115
	  1116	  1127	  1139	  1141	  1161	  1168	  1172	  1181	  1191	  1212	  1214	  1217	  1218	  1227
	  1231	  1235
T1    	    13#	   149	   150	   174	   175	   177	   233	   234	   264	   265	   295	   296	   299	   307
	   317	   318	   319	   321	   322	   325	   333	   335	   346	   350	   357	   363	   373	   443
	   455	   464	   478	   484	   490	   493	   530	   542	   581	   588	   589	   609	   610	   654
	   655	   689	   724	   732	   734	   736	   737	   744	   766	   767	   768	   769	   770	   771
	   915	   916	   917	   953	   959	   968	   971	  1055	  1056	  1057	  1058	  1060	  1061	  1068
	  1074	  1085	  1087	  1089	  1091	  1113	  1137	  1138	  1157	  1158	  1183	  1188	  1189	  1190
	  1203	  1205	  1207	  1209	  1229	  1233
T2    	    14#	   211	   212	   214	   234	   297	   298	   299	   301	   302	   305	   308	   323	   324
	   325	   327	   328	   331	   334	   336	   454	   463	   466	   477	   483	   489	   689	   691
	   734	   749	   981	   983	   985	  1020	  1027	  1029	  1031	  1032	  1033	  1059	  1060	  1062
	  1112	  1118	  1190	  1191	  1192	  1193	  1208
T3    	    15#	   185	   303	   304	   305	   329	   330	   331	   370	   402	   455	   464	   467	   478
	   484	   490	   659	   690	   726	   763	   764	   766	   767	   768	   769	   770	   771	   772
	   773	   775	   776	   777	   789	   798	   857	   890	   903	   947	   995	   996	  1069	  1075
	  1079	  1080	  1113	  1115	  1137	  1144	  1146	  1148	  1151	  1153	  1156	  1177	  1186	  1188
	  1193	  1195	  1196	  1260
T4    	    16#	   184	   369	   400	   658	   754	   758	   788	   806	   886	   887	   917	   924	   927
	   929	   933	   947	   954	   959	   960	   969	   974	   977	   978	   980	   982	  1001	  1074
	  1077	  1083	  1084	  1085	  1089	  1135	  1159	  1179	  1183	  1202	  1204	  1213	  1259
T5    	    17#	   183	   368	   401	   502	   507	   510	   516	   521	   582	   657	   753	   756	   758
	   760	   763	   787	   795	   820	   823	   826	   829	   832	   835	   838	   841	   844	   847
	   854	   856	   858	   860	   886	   889	   906	   913	   915	   918	   920	   921	   980	   982
	   986	  1068	  1077	  1135	  1149	  1154	  1157	  1159	  1160	  1166	  1171	  1174	  1202	  1210
	  1220	  1258
T6    	    31#	  1041	  1048	  1051	  1055	  1061	  1086	  1087	  1136	  1187	  1195
TIME  	   946	   997	  1002	  1487#
TNH   	   391	   431#
TOMANY	   904	   925	   937#
TPOP  	   242#	   270	   282	   290	   310	   338	   352	   377	   410	   419	   423	   428	   449	   512
TST   	  1044	  1049#
TSTRET	  1051#	  1063
UNB   	   173	   179#
UNB1  	   182#	   213
VARTAB	    50	    51	   362	   373	   601	   609	   678	   679	   734	   736	   744	   756	   758	   764
	   766	   767	   775	   915	  1479#
VCODE 	     6#	    36
VEDIT 	     9#	    36
VMAJOR	     7#	    36
VMINOR	     8#	    36
WASCII	  1117	  1127#	  1142	  1162	  1169	  1173	  1182	  1194	  1215	  1219	  1228	  1232	  1236
WCPAIR	   534	   614	  1227#
WD1   	  1207#	  1210
WDECL 	  1184	  1202#
WDIGIT	  1165	  1176	  1186#
WFP1  	  1138	  1141#
WFPNO 	  1135#	  1230	  1234
WFROM 	    63	  1040	  1049	  1053	  1488#
WP1   	  1217#	  1220
WPR   	  1209	  1212#
WR6ST1	  1115#	  1118
WR6STR	   358	   531	   611	  1112#
WRE20 	  1146#	  1149
WRE25 	  1147	  1151#	  1154
WRE30 	  1144	  1152	  1156#
WRE40 	  1160	  1165#	  1166
WRE50 	  1163	  1168#
WRE60 	  1171#	  1174
WRE70 	  1171	  1176#	  1177
.JBVER	    33	    34#	    35
EXIT  	   553
INCHRW	   869	   878
OUTCHR	    72	   571	   594	   859	   861	  1127
OUTSTR	    54	   535	   569	   573	   578	   590	   603	   608	   617	   624	   631	   639	   643	   656
	   663	   668	   682	   781	   801	   819	   822	   825	   828	   831	   834	   837	   840	   843
	   846	   849	  1120
RESET 	    47