SLAU131Y October 2004 – June 2021
Application binary interface.
An address that is permanently assigned to a MSP430 memory location.
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.
A debugging tool that allows you to create assembler listings that contain absolute addresses.
A symbol with a value that is an address plus an addend that is an absolute constant expression with an integer value.
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.
A process in which the linker calculates the final memory addresses of output sections.
American National Standards Institute; an organization that establishes standards voluntarily followed by industries.
A collection of individual files grouped into a single file by the 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.
American Standard Code for Information Interchange; a standard computer code for representing and exchanging alphanumeric information.
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.
A symbol that is assigned a constant value with the .set directive.
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
A process in which you specify a distinct address for an output section or a symbol.
Bit instruction set.
A set of statements that are grouped together within braces and treated as an entity.
One of the default object file sections. You use the assembler .bss directive to reserve a specified amount of space in the memory map that you can use later for storing data. The .bss section is uninitialized.
Per ANSI/ISO C, the smallest addressable unit that can hold a character.
A software program that translates C source statements into assembly language source statements.
A file that contains options, filenames, directives, or commands for the linker or hex conversion utility.
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.
A method of processing one block of source code or an alternate block of source code, according to the evaluation of a specified expression.
Memory that the linker has specified for allocation.
A type whose value cannot change.
An expression that does not in any way refer to a register or memory reference.
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.
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.
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.
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).
A standardized debugging data format that was originally designed along with ELF, although it is independent of the object file format.
An embedded application binary interface (ABI) that provides standards for file formats, data types, and more.
Executable and linking format; a system of object files configured according to the System V Application Binary Interface specification.
A hardware development system that duplicates the MSP430 operation.
A point in target memory where execution starts.
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.
The portion of code in a function that restores the stack and returns.
A linked object file that can be executed in a target system.
A constant, a symbol, or a series of constants and symbols separated by arithmetic operators.
A symbol that is used in the current program module but defined or declared in a different program module.
For the MSP430, a software-configurable data type whose length can be programmed to be any value in the range of 1-16 bits.
A symbol that is either defined in the current module and accessed in another, or accessed in the current module but defined in another.
An option of the SECTIONS directive that forces specified output sections to be allocated contiguously (as a group).
A utility that converts object files into one of several standard ASCII hexadecimal formats, suitable for loading into an EPROM programmer.
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.
An area between the input sections that compose an output section that contains no code.
Names used as labels, registers, and symbols.
An operand whose value must be a constant expression.
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.
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.
A section from an object file that will be linked into an executable module.
A section from an object file that will be linked into an executable module.
International Organization for Standardization; a worldwide federation of national standards bodies, which establishes international standards voluntarily followed by industries.
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.
A software program that combines object files to form an object module that can be allocated into system memory and executed by the device.
An output file, created by the assembler, that lists source statements, their line numbers, and their effects on the section program counter (SPC).
A value that represents itself. It may also be called a literal or an immediate value.
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
A device that places an executable module into system memory.
A user-defined routine that can be used as an instruction.
The process of invoking a macro.
A block of source statements that define the name and the code that make up a macro.
The process of inserting source statements into your code in place of a macro call.
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.
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.
The elements or variables of a structure, union, archive, or enumeration.
A map of target system memory space that is partitioned into functional blocks.
An operand that refers to a location in memory using a target-specific syntax.
An instruction name that the assembler translates into machine code.
Instructions or assembler directives in a macro definition that are assembled each time a macro is invoked.
An initialized section that is defined with a .sect directive.
An assembled or linked file that contains machine-language object code.
An archive library made up of individual object files.
A linked, executable object file that can be downloaded and executed on a target system.
An argument of an assembly language instruction, assembler directive, or macro directive that supplies information to the operation performed by the instruction or directive.
A software tool that improves the execution speed and reduces the size of C programs.
Command-line parameters that allow you to request additional or specific functions when you invoke a software tool.
A linked, executable object file that is downloaded and executed on a target system.
A final, allocated section in a linked, executable module.
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.
An option that suppresses the normal banner and the progress information.
Executable code or initialized data in an output section.
A special pre-defined symbol that represents a CPU register.
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.
A process in which the linker adjusts all the references to a symbol when the symbol's address changes.
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.
The address where a section runs.
A library file, rts.src, that contains the source for the run time-support functions.
A relocatable block of code or data that ultimately will be contiguous with other sections in the memory map.
An element that keeps track of the current location within a section; each section has its own SPC.
A process that fills the unused MSBs of a value with the value's sign bit.
A software development system that simulates MSP430 operation.
A file that contains C/C++ code or assembly language code that is compiled or assembled to form an object file.
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.
An entry in the symbol table that indicates how to access a symbol.
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.
A collection of one or more variables grouped together under a single name.
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.
A name that represents an address or a value.
A symbol with a value that is an absolute constant expression.
The ability of a software tool to retain symbolic information that can be used by a debugging tool such as an emulator or simulator.
An optional type name that can be assigned to a structure, union, or enumeration.
Physical memory in a system into which executable object code is loaded.
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.
Memory that is not defined as part of the memory map and cannot be loaded with code or data.
A object file section that reserves space in the memory map but that has no actual contents. These sections are built with the .bss and .usect directives.
An option of the SECTIONS directive that causes the linker to allocate the same address to multiple sections.
A variable that can hold objects of different types and sizes.
A value that is treated as a nonnegative number, regardless of its actual sign.
A symbol representing a quantity that can assume any of a set of values.
A term or group of terms that contains only symbols or assembly-time constants that have been defined before they appear in the expression.
A 16-bit addressable location in target memory