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