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