* doc/sdccman.lyx doc/cdbfileformat.lyx doc/test_suite_spec.lyx:
[fw/sdcc] / doc / cdbfileformat.lyx
1 #LyX 1.3 created this file. For more info see http://www.lyx.org/
2 \lyxformat 221
3 \textclass article
4 \begin_preamble
5 \pdfoptionpdfminorversion=3
6 \end_preamble
7 \language english
8 \inputencoding auto
9 \fontscheme pslatex
10 \graphics default
11 \paperfontsize default
12 \spacing single 
13 \papersize Default
14 \paperpackage a4
15 \use_geometry 0
16 \use_amsmath 0
17 \use_natbib 0
18 \use_numerical_citations 0
19 \paperorientation portrait
20 \secnumdepth 3
21 \tocdepth 3
22 \paragraph_separation skip
23 \defskip medskip
24 \quotes_language english
25 \quotes_times 2
26 \papercolumns 1
27 \papersides 1
28 \paperpagestyle fancy
29
30 \layout Title
31
32 CDB File Format
33 \layout Author
34
35 Lenny Story
36 \layout Standard
37 \align center 
38 SDCC Development Team
39 \layout Standard
40
41
42 \begin_inset LatexCommand \tableofcontents{}
43
44 \end_inset 
45
46
47 \layout Section
48
49 Overview
50 \layout Standard
51
52 The CDB File is used to record all of the information that describes the
53  variables, functions, lines, and memory items.
54  These records provide the critical information that allows external utilities
55  to properly locate and interpret variables, functions, and types.
56  Development tools such as simulators debuggers and profilers use these
57  records to analyze and describe the code in terms of the high level language
58  in which it was written.
59  The CDB file is therefore the critical link to bridging the compiled code
60  image to the source files from which it was built.
61 \layout Section
62
63 Usage
64 \layout Standard
65
66 CDB files are created when the "-
67 \begin_inset ERT
68 status Collapsed
69
70 \layout Standard
71
72 \backslash 
73 /
74 \end_inset 
75
76 -debug" option is used.
77  Each source file will have its own CDB file associated with it.
78  When the -
79 \begin_inset ERT
80 status Collapsed
81
82 \layout Standard
83
84 \backslash 
85 /
86 \end_inset 
87
88 -debug flag is used during the link process, the CDB file of the FIRST source
89  module will contain all the records from all the source modules linked
90  as well as the linker records.
91 \layout Standard
92
93 Code and variables that are removed during the optimization phase will not
94  be present in the debug file.
95  Images created for debugging purposes should always disable as much optimizatio
96 n as possible.
97  The following options are critical for the completeness of the resulting
98  debugging file.
99 \layout List
100 \labelwidthstring 00.00.0000
101
102 -
103 \begin_inset ERT
104 status Collapsed
105
106 \layout Standard
107
108 \backslash 
109 /
110 \end_inset 
111
112 -debug Mandatory to produce a debugging file.
113  
114 \layout List
115 \labelwidthstring 00.00.0000
116
117 -
118 \begin_inset ERT
119 status Collapsed
120
121 \layout Standard
122
123 \backslash 
124 /
125 \end_inset 
126
127 -noinduction Induction processing occurs at the very latest stages of compilatio
128 n.
129  This results in the inability to report the location of the resulting variables.
130  Including this option disables the loop induction optimization.
131  
132 \layout List
133 \labelwidthstring 00.00.0000
134
135 -
136 \begin_inset ERT
137 status Collapsed
138
139 \layout Standard
140
141 \backslash 
142 /
143 \end_inset 
144
145 -nooverlay Overlay variables will not show up in the debug file.
146  Including this option will force variables to the data segment.
147 \layout Section
148
149 Conventions
150 \layout Standard
151
152 The record examples and grammar shown in this document are displayed on
153  multiple lines only for the purposes of readability.
154  The records contained within the CDB files are always encoded on a single
155  line.
156  
157 \layout Standard
158
159 Record grammar is indicated here using a custom format of the following
160  specifications:
161 \layout Itemize
162
163 Record Elements are surrounded using the characters `<' and '>'.
164 \layout Itemize
165
166 Alternation is indicated using the `|' character.
167 \layout Itemize
168
169 Non-mandatory items are surrounded using the characters `{` and `}'.
170 \layout Section
171
172 Record Formats
173 \layout Subsection
174
175 Basic Record Format
176 \layout Description
177
178 <RecordType><:><RecordSpec>
179 \layout Standard
180
181
182 \begin_inset  Tabular
183 <lyxtabular version="3" rows="6" columns="3">
184 <features>
185 <column alignment="center" valignment="top" leftline="true" width="0pt">
186 <column alignment="left" valignment="top" leftline="true" width="0pt">
187 <column alignment="left" valignment="top" leftline="true" rightline="true" width="0pt">
188 <row topline="true" bottomline="true">
189 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
190 \begin_inset Text
191
192 \layout Standard
193
194
195 \series bold 
196 Type
197 \end_inset 
198 </cell>
199 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
200 \begin_inset Text
201
202 \layout Standard
203
204
205 \series bold 
206 Description
207 \end_inset 
208 </cell>
209 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
210 \begin_inset Text
211
212 \layout Standard
213
214
215 \series bold 
216 Form
217 \end_inset 
218 </cell>
219 </row>
220 <row topline="true">
221 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
222 \begin_inset Text
223
224 \layout Standard
225
226 M
227 \end_inset 
228 </cell>
229 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
230 \begin_inset Text
231
232 \layout Standard
233
234 Module Record
235 \end_inset 
236 </cell>
237 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
238 \begin_inset Text
239
240 \layout Standard
241
242 Compiler
243 \end_inset 
244 </cell>
245 </row>
246 <row topline="true">
247 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
248 \begin_inset Text
249
250 \layout Standard
251
252 F
253 \end_inset 
254 </cell>
255 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
256 \begin_inset Text
257
258 \layout Standard
259
260 Function Record
261 \end_inset 
262 </cell>
263 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
264 \begin_inset Text
265
266 \layout Standard
267
268 Compiler
269 \end_inset 
270 </cell>
271 </row>
272 <row topline="true">
273 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
274 \begin_inset Text
275
276 \layout Standard
277
278 S
279 \end_inset 
280 </cell>
281 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
282 \begin_inset Text
283
284 \layout Standard
285
286 Symbol Record
287 \end_inset 
288 </cell>
289 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
290 \begin_inset Text
291
292 \layout Standard
293
294 Compiler
295 \end_inset 
296 </cell>
297 </row>
298 <row topline="true">
299 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
300 \begin_inset Text
301
302 \layout Standard
303
304 T
305 \end_inset 
306 </cell>
307 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
308 \begin_inset Text
309
310 \layout Standard
311
312 Structure (Complex Type) Record
313 \end_inset 
314 </cell>
315 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
316 \begin_inset Text
317
318 \layout Standard
319
320 Compiler
321 \end_inset 
322 </cell>
323 </row>
324 <row topline="true" bottomline="true">
325 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
326 \begin_inset Text
327
328 \layout Standard
329
330 L
331 \end_inset 
332 </cell>
333 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
334 \begin_inset Text
335
336 \layout Standard
337
338 Linker Record
339 \end_inset 
340 </cell>
341 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
342 \begin_inset Text
343
344 \layout Standard
345
346 Assembler / Linker
347 \end_inset 
348 </cell>
349 </row>
350 </lyxtabular>
351
352 \end_inset 
353
354
355 \layout Standard
356
357 All records are ASCII text, with one record per line.
358  The record type is the first character, followed by a single colon ":".
359  Sub types are often included as part of the record specific format.
360 \layout Subsection
361
362 Module Record
363 \layout Description
364
365 <M><:><Filename>
366 \layout Standard
367
368
369 \begin_inset  Tabular
370 <lyxtabular version="3" rows="2" columns="2">
371 <features>
372 <column alignment="center" valignment="top" leftline="true" width="0pt">
373 <column alignment="left" valignment="top" leftline="true" rightline="true" width="0pt">
374 <row topline="true">
375 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
376 \begin_inset Text
377
378 \layout Standard
379
380 M
381 \end_inset 
382 </cell>
383 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
384 \begin_inset Text
385
386 \layout Standard
387
388 Module record type indicator
389 \end_inset 
390 </cell>
391 </row>
392 <row topline="true" bottomline="true">
393 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
394 \begin_inset Text
395
396 \layout Standard
397
398 Filename
399 \end_inset 
400 </cell>
401 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
402 \begin_inset Text
403
404 \layout Standard
405
406 The filename of the module that this CDB file represents.
407 \end_inset 
408 </cell>
409 </row>
410 </lyxtabular>
411
412 \end_inset 
413
414
415 \layout Standard
416
417
418 \series bold 
419 Purpose
420 \layout Standard
421
422 The module record is used to define a source module.
423  It is usually used at the beginning of each of the module specific CDB
424  files, and will occur several times in the final CDB file produced by the
425  linker to represent each of the source modules.
426  The location of this record within the file does not necessarily indicate
427  the scope of the variables that follow.
428  Those variables that have module specific scope have an indication encoded
429  within their respective symbol entry.
430 \layout Standard
431
432
433 \series bold 
434 Examples
435 \layout Standard
436
437
438 \family typewriter 
439 M:Timer0
440 \newline 
441 M:_bp
442 \layout Subsection
443
444 Symbol Records
445 \layout Standard
446
447
448 \begin_inset  Tabular
449 <lyxtabular version="3" rows="12" columns="2">
450 <features>
451 <column alignment="center" valignment="top" leftline="true" rightline="true" width="0pt">
452 <column alignment="block" valignment="top" rightline="true" width="3.9in">
453 <row topline="true">
454 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
455 \begin_inset Text
456
457 \layout Standard
458
459 S
460 \end_inset 
461 </cell>
462 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
463 \begin_inset Text
464
465 \layout Standard
466
467 Symbol record type indicator
468 \end_inset 
469 </cell>
470 </row>
471 <row topline="true">
472 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
473 \begin_inset Text
474
475 \layout Standard
476
477 G
478 \end_inset 
479 </cell>
480 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
481 \begin_inset Text
482
483 \layout Standard
484
485 Scope is global
486 \end_inset 
487 </cell>
488 </row>
489 <row topline="true">
490 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
491 \begin_inset Text
492
493 \layout Standard
494
495 F <Filename>
496 \end_inset 
497 </cell>
498 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
499 \begin_inset Text
500
501 \layout Standard
502
503 Scope is file
504 \end_inset 
505 </cell>
506 </row>
507 <row topline="true">
508 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
509 \begin_inset Text
510
511 \layout Standard
512
513 L <Function>
514 \end_inset 
515 </cell>
516 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
517 \begin_inset Text
518
519 \layout Standard
520
521 Scope is local
522 \end_inset 
523 </cell>
524 </row>
525 <row topline="true">
526 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
527 \begin_inset Text
528
529 \layout Standard
530
531 <Name>
532 \end_inset 
533 </cell>
534 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
535 \begin_inset Text
536
537 \layout Standard
538
539 Symbol name
540 \end_inset 
541 </cell>
542 </row>
543 <row topline="true">
544 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
545 \begin_inset Text
546
547 \layout Standard
548
549 <Level>
550 \end_inset 
551 </cell>
552 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
553 \begin_inset Text
554
555 \layout Standard
556
557 Scope level (see below)
558 \end_inset 
559 </cell>
560 </row>
561 <row topline="true">
562 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
563 \begin_inset Text
564
565 \layout Standard
566
567 <Block>
568 \end_inset 
569 </cell>
570 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
571 \begin_inset Text
572
573 \layout Standard
574
575 Scope block (see below)
576 \end_inset 
577 </cell>
578 </row>
579 <row topline="true">
580 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
581 \begin_inset Text
582
583 \layout Standard
584
585 <TypeChain>
586 \end_inset 
587 </cell>
588 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
589 \begin_inset Text
590
591 \layout Standard
592
593 Type chain record (see type record below)
594 \end_inset 
595 </cell>
596 </row>
597 <row topline="true">
598 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
599 \begin_inset Text
600
601 \layout Standard
602
603 <Address Space>
604 \end_inset 
605 </cell>
606 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
607 \begin_inset Text
608
609 \layout Standard
610
611 Address space code (see table below)
612 \end_inset 
613 </cell>
614 </row>
615 <row topline="true">
616 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
617 \begin_inset Text
618
619 \layout Standard
620
621 <On Stack>
622 \end_inset 
623 </cell>
624 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
625 \begin_inset Text
626
627 \layout Standard
628
629 Is this symbol on the stack? Indicates if the next parameter is valid.
630 \end_inset 
631 </cell>
632 </row>
633 <row topline="true">
634 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
635 \begin_inset Text
636
637 \layout Standard
638
639 <Stack>
640 \end_inset 
641 </cell>
642 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
643 \begin_inset Text
644
645 \layout Standard
646
647 The stack Offsetorelative to the 
648 \begin_inset Quotes eld
649 \end_inset 
650
651 bp
652 \begin_inset Quotes erd
653 \end_inset 
654
655  variable.
656  (The libraries may have to be recompiled to include the -
657 \begin_inset ERT
658 status Collapsed
659
660 \layout Standard
661
662 \backslash 
663 /
664 \end_inset 
665
666 -debug option for this variable to appear in the debug file).
667 \end_inset 
668 </cell>
669 </row>
670 <row topline="true" bottomline="true">
671 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
672 \begin_inset Text
673
674 \layout Standard
675
676 <Reg>
677 \end_inset 
678 </cell>
679 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
680 \begin_inset Text
681
682 \layout Standard
683
684 If the address space is 'R', this field indicates the register that the
685  symbol is allocated.
686  The register name is in its native form: R1, AX, etc.
687 \end_inset 
688 </cell>
689 </row>
690 </lyxtabular>
691
692 \end_inset 
693
694
695 \layout Description
696
697 <S><:>
698 \series bold 
699
700 \newline 
701 { G | F<Filename> | L { <function> | 
702 \begin_inset Quotes eld
703 \end_inset 
704
705 --null--
706 \begin_inset Quotes eld
707 \end_inset 
708
709  }}
710 \newline 
711 <$><Name>
712 \newline 
713 <$><Level>
714 \newline 
715 <$><Block>
716 \newline 
717 <(><TypeRecord><)>
718 \newline 
719 <,><AddressSpace>
720 \newline 
721 <,><OnStack>
722 \newline 
723 <,><Stack>
724 \newline 
725 <,><[><Reg><,>{<Reg><,>}<]>
726 \layout Standard
727
728 A symbol record is generated for each named symbol in the source file; this
729  includes local, global and parameter symbols.
730  
731 \layout Standard
732
733
734 \series bold 
735 Blocks and Levels
736 \layout Standard
737
738 The level & block are used to further scope local variables since C allows
739  unique definitions across different scope blocks.
740  When using the symbol records, it is always important to include the level
741  and block information as part of the identification.
742  It is possible to have two symbols that share the same name, but have different
743  scope information.
744 \layout Standard
745
746 The linker address records contain not only the name of the symbol, but
747  the Scope information as well, which is instrumental in determining the
748  correct instantiation of the symbol.
749 \layout Standard
750
751 Linker C line records also contain the Scope information (see below).
752 \layout Standard
753
754 The following code fragment illustrates a simple scope example:
755 \layout LyX-Code
756
757 foo()
758 \layout LyX-Code
759
760 {
761 \layout LyX-Code
762
763 int c; /* block #1 , level #1 */
764 \layout LyX-Code
765
766    {
767 \layout LyX-Code
768
769       int c; /* block #2, level #2 */
770 \layout LyX-Code
771
772       ...
773 \layout LyX-Code
774
775    }
776 \layout LyX-Code
777
778    {
779 \layout LyX-Code
780
781       int c; /* block #3 , level #2 */
782 \layout LyX-Code
783
784       ...
785 \layout LyX-Code
786
787    }
788 \layout LyX-Code
789
790 }
791 \layout Standard
792
793
794 \begin_inset  Tabular
795 <lyxtabular version="3" rows="12" columns="2">
796 <features>
797 <column alignment="center" valignment="top" leftline="true" width="0pt">
798 <column alignment="left" valignment="top" leftline="true" rightline="true" width="0pt">
799 <row topline="true">
800 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
801 \begin_inset Text
802
803 \layout Standard
804
805 A
806 \end_inset 
807 </cell>
808 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
809 \begin_inset Text
810
811 \layout Standard
812
813 External stack
814 \end_inset 
815 </cell>
816 </row>
817 <row topline="true">
818 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
819 \begin_inset Text
820
821 \layout Standard
822
823 B
824 \end_inset 
825 </cell>
826 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
827 \begin_inset Text
828
829 \layout Standard
830
831 Internal stack
832 \end_inset 
833 </cell>
834 </row>
835 <row topline="true">
836 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
837 \begin_inset Text
838
839 \layout Standard
840
841 C
842 \end_inset 
843 </cell>
844 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
845 \begin_inset Text
846
847 \layout Standard
848
849 Code
850 \end_inset 
851 </cell>
852 </row>
853 <row topline="true">
854 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
855 \begin_inset Text
856
857 \layout Standard
858
859 D
860 \end_inset 
861 </cell>
862 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
863 \begin_inset Text
864
865 \layout Standard
866
867 Code / static segment
868 \end_inset 
869 </cell>
870 </row>
871 <row topline="true">
872 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
873 \begin_inset Text
874
875 \layout Standard
876
877 E
878 \end_inset 
879 </cell>
880 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
881 \begin_inset Text
882
883 \layout Standard
884
885 Internal ram (lower 128) bytes
886 \end_inset 
887 </cell>
888 </row>
889 <row topline="true">
890 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
891 \begin_inset Text
892
893 \layout Standard
894
895 F
896 \end_inset 
897 </cell>
898 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
899 \begin_inset Text
900
901 \layout Standard
902
903 External ram
904 \end_inset 
905 </cell>
906 </row>
907 <row topline="true">
908 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
909 \begin_inset Text
910
911 \layout Standard
912
913 G
914 \end_inset 
915 </cell>
916 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
917 \begin_inset Text
918
919 \layout Standard
920
921 Internal ram
922 \end_inset 
923 </cell>
924 </row>
925 <row topline="true">
926 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
927 \begin_inset Text
928
929 \layout Standard
930
931 H
932 \end_inset 
933 </cell>
934 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
935 \begin_inset Text
936
937 \layout Standard
938
939 Bit addressable
940 \end_inset 
941 </cell>
942 </row>
943 <row topline="true">
944 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
945 \begin_inset Text
946
947 \layout Standard
948
949 I
950 \end_inset 
951 </cell>
952 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
953 \begin_inset Text
954
955 \layout Standard
956
957 SFR space
958 \end_inset 
959 </cell>
960 </row>
961 <row topline="true">
962 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
963 \begin_inset Text
964
965 \layout Standard
966
967 J
968 \end_inset 
969 </cell>
970 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
971 \begin_inset Text
972
973 \layout Standard
974
975 SBIT space
976 \end_inset 
977 </cell>
978 </row>
979 <row topline="true">
980 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
981 \begin_inset Text
982
983 \layout Standard
984
985 R
986 \end_inset 
987 </cell>
988 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
989 \begin_inset Text
990
991 \layout Standard
992
993 Register space
994 \end_inset 
995 </cell>
996 </row>
997 <row topline="true" bottomline="true">
998 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
999 \begin_inset Text
1000
1001 \layout Standard
1002
1003 Z
1004 \end_inset 
1005 </cell>
1006 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1007 \begin_inset Text
1008
1009 \layout Standard
1010
1011 Used for function records, or any undefined space code
1012 \end_inset 
1013 </cell>
1014 </row>
1015 </lyxtabular>
1016
1017 \end_inset 
1018
1019
1020 \layout Subsection
1021
1022 Type Chain Record
1023 \layout Description
1024
1025 <{><Size><}> 
1026 \series bold 
1027 <DCLType> <,> {<DCLType> <,>} <:> <Sign>
1028 \layout Standard
1029
1030
1031 \begin_inset  Tabular
1032 <lyxtabular version="3" rows="3" columns="2">
1033 <features>
1034 <column alignment="center" valignment="top" leftline="true" width="0pt">
1035 <column alignment="left" valignment="top" leftline="true" rightline="true" width="0pt">
1036 <row topline="true">
1037 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1038 \begin_inset Text
1039
1040 \layout Standard
1041
1042 <Size>
1043 \end_inset 
1044 </cell>
1045 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1046 \begin_inset Text
1047
1048 \layout Standard
1049
1050 The size of the item in decimal.
1051 \end_inset 
1052 </cell>
1053 </row>
1054 <row topline="true">
1055 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1056 \begin_inset Text
1057
1058 \layout Standard
1059
1060 <DCLType>
1061 \end_inset 
1062 </cell>
1063 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1064 \begin_inset Text
1065
1066 \layout Standard
1067
1068 The type encoded using the table below.
1069 \end_inset 
1070 </cell>
1071 </row>
1072 <row topline="true" bottomline="true">
1073 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1074 \begin_inset Text
1075
1076 \layout Standard
1077
1078 <Sign>
1079 \end_inset 
1080 </cell>
1081 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1082 \begin_inset Text
1083
1084 \layout Standard
1085
1086 The sign of the item.
1087  Encoded as 'U' or 'S'.
1088 \end_inset 
1089 </cell>
1090 </row>
1091 </lyxtabular>
1092
1093 \end_inset 
1094
1095
1096 \layout Standard
1097
1098
1099 \series bold 
1100 Purpose
1101 \layout Standard
1102
1103 The C programming language allows arbitrarily complex type constructions.
1104  Because of this, the CDB file type designations are organized as a list
1105  of basic primitive types.
1106 \layout Standard
1107
1108
1109 \begin_inset  Tabular
1110 <lyxtabular version="3" rows="17" columns="2">
1111 <features>
1112 <column alignment="center" valignment="top" leftline="true" width="0pt">
1113 <column alignment="left" valignment="top" leftline="true" rightline="true" width="0pt">
1114 <row topline="true">
1115 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1116 \begin_inset Text
1117
1118 \layout Standard
1119
1120 DA <n>
1121 \end_inset 
1122 </cell>
1123 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1124 \begin_inset Text
1125
1126 \layout Standard
1127
1128 Array of n elements
1129 \end_inset 
1130 </cell>
1131 </row>
1132 <row topline="true">
1133 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1134 \begin_inset Text
1135
1136 \layout Standard
1137
1138 DF
1139 \end_inset 
1140 </cell>
1141 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1142 \begin_inset Text
1143
1144 \layout Standard
1145
1146 Function
1147 \end_inset 
1148 </cell>
1149 </row>
1150 <row topline="true">
1151 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1152 \begin_inset Text
1153
1154 \layout Standard
1155
1156 DG
1157 \end_inset 
1158 </cell>
1159 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1160 \begin_inset Text
1161
1162 \layout Standard
1163
1164 Generic pointer
1165 \end_inset 
1166 </cell>
1167 </row>
1168 <row topline="true">
1169 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1170 \begin_inset Text
1171
1172 \layout Standard
1173
1174 DC
1175 \end_inset 
1176 </cell>
1177 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1178 \begin_inset Text
1179
1180 \layout Standard
1181
1182 Code pointer
1183 \end_inset 
1184 </cell>
1185 </row>
1186 <row topline="true">
1187 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1188 \begin_inset Text
1189
1190 \layout Standard
1191
1192 DX
1193 \end_inset 
1194 </cell>
1195 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1196 \begin_inset Text
1197
1198 \layout Standard
1199
1200 External ram pointer
1201 \end_inset 
1202 </cell>
1203 </row>
1204 <row topline="true">
1205 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1206 \begin_inset Text
1207
1208 \layout Standard
1209
1210 DD
1211 \end_inset 
1212 </cell>
1213 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1214 \begin_inset Text
1215
1216 \layout Standard
1217
1218 Internal ram pointer
1219 \end_inset 
1220 </cell>
1221 </row>
1222 <row topline="true">
1223 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1224 \begin_inset Text
1225
1226 \layout Standard
1227
1228 DP
1229 \end_inset 
1230 </cell>
1231 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1232 \begin_inset Text
1233
1234 \layout Standard
1235
1236 Paged pointer
1237 \end_inset 
1238 </cell>
1239 </row>
1240 <row topline="true">
1241 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1242 \begin_inset Text
1243
1244 \layout Standard
1245
1246 DI
1247 \end_inset 
1248 </cell>
1249 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1250 \begin_inset Text
1251
1252 \layout Standard
1253
1254 Upper 128 byte pointer
1255 \end_inset 
1256 </cell>
1257 </row>
1258 <row topline="true">
1259 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1260 \begin_inset Text
1261
1262 \layout Standard
1263
1264 SL
1265 \end_inset 
1266 </cell>
1267 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1268 \begin_inset Text
1269
1270 \layout Standard
1271
1272 long
1273 \end_inset 
1274 </cell>
1275 </row>
1276 <row topline="true">
1277 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1278 \begin_inset Text
1279
1280 \layout Standard
1281
1282 SI
1283 \end_inset 
1284 </cell>
1285 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1286 \begin_inset Text
1287
1288 \layout Standard
1289
1290 int
1291 \end_inset 
1292 </cell>
1293 </row>
1294 <row topline="true">
1295 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1296 \begin_inset Text
1297
1298 \layout Standard
1299
1300 SC
1301 \end_inset 
1302 </cell>
1303 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1304 \begin_inset Text
1305
1306 \layout Standard
1307
1308 char
1309 \end_inset 
1310 </cell>
1311 </row>
1312 <row topline="true">
1313 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1314 \begin_inset Text
1315
1316 \layout Standard
1317
1318 SS
1319 \end_inset 
1320 </cell>
1321 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1322 \begin_inset Text
1323
1324 \layout Standard
1325
1326 short
1327 \end_inset 
1328 </cell>
1329 </row>
1330 <row topline="true">
1331 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1332 \begin_inset Text
1333
1334 \layout Standard
1335
1336 SV
1337 \end_inset 
1338 </cell>
1339 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1340 \begin_inset Text
1341
1342 \layout Standard
1343
1344 void
1345 \end_inset 
1346 </cell>
1347 </row>
1348 <row topline="true">
1349 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1350 \begin_inset Text
1351
1352 \layout Standard
1353
1354 SF
1355 \end_inset 
1356 </cell>
1357 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1358 \begin_inset Text
1359
1360 \layout Standard
1361
1362 float
1363 \end_inset 
1364 </cell>
1365 </row>
1366 <row topline="true">
1367 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1368 \begin_inset Text
1369
1370 \layout Standard
1371
1372 ST <name>
1373 \end_inset 
1374 </cell>
1375 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1376 \begin_inset Text
1377
1378 \layout Standard
1379
1380 Structure of name <name>
1381 \end_inset 
1382 </cell>
1383 </row>
1384 <row topline="true">
1385 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1386 \begin_inset Text
1387
1388 \layout Standard
1389
1390 SX
1391 \end_inset 
1392 </cell>
1393 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1394 \begin_inset Text
1395
1396 \layout Standard
1397
1398 sbit
1399 \end_inset 
1400 </cell>
1401 </row>
1402 <row topline="true" bottomline="true">
1403 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1404 \begin_inset Text
1405
1406 \layout Standard
1407
1408 SB <n>
1409 \end_inset 
1410 </cell>
1411 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1412 \begin_inset Text
1413
1414 \layout Standard
1415
1416 Bit field of <n> bits
1417 \end_inset 
1418 </cell>
1419 </row>
1420 </lyxtabular>
1421
1422 \end_inset 
1423
1424
1425 \layout Standard
1426
1427
1428 \series bold 
1429 Examples
1430 \layout Standard
1431
1432
1433 \family typewriter 
1434 \size small 
1435 S:LcheckSerialPort$pstBuffer$1$1({3}DG,STTTinyBuffer:S),R,0,0,[r2,r3,r4]
1436 \newline 
1437 S:Ltimer0LoadExtended$count$1$1({2}SI:S),B,1,-4
1438 \newline 
1439 S:G$T2CON_7$0$0({1}SX:S),J,0,0
1440 \newline 
1441 S:LAdcInitialize$a$1$1({2}SI:S),B,1,1
1442 \newline 
1443 S:G$ScanCount$0$0({2}SI:S),F,0,0
1444 \layout Subsection
1445
1446 Function Records
1447 \layout Description
1448
1449 <F><:>
1450 \series bold 
1451
1452 \newline 
1453 { G | F<Filename> | L { <function> | 
1454 \begin_inset Quotes eld
1455 \end_inset 
1456
1457 --null--
1458 \begin_inset Quotes eld
1459 \end_inset 
1460
1461  }}
1462 \newline 
1463 <$><Name>
1464 \newline 
1465 <$><Level>
1466 \newline 
1467 <$><Block>
1468 \newline 
1469 <(><TypeRecord><)>
1470 \newline 
1471 <,><AddressSpace>
1472 \newline 
1473 <,><OnStack>
1474 \newline 
1475 <,><Stack>
1476 \newline 
1477 <,><Interrupt>
1478 \newline 
1479 <,><Interrupt Num>
1480 \newline 
1481 <,><Register Bank>
1482 \layout Standard
1483
1484
1485 \begin_inset  Tabular
1486 <lyxtabular version="3" rows="14" columns="2">
1487 <features>
1488 <column alignment="center" valignment="top" leftline="true" width="0pt">
1489 <column alignment="block" valignment="top" leftline="true" rightline="true" width="3.9in">
1490 <row topline="true">
1491 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1492 \begin_inset Text
1493
1494 \layout Standard
1495
1496 F
1497 \end_inset 
1498 </cell>
1499 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1500 \begin_inset Text
1501
1502 \layout Standard
1503
1504 Symbol record type indicator
1505 \end_inset 
1506 </cell>
1507 </row>
1508 <row topline="true">
1509 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1510 \begin_inset Text
1511
1512 \layout Standard
1513
1514 G
1515 \end_inset 
1516 </cell>
1517 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1518 \begin_inset Text
1519
1520 \layout Standard
1521
1522 Scope is global
1523 \end_inset 
1524 </cell>
1525 </row>
1526 <row topline="true">
1527 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1528 \begin_inset Text
1529
1530 \layout Standard
1531
1532 F <Filename>
1533 \end_inset 
1534 </cell>
1535 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1536 \begin_inset Text
1537
1538 \layout Standard
1539
1540 Scope is file
1541 \end_inset 
1542 </cell>
1543 </row>
1544 <row topline="true">
1545 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1546 \begin_inset Text
1547
1548 \layout Standard
1549
1550 L <Function>
1551 \end_inset 
1552 </cell>
1553 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1554 \begin_inset Text
1555
1556 \layout Standard
1557
1558 Scope is local
1559 \end_inset 
1560 </cell>
1561 </row>
1562 <row topline="true">
1563 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1564 \begin_inset Text
1565
1566 \layout Standard
1567
1568 <Name>
1569 \end_inset 
1570 </cell>
1571 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1572 \begin_inset Text
1573
1574 \layout Standard
1575
1576 Symbol name
1577 \end_inset 
1578 </cell>
1579 </row>
1580 <row topline="true">
1581 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1582 \begin_inset Text
1583
1584 \layout Standard
1585
1586 <Level>
1587 \end_inset 
1588 </cell>
1589 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1590 \begin_inset Text
1591
1592 \layout Standard
1593
1594 Scope level (see below)
1595 \end_inset 
1596 </cell>
1597 </row>
1598 <row topline="true">
1599 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1600 \begin_inset Text
1601
1602 \layout Standard
1603
1604 <Block>
1605 \end_inset 
1606 </cell>
1607 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1608 \begin_inset Text
1609
1610 \layout Standard
1611
1612 Scope block (see below)
1613 \end_inset 
1614 </cell>
1615 </row>
1616 <row topline="true">
1617 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1618 \begin_inset Text
1619
1620 \layout Standard
1621
1622 <TypeChain>
1623 \end_inset 
1624 </cell>
1625 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1626 \begin_inset Text
1627
1628 \layout Standard
1629
1630 Type chain record (see type record below)
1631 \end_inset 
1632 </cell>
1633 </row>
1634 <row topline="true">
1635 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1636 \begin_inset Text
1637
1638 \layout Standard
1639
1640 <Address Space>
1641 \end_inset 
1642 </cell>
1643 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1644 \begin_inset Text
1645
1646 \layout Standard
1647
1648 Address space code <see table below>
1649 \end_inset 
1650 </cell>
1651 </row>
1652 <row topline="true">
1653 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1654 \begin_inset Text
1655
1656 \layout Standard
1657
1658 <On Stack>
1659 \end_inset 
1660 </cell>
1661 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1662 \begin_inset Text
1663
1664 \layout Standard
1665
1666 Indicates if this is a stack variable
1667 \end_inset 
1668 </cell>
1669 </row>
1670 <row topline="true">
1671 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1672 \begin_inset Text
1673
1674 \layout Standard
1675
1676 <Stack>
1677 \end_inset 
1678 </cell>
1679 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1680 \begin_inset Text
1681
1682 \layout Standard
1683
1684 If stack variable, the stack offset relative to the 
1685 \begin_inset Quotes eld
1686 \end_inset 
1687
1688 bp
1689 \begin_inset Quotes erd
1690 \end_inset 
1691
1692  variable.
1693  (Libraries will have to be compiled using the -
1694 \begin_inset ERT
1695 status Collapsed
1696
1697 \layout Standard
1698
1699 \backslash 
1700 /
1701 \end_inset 
1702
1703 -debug option for this to be available)
1704 \end_inset 
1705 </cell>
1706 </row>
1707 <row topline="true">
1708 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1709 \begin_inset Text
1710
1711 \layout Standard
1712
1713 <Is Interrupt>
1714 \end_inset 
1715 </cell>
1716 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1717 \begin_inset Text
1718
1719 \layout Standard
1720
1721 Indicates if this is an interrupt handler.
1722 \end_inset 
1723 </cell>
1724 </row>
1725 <row topline="true">
1726 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1727 \begin_inset Text
1728
1729 \layout Standard
1730
1731 <Interrupt Num>
1732 \end_inset 
1733 </cell>
1734 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1735 \begin_inset Text
1736
1737 \layout Standard
1738
1739 If interrupt handler, this indicates the interrupt number.
1740 \end_inset 
1741 </cell>
1742 </row>
1743 <row topline="true" bottomline="true">
1744 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1745 \begin_inset Text
1746
1747 \layout Standard
1748
1749 <Register Bank>
1750 \end_inset 
1751 </cell>
1752 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1753 \begin_inset Text
1754
1755 \layout Standard
1756
1757 If interrupt handler, this ist he register bank number.
1758 \end_inset 
1759 </cell>
1760 </row>
1761 </lyxtabular>
1762
1763 \end_inset 
1764
1765
1766 \layout Standard
1767
1768
1769 \series bold 
1770 Purpose
1771 \layout Standard
1772
1773 The Function record defines any Source File function.
1774  Its construction is the same as the symbol record, with the addition of
1775  3 extra parameters for indicating interrupt handlers.
1776 \layout Standard
1777
1778
1779 \series bold 
1780 Example
1781 \layout Standard
1782
1783
1784 \family typewriter 
1785 F:G$main$0$0({2}DF,SV:S),C,0,0,0,0,0
1786 \newline 
1787 F:G$SioISR$0$0({2}DF,SV:S),Z,0,0,1,4,0
1788 \layout Subsection
1789
1790 Type Records
1791 \layout Description
1792
1793 <T><:>
1794 \series bold 
1795
1796 \newline 
1797 <F><Filename><$>
1798 \newline 
1799 <Name>
1800 \newline 
1801 <[><TypeMember> {<TypeMember>} <]>
1802 \layout Standard
1803
1804
1805 \begin_inset  Tabular
1806 <lyxtabular version="3" rows="4" columns="2">
1807 <features>
1808 <column alignment="center" valignment="top" leftline="true" width="0pt">
1809 <column alignment="left" valignment="top" leftline="true" rightline="true" width="0pt">
1810 <row topline="true">
1811 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1812 \begin_inset Text
1813
1814 \layout Standard
1815
1816 T
1817 \end_inset 
1818 </cell>
1819 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1820 \begin_inset Text
1821
1822 \layout Standard
1823
1824 Type record type indicator
1825 \end_inset 
1826 </cell>
1827 </row>
1828 <row topline="true">
1829 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1830 \begin_inset Text
1831
1832 \layout Standard
1833
1834 <Filename>
1835 \end_inset 
1836 </cell>
1837 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1838 \begin_inset Text
1839
1840 \layout Standard
1841
1842 The filename where this type is declared
1843 \end_inset 
1844 </cell>
1845 </row>
1846 <row topline="true">
1847 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1848 \begin_inset Text
1849
1850 \layout Standard
1851
1852 <Name>
1853 \end_inset 
1854 </cell>
1855 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1856 \begin_inset Text
1857
1858 \layout Standard
1859
1860 The name of this type
1861 \end_inset 
1862 </cell>
1863 </row>
1864 <row topline="true" bottomline="true">
1865 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1866 \begin_inset Text
1867
1868 \layout Standard
1869
1870 <TypeMember>
1871 \end_inset 
1872 </cell>
1873 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1874 \begin_inset Text
1875
1876 \layout Standard
1877
1878 (see below)
1879 \end_inset 
1880 </cell>
1881 </row>
1882 </lyxtabular>
1883
1884 \end_inset 
1885
1886
1887 \layout Subsection
1888
1889 Type Member
1890 \layout Description
1891
1892 <(><{><Offset><}><SymbolRecord><)>
1893 \layout Standard
1894
1895
1896 \begin_inset  Tabular
1897 <lyxtabular version="3" rows="2" columns="2">
1898 <features>
1899 <column alignment="center" valignment="top" leftline="true" width="0pt">
1900 <column alignment="block" valignment="top" leftline="true" rightline="true" width="3.9in">
1901 <row topline="true">
1902 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1903 \begin_inset Text
1904
1905 \layout Standard
1906
1907 <Offset>
1908 \end_inset 
1909 </cell>
1910 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1911 \begin_inset Text
1912
1913 \layout Standard
1914
1915 The offset of this type member in decimal.
1916 \end_inset 
1917 </cell>
1918 </row>
1919 <row topline="true" bottomline="true">
1920 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1921 \begin_inset Text
1922
1923 \layout Standard
1924
1925 <SymbolRecord>
1926 \end_inset 
1927 </cell>
1928 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1929 \begin_inset Text
1930
1931 \layout Standard
1932
1933 A complete symbol record describing this Member.
1934  (See 
1935 \begin_inset Quotes eld
1936 \end_inset 
1937
1938 Symbol Records
1939 \begin_inset Quotes erd
1940 \end_inset 
1941
1942  above.
1943 \end_inset 
1944 </cell>
1945 </row>
1946 </lyxtabular>
1947
1948 \end_inset 
1949
1950
1951 \layout Standard
1952
1953
1954 \series bold 
1955 Purpose
1956 \layout Standard
1957
1958 Type records describe the complex types within the source file.
1959  These include structure and union types.
1960 \layout Standard
1961
1962
1963 \series bold 
1964 Examples
1965 \layout Standard
1966
1967
1968 \family typewriter 
1969 T:Fcmdas$TTinyBuffer[
1970 \newline 
1971 ({0}S:S$pNext$0$0({3}DG,STTTinyBuffer:S),Z,0,0)
1972 \newline 
1973 ({3}S:S$length$0$0({1}SC:U),Z,0,0)
1974 \newline 
1975 ({4}S:S$maxLength$0$0({1}SC:U),Z,0,0)
1976 \newline 
1977 ({5}S:S$rindex$0$0({1}SC:U),Z,0,0)
1978 \newline 
1979 ({6}S:S$windex$0$0({1}SC:U),Z,0,0)
1980 \newline 
1981 ({7}S:S$buffer$0$0({64}DA64,SC:U),Z,0,0)
1982 \newline 
1983 ]
1984 \layout Subsection
1985
1986 Link Address of Symbol
1987 \layout Description
1988
1989 <L><:> 
1990 \series bold 
1991
1992 \newline 
1993 { <G> | F<filename> | L<function> } 
1994 \newline 
1995 <$><name>
1996 \newline 
1997 <$><level>
1998 \newline 
1999 <$><block>
2000 \newline 
2001 <:><address>
2002 \layout Standard
2003
2004
2005 \begin_inset  Tabular
2006 <lyxtabular version="3" rows="8" columns="2">
2007 <features>
2008 <column alignment="center" valignment="top" leftline="true" width="0pt">
2009 <column alignment="block" valignment="top" leftline="true" rightline="true" width="3.9in">
2010 <row topline="true">
2011 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2012 \begin_inset Text
2013
2014 \layout Standard
2015
2016 L
2017 \end_inset 
2018 </cell>
2019 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2020 \begin_inset Text
2021
2022 \layout Standard
2023
2024 Link record type indicator
2025 \end_inset 
2026 </cell>
2027 </row>
2028 <row topline="true">
2029 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2030 \begin_inset Text
2031
2032 \layout Standard
2033
2034 G
2035 \end_inset 
2036 </cell>
2037 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2038 \begin_inset Text
2039
2040 \layout Standard
2041
2042 Symbol has file scope.
2043 \end_inset 
2044 </cell>
2045 </row>
2046 <row topline="true">
2047 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2048 \begin_inset Text
2049
2050 \layout Standard
2051
2052 F <Filename>
2053 \end_inset 
2054 </cell>
2055 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2056 \begin_inset Text
2057
2058 \layout Standard
2059
2060 Symbol has file scope.
2061 \end_inset 
2062 </cell>
2063 </row>
2064 <row topline="true">
2065 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2066 \begin_inset Text
2067
2068 \layout Standard
2069
2070 L <Function>
2071 \end_inset 
2072 </cell>
2073 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2074 \begin_inset Text
2075
2076 \layout Standard
2077
2078 Symbol has function scope
2079 \end_inset 
2080 </cell>
2081 </row>
2082 <row topline="true">
2083 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2084 \begin_inset Text
2085
2086 \layout Standard
2087
2088 <Name>
2089 \end_inset 
2090 </cell>
2091 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2092 \begin_inset Text
2093
2094 \layout Standard
2095
2096 Symbol name
2097 \end_inset 
2098 </cell>
2099 </row>
2100 <row topline="true">
2101 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2102 \begin_inset Text
2103
2104 \layout Standard
2105
2106 <Level>
2107 \end_inset 
2108 </cell>
2109 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2110 \begin_inset Text
2111
2112 \layout Standard
2113
2114 Symbol level
2115 \end_inset 
2116 </cell>
2117 </row>
2118 <row topline="true">
2119 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2120 \begin_inset Text
2121
2122 \layout Standard
2123
2124 <Block>
2125 \end_inset 
2126 </cell>
2127 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2128 \begin_inset Text
2129
2130 \layout Standard
2131
2132 Symbol block
2133 \end_inset 
2134 </cell>
2135 </row>
2136 <row topline="true" bottomline="true">
2137 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2138 \begin_inset Text
2139
2140 \layout Standard
2141
2142 <Address>
2143 \end_inset 
2144 </cell>
2145 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2146 \begin_inset Text
2147
2148 \layout Standard
2149
2150 Symbol address in hex, relative to the address space code, in the matching
2151  symbol record.
2152 \end_inset 
2153 </cell>
2154 </row>
2155 </lyxtabular>
2156
2157 \end_inset 
2158
2159
2160 \layout Standard
2161
2162
2163 \series bold 
2164 Purpose
2165 \layout Standard
2166
2167 The link address record is used to bind a memory location to a symbol record.
2168 \layout Standard
2169
2170
2171 \series bold 
2172 Example
2173 \layout Standard
2174
2175
2176 \family typewriter 
2177 L:G$P0$0$0:80
2178 \newline 
2179 L:G$ScanCount$0$0:0
2180 \newline 
2181 L:Fcmdas$_str_0$0$0:195
2182 \layout Subsection
2183
2184 Linker Symbol End Address Record
2185 \layout Description
2186
2187 <L><:><X>
2188 \series bold 
2189
2190 \newline 
2191 { <G> | F<filename> | L<functionName> }
2192 \newline 
2193 <$><name>
2194 \newline 
2195 <$><level>
2196 \newline 
2197 <$><block>
2198 \newline 
2199 <:><Address>
2200 \layout Standard
2201
2202
2203 \begin_inset  Tabular
2204 <lyxtabular version="3" rows="9" columns="2">
2205 <features>
2206 <column alignment="center" valignment="top" leftline="true" width="0pt">
2207 <column alignment="block" valignment="top" leftline="true" rightline="true" width="3.9in">
2208 <row topline="true">
2209 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2210 \begin_inset Text
2211
2212 \layout Standard
2213
2214 L
2215 \end_inset 
2216 </cell>
2217 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2218 \begin_inset Text
2219
2220 \layout Standard
2221
2222 Link record type indicator
2223 \end_inset 
2224 </cell>
2225 </row>
2226 <row topline="true">
2227 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2228 \begin_inset Text
2229
2230 \layout Standard
2231
2232 X
2233 \end_inset 
2234 </cell>
2235 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2236 \begin_inset Text
2237
2238 \layout Standard
2239
2240 Link end address sub type indicator
2241 \end_inset 
2242 </cell>
2243 </row>
2244 <row topline="true">
2245 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2246 \begin_inset Text
2247
2248 \layout Standard
2249
2250 G
2251 \end_inset 
2252 </cell>
2253 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2254 \begin_inset Text
2255
2256 \layout Standard
2257
2258 Symbol has file scope.
2259 \end_inset 
2260 </cell>
2261 </row>
2262 <row topline="true">
2263 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2264 \begin_inset Text
2265
2266 \layout Standard
2267
2268 F <Filename>
2269 \end_inset 
2270 </cell>
2271 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2272 \begin_inset Text
2273
2274 \layout Standard
2275
2276 Symbol has file scope.
2277 \end_inset 
2278 </cell>
2279 </row>
2280 <row topline="true">
2281 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2282 \begin_inset Text
2283
2284 \layout Standard
2285
2286 L <Function>
2287 \end_inset 
2288 </cell>
2289 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2290 \begin_inset Text
2291
2292 \layout Standard
2293
2294 Symbol has function scope.
2295 \end_inset 
2296 </cell>
2297 </row>
2298 <row topline="true">
2299 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2300 \begin_inset Text
2301
2302 \layout Standard
2303
2304 <Name>
2305 \end_inset 
2306 </cell>
2307 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2308 \begin_inset Text
2309
2310 \layout Standard
2311
2312 Symbol name
2313 \end_inset 
2314 </cell>
2315 </row>
2316 <row topline="true">
2317 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2318 \begin_inset Text
2319
2320 \layout Standard
2321
2322 <Level>
2323 \end_inset 
2324 </cell>
2325 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2326 \begin_inset Text
2327
2328 \layout Standard
2329
2330 Symbol level
2331 \end_inset 
2332 </cell>
2333 </row>
2334 <row topline="true">
2335 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2336 \begin_inset Text
2337
2338 \layout Standard
2339
2340 <Block>
2341 \end_inset 
2342 </cell>
2343 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2344 \begin_inset Text
2345
2346 \layout Standard
2347
2348 Symbol block
2349 \end_inset 
2350 </cell>
2351 </row>
2352 <row topline="true" bottomline="true">
2353 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2354 \begin_inset Text
2355
2356 \layout Standard
2357
2358 <Address>
2359 \end_inset 
2360 </cell>
2361 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2362 \begin_inset Text
2363
2364 \layout Standard
2365
2366 Symbol end address in hex, relative to the address space code contained
2367  in the matching symbol record.
2368 \end_inset 
2369 </cell>
2370 </row>
2371 </lyxtabular>
2372
2373 \end_inset 
2374
2375
2376 \layout Standard
2377
2378
2379 \series bold 
2380 Purpose
2381 \layout Standard
2382
2383 The Linker Symbol end address record is primarily used to indicate the Ending
2384  address of functions.
2385  This is because function records do not contain a size value, as symbol
2386  records do.
2387 \layout Standard
2388
2389
2390 \series bold 
2391 Example
2392 \layout Standard
2393
2394
2395 \family typewriter 
2396 L:XG$sysClearError$0$0:194
2397 \newline 
2398 L:XG$SioISR$0$0:A09
2399 \layout Subsection
2400
2401 Linker ASM Line Record
2402 \layout Description
2403
2404 <L> 
2405 \series bold 
2406 <:> <A>
2407 \newline 
2408 <$><Filename>
2409 \newline 
2410 <$><Line>
2411 \newline 
2412 <:><EndAddress>
2413 \layout Standard
2414
2415
2416 \begin_inset  Tabular
2417 <lyxtabular version="3" rows="5" columns="2">
2418 <features>
2419 <column alignment="center" valignment="top" leftline="true" width="0pt">
2420 <column alignment="block" valignment="top" leftline="true" rightline="true" width="3.9in">
2421 <row topline="true">
2422 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2423 \begin_inset Text
2424
2425 \layout Standard
2426
2427 L
2428 \end_inset 
2429 </cell>
2430 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2431 \begin_inset Text
2432
2433 \layout Standard
2434
2435 Link record type indicator
2436 \end_inset 
2437 </cell>
2438 </row>
2439 <row topline="true">
2440 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2441 \begin_inset Text
2442
2443 \layout Standard
2444
2445 A
2446 \end_inset 
2447 </cell>
2448 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2449 \begin_inset Text
2450
2451 \layout Standard
2452
2453 Link assembly file line record sub type indicator
2454 \end_inset 
2455 </cell>
2456 </row>
2457 <row topline="true">
2458 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2459 \begin_inset Text
2460
2461 \layout Standard
2462
2463 <Filename>
2464 \end_inset 
2465 </cell>
2466 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2467 \begin_inset Text
2468
2469 \layout Standard
2470
2471 Filename of the assembly file.
2472 \end_inset 
2473 </cell>
2474 </row>
2475 <row topline="true">
2476 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2477 \begin_inset Text
2478
2479 \layout Standard
2480
2481 <Line>
2482 \end_inset 
2483 </cell>
2484 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2485 \begin_inset Text
2486
2487 \layout Standard
2488
2489 Line number in the above filename.{}These numbers start at 1 (not 0).
2490 \end_inset 
2491 </cell>
2492 </row>
2493 <row topline="true" bottomline="true">
2494 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2495 \begin_inset Text
2496
2497 \layout Standard
2498
2499 <EndAdress>
2500 \end_inset 
2501 </cell>
2502 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2503 \begin_inset Text
2504
2505 \layout Standard
2506
2507 End address
2508 \end_inset 
2509 </cell>
2510 </row>
2511 </lyxtabular>
2512
2513 \end_inset 
2514
2515
2516 \layout Standard
2517
2518
2519 \series bold 
2520 Purpose
2521 \layout Standard
2522
2523 The linker Asm Line record is used to bind the execution address with a
2524  source file and line number.
2525 \layout Standard
2526
2527
2528 \series bold 
2529 Example
2530 \layout Standard
2531
2532
2533 \family typewriter 
2534 L:A$TinyBuffer$2320:A13
2535 \newline 
2536 L:A$max1270$391:CA4
2537 \layout Subsection
2538
2539 Linker C-Line Record
2540 \layout Description
2541
2542 <L> 
2543 \series bold 
2544 <:> <C>
2545 \newline 
2546 <$><Filename>
2547 \newline 
2548 <$><Line>
2549 \newline 
2550 <$><Level>
2551 \newline 
2552 <$><Block>
2553 \newline 
2554 <:><EndAddress>
2555 \layout Standard
2556
2557
2558 \begin_inset  Tabular
2559 <lyxtabular version="3" rows="7" columns="2">
2560 <features>
2561 <column alignment="center" valignment="top" leftline="true" width="0pt">
2562 <column alignment="block" valignment="top" leftline="true" rightline="true" width="3.9in">
2563 <row topline="true">
2564 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2565 \begin_inset Text
2566
2567 \layout Standard
2568
2569 L
2570 \end_inset 
2571 </cell>
2572 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2573 \begin_inset Text
2574
2575 \layout Standard
2576
2577 Link record type indicator
2578 \end_inset 
2579 </cell>
2580 </row>
2581 <row topline="true">
2582 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2583 \begin_inset Text
2584
2585 \layout Standard
2586
2587 C
2588 \end_inset 
2589 </cell>
2590 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2591 \begin_inset Text
2592
2593 \layout Standard
2594
2595 Link assembly file line record sub type indicator
2596 \end_inset 
2597 </cell>
2598 </row>
2599 <row topline="true">
2600 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2601 \begin_inset Text
2602
2603 \layout Standard
2604
2605 <Filename>
2606 \end_inset 
2607 </cell>
2608 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2609 \begin_inset Text
2610
2611 \layout Standard
2612
2613 Filename of the assembly file.
2614 \end_inset 
2615 </cell>
2616 </row>
2617 <row topline="true">
2618 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2619 \begin_inset Text
2620
2621 \layout Standard
2622
2623 <Line>
2624 \end_inset 
2625 </cell>
2626 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2627 \begin_inset Text
2628
2629 \layout Standard
2630
2631 Line number in the above filename.
2632  These numbers start at 1 (not 0).
2633 \end_inset 
2634 </cell>
2635 </row>
2636 <row topline="true">
2637 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2638 \begin_inset Text
2639
2640 \layout Standard
2641
2642 <Level>
2643 \end_inset 
2644 </cell>
2645 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2646 \begin_inset Text
2647
2648 \layout Standard
2649
2650 Current level at this line and address.
2651 \end_inset 
2652 </cell>
2653 </row>
2654 <row topline="true">
2655 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2656 \begin_inset Text
2657
2658 \layout Standard
2659
2660 <Block>
2661 \end_inset 
2662 </cell>
2663 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2664 \begin_inset Text
2665
2666 \layout Standard
2667
2668 Current block at this line and address.
2669 \end_inset 
2670 </cell>
2671 </row>
2672 <row topline="true" bottomline="true">
2673 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2674 \begin_inset Text
2675
2676 \layout Standard
2677
2678 <EndAddress>
2679 \end_inset 
2680 </cell>
2681 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2682 \begin_inset Text
2683
2684 \layout Standard
2685
2686 End address
2687 \end_inset 
2688 </cell>
2689 </row>
2690 </lyxtabular>
2691
2692 \end_inset 
2693
2694
2695 \layout Standard
2696
2697
2698 \series bold 
2699 Purpose
2700 \layout Standard
2701
2702 The linker C-Line record is used to bind the execution address with a source
2703  file, line number and the level, block information.
2704 \layout Standard
2705
2706 The following is an example source module with its lines showing the correspondi
2707 ng C-Line Records.
2708  You will notice in this example that there are no line entries for lines
2709  18, 19.
2710  This is because the code was optimized and removed.
2711 \layout Standard
2712
2713
2714 \begin_inset  Tabular
2715 <lyxtabular version="3" rows="27" columns="3">
2716 <features>
2717 <column alignment="center" valignment="top" width="0pt">
2718 <column alignment="left" valignment="top" width="0pt">
2719 <column alignment="left" valignment="top" width="0pt">
2720 <row>
2721 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2722 \begin_inset Text
2723
2724 \layout Standard
2725
2726 01
2727 \end_inset 
2728 </cell>
2729 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2730 \begin_inset Text
2731
2732 \layout Standard
2733
2734 \end_inset 
2735 </cell>
2736 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2737 \begin_inset Text
2738
2739 \layout Standard
2740
2741 \end_inset 
2742 </cell>
2743 </row>
2744 <row>
2745 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2746 \begin_inset Text
2747
2748 \layout Standard
2749
2750 02
2751 \end_inset 
2752 </cell>
2753 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2754 \begin_inset Text
2755
2756 \layout Standard
2757
2758 \end_inset 
2759 </cell>
2760 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2761 \begin_inset Text
2762
2763 \layout Standard
2764
2765
2766 \family typewriter 
2767 struct complex
2768 \end_inset 
2769 </cell>
2770 </row>
2771 <row>
2772 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2773 \begin_inset Text
2774
2775 \layout Standard
2776
2777 03
2778 \end_inset 
2779 </cell>
2780 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2781 \begin_inset Text
2782
2783 \layout Standard
2784
2785 \end_inset 
2786 </cell>
2787 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2788 \begin_inset Text
2789
2790 \layout Standard
2791
2792
2793 \family typewriter 
2794 {
2795 \end_inset 
2796 </cell>
2797 </row>
2798 <row>
2799 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2800 \begin_inset Text
2801
2802 \layout Standard
2803
2804 04
2805 \end_inset 
2806 </cell>
2807 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2808 \begin_inset Text
2809
2810 \layout Standard
2811
2812 \end_inset 
2813 </cell>
2814 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2815 \begin_inset Text
2816
2817 \layout Standard
2818
2819
2820 \family typewriter 
2821 \SpecialChar ~
2822 \SpecialChar ~
2823 int count;
2824 \end_inset 
2825 </cell>
2826 </row>
2827 <row>
2828 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2829 \begin_inset Text
2830
2831 \layout Standard
2832
2833 05
2834 \end_inset 
2835 </cell>
2836 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2837 \begin_inset Text
2838
2839 \layout Standard
2840
2841 \end_inset 
2842 </cell>
2843 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2844 \begin_inset Text
2845
2846 \layout Standard
2847
2848
2849 \family typewriter 
2850 \SpecialChar ~
2851 \SpecialChar ~
2852 int Max;
2853 \end_inset 
2854 </cell>
2855 </row>
2856 <row>
2857 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2858 \begin_inset Text
2859
2860 \layout Standard
2861
2862 06
2863 \end_inset 
2864 </cell>
2865 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2866 \begin_inset Text
2867
2868 \layout Standard
2869
2870 \end_inset 
2871 </cell>
2872 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2873 \begin_inset Text
2874
2875 \layout Standard
2876
2877
2878 \family typewriter 
2879 };
2880 \end_inset 
2881 </cell>
2882 </row>
2883 <row>
2884 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2885 \begin_inset Text
2886
2887 \layout Standard
2888
2889 07
2890 \end_inset 
2891 </cell>
2892 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2893 \begin_inset Text
2894
2895 \layout Standard
2896
2897 \end_inset 
2898 </cell>
2899 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2900 \begin_inset Text
2901
2902 \layout Standard
2903
2904 \end_inset 
2905 </cell>
2906 </row>
2907 <row>
2908 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2909 \begin_inset Text
2910
2911 \layout Standard
2912
2913 08
2914 \end_inset 
2915 </cell>
2916 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2917 \begin_inset Text
2918
2919 \layout Standard
2920
2921 L:C$vars.c$8$0$0:38
2922 \end_inset 
2923 </cell>
2924 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2925 \begin_inset Text
2926
2927 \layout Standard
2928
2929
2930 \family typewriter 
2931 void main(void)
2932 \end_inset 
2933 </cell>
2934 </row>
2935 <row>
2936 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2937 \begin_inset Text
2938
2939 \layout Standard
2940
2941 09
2942 \end_inset 
2943 </cell>
2944 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2945 \begin_inset Text
2946
2947 \layout Standard
2948
2949 \end_inset 
2950 </cell>
2951 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2952 \begin_inset Text
2953
2954 \layout Standard
2955
2956
2957 \family typewriter 
2958 {
2959 \end_inset 
2960 </cell>
2961 </row>
2962 <row>
2963 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2964 \begin_inset Text
2965
2966 \layout Standard
2967
2968 10
2969 \end_inset 
2970 </cell>
2971 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2972 \begin_inset Text
2973
2974 \layout Standard
2975
2976 \end_inset 
2977 </cell>
2978 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2979 \begin_inset Text
2980
2981 \layout Standard
2982
2983
2984 \family typewriter 
2985 \SpecialChar ~
2986 \SpecialChar ~
2987 int iterA;
2988 \end_inset 
2989 </cell>
2990 </row>
2991 <row>
2992 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2993 \begin_inset Text
2994
2995 \layout Standard
2996
2997 11
2998 \end_inset 
2999 </cell>
3000 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3001 \begin_inset Text
3002
3003 \layout Standard
3004
3005 \end_inset 
3006 </cell>
3007 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3008 \begin_inset Text
3009
3010 \layout Standard
3011
3012
3013 \family typewriter 
3014 \SpecialChar ~
3015 \SpecialChar ~
3016 int iterB;
3017 \end_inset 
3018 </cell>
3019 </row>
3020 <row>
3021 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3022 \begin_inset Text
3023
3024 \layout Standard
3025
3026 12
3027 \end_inset 
3028 </cell>
3029 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3030 \begin_inset Text
3031
3032 \layout Standard
3033
3034 \end_inset 
3035 </cell>
3036 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3037 \begin_inset Text
3038
3039 \layout Standard
3040
3041
3042 \family typewriter 
3043 \SpecialChar ~
3044 \SpecialChar ~
3045 struct complex myStruct;
3046 \end_inset 
3047 </cell>
3048 </row>
3049 <row>
3050 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3051 \begin_inset Text
3052
3053 \layout Standard
3054
3055 13
3056 \end_inset 
3057 </cell>
3058 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3059 \begin_inset Text
3060
3061 \layout Standard
3062
3063 \end_inset 
3064 </cell>
3065 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3066 \begin_inset Text
3067
3068 \layout Standard
3069
3070 \end_inset 
3071 </cell>
3072 </row>
3073 <row>
3074 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3075 \begin_inset Text
3076
3077 \layout Standard
3078
3079 14
3080 \end_inset 
3081 </cell>
3082 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3083 \begin_inset Text
3084
3085 \layout Standard
3086
3087 L:C$vars.c$14$1$1:C1
3088 \end_inset 
3089 </cell>
3090 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3091 \begin_inset Text
3092
3093 \layout Standard
3094
3095
3096 \family typewriter 
3097 \SpecialChar ~
3098 \SpecialChar ~
3099 for(iterA = 0; iterA < 10; iterA++)
3100 \end_inset 
3101 </cell>
3102 </row>
3103 <row>
3104 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3105 \begin_inset Text
3106
3107 \layout Standard
3108
3109 15
3110 \end_inset 
3111 </cell>
3112 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3113 \begin_inset Text
3114
3115 \layout Standard
3116
3117 \end_inset 
3118 </cell>
3119 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3120 \begin_inset Text
3121
3122 \layout Standard
3123
3124
3125 \family typewriter 
3126 \SpecialChar ~
3127 \SpecialChar ~
3128 {
3129 \end_inset 
3130 </cell>
3131 </row>
3132 <row>
3133 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3134 \begin_inset Text
3135
3136 \layout Standard
3137
3138 16
3139 \end_inset 
3140 </cell>
3141 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3142 \begin_inset Text
3143
3144 \layout Standard
3145
3146 L:C$vars.c$16$2$2:B9
3147 \end_inset 
3148 </cell>
3149 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3150 \begin_inset Text
3151
3152 \layout Standard
3153
3154
3155 \family typewriter 
3156 \SpecialChar ~
3157 \SpecialChar ~
3158 \SpecialChar ~
3159 \SpecialChar ~
3160 for(iterB = 0; iterB < 10; iterB++)
3161 \end_inset 
3162 </cell>
3163 </row>
3164 <row>
3165 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3166 \begin_inset Text
3167
3168 \layout Standard
3169
3170 17
3171 \end_inset 
3172 </cell>
3173 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3174 \begin_inset Text
3175
3176 \layout Standard
3177
3178 \end_inset 
3179 </cell>
3180 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3181 \begin_inset Text
3182
3183 \layout Standard
3184
3185
3186 \family typewriter 
3187 \SpecialChar ~
3188 \SpecialChar ~
3189 \SpecialChar ~
3190 \SpecialChar ~
3191 {
3192 \end_inset 
3193 </cell>
3194 </row>
3195 <row>
3196 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3197 \begin_inset Text
3198
3199 \layout Standard
3200
3201 18
3202 \end_inset 
3203 </cell>
3204 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3205 \begin_inset Text
3206
3207 \layout Standard
3208
3209 \end_inset 
3210 </cell>
3211 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3212 \begin_inset Text
3213
3214 \layout Standard
3215
3216
3217 \family typewriter 
3218 \SpecialChar ~
3219 \SpecialChar ~
3220 \SpecialChar ~
3221 \SpecialChar ~
3222 \SpecialChar ~
3223 \SpecialChar ~
3224 int iterA = 6 + iterB;
3225 \end_inset 
3226 </cell>
3227 </row>
3228 <row>
3229 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3230 \begin_inset Text
3231
3232 \layout Standard
3233
3234 19
3235 \end_inset 
3236 </cell>
3237 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3238 \begin_inset Text
3239
3240 \layout Standard
3241
3242 \end_inset 
3243 </cell>
3244 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3245 \begin_inset Text
3246
3247 \layout Standard
3248
3249
3250 \family typewriter 
3251 \SpecialChar ~
3252 \SpecialChar ~
3253 \SpecialChar ~
3254 \SpecialChar ~
3255 \SpecialChar ~
3256 \SpecialChar ~
3257 iterA++;
3258 \end_inset 
3259 </cell>
3260 </row>
3261 <row>
3262 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3263 \begin_inset Text
3264
3265 \layout Standard
3266
3267 20
3268 \end_inset 
3269 </cell>
3270 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3271 \begin_inset Text
3272
3273 \layout Standard
3274
3275 \end_inset 
3276 </cell>
3277 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3278 \begin_inset Text
3279
3280 \layout Standard
3281
3282 \end_inset 
3283 </cell>
3284 </row>
3285 <row>
3286 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3287 \begin_inset Text
3288
3289 \layout Standard
3290
3291 21
3292 \end_inset 
3293 </cell>
3294 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3295 \begin_inset Text
3296
3297 \layout Standard
3298
3299 L:C$vars.c$21$1$1:69
3300 \end_inset 
3301 </cell>
3302 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3303 \begin_inset Text
3304
3305 \layout Standard
3306
3307
3308 \family typewriter 
3309 \SpecialChar ~
3310 \SpecialChar ~
3311 \SpecialChar ~
3312 \SpecialChar ~
3313 \SpecialChar ~
3314 \SpecialChar ~
3315 myStruct.count++;
3316 \end_inset 
3317 </cell>
3318 </row>
3319 <row>
3320 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3321 \begin_inset Text
3322
3323 \layout Standard
3324
3325 22
3326 \end_inset 
3327 </cell>
3328 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3329 \begin_inset Text
3330
3331 \layout Standard
3332
3333 \end_inset 
3334 </cell>
3335 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3336 \begin_inset Text
3337
3338 \layout Standard
3339
3340 \end_inset 
3341 </cell>
3342 </row>
3343 <row>
3344 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3345 \begin_inset Text
3346
3347 \layout Standard
3348
3349 23
3350 \end_inset 
3351 </cell>
3352 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3353 \begin_inset Text
3354
3355 \layout Standard
3356
3357 L:C$vars.c$23$3$3:83
3358 \end_inset 
3359 </cell>
3360 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3361 \begin_inset Text
3362
3363 \layout Standard
3364
3365
3366 \family typewriter 
3367 \SpecialChar ~
3368 \SpecialChar ~
3369 \SpecialChar ~
3370 \SpecialChar ~
3371 \SpecialChar ~
3372 \SpecialChar ~
3373 if(myStruct.count > myStruct.Max)
3374 \end_inset 
3375 </cell>
3376 </row>
3377 <row>
3378 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3379 \begin_inset Text
3380
3381 \layout Standard
3382
3383 24
3384 \end_inset 
3385 </cell>
3386 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3387 \begin_inset Text
3388
3389 \layout Standard
3390
3391 L:C$vars.c$24$3$3:A3
3392 \end_inset 
3393 </cell>
3394 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3395 \begin_inset Text
3396
3397 \layout Standard
3398
3399
3400 \family typewriter 
3401 \SpecialChar ~
3402 \SpecialChar ~
3403 \SpecialChar ~
3404 \SpecialChar ~
3405 \SpecialChar ~
3406 \SpecialChar ~
3407 \SpecialChar ~
3408 \SpecialChar ~
3409 myStruct.Max = mystruct.count;
3410 \end_inset 
3411 </cell>
3412 </row>
3413 <row>
3414 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3415 \begin_inset Text
3416
3417 \layout Standard
3418
3419 25
3420 \end_inset 
3421 </cell>
3422 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3423 \begin_inset Text
3424
3425 \layout Standard
3426
3427 \end_inset 
3428 </cell>
3429 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3430 \begin_inset Text
3431
3432 \layout Standard
3433
3434
3435 \family typewriter 
3436 \SpecialChar ~
3437 \SpecialChar ~
3438 \SpecialChar ~
3439 \SpecialChar ~
3440 }
3441 \end_inset 
3442 </cell>
3443 </row>
3444 <row>
3445 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3446 \begin_inset Text
3447
3448 \layout Standard
3449
3450 26
3451 \end_inset 
3452 </cell>
3453 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3454 \begin_inset Text
3455
3456 \layout Standard
3457
3458 \end_inset 
3459 </cell>
3460 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3461 \begin_inset Text
3462
3463 \layout Standard
3464
3465
3466 \family typewriter 
3467 \SpecialChar ~
3468 \SpecialChar ~
3469 }
3470 \end_inset 
3471 </cell>
3472 </row>
3473 <row>
3474 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3475 \begin_inset Text
3476
3477 \layout Standard
3478
3479 27
3480 \end_inset 
3481 </cell>
3482 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3483 \begin_inset Text
3484
3485 \layout Standard
3486
3487 L:C$vars.c$27$1$1:CE
3488 \end_inset 
3489 </cell>
3490 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3491 \begin_inset Text
3492
3493 \layout Standard
3494
3495
3496 \family typewriter 
3497 }
3498 \end_inset 
3499 </cell>
3500 </row>
3501 </lyxtabular>
3502
3503 \end_inset 
3504
3505
3506 \layout Standard
3507
3508
3509 \series bold 
3510 Example
3511 \layout Standard
3512
3513
3514 \family typewriter 
3515 L:C$max1270.c$35$1$1:CA9
3516 \newline 
3517 L:C$Timer0.c$20$1$1:D9D
3518 \layout Section
3519
3520 Source File Example 
3521 \layout LyX-Code
3522
3523 sfr IM = 0x90;
3524 \layout LyX-Code
3525
3526 \layout LyX-Code
3527
3528 struct complex
3529 \layout LyX-Code
3530
3531 {
3532 \layout LyX-Code
3533
3534   int count;
3535 \layout LyX-Code
3536
3537   int Max;
3538 \layout LyX-Code
3539
3540 };
3541 \layout LyX-Code
3542
3543 \layout LyX-Code
3544
3545 void main(void)
3546 \layout LyX-Code
3547
3548 {
3549 \layout LyX-Code
3550
3551   int iterA;
3552 \layout LyX-Code
3553
3554   int iterB;
3555 \layout LyX-Code
3556
3557   struct complex myStruct;
3558 \layout LyX-Code
3559
3560 \layout LyX-Code
3561
3562   for(iterA = 0; iterA < 10; iterA++)
3563 \layout LyX-Code
3564
3565   {
3566 \layout LyX-Code
3567
3568     for(iterB = 0; iterB < 10; iterB++) 
3569 \layout LyX-Code
3570
3571     {
3572 \layout LyX-Code
3573
3574       int iterA = 6 + iterB;
3575 \layout LyX-Code
3576
3577       iterA++;
3578 \layout LyX-Code
3579
3580 \layout LyX-Code
3581
3582       myStruct.count++;
3583 \layout LyX-Code
3584
3585  
3586 \layout LyX-Code
3587
3588       IM = iterA;
3589 \layout LyX-Code
3590
3591 \layout LyX-Code
3592
3593       if(myStruct.count > myStruct.Max)
3594 \layout LyX-Code
3595
3596         myStruct.Max = myStruct.count;
3597 \layout LyX-Code
3598
3599     }
3600 \layout LyX-Code
3601
3602   }
3603 \layout LyX-Code
3604
3605 }
3606 \layout Section
3607
3608 CDB File Example
3609 \layout Standard
3610
3611
3612 \family typewriter 
3613 M:vars
3614 \newline 
3615 F:G$main$0$0({2}DF,SV:S),C,0,0,0,0,0
3616 \newline 
3617 T:Fvars$complex[({0}S:S$count$0$0({2}SI:S),Z,0,0)({2}S:S$Max$0$0({2}SI:S),Z,0,0)
3618 ]
3619 \newline 
3620 S:Lmain$iterA$1$1({2}SI:S),R,0,0,[r0,r1]
3621 \newline 
3622 S:Lmain$iterB$1$1({2}SI:S),R,0,0,[r4,r5]
3623 \newline 
3624 S:Lmain$myStruct$1$1({4}STcomplex:S),E,0,0
3625 \newline 
3626 S:Lmain$iterA$3$3({2}SI:S),R,0,0,[r6,r7]
3627 \newline 
3628 S:G$IM$0$0({1}SC:U),I,0,0
3629 \newline 
3630 S:G$main$0$0({2}DF,SV:S),C,0,0
3631 \newline 
3632 L:G$IM$0$0:90
3633 \newline 
3634 L:Lmain$myStruct$1$1:8
3635 \newline 
3636 L:A$vars$64:0
3637 \newline 
3638 L:A$vars$65:3
3639 \newline 
3640 L:A$vars$67:B
3641 \newline 
3642 L:A$vars$69:13
3643 \newline 
3644 L:A$vars$71:1B
3645 \newline 
3646 L:A$vars$73:23
3647 \newline 
3648 L:A$vars$75:2B
3649 \newline 
3650 L:A$vars$129:33
3651 \newline 
3652 L:A$vars$131:36
3653 \newline 
3654 L:A$vars$158:38
3655 \newline 
3656 L:C$vars.c$10$0$0:38
3657 \newline 
3658 L:G$main$0$0:38
3659 \newline 
3660 L:A$vars$159:3A
3661 \newline 
3662 L:A$vars$163:3C
3663 \newline 
3664 L:A$vars$164:3D
3665 \newline 
3666 L:A$vars$165:3E
3667 \newline 
3668 L:A$vars$166:40
3669 \newline 
3670 L:A$vars$167:41
3671 \newline 
3672 L:A$vars$168:43
3673 \newline 
3674 L:A$vars$170:45
3675 \newline 
3676 L:A$vars$171:47
3677 \newline 
3678 L:A$vars$176:4A
3679 \newline 
3680 L:A$vars$177:4C
3681 \newline 
3682 L:A$vars$181:4E
3683 \newline 
3684 L:A$vars$182:4F
3685 \newline 
3686 L:A$vars$183:50
3687 \newline 
3688 L:A$vars$184:52
3689 \newline 
3690 L:A$vars$185:53
3691 \newline 
3692 L:A$vars$186:55
3693 \newline 
3694 L:A$vars$191:57
3695 \newline 
3696 L:A$vars$196:59
3697 \newline 
3698 L:C$vars.c$20$3$3:59
3699 \newline 
3700 L:A$vars$197:5B
3701 \newline 
3702 L:A$vars$198:5D
3703 \newline 
3704 L:A$vars$200:5E
3705 \newline 
3706 L:A$vars$201:5F
3707 \newline 
3708 L:A$vars$202:61
3709 \newline 
3710 L:A$vars$207:62
3711 \newline 
3712 L:C$vars.c$21$3$3:62
3713 \newline 
3714 L:A$vars$208:63
3715 \newline 
3716 L:A$vars$209:66
3717 \newline 
3718 L:A$vars$216:67
3719 \newline 
3720 L:C$vars.c$23$3$3:67
3721 \newline 
3722 L:A$vars$217:69
3723 \newline 
3724 L:A$vars$220:6B
3725 \newline 
3726 L:A$vars$221:6C
3727 \newline 
3728 L:A$vars$222:6F
3729 \newline 
3730 L:A$vars$227:70
3731 \newline 
3732 L:A$vars$228:72
3733 \newline 
3734 L:A$vars$232:74
3735 \newline 
3736 L:C$vars.c$25$3$3:74
3737 \newline 
3738 L:A$vars$238:76
3739 \newline 
3740 L:C$vars.c$27$3$3:76
3741 \newline 
3742 L:A$vars$239:77
3743 \newline 
3744 L:A$vars$240:79
3745 \newline 
3746 L:A$vars$241:7A
3747 \newline 
3748 L:A$vars$242:7C
3749 \newline 
3750 L:A$vars$243:7E
3751 \newline 
3752 L:A$vars$244:80
3753 \newline 
3754 L:A$vars$245:83
3755 \newline 
3756 L:A$vars$248:85
3757 \newline 
3758 L:A$vars$256:87
3759 \newline 
3760 L:C$vars.c$28$3$3:87
3761 \newline 
3762 L:A$vars$257:8A
3763 \newline 
3764 L:A$vars$263:8D
3765 \newline 
3766 L:C$vars.c$18$2$2:8D
3767 \newline 
3768 L:A$vars$264:8E
3769 \newline 
3770 L:A$vars$265:91
3771 \newline 
3772 L:A$vars$268:92
3773 \newline 
3774 L:A$vars$274:94
3775 \newline 
3776 L:C$vars.c$16$1$1:94
3777 \newline 
3778 L:A$vars$275:95
3779 \newline 
3780 L:A$vars$276:98
3781 \newline 
3782 L:A$vars$278:99
3783 \newline 
3784 L:A$vars$282:9C
3785 \newline 
3786 L:C$vars.c$31$1$1:9C
3787 \newline 
3788 L:XG$main$0$0:9C
3789 \newline 
3790 L:A$vars$84:A1
3791 \newline 
3792 L:A$vars$85:A4
3793 \newline 
3794 L:A$vars$86:A7
3795 \newline 
3796 L:A$vars$87:A9
3797 \newline 
3798 L:A$vars$88:AB
3799 \newline 
3800 L:A$vars$91:AE
3801 \newline 
3802 L:A$vars$92:B0
3803 \newline 
3804 L:A$vars$93:B2
3805 \newline 
3806 L:A$vars$94:B4
3807 \newline 
3808 L:A$vars$95:B6
3809 \newline 
3810 L:A$vars$96:B8
3811 \newline 
3812 L:A$vars$97:B9
3813 \newline 
3814 L:A$vars$98:BB
3815 \newline 
3816 L:A$vars$99:BD
3817 \newline 
3818 L:A$vars$100:BE
3819 \newline 
3820 L:A$vars$101:C1
3821 \newline 
3822 L:A$vars$102:C3
3823 \newline 
3824 L:A$vars$103:C6
3825 \newline 
3826 L:A$vars$104:C7
3827 \newline 
3828 L:A$vars$105:C8
3829 \newline 
3830 L:A$vars$106:C9
3831 \newline 
3832 L:A$vars$107:CA
3833 \newline 
3834 L:A$vars$108:CB
3835 \newline 
3836 L:A$vars$109:CE
3837 \newline 
3838 L:A$vars$110:D0
3839 \newline 
3840 L:A$vars$111:D2
3841 \newline 
3842 L:A$vars$112:D5
3843 \newline 
3844 L:A$vars$113:D7
3845 \newline 
3846 L:A$vars$114:DA
3847 \newline 
3848 L:A$vars$118:DD
3849 \the_end