Object Files; Sections; Symbols - Texas Instruments TI-89 Software Manual

Sierra c assembler
Hide thumbs Also See for TI-89:
Table of Contents

Advertisement

302
4.4.

Object Files

Object files are generated by the assemblers (asm68, asm68k) and the linker
(link68). Object files include three major components: sections, relocation
information, and a symbol table. The sections component primarily stores the text
and data of a program. The relocation information describes where and how the
code in the various text and data sections must be modified as the linker builds
the executable output file. The symbol table holds symbols (labels) together with
associated addresses and absolute values.
4.4.1.

Sections

Sections are indivisible, contiguous pieces of object code. When creating an app,
sections must be defined and used only as shown in the examples supplied with
the TI-89 / TI-92 Plus SDK. See chapter 7. Flash Application Layout in the
TI-89 / TI-92 Plus Developers Guide for more information.
4.5.

Symbols

Symbols are address labels and assignment variables, each of which can be
either defined or undefined. If a symbol refers to an address in a relocatable
section, it is called relocatable because its value changes as the linker relocates
its section. If a symbol refers to a numeric constant or an address in an absolute
section, it is called absolute because its value cannot be changed. Relocatable
and absolute symbols are referred to as defined . The values associated with
defined symbols are stored as 32-bit numbers. Symbols that are referenced but
not defined are referred to as undefined . An undefined symbol's value and type
are resolved by the linker.
A symbol is also either global or local . The linker uses only global symbols to
resolve undefined symbols and to search libraries. Local symbols are kept in
object files purely for informational and debugging purposes. All undefined
symbols are global.
A variant of the undefined symbol type is the comm symbol. The compiler
generates a comm symbol whenever it encounters a declaration for an
uninitialized external variable. A comm symbol is always global and the linker
defines an uninitialized block of data in the .bss section for it. The length of the
block and its alignment are encoded in the 32-bit value field associated with the
comm symbol. For information on how the length and alignment of comm
symbols are encoded, refer to section 1.4.8.5 Section Number Field.
TI-89 / TI-92 Plus Sierra C Assembler Reference Manual
Not for Distribution
Section 4: Linker
Beta Version February 2, 2001

Hide quick links:

Advertisement

Table of Contents
loading

This manual is also suitable for:

Ti-92 plusTi-89 plusTi-92 plus

Table of Contents