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