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