466
|
1 <chapter>
|
|
2 <title>Characteristics of Compiled Programs</title>
|
|
3
|
|
4 <section>
|
|
5 <title>The Object Code Module</title>
|
|
6 <para>
|
468
|
7 The compiler produces position-independent, reentrant 6809 code
|
|
8 in a standard OS-9 memory module format. The format of an executable
|
|
9 program module is shown below. Detailed descriptions of each
|
|
10 section of the module are given on following pages.
|
466
|
11 </para>
|
468
|
12 <informalfigure>
|
|
13 <screen>
|
|
14 Module
|
|
15 Offset
|
466
|
16
|
468
|
17 +-------------------------------+
|
|
18 ! !
|
|
19 ! Module Header !
|
|
20 ! !
|
|
21 !-------------------------------!
|
|
22 ! Execution Offset !
|
|
23 !-------------------------------!
|
|
24 ! Permanent Storage Size !
|
|
25 !-------------------------------!
|
|
26 ! Data-text Reference Count !
|
|
27 v v
|
|
28 : Data-text Reference Offsets :
|
|
29 ^ ^
|
|
30 </screen>
|
|
31 </informalfigure>
|
466
|
32 <section>
|
468
|
33 <title>Module Header</title>
|
466
|
34 <para>
|
468
|
35 This is a standard module header with the type/language byte set to
|
|
36 $11 (Program + 6809 Object Code), and the attribute/revision byte
|
|
37 set to $81 (Reentrant + 1).
|
466
|
38 </para>
|
|
39 </section>
|
530
|
40
|
|
41 <section>
|
|
42 <title>Execution Offset</title>
|
|
43 <para>
|
|
44 </para>
|
|
45 </section>
|
|
46
|
|
47 <section>
|
|
48 <title>Storage Size</title>
|
|
49 <para>
|
|
50 </para>
|
|
51 </section>
|
|
52
|
|
53 <section>
|
|
54 <title>Module Name</title>
|
|
55 <para>
|
|
56 </para>
|
|
57 </section>
|
|
58
|
|
59 <section>
|
|
60 <title>Information</title>
|
|
61 <para>
|
|
62 </para>
|
|
63 </section>
|
|
64
|
|
65 <section>
|
|
66 <title>Executable Code</title>
|
|
67 <para>
|
|
68 </para>
|
|
69 </section>
|
|
70
|
|
71 <section>
|
|
72 <title>String Literals</title>
|
|
73 <para>
|
|
74 </para>
|
|
75 </section>
|
|
76
|
|
77 <section>
|
|
78 <title>Initializing Data and its Size</title>
|
|
79 <para>
|
|
80 </para>
|
|
81 </section>
|
|
82
|
|
83 <section>
|
|
84 <title>Data References</title>
|
|
85 <para>
|
|
86 </para>
|
|
87 </section>
|
|
88 </section>
|
|
89
|
|
90 <section>
|
|
91 <title>Memory Management</title>
|
|
92 <para>
|
|
93 The C compiler and its support programs have default conditions
|
|
94 such that the average programmer need not be concerned with details
|
|
95 of memory management. However, there are situations where advanced
|
|
96 programmers may wish to tailor the storage allocation of a program
|
|
97 for special situations. The following information explains in
|
|
98 detail how a C program's data area is allocated and used.
|
|
99 </para>
|
|
100
|
|
101 <section>
|
|
102 <title>Typical C Program Memory Map</title>
|
|
103 <para>
|
|
104 </para>
|
|
105 </section>
|
|
106
|
|
107 <section>
|
|
108 <title>Compile Time Memory Allocation</title>
|
|
109 <para>
|
|
110 </para>
|
|
111 </section>
|
468
|
112 </section>
|
466
|
113 </chapter>
|