SLAU132V October   2004  – February 2020

 

  1.   1
    1.     2
    2.     3
    3.     4
    4.     5
    5.     6
  2.   7
    1.     8
    2.     9
    3.     10
    4.     11
    5.     12
  3.   13
    1.     14
    2.     15
    3.     16
      1.      17
      2.      18
      3.      19
      4.      20
      5.      21
      6.      22
      7.      23
      8.      24
      9.      25
      10.      26
      11.      27
      12.      28
    4.     29
      1.      30
      2.      31
    5.     32
      1.      33
      2.      34
        1.       35
      3.      36
      4.      37
      5.      38
      6.      39
      7.      40
      8.      41
      9.      42
      10.      43
    6.     44
    7.     45
      1.      46
      2.      47
    8.     48
    9.     49
    10.     50
    11.     51
      1.      52
      2.      53
    12.     54
      1.      55
    13.     56
    14.     57
  4.   58
    1.     59
    2.     60
    3.     61
      1.      62
    4.     63
      1.      64
      2.      65
    5.     66
    6.     67
      1.      68
      2.      69
    7.     70
      1.      71
        1.       72
        2.       73
        3.       74
        4.       75
        5.       76
        6.       77
        7.       78
        8.       79
      2.      80
      3.      81
      4.      82
    8.     83
      1.      84
        1.       85
        2.       86
      2.      87
        1.       88
        2.       89
        3.       90
    9.     91
    10.     92
    11.     93
      1.      94
      2.      95
    12.     96
    13.     97
      1.      98
      2.      99
      3.      100
      4.      101
      5.      102
      6.      103
      7.      104
      8.      105
      9.      106
      10.      107
      11.      108
      12.      109
      13.      110
  5.   111
    1.     112
      1.      113
      2.      114
      3.      115
    2.     116
      1.      117
      2.      118
    3.     119
      1.      120
        1.       121
          1.        122
        2.       123
        3.       124
      2.      125
      3.      126
      4.      127
      5.      128
      6.      129
      7.      130
      8.      131
      9.      132
        1.       133
  6.   134
    1.     135
      1.      136
    2.     137
    3.     138
    4.     139
    5.     140
    6.     141
      1.      142
    7.     143
    8.     144
      1.      145
      2.      146
      3.      147
        1.       148
        2.       149
      4.      150
        1.       151
    9.     152
    10.     153
    11.     154
    12.     155
      1.      156
      2.      157
      3.      158
      4.      159
      5.      160
      6.      161
        1.       162
        2.       163
        3.       164
        4.       165
      7.      166
      8.      167
        1.       168
        2.       169
        3.       170
      9.      171
      10.      172
      11.      173
      12.      174
      13.      175
      14.      176
      15.      177
      16.      178
      17.      179
      18.      180
      19.      181
      20.      182
      21.      183
      22.      184
      23.      185
      24.      186
      25.      187
      26.      188
      27.      189
      28.      190
      29.      191
      30.      192
        1.       193
        2.       194
        3.       195
      31.      196
      32.      197
    13.     198
    14.     199
    15.     200
    16.     201
      1.      202
      2.      203
      3.      204
    17.     205
      1.      206
      2.      207
      3.      208
      4.      209
      5.      210
    18.     211
  7.   212
    1.     213
      1.      214
      2.      215
      3.      216
      4.      217
      5.      218
      6.      219
    2.     220
      1.      221
        1.       222
        2.       223
        3.       224
        4.       225
      2.      226
    3.     227
    4.     228
      1.      229
      2.      230
      3.      231
    5.     232
    6.     233
      1.      234
      2.      235
        1.       236
        2.       237
      3.      238
        1.       239
          1.        240
          2.        241
        2.       242
          1.        243
          2.        244
      4.      245
      5.      246
    7.     247
      1.      248
      2.      249
      3.      250
      4.      251
      5.      252
    8.     253
      1.      254
      2.      255
      3.      256
      4.      257
        1.       258
          1.        259
        2.       260
          1.        261
    9.     262
      1.      263
      2.      264
      3.      265
        1.       266
        2.       267
        3.       268
        4.       269
          1.        270
          2.        271
          3.        272
          4.        273
        5.       274
        6.       275
      4.      276
        1.       277
        2.       278
    10.     279
  8.   280
    1.     281
      1.      282
      2.      283
      3.      284
      4.      285
      5.      286
      6.      287
      7.      288
      8.      289
    2.     290
      1.      291
        1.       292
      2.      293
      3.      294
      4.      295
        1.       296
      5.      297
        1.       298
    3.     299
    4.     300
      1.      301
      2.      302
        1.       303
        2.       304
          1.        305
          2.        306
          3.        307
          4.        308
      3.      309
        1.       310
        2.       311
  9.   312
    1.     313
    2.     314
      1.      315
      2.      316
      3.      317
  10.   318
    1.     319
  11.   320
    1.     321

Terminology

    absolute lister

    A debugging tool that allows you to create assembler listings that contain absolute addresses.

    alias disambiguation

    A technique that determines when two pointer expressions cannot point to the same location, allowing the compiler to freely optimize such expressions.

    aliasing

    The ability for a single object to be accessed in more than one way, such as when two pointers point to a single object. It can disrupt optimization, because any indirect reference could refer to any other object.

    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.

    Application Binary Interface (ABI)

    A standard that specifies the interface between two object modules. An ABI specifies how functions are called and how information is passed from one program component to another.

    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.

    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.

    assignment statement

    A statement that initializes a variable with a value.

    autoinitialization

    The process of initializing global C variables (contained in the .cinit section) before program execution begins.

    autoinitialization at run time

    An autoinitialization method used by the linker when linking C code. The linker uses this method when you invoke it with the --rom_model link option. The linker loads the .cinit section of data tables into memory, and variables are initialized at run time.

    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

    BIS

    Bit instruction set.

    block

    A set of statements that are grouped together within braces and treated as an entity.

    .bss section

    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.

    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.

    code generator

    A compiler tool that takes the file produced by the parser or the optimizer and produces an assembly language source file.

    COFF

    Common object file format; a system of object files configured according to a standard developed by AT&T. This ABI is no longer supported.

    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.

    configured memory

    Memory that the linker has specified for allocation.

    constant

    A type whose value cannot change.

    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.

    direct call

    A function call where one function calls another using the function's name.

    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).

    disambiguation

    See alias disambiguation

    dynamic memory allocation

    A technique used by several functions (such as malloc, calloc, and realloc) to dynamically allocate memory for variables at run time. This is accomplished by defining a large memory pool (heap) and using the functions to allocate memory from the heap.

    ELF

    Executable and Linkable Format; a system of object files configured according to the System V Application Binary Interface specification.

    emulator

    A hardware development system that duplicates the MSP430 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 object file

    A linked, executable object file that is downloaded and executed on 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.

    file-level optimization

    A level of optimization where the compiler uses the information that it has about the entire file to optimize your code (as opposed to program-level optimization, where the compiler uses information that it has about the entire program to optimize your code).

    function inlining

    The process of inserting code for a function at the point of call. This saves the overhead of a function call and allows the optimizer to optimize the function in the context of the surrounding code.

    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.

    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.

    indirect call

    A function call where one function calls another function by giving the address of the called function.

    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 object file.

    input section

    A section from an object file that will be linked into an executable object file.

    integrated preprocessor

    A C/C++ preprocessor that is merged with the parser, allowing for faster compilation. Stand-alone preprocessing or preprocessed listing is also available.

    interlist feature

    A feature that inserts as comments your original C/C++ source statements into the assembly language output from the assembler. The C/C++ statements are inserted next to the equivalent assembly instructions.

    intrinsics

    Operators that are used like functions and produce assembly language code that would otherwise be inexpressible in C, or would take greater time and effort to code.

    ISO

    International Organization for Standardization; a worldwide federation of national standards bodies, which establishes international standards voluntarily followed by industries.

    K&R C

    Kernighan and Ritchie C, the de facto standard as defined in the first edition of The C Programming Language (K&R). Most K&R C programs written for earlier, non-ISO C compilers should correctly compile and run without modification.

    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 executable object file that can be allocated into system memory and executed by the device.

    listing file

    An output file, created by the assembler, which lists source statements, their line numbers, and their effects on the section program counter (SPC).

    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 object file into system memory.

    loop unrolling

    An optimization that expands small loops so that each iteration of the loop appears in your code. Although loop unrolling increases code size, it can improve the performance of your code.

    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.

    map file

    An output file, created by the linker, which shows the memory configuration, section composition, section allocation, symbol definitions and the addresses at which the symbols were defined for your program.

    memory map

    A map of target system memory space that is partitioned into functional blocks.

    name mangling

    A compiler-specific feature that encodes a function name with information regarding the function's arguments return types.

    object file

    An assembled or linked file that contains machine-language object code.

    object library

    An archive library made up of individual object files.

    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 section

    A final, allocated section in a linked, executable module.

    parser

    A software tool that reads the source file, performs preprocessing functions, checks the syntax, and produces an intermediate file used as input for the optimizer or code generator.

    partitioning

    The process of assigning a data path to each instruction.

    pop

    An operation that retrieves a data object from a stack.

    pragma

    A preprocessor directive that provides directions to the compiler about how to treat a particular statement.

    preprocessor

    A software tool that interprets macro definitions, expands macros, interprets header files, interprets conditional compilation, and acts upon preprocessor directives.

    program-level optimization

    An aggressive level of optimization where all of the source files are compiled into one intermediate file. Because the compiler can see the entire program, several optimizations are performed with program-level optimization that are rarely applied during file-level optimization.

    prolog

    The portion of code in a function that sets up the stack.

    push

    An operation that places a data object on a stack for temporary storage.

    quiet run

    An option that suppresses the normal banner and the progress information.

    raw data

    Executable code or initialized data in an output section.

    relocation

    A process in which the linker adjusts all the references to a symbol when the symbol's address changes.

    run-time environment

    The run time parameters in which your program must function. These parameters are defined by the memory and register conventions, stack organization, function call conventions, and system initialization.

    run-time-support functions

    Standard ISO functions that perform tasks that are not part of the C language (such as memory allocation, string conversion, and string searches).

    run-time-support library

    A library file, rts.src, which 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.

    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 MSP430 operation.

    source file

    A file that contains C/C++ code or assembly language code that is compiled or assembled to form an object file.

    stand-alone preprocessor

    A software tool that expands macros, #include files, and conditional compilation as an independent program. It also performs integrated preprocessing, which includes parsing of instructions.

    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 string of alphanumeric characters that represents an address or a value.

    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.

    target system

    The system on which the object code you have developed is executed.

    .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.

    trigraph sequence

    A 3-character sequence that has a meaning (as defined by the ISO 646-1983 Invariant Code Set). These characters cannot be represented in the C character set and are expanded to one character. For example, the trigraph ??' is expanded to ^.

    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 .bss and .usect directives.

    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.

    word

    A 16-bit addressable location in target memory