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