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