SLAU131V October 2004 – February 2020
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.11 for more information on interpreting the fields in a source listing.
As Figure 2-3 shows, the file in Figure 2-2 creates five sections:
.text | contains six 32-bit words of object code. |
.data | contains seven 32-bit words of initialized data. |
vectors | is a user-named section created with the .sect directive; it contains one word of initialized data. |
.bss | reserves 10 bytes in memory. |
newvars | is a user-named section created with the .usect directive; it contains eight bytes 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.