
PAGE 01    DAI FIRMWARE 0EC16-0EE08  V1.0  Rev.1

002                         ORG   :EC16
003                 *
004                 *
005                 *
006                 **************************
007                 * RUN basicfunction PEEK *
008                 **************************
009                 *
010                 * Returns the contents of a memory location
011                 * with an address given as INT argument.
012                 *
013 EC16 CDF8E6     RPEEK   CALL  :E6F8     Get addr in HL
014 EC19 7E                 MOV   A,M       Get its contents
015 EC1A C37CEB             JMP   :EB7C     Move it into MACC
016                 *
017                 ************************
018                 * RUN basicfunction PI *
019                 ************************
020                 *
021                 * Returns a value of 3.14159.
022                 *
023 EC1D 21F5D0     RPI     LXI   H,:D0F5   Addr FPT (PI)
024 EC20 E7                 RST   4         FPT (PI) into MACC
025 EC21 0C                 DATA  :0C
026 EC22 C9                 RET 
027                 *
028                 *********************
029                 * DATA - (not used) *
030                 *********************
031                 *
032 EC23 02         L0E252  DATA  :02       FPT (PI)
033 EC24 C9                 DATA  :C9
034 EC25 0F                 DATA  :0F
035 EC26 DB                 DATA  :DB
036                 *
037                 *************************
038                 * RUN basicfunction RND *
039                 *************************
040                 *
041                 * Returns a random or pseudo-random number.
042                 * If argument > 0: Returns a pseudo-random number
043                 *                  in the range 0 <= R < argument.
044                 * If argument = 0: Returns a hardware random number
045                 *                  0 < R < 1.
046                 * If argument < 0: Number replaces the kernel for
047                 *                  calculating further pseudo-
048                 *                  random numbers.
049                 *
050 EC27 CD8AEC     RRND    CALL  :EC8A     Test if arg is 0
051 EC2A CA0CE4             JZ    :E40C     Then hardware random
052 EC2D 212D01             LXI   H,:012D   Addr random number kernel
053 EC30 F235EC             JP    :EC35     If pseudo random number
054 EC33 E7                 RST   4         Copy MACC to kernel
055 EC34 0F                 DATA  :0F
056 EC35 EB                 XCHG
057 EC36 212901             LXI   H,:0129   Addr scratch area WORKE
058 EC39 E7                 RST   4         Copy MACC to WORKE
059 EC3A 0F                 DATA  :0F
060 EC3B E5                 PUSH  H         Saveaddr WORKE
061 EC3C EB                 XCHG
062 EC3D E5                 PUSH  H         Save addr RNUM
063 EC3E 3601               MVI   M,:01     Limit range 1-2

PAGE 02    DAI FIRMWARE 0EC16-0EE08  V1.0  Rev.1

064 EC40 E7                 RST   4         Copy last nr from RNUM
065 EC41 0C                 DATA  :0C       into MACC
066 EC42 1605               MVI   D,:05
067 EC44 21A8C6     RRD10   LXI   H,:C6A8   Addr RNDA
068 EC47 E7                 RST   4         Multiply RO*RNDA
069 EC48 54                 DATA  :54
070 EC49 21ACC6             LXI   H,:C6AC   Addr RNDB
071 EC4C E7                 RST   4         Add RNDB to RO*RNDA
072 EC4D 4E                 DATA  :4E
073 EC4E 00                 NOP 
074 EC4F 00                 NOP 
075 EC50 00                 NOP 
076 EC51 00                 NOP 
077 EC52 00                 NOP 
078 EC53 21FDD0             LXI   H,:D0FD   Addr AND mask
079 EC56 E7                 RST   4         IAND: pick out mantissa
080 EC57 63                 DATA  :63
081 EC58 21B0C6             LXI   H,:C6B0   Addr OR mask
082 EC5B E7                 RST   4         IOR: set mantissa top
083 EC5C 66                 DATA  :66       bit, + range 1-2
084 EC5D 15                 DCR   D
085 EC5E C244EC             JNZ   :EC44     Again if D<>0
086 EC61 E1                 POP   H         Get addr RNUM
087 EC62 E7                 RST   4         Copy MACC to RNUM
088 EC63 0F                 DATA  :0F
089 EC64 21F1D0             LXI   H,:D0F1   Addr FPT (-1)
090 EC67 E7                 RST   4         Add -1 to MACC (range
091 EC68 00                 DATA  :00       0-1)
092 EC69 E1                 POP   H         Get addr WORKE
093 EC6A E7                 RST   4         Frig range: multiply
094 EC6B 06                 DATA  :06       MACC*(WORKE)
095 EC6C C9                 RET 
096                 *
097                 ***************************
098                 * part of RUN TALK (CD64) *
099                 ***************************
100                 *
101                 * Entry: Z=1: Code = 0C (delay).
102                 *        Z=0: Code = 0D (ML call)
103                 *
104 EC6D 5E         MPT46   MOV   E,M       )
105 EC6E 23                 INX   H         ) Wait-time/ML address
106 EC6F 56                 MOV   D,M       ) in HL
107 EC70 23                 INX   H         )
108 EC71 EB                 XCHG            )
109 EC72 CCCCDA             CZ    :DACC     If to be waited
110 EC75 C4A9C8             CNZ   :C8A9     Else: Run ML routine
111 EC78 C367CD             JMP   :CD67     Return: Handle next code
112                 *
113                 *************************
114                 * RUN basicfunction SGN *
115                 *************************
116                 *
117                 * Takes a FPT value and returns:
118                 *               +1  if value is positive.
119                 *                0  if value is zero.
120                 *               -1  if value is negative.
121                 *
122 EC7B CD8AEC     RSGN    CALL  :EC8A     Test if variable is zero
123 EC7E C8                 RZ              Then ready
124 EC7F 21F1D0             LXI   H,:D0F1   Addr FPT(-1)
125 EC82 E7                 RST   4         Copy -1 into MACC

PAGE 03    DAI FIRMWARE 0EC16-0EE08  V1.0  Rev.1

126 EC83 0C                 DATA  :0C
127 EC84 FA89EC             JM    :EC89     Ready if already negative
128 EC87 E7                 RST   4         Else change sign MACC
129 EC88 1B                 DATA  :1B       (make MACC +1)
130 EC89 C9         L0E257  RET 
131                 *
132                 ***********************
133                 * TEST A FPT VARIABLE *
134                 ***********************
135                 *
136                 * Entry: Variable in MACC.
137                 * Exit:  Z=1: Variable is zero.
138                 *        Z=0: Other flags set on exponent byte
139                 *             of variable.
140                 *        ABCDEHL preserved.
141                 *
142 EC8A C5         FTEST   PUSH  B
143 EC8B D5                 PUSH  D
144 EC8C F5                 PUSH  PSW
145 EC8D E7                 RST   4         Copy MACC to reg A,B,C,D
146 EC8E 15                 DATA  :15
147 EC8F 5F                 MOV   E,A       Exp byte in E
148 EC90 B0                 ORA   B         )
149 EC91 B1                 ORA   C         ) Check if nr is zero
150 EC92 B2                 ORA   D         )
151 EC93 CA98EC             JZ    :EC98     Then quit
152 EC96 7B                 MOV   A,E       Get exp byte
153 EC97 B7                 ORA   A         Set flags on it
154 EC98 D1         FTS10   POP   D
155 EC99 7A                 MOV   A,D
156 EC9A D1                 POP   D
157 EC9B C1                 POP   B
158 EC9C C9                 RET 
159                 *
160                 **************************
161                 * RUN basicfunction SCRN *
162                 **************************
163                 *
164 EC9D CDF3E5     RSCRN   CALL  :E5F3     Eval given coord
165 ECA0 C5                 PUSH  B
166 ECA1 4F                 MOV   C,A       Y-coord in C
167 ECA2 EF                 RST   5         Ask colour of dot on screen
168 ECA3 27                 DATA  :27       + size graphics screen
169 ECA4 C1                 POP   B
170 ECA5 DA02E6             JC    :E602     Evt run screen error
171 ECA8 C37CEB             JMP   :EB7C     Contents screen loc in MACC
172                 *
173                 *
174                 *  ==============
175                 *** LIST HANDLER ***
176                 *  ==============
177                 *
178                 * This module lists a program from the textbuffer
179                 * onto the screen (or into other required direction)
180                 *
181                 ***********************
182                 * LIST A PROGRAM LINE *
183                 ***********************
184                 *
185                 * Entry: BC: Points to start of textline.
186                 * Exit:  BC: Points to start of next line.
187                 *        DEHL preserved, AF corrupted.

PAGE 04    DAI FIRMWARE 0EC16-0EE08  V1.0  Rev.1

188                 *
189 ECAB D5         SLINE   PUSH  D
190 ECAC E5                 PUSH  H
191 ECAD 03                 INX   B         Pnts to line nr
192 ECAE CDAEEF             CALL  :EFAE     List line nr
193 ECB1 3E08               MVI   A,:08
194 ECB3 CD2ADB             CALL  :DB2A     Cursor to tab 8
195 ECB6 CDCCEC     L0E262  CALL  :ECCC     List statement
196 ECB9 0A                 LDAX  B         Get next byte
197 ECBA B7                 ORA   A
198 ECBB F2C5EC             JP    :ECC5     If no more statements
199 ECBE CDF5EF             CALL  :EFF5     Else: print ':'
200 ECC1 3A                 DATA  :3A
201 ECC2 C3B6EC             JMP   :ECB6     List next statement
202 ECC5 CDF5EF     L0E263  CALL  :EFF5     print car.ret
203 ECC8 0D                 DATA  :0D
204 ECC9 E1                 POP   H
205 ECCA D1                 POP   D
206 ECCB C9                 RET 
207                 *
208                 ********************
209                 * LIST A STATEMENT *
210                 ********************
211                 *
212                 * Based on the token in the textbuffer, a particular
213                 * statement will be printed.
214                 * At first, the Basiccommand will be printed. The
215                 * pointers to the particular strings are in a table
216                 * starting at CD8B. The base for the table is CC08;
217                 * the offset is calculated by TOKEN *3.
218                 *
219                 * The databyte after the stringaddress pointer
220                 * indicates which list-routine has to be used for
221                 * the rest of the statement. This byte is a offset
222                 * for table ECF8.
223                 *
224                 * Entry: BC: Points to token.
225                 * Exit:  BC: Points to next statement.
226                 *        AFDEHL corrupted.
227                 *        On stack: Returnaddress from this sub-
228                 *        routine.
229                 *
230 ECCC 0A         SCOM    LDAX  B         Get token
231 ECCD 03                 INX   B         Update pointer
232 ECCE 5F                 MOV   E,A       token in E
233 ECCF 1600               MVI   D,:00
234 ECD1 2108CC             LXI   H,:CC08   Startaddr stringtable
235 ECD4 19                 DAD   D         ) Add 3* token
236 ECD5 19                 DAD   D         )
237 ECD6 19                 DAD   D         )
238 ECD7 5E                 MOV   E,M       Get lobyte stringaddr
239 ECD8 23                 INX   H
240 ECD9 56                 MOV   D,M       Get hibyte stringaddr
241 ECDA 23                 INX   H         Point to data after addr
242 ECDB EB                 XCHG            Stringaddr in HL
243 ECDC 7E                 MOV   A,M       Get length byte of string
244 ECDD B7                 ORA   A         Length=0?
245 ECDE CD32DB             CALL  :DB32     List Basiccmd string
246 ECE1 1A                 LDAX  D         Get data byte after string-
247                                         address
248 ECE2 CAEAEC             JZ    :ECEA     If length string =0
249 ECE5 FE00               CPI   :00

PAGE 05    DAI FIRMWARE 0EC16-0EE08  V1.0  Rev.1

250 ECE7 C46BCE             CNZ   :CE6B     Print space if byte after
251                                         stringaddr <>0
252 ECEA 1A         SCM10   LDAX  D         Get data byte (= offset)
253 ECEB 87                 ADD   A         Offset *2
254 ECEC 5F                 MOV   E,A       in E
255 ECED 1600               MVI   D,:00
256 ECEF 21F8EC             LXI   H,:ECF8   Startaddr table Listroutines
257 ECF2 19                 DAD   D         Add offset
258 ECF3 5E                 MOV   E,M       Get addr in DE
259 ECF4 23                 INX   H
260 ECF5 56                 MOV   D,M
261 ECF6 EB                 XCHG            Addr routine in HL
262 ECF7 E9                 PCHL            Go to this adress
263                 *
264                 ***********************************
265                 * POINTERS LIST HANDLING ROUTINES *
266                 ***********************************
267                 *
268                 * Table with addresses of listroutines for the
269                 * part of a statement after a token.
270                 *
271                 * Startaddress table is ECF8. The offset (given
272                 * between brackets) is identical to the data
273                 * byte after the addresses in the table on CD8B.
274                 *
275 ECF8 3AED       L0E355  DBL   :ED3A     (00)  nothing more
276 ECFA 41ED               DBL   :ED41     (01)  linenr
277 ECFC 3BED               DBL   :ED3B     (02)  linenr linenr
278                                         (not used)
279 ECFE 44ED               DBL   :ED44     (03)  unquoted string
280 ED00 4DED               DBL   :ED4D     (04)  E (E=expr)
281 ED02 47ED               DBL   :ED47     (05)  E,E
282 ED04 56ED               DBL   :ED56     (06)  E E
283 ED06 62ED               DBL   :ED62     (07)  E,E E
284 ED08 5CED               DBL   :ED5C     (08)  E,E E,E E
285 ED0A 50ED               DBL   :ED50     (09)  E E E E
286 ED0C 6BED               DBL   :ED6B     (0A)  E
287 ED0E 7AED               DBL   :ED7A     (0B)  liner-linenr
288 ED10 84ED               DBL   :ED84     (0C)  sound
289 ED12 9BED               DBL   :ED9B     (0D)  noise
290 ED14 A4ED               DBL   :EDA4     (0E)  envelope
291 ED16 C1ED               DBL   :EDC1     (0F)  mode
292 ED18 D9ED               DBL   :EDD9     (10)  input <string>
293 ED1A E0ED               DBL   :EDE0     (11)  input/read/dim
294 ED1C F0ED               DBL   :EDF0     (12)  (not used [*])
295 ED1E FFED               DBL   :EDFF     (13)  let
296 ED20 09EE               DBL   :EE09     (14)  if then <E>
297 ED22 1AEE               DBL   :EE1A     (15)  if goto <linenr>
298 ED24 25EE               DBL   :EE25     (16)  if then <linenr>
299 ED26 30EE               DBL   :EE30     (17)  for to step
300 ED28 4FEE               DBL   :EE4F     (18)  next
301 ED2A 52EE               DBL   :EE52     (19)  print
302 ED2C 66EE               DBL   :EE66     (1A)  on goto
303 ED2E 71EE               DBL   :EE71     (1B)  on gosub
304 ED30 87EE               DBL   :EE87     (1C)  callm
305 ED32 94EE               DBL   :EE94     (1D)  (not used [*])
306 ED34 9ED8               DBL   :D89E     (1E)  savea/loada
307                 *
308                 * The vectors marked with [*] are no pointers to
309                 * LIST routines.
310                 *
311 ED36 FF                 DATA  :FF

PAGE 06    DAI FIRMWARE 0EC16-0EE08  V1.0  Rev.1

312 ED37 FF                 DATA  :FF
313 ED38 FF                 DATA  :FF
314 ED39 FF                 DATA  :FF
315                 *
316                 *******************************
317                 * LIST NO FURTHER EXPRESSIONS *
318                 *******************************
319                 *
320 ED3A C9         SCN1    RET 
321                 *
322                 ***************************
323                 * LIST 1 OR 2 LINENUMBERS *
324                 ***************************
325                 *
326                 * SCN2: List 1 line number.
327                 * SCN3: List 2 line numbers, separated by space.
328                 *       (This last entry is not used).
329                 *
330                 * Exit: BC updated, DE preserved, AFHL corrupted.
331                 *
332 ED3B CDAEEF     SCN3    CALL  :EFAE     List linenr
333 ED3E CD6BCE             CALL  :CE6B     Print space
334 ED41 C3AEEF     SCN2    JMP   :EFAE     List linenr
335                 *
336                 ************************
337                 * LIST UNQUOTED STRING *
338                 ************************
339                 *
340 ED44 C3EDEF     SCN5    JMP   :EFED     List unquoted string
341                 *
342                 **********************
343                 * LIST <EXPR>,<EXPR> *
344                 **********************
345                 *
346                 * Exit: BC updated, DE preserved, AFHL corrupted.
347                 *
348 ED47 CDA2EE     SCN7    CALL  :EEA2     List <expr>
349 ED4A CD70CE     SCOEX   CALL  :CE70     Print ','
350 ED4D C3A2EE     SCN6    JMP   :EEA2     List <expr>
351                 *
352                 ************************************
353                 * LIST <EXPR> <EXPR> <EXPR> <EXPR> *
354                 ************************************
355                 *
356                 * Exit: BC updated, DE preserved, AFHL corrupted.
357                 *
358 ED50 CDFCEF     SCN11   CALL  :EFFC     List <expr>; print space
359 ED53 CDFCEF     S3EXP   CALL  :EFFC     Idem
360 ED56 CDFCEF     SCN8    CALL  :EFFC     Idem
361 ED59 C3A2EE             JMP   :EEA2     List <expr>
362                 *
363                 *******************************************
364                 * LIST <EXPR>,<EXPR> <EXPR>,<EXPR> <EXPR> *
365                 *******************************************
366                 *
367                 * Exit: BC updated, DE preserved, AFHL corrupted.
368                 *
369 ED5C CD47ED     SCN10   CALL  :ED47     List <expr>,<expr>
370 ED5F CD6BCE             CALL  :CE6B     Print space
371 ED62 CD47ED     SCN9    CALL  :ED47     List <expr>,<expr>
372 ED65 CD6BCE     SCSEX   CALL  :CE6B     Print space
373 ED68 C3A2EE     L0E343  JMP   :EEA2     List <expr>

PAGE 07    DAI FIRMWARE 0EC16-0EE08  V1.0  Rev.1

374                 *
375                 *******************************
376                 * LIST <EXPR>,<EXPR>(,<EXPR>) *
377                 *******************************
378                 *
379 ED6B CD47ED     SCN12   CALL  :ED47     List <expr>,<expr>
380 ED6E 0A         S1210   LDAX  B         Get next byte
381 ED6F FEFF               CPI   :FF       Terminator?
382 ED71 03                 INX   B
383 ED72 C8                 RZ              Then abort
384 ED73 0B                 DCX   B
385 ED74 CD70CE             CALL  :CE70     Print ','
386 ED77 C3A2EE             JMP   :EEA2     List <expr>
387                 *
388                 **************************
389                 * LIST <LINENR>-<LINENR> *
390                 **************************
391                 *
392                 * Exit: BC updated, DE preserved, AFHL corrupted.
393                 *
394 ED7A CDAEEF     SCN13   CALL  :EFAE     List linenr
395 ED7D CDF5EF             CALL  :EFF5     Print '-'
396 ED80 2D                 DATA  :2D
397 ED81 C3AEEF             JMP   :EFAE     List linenr
398                 *
399                 *********************************
400                 * LIST EXPRESSION AFTER 'SOUND' *
401                 *********************************
402                 *
403                 * Exit: BC updated, AFHL corrupted.
404                 *       DE: preserved if ON, corrupted if OFF.
405                 *
406 ED84 0A         SCN14   LDAX  B         Get byte
407 ED85 FEFF               CPI   :FF       OFF sign?
408 ED87 C4FCEF             CNZ   :EFFC     If not: List <expr>, print
409                                         space
410 ED8A 0A                 LDAX  B         Get next byte
411 ED8B FEFF               CPI   :FF       OFF sign?
412 ED8D C250ED             JNZ   :ED50     If not: List <expr> <expr>
413                                         <expr> <expr>; abort
414 ED90 CD78CE     S1410   CALL  :CE78     Else: print 'OFF'
415 ED93 97ED               DBL   :ED97
416 ED95 03                 INX   B
417 ED96 C9                 RET 
418                 *
419                 * DATA:
420                 *
421 ED97 03         L0E354  DATA  :03
422 ED98 4F                 DATA  :4F       O
423 ED99 46                 DATA  :46       F
424 ED9A 46                 DATA  :46       F
425                 *
426                 *********************************
427                 * LIST EXPRESSION AFTER 'NOISE' *
428                 *********************************
429                 *
430                 * Exit: BC updated, E preserved, AFDHL corrupted.
431                 *
432 ED9B 0A         SC14A   LDAX  B         Get 1st byte NCB
433 ED9C FEFF               CPI   :FF       OFF sign?
434 ED9E CA90ED             JZ    :ED90     Then print 'OFF', abort
435 EDA1 C356ED             JMP   :ED56     Else: List <expr> <expr>

PAGE 08    DAI FIRMWARE 0EC16-0EE08  V1.0  Rev.1

436                 *
437                 ************************************
438                 * LIST EXPRESSION AFTER 'ENVELOPE' *
439                 ************************************
440                 *
441                 * Exit: BC updated, E preserved, AFDHL corrupted.
442                 *
443 EDA4 CDFCEF     SCN15   CALL  :EFFC     List <expr>, print
444                                         space
445 EDA7 0A                 LDAX  B         Get length of expr
446 EDA8 03                 INX   B
447 EDA9 57                 MOV   D,A       into D
448 EDAA 15         S1510   DCR   D
449 EDAB FAB8ED             JM    :EDB8     If ready
450 EDAE CD47ED             CALL  :ED47     List <V>,<T>
451 EDB1 CDF5EF             CALL  :EFF5     Print ';'
452 EDB4 3B                 DATA  :3B
453 EDB5 C3AAED             JMP   :EDAA     Next <V>,<T>
454 EDB8 0A         S1520   LDAX  B         Get last byte of expr
455 EDB9 03                 INX   B
456 EDBA FEFF               CPI   :FF       Terminator?
457 EDBC C8                 RZ              Then abort
458 EDBD 0B                 DCX   B
459 EDBE C3A2EE             JMP   :EEA2     List <expr>
460                 *
461                 ********************************
462                 * LIST EXPRESSION AFTER 'MODE' *
463                 ********************************
464                 *
465 EDC1 0A         SCN16   LDAX  B         Get mode byte
466 EDC2 03                 INX   B
467 EDC3 1630               MVI   D,:30
468 EDC5 B7                 ORA   A         Mode 0 (FF) ?
469 EDC6 FAD4ED             JM    :EDD4     Then print '0'
470 EDC9 1F                 RAR             CY=1 if A-mode
471 EDCA 3C         RSA10   INR   A
472 EDCB F5                 PUSH  PSW
473 EDCC 82                 ADD   D         Convert to ASCII
474 EDCD CD60DD             CALL  :DD60     Print modenr
475 EDD0 F1                 POP   PSW
476 EDD1 3F                 CMC 
477 EDD2 1641               MVI   D,:41     Prepare print 'A'
478 EDD4 7A         S1610   MOV   A,D
479 EDD5 D460DD             CNC   :DD60     Print 'A' if A-mode
480 EDD8 C9                 RET 
481                 *
482                 **********************************************
483                 * LIST EXPRESSION AFTER 'INPUT'-'READ'-'DIM' *
484                 **********************************************
485                 *
486                 * Input with string:
487                             
488 EDD9 CDA2EE     SCN17   CALL  :EEA2     List string
489 EDDC CDF5EF             CALL  :EFF5     Print ';'
490 EDDF 3B                 DATA  :3B
491                             
492                 * Rest:
493                             
494 EDE0 0A         SCN18   LDAX  B         Get nr of variables
495 EDE1 03                 INX   B
496 EDE2 57                 MOV   D,A       into D
497 EDE3 D5         S1810   PUSH  D

PAGE 09    DAI FIRMWARE 0EC16-0EE08  V1.0  Rev.1

498 EDE4 CDFCEE             CALL  :EEFC     List variable reference
499 EDE7 D1                 POP   D
500 EDE8 15                 DCR   D         Decr nr of variables
501 EDE9 C8                 RZ              Abort if ready
502 EDEA CD70CE             CALL  :CE70     Print ','
503 EDED C3E3ED             JMP   :EDE3     List next variable
504                 *
505                 ****************************************
506                 * part of RUN 'DIM': CALC. REQD. SPACE *
507                 ****************************************
508                 *
509 EDF0 C28FDE     RDM40   JNZ   :DE8F     If length element <= 254:
510                                         then HL=HL*A
511 EDF3 7C                 MOV   A,H       Else:
512 EDF4 B7                 ORA   A         Set flags on hibyte
513 EDF5 65                 MOV   H,L
514 EDF6 2E00               MVI   L,:00
515 EDF8 C8                 RZ              Abort if H=0
516 EDF9 37                 STC             Else: CY=1, L into H
517 EDFA C9                 RET 
518                 *
519                 ************************
520                 * RUBBISH - (not used) *
521                 ************************
522                 *
523 EDFB CE         L0E352  DATA  :CE
524 EDFC C3                 DATA  :C3
525 EDFD F4                 DATA  :F4
526 EDFE ED                 DATA  :ED
527                 *
528                 *******************************
529                 * LIST EXPRESSION AFTER 'LET' *
530                 *******************************
531                 *
532                 * Entry: BC: Points to assign statement.
533                 * Exit:  BC updated, AFDEHL corrupted.
534                 *
535 EDFF CDFCEE     SCN20   CALL  :EEFC     List lefthand variable
536                                         reference
537 EE02 CDF5EF             CALL  :EFF5     Print '='
538 EE05 3D                 DATA  :3D
539 EE06 C3A2EE             JMP   :EEA2     List righthand expr
540                 *
541 EE09                    END 
 
***************************
* S Y M B O L   T A B L E *
***************************
 
FTEST  EC8A   FTS10  EC98   L0E252 EC23   L0E257 EC89   
L0E262 ECB6   L0E263 ECC5   L0E343 ED68   L0E352 EDFB   
L0E354 ED97   L0E355 ECF8   MPT46  EC6D   RDM40  EDF0   
RPEEK  EC16   RPI    EC1D   RRD10  EC44   RRND   EC27   
RSA10  EDCA   RSCRN  EC9D   RSGN   EC7B   S1210  ED6E   
S1410  ED90   S1510  EDAA   S1520  EDB8   S1610  EDD4   
S1810  EDE3   S3EXP  ED53   SC14A  ED9B   SCM10  ECEA   
SCN1   ED3A   SCN10  ED5C   SCN11  ED50   SCN12  ED6B   
SCN13  ED7A   SCN14  ED84   SCN15  EDA4   SCN16  EDC1   
SCN17  EDD9   SCN18  EDE0   SCN2   ED41   SCN20  EDFF   
SCN3   ED3B   SCN5   ED44   SCN6   ED4D   SCN7   ED47   
SCN8   ED56   SCN9   ED62   SCOEX  ED4A   SCOM   ECCC   
SCSEX  ED65   SLINE  ECAB
