SPRU513Z August 2001 – October 2023 SM320F28335-EP
Figure 2-2 shows how you can build sections incrementally, using the sections directives to swap back and forth between the different sections. You can use sections directives to begin assembling into a section for the first time, or to continue assembling into a section that already contains code. In the latter case, the assembler simply appends the new code to the code that is already in the section.
The format in Figure 2-2 is a listing file. Figure 2-2 shows how the SPCs are modified during assembly. A line in a listing file has four fields:
Field 1 | contains the source code line counter. |
Field 2 | contains the section program counter. |
Field 3 | contains the object code. |
Field 4 | contains the original source statement. |
See Section 4.12 for more information on interpreting the fields in a source listing.
As Figure 2-3 shows, the example code in Figure 2-2 creates four sections:
.text | contains twelve 16-bit words of object code. |
.data | contains seven 16-bit words of initialized data. |
.bss | reserves ten 16-bit words in memory. |
newvars | is a user-named section created with the .usect directive; it contains eight 16-bit words in memory. |
The second column shows the object code that is assembled into these sections; the first column shows the source statements that generated the object code.