TMS320C28x Assembly Language
Tools
v17.3.0.STS User's Guide
SPRU513M - REVISED MARCH 2017
A Glossary
A.1 Terminology
-
ABI
Application binary interface.
-
absolute address
An address that is permanently assigned to a TMS320C28x memory location.
-
absolute constant expression
An expression that does not refer to any external symbols or any registers or memory reference. The value of the expression must be knowable at assembly time.
-
absolute lister
A debugging tool that allows you to create assembler listings that contain absolute addresses.
-
address constant expression
A symbol with a value that is an address plus an addend that is an absolute constant expression with an integer value.
-
alignment
A process in which the linker places an output section at an address that falls on an n-byte boundary, where n is a power of 2. You can specify alignment with the SECTIONS linker directive.
-
allocation
A process in which the linker calculates the final memory addresses of output sections.
-
ANSI
American National Standards Institute; an organization that establishes standards voluntarily followed by industries.
-
archive library
A collection of individual files grouped into a single file by the archiver.
-
archiver
A software program that collects several individual files into a single file called an archive library. With the archiver, you can add, delete, extract, or replace members of the archive library.
-
ASCII
American Standard Code for Information Interchange; a standard computer code for representing and exchanging alphanumeric information.
-
assembler
A software program that creates a machine-language program from a source file that contains assembly language instructions, directives, and macro definitions. The assembler substitutes absolute operation codes for symbolic operation codes and absolute or relocatable addresses for symbolic addresses.
-
assembly-time constant
A symbol that is assigned a constant value with the .set directive.
-
big endian
An addressing protocol in which bytes are numbered from left to right within a word. More significant bytes in a word have lower numbered addresses. Endian ordering is hardware-specific and is determined at reset. See also little endian
-
binding
A process in which you specify a distinct address for an output section or a symbol.
-
block
A set of statements that are grouped together within braces and treated as an entity.
-
byte
Per ANSI/ISO C, the smallest addressable unit that can hold a character.
-
C/C++ compiler
A software program that translates C source statements into assembly language source statements.
-
COFF
Common object file format; a system of object files configured according to a standard developed by AT&T. These files are relocatable in memory space.
-
command file
A file that contains options, filenames, directives, or commands for the linker or hex conversion utility.
-
comment
A source statement (or portion of a source statement) that documents or improves readability of a source file. Comments are not compiled, assembled, or linked; they have no effect on the object file.
-
compiler program
A utility that lets you compile, assemble, and optionally link in one step. The compiler runs one or more source modules through the compiler (including the parser, optimizer, and code generator), the assembler, and the linker.
-
conditional processing
A method of processing one block of source code or an alternate block of source code, according to the evaluation of a specified expression.
-
configured memory
Memory that the linker has specified for allocation.
-
constant
A type whose value cannot change.
-
constant expression
An expression that does not in any way refer to a register or memory reference.
-
cross-reference lister
A utility that produces an output file that lists the symbols that were defined, what file they were defined in, what reference type they are, what line they were defined on, which lines referenced them, and their assembler and linker final values. The cross-reference lister uses linked object files as input.
-
cross-reference listing
An output file created by the assembler that lists the symbols that were defined, what line they were defined on, which lines referenced them, and their final values.
-
.data section
One of the default object file sections. The .data section is an initialized section that contains initialized data. You can use the .data directive to assemble code into the .data section.
-
directives
Special-purpose commands that control the actions and functions of a software tool (as opposed to assembly language instructions, which control the actions of a device).
-
DWARF
A standardized debugging data format that was originally designed along with ELF, although it is independent of the object file format.
-
EABI
An embedded application binary interface (ABI) that provides standards for file formats, data types, and more.
-
ELF
Executable and linking format; a system of object files configured according to the System V Application Binary Interface specification.
-
emulator
A hardware development system that duplicates the TMS320C28x operation.
-
entry point
A point in target memory where execution starts.
-
environment variable
A system symbol that you define and assign to a string. Environmental variables are often included in Windows batch files or UNIX shell scripts such as .cshrc or .profile.
-
epilog
The portion of code in a function that restores the stack and returns.
-
executable module
A linked object file that can be executed in a target system.
-
expression
A constant, a symbol, or a series of constants and symbols separated by arithmetic operators.
-
external symbol
A symbol that is used in the current program module but defined or declared in a different program module.
-
field
For the TMS320C28x, a software-configurable data type whose length can be programmed to be any value in the range of 1-16 bits.
-
global symbol
A symbol that is either defined in the current module and accessed in another, or accessed in the current module but defined in another.
-
GROUP
An option of the SECTIONS directive that forces specified output sections to be allocated contiguously (as a group).
-
hex conversion utility
A utility that converts object files into one of several standard ASCII hexadecimal formats, suitable for loading into an EPROM programmer.
-
high-level language debugging
The ability of a compiler to retain symbolic and high-level language information (such as type and function definitions) so that a debugging tool can use this information.
-
hole
An area between the input sections that compose an output section that contains no code.
-
identifier
Names used as labels, registers, and symbols.
-
immediate operand
An operand whose value must be a constant expression.
-
incremental linking
Linking files in several passes. Incremental linking is useful for large applications, because you can partition the application, link the parts separately, and then link all of the parts together.
-
initialization at load time
An autoinitialization method used by the linker when linking C/C++ code. The linker uses this method when you invoke it with the --ram_model link option. This method initializes variables at load time instead of run time.
-
initialized section
A section from an object file that will be linked into an executable module.
-
input section
A section from an object file that will be linked into an executable module.
-
ISO
International Organization for Standardization; a worldwide federation of national standards bodies, which establishes international standards voluntarily followed by industries.
-
label
A symbol that begins in column 1 of an assembler source statement and corresponds to the address of that statement. A label is the only assembler statement that can begin in column 1.
-
linker
A software program that combines object files to form an object module that can be allocated into system memory and executed by the device.
-
listing file
An output file, created by the assembler, that lists source statements, their line numbers, and their effects on the section program counter (SPC).
-
literal constant
A value that represents itself. It may also be called a literal or an immediate value.
-
little endian
An addressing protocol in which bytes are numbered from right to left within a word. More significant bytes in a word have higher numbered addresses. Endian ordering is hardware-specific and is determined at reset. See also big endian
-
loader
A device that places an executable module into system memory.
-
macro
A user-defined routine that can be used as an instruction.
-
macro call
The process of invoking a macro.
-
macro definition
A block of source statements that define the name and the code that make up a macro.
-
macro expansion
The process of inserting source statements into your code in place of a macro call.
-
macro library
An archive library composed of macros. Each file in the library must contain one macro; its name must be the same as the macro name it defines, and it must have an extension of .asm.
-
map file
An output file, created by the linker, that shows the memory configuration, section composition, section allocation, symbol definitions and the addresses at which the symbols were defined for your program.
-
member
The elements or variables of a structure, union, archive, or enumeration.
-
memory map
A map of target system memory space that is partitioned into functional blocks.
-
memory reference operand
An operand that refers to a location in memory using a target-specific syntax.
-
mnemonic
An instruction name that the assembler translates into machine code.
-
model statement
Instructions or assembler directives in a macro definition that are assembled each time a macro is invoked.
-
named section
An initialized section that is defined with a .sect directive.
-
object file
An assembled or linked file that contains machine-language object code.
-
object library
An archive library made up of individual object files.
-
object module
A linked, executable object file that can be downloaded and executed on a target system.
-
operand
An argument of an assembly language instruction, assembler directive, or macro directive that supplies information to the operation performed by the instruction or directive.
-
optimizer
A software tool that improves the execution speed and reduces the size of C programs.
-
options
Command-line parameters that allow you to request additional or specific functions when you invoke a software tool.
-
output module
A linked, executable object file that is downloaded and executed on a target system.
-
output section
A final, allocated section in a linked, executable module.
-
overlay page
A section of physical memory that is mapped into the same address range as another section of memory. A hardware switch determines which range is active.
-
partial linking
Linking files in several passes. Incremental linking is useful for large applications because you can partition the application, link the parts separately, and then link all of the parts together.
-
quiet run
An option that suppresses the normal banner and the progress information.
-
raw data
Executable code or initialized data in an output section.
-
register operand
A special pre-defined symbol that represents a CPU register.
-
relocatable constant expression
An expression that refers to at least one external symbol, register, or memory location. The value of the expression is not known until link time.
-
relocation
A process in which the linker adjusts all the references to a symbol when the symbol's address changes.
-
ROM width
The width (in bits) of each output file, or, more specifically, the width of a single data value in the hex conversion utility file. The ROM width determines how the utility partitions the data into output files. After the target words are mapped to memory words, the memory words are broken into one or more output files. The number of output files is determined by the ROM width.
-
run address
The address where a section runs.
-
run-time-support library
A library file, rts.src, that contains the source for the run time-support functions.
-
section
A relocatable block of code or data that ultimately will be contiguous with other sections in the memory map.
-
section program counter (SPC)
An element that keeps track of the current location within a section; each section has its own SPC.
-
sign extend
A process that fills the unused MSBs of a value with the value's sign bit.
-
simulator
A software development system that simulates TMS320C28x operation.
-
source file
A file that contains C/C++ code or assembly language code that is compiled or assembled to form an object file.
-
static variable
A variable whose scope is confined to a function or a program. The values of static variables are not discarded when the function or program is exited; their previous value is resumed when the function or program is reentered.
-
storage class
An entry in the symbol table that indicates how to access a symbol.
-
string table
A table that stores symbol names that are longer than eight characters (symbol names of eight characters or longer cannot be stored in the symbol table; instead they are stored in the string table). The name portion of the symbol's entry points to the location of the string in the string table.
-
structure
A collection of one or more variables grouped together under a single name.
-
subsection
A relocatable block of code or data that ultimately will occupy continuous space in the memory map. Subsections are smaller sections within larger sections. Subsections give you tighter control of the memory map.
-
symbol
A name that represents an address or a value.
-
symbolic constant
A symbol with a value that is an absolute constant expression.
-
symbolic debugging
The ability of a software tool to retain symbolic information that can be used by a debugging tool such as an emulator or simulator.
-
tag
An optional type name that can be assigned to a structure, union, or enumeration.
-
target memory
Physical memory in a system into which executable object code is loaded.
-
.text section
One of the default object file sections. The .text section is initialized and contains executable code. You can use the .text directive to assemble code into the .text section.
-
unconfigured memory
Memory that is not defined as part of the memory map and cannot be loaded with code or data.
-
uninitialized section
A object file section that reserves space in the memory map but that has no actual contents. These sections are built with the .usect directive.
-
UNION
An option of the SECTIONS directive that causes the linker to allocate the same address to multiple sections.
-
union
A variable that can hold objects of different types and sizes.
-
unsigned value
A value that is treated as a nonnegative number, regardless of its actual sign.
-
variable
A symbol representing a quantity that can assume any of a set of values.
-
well-defined expression
A term or group of terms that contains only symbols or assembly-time constants that have been defined before they appear in the expression.
-
word
A 16-bit addressable location in target memory
Copyright© 2017, Texas Instruments Incorporated. An IMPORTANT NOTICE for this document addresses availability, warranty, changes, use in safety-critical applications, intellectual property matters and other important disclaimers.