SPRUI03E June 2015 – January 2023
Figure 3-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 3-2 is a listing file. Figure 3-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 5.12 for more information on interpreting the fields in a source listing.
As Figure 3-3 shows, the file in Figure 3-2 creates five sections:
.text | contains 12 32-bit words of object code. |
.data | contains six words of initialized data. |
vectors | is a user-named section created with the .sect directive; it contains two words of object code. |
.bss | reserves 44 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.