SLAU131V October   2004  – February 2020

 

  1.   1
    1.     2
    2.     3
    3.     4
    4.     5
    5.     6
  2.   7
    1.     8
    2.     9
  3.   10
    1.     11
    2.     12
    3.     13
      1.      14
    4.     15
      1.      16
      2.      17
      3.      18
      4.      19
        1.       20
        2.       21
      5.      22
      6.      23
      7.      24
    5.     25
      1.      26
      2.      27
    6.     28
      1.      29
      2.      30
      3.      31
      4.      32
    7.     33
      1.      34
      2.      35
    8.     36
  4.   37
    1.     38
      1.      39
      2.      40
        1.       41
        2.       42
        3.       43
        4.       44
        5.       45
          1.        46
    2.     47
    3.     48
      1.      49
      2.      50
        1.       51
        2.       52
        3.       53
      3.      54
        1.       55
        2.       56
    4.     57
    5.     58
    6.     59
  5.   60
    1.     61
    2.     62
    3.     63
    4.     64
    5.     65
      1.      66
      2.      67
    6.     68
      1.      69
      2.      70
      3.      71
        1.       72
      4.      73
    7.     74
      1.      75
        1.       76
        2.       77
        3.       78
        4.       79
        5.       80
      2.      81
      3.      82
    8.     83
      1.      84
      2.      85
      3.      86
        1.       87
      4.      88
      5.      89
      6.      90
      7.      91
      8.      92
      9.      93
    9.     94
      1.      95
      2.      96
      3.      97
    10.     98
      1.      99
      2.      100
    11.     101
    12.     102
      1.      103
      2.      104
    13.     105
      1.      106
  6.   107
    1.     108
    2.     109
      1.      110
    3.     111
    4.     112
    5.     113
    6.     114
    7.     115
    8.     116
    9.     117
    10.     118
    11.     119
    12.     120
  7.   121
    1.     122
    2.     123
      1.      124
    3.     125
      1.      126
      2.      127
        1.       128
        2.       129
      3.      130
      4.      131
      5.      132
      6.      133
      7.      134
        1.       135
      8.      136
      9.      137
      10.      138
      11.      139
    4.     140
    5.     141
      1.      142
      2.      143
      3.      144
    6.     145
      1.      146
    7.     147
      1.      148
    8.     149
    9.     150
      1.      151
      2.      152
    10.     153
  8.   154
    1.     155
    2.     156
    3.     157
    4.     158
      1.      159
    5.     160
      1.      161
      2.      162
      3.      163
      4.      164
  9.   165
    1.     166
    2.     167
    3.     168
    4.     169
      1.      170
      2.      171
      3.      172
        1.       173
        2.       174
        3.       175
      4.      176
      5.      177
      6.      178
      7.      179
      8.      180
      9.      181
      10.      182
      11.      183
      12.      184
      13.      185
      14.      186
      15.      187
        1.       188
        2.       189
        3.       190
      16.      191
        1.       192
      17.      193
      18.      194
      19.      195
      20.      196
      21.      197
      22.      198
      23.      199
      24.      200
      25.      201
      26.      202
      27.      203
      28.      204
      29.      205
      30.      206
      31.      207
      32.      208
      33.      209
      34.      210
      35.      211
    5.     212
      1.      213
      2.      214
      3.      215
      4.      216
      5.      217
      6.      218
        1.       219
        2.       220
          1.        221
        3.       222
          1.        223
      7.      224
        1.       225
          1.        226
        2.       227
          1.        228
          2.        229
          3.        230
          4.        231
            1.         232
            2.         233
          5.        234
          6.        235
        3.       236
          1.        237
        4.       238
        5.       239
          1.        240
        6.       241
        7.       242
      8.      243
        1.       244
        2.       245
          1.        246
          2.        247
      9.      248
        1.       249
          1.        250
        2.       251
          1.        252
          2.        253
        3.       254
        4.       255
          1.        256
        5.       257
        6.       258
      10.      259
      11.      260
        1.       261
        2.       262
        3.       263
      12.      264
        1.       265
        2.       266
        3.       267
        4.       268
        5.       269
        6.       270
        7.       271
          1.        272
          2.        273
          3.        274
          4.        275
        8.       276
      13.      277
        1.       278
        2.       279
        3.       280
        4.       281
    6.     282
      1.      283
      2.      284
      3.      285
    7.     286
      1.      287
      2.      288
      3.      289
    8.     290
      1.      291
      2.      292
      3.      293
        1.       294
      4.      295
        1.       296
        2.       297
        3.       298
        4.       299
          1.        300
        5.       301
          1.        302
        6.       303
          1.        304
          2.        305
      5.      306
        1.       307
        2.       308
        3.       309
        4.       310
        5.       311
      6.      312
        1.       313
      7.      314
        1.       315
    9.     316
      1.      317
      2.      318
      3.      319
        1.       320
        2.       321
        3.       322
        4.       323
      4.      324
        1.       325
      5.      326
    10.     327
    11.     328
      1.      329
      2.      330
      3.      331
      4.      332
      5.      333
    12.     334
      1.      335
      2.      336
  10.   337
    1.     338
    2.     339
    3.     340
      1.      341
      2.      342
  11.   343
    1.     344
    2.     345
    3.     346
      1.      347
  12.   348
    1.     349
    2.     350
    3.     351
    4.     352
  13.   353
    1.     354
    2.     355
      1.      356
      2.      357
    3.     358
      1.      359
      2.      360
      3.      361
      4.      362
    4.     363
      1.      364
      2.      365
        1.       366
        2.       367
    5.     368
    6.     369
      1.      370
      2.      371
    7.     372
    8.     373
    9.     374
      1.      375
      2.      376
      3.      377
    10.     378
    11.     379
    12.     380
    13.     381
      1.      382
      2.      383
      3.      384
      4.      385
      5.      386
      6.      387
        1.       388
  14.   389
    1.     390
    2.     391
      1.      392
      2.      393
      3.      394
      4.      395
      5.      396
      6.      397
      7.      398
      8.      399
      9.      400
      10.      401
      11.      402
      12.      403
      13.      404
      14.      405
      15.      406
      16.      407
    3.     408
      1.      409
      2.      410
      3.      411
      4.      412
    4.     413
      1.      414
      2.      415
      3.      416
      4.      417
      5.      418
      6.      419
      7.      420
  15.   421
    1.     422
    2.     423
  16.   424
    1.     425
    2.     426
      1.      427
        1.       428
      2.      429
        1.       430
      3.      431
        1.       432
      4.      433
        1.       434
      5.      435
        1.       436
      6.      437
        1.       438
      7.      439
        1.       440
  17.   441
    1.     442
      1.      443
    2.     444
      1.      445
      2.      446
      3.      447
      4.      448
      5.      449
      6.      450
  18.   451
    1.     452
  19.   453
    1.     454

Directives Summary

Table 5-1 through Table 5-16 summarize the assembler directives.

Besides the assembler directives documented here, the MSP430 software tools support the following directives:

  • Macro directives are discussed in Section 6; they are not discussed in this chapter.
  • The C compiler uses directives for symbolic debugging. Unlike other directives, symbolic debugging directives are not used in most assembly language programs. Section A discusses these directives; they are not discussed in this chapter.

NOTE

Labels and Comments Are Not Shown in Syntaxes

Most source statements that contain a directive can also contain a label and a comment. Labels begin in the first column (only labels and comments can appear in the first column), and comments must be preceded by a semicolon, or an asterisk if the comment is the only element in the line. To improve readability, labels and comments are not shown as part of the directive syntax here. See the detailed description of each directive for using labels with directives.

Table 5-1 Directives that Control Section Use

Mnemonic and Syntax Description See
.bss symbol, size in bytes[, alignment] Reserves sizebytes in the .bss (uninitialized data) section .bss topic
.data Assembles into the .data (initialized data) section .data topic
.intvec Creates an interrupt vector entry in a named section that points to an interrupt routine name. .intvec topic
.sect "section name" Assembles into a named (initialized) section .sect topic
.text Assembles into the .text (executable code) section .text topic
symbol .usect "section name", size in bytes
     [, alignment]
Reserves sizebytes in a named (uninitialized) section .usect topic

Table 5-2 Directives that Gather Sections into Common Groups

Mnemonic and Syntax Description See
.endgroup Ends the group declaration. .endgroup topic
.gmembersection name Designates section name as a member of the group. .gmember topic
.group group section name group type: Begins a group declaration. .group topic

Table 5-3 Directives that Affect Unused Section Elimination

Mnemonic and Syntax Description See
.retain "section name" Instructs the linker to include the current or specified section in the linked output file, regardless of whether the section is referenced or not .retain topic
.retainrefs "section name" Instructs the linker to include any data object that references the current or specified section. .retain topic

Table 5-4 Directives that Initialize Values (Data and Memory)

Mnemonic and Syntax Description See
.bits value1[, ..., valuen] Initializes one or more successive bits in the current section .bits topic
.byte value1[, ..., valuen] Initializes one or more successive bytes in the current section .byte topic
.char value1[, ..., valuen] Initializes one or more successive bytes in the current section .char topic
.cstring {expr1|"string1"}[,... , {exprn|"stringn"}] Initializes one or more text strings .string topic
.double value1[, ..., valuen] Initializes one or more 64-bit, IEEE double-precision, floating-point constants .double topic
.field value[, size] Initializes a field of size bits (1-32) with value .field topic
.float value1[, ..., valuen] Initializes one or more 32-bit, IEEE single-precision, floating-point constants .float topic
.half value1[, ... , valuen] Initializes one or more 16-bit integers (halfword) .half topic
.int value1[, ... , valuen] Initializes one or more 16-bit integers .int topic
.long value1[, ... , valuen] Initializes one or more 32-bit integers .long topic
.short value1[, ... , valuen] Initializes one or more 16-bit integers (halfword) .short topic
.string {expr1|"string1"}[,... , {exprn|"stringn"}] Initializes one or more text strings .string topic
.ubyte value1[, ... , valuen] Initializes one or more successive unsigned bytes in the current section .ubyte topic
.uchar value1[, ..., valuen] Initializes one or more successive unsigned bytes in the current section .uchar topic
.uhalf value1[, ... , valuen] Initializes one or more unsigned 16-bit integers (halfword) .uhalf topic
.uint value1[, ... , valuen] Initializes one or more unsigned 32-bit integers .uint topic
.ulong value1[, ... , valuen] Initializes one or more unsigned 32-bit integers .long topic
.ushort value1[, ... , valuen] Initializes one or more unsigned 16-bit integers (halfword) .short topic
.uword value1[, ... , valuen] Initializes one or more unsigned 16-bit integers .uword topic
.word value1[, ... , valuen] Initializes one or more 16-bit integers .word topic

Table 5-5 Directives that Perform Alignment and Reserve Space

Mnemonic and Syntax Description See
.align [size in bytes] Aligns the SPC on a boundary specified by size in bytes, which must be a power of 2; defaults to word (2-byte) boundary .align topic
.bessize Reserves size bytes in the current section; a label points to the end of the reserved space .bes topic
.spacesize Reserves size bytes in the current section; a label points to the beginning of the reserved space .space topic

Table 5-6 Directives that Format the Output Listing

Mnemonic and Syntax Description See
.drlist Enables listing of all directive lines (default) .drlist topic
.drnolist Suppresses listing of certain directive lines .drnolist topic
.fclist Allows false conditional code block listing (default) .fclist topic
.fcnolist Suppresses false conditional code block listing .fcnolist topic
.length [page length] Sets the page length of the source listing .length topic
.list Restarts the source listing .list topic
.mlist Allows macro listings and loop blocks (default) .mlist topic
.mnolist Suppresses macro listings and loop blocks .mnolist topic
.nolist Stops the source listing .nolist topic
.option option1[, option2, . . .] Selects output listing options; available options are A, B, H, M, N, O, R, T, W, and X .option topic
.page Ejects a page in the source listing .page topic
.sslist Allows expanded substitution symbol listing .sslist topic
.ssnolist Suppresses expanded substitution symbol listing (default) .ssnolist topic
.tab size Sets tab to size characters .tab topic
.title "string" Prints a title in the listing page heading .title topic
.width [page width] Sets the page width of the source listing .width topic

Table 5-7 Directives that Reference Other Files

Mnemonic and Syntax Description See
.copy ["]filename["] Includes source statements from another file .copy topic
.include ["]filename["] Includes source statements from another file .include topic
.mlib ["]filename["] Specifies a macro library from which to retrieve macro definitions .mlib topic

Table 5-8 Directives that Affect Symbol Linkage and Visibility

Mnemonic and Syntax Description See
.common symbol, size in bytes [, alignment]
.common symbol, structure tag [, alignment]
Defines a common symbol for a variable. .common topic
.def symbol1[, ... , symboln] Identifies one or more symbols that are defined in the current module and that can be used in other modules. .def topic
.global symbol1[, ... , symboln] Identifies one or more global (external) symbols. .global topic
.ref symbol1[, ... , symboln] Identifies one or more symbols used in the current module that are defined in another module. .ref topic
.symdependdst symbol name[,src symbol name] Creates an artificial reference from a section to a symbol. .symdepend topic
.weaksymbol name Identifies a symbol used in the current module that is defined in another module. .weak topic

Table 5-9 Directives that Enable Conditional Assembly

Mnemonic and Syntax Description See
.if condition Assembles code block if the condition is true .if topic
.else Assembles code block if the .if condition is false. When using the .if construct, the .else construct is optional. .else topic
.elseifcondition Assembles code block if the .if condition is false and the .elseif condition is true. When using the .if construct, the .elseif construct is optional. .elseif topic
.endif Ends .if code block .endif topic
.loop [count] Begins repeatable assembly of a code block; the loop count is determined by the count. .loop topic
.break [end condition] Ends .loop assembly if end condition is true. When using the .loop construct, the .break construct is optional. .break topic
.endloop Ends .loop code block .endloop topic

Table 5-10 Directives that Define Structure Types

Mnemonic and Syntax Description See
.emember Sets up C-like enumerated types in assembly code  Section 5.9
.endenum Sets up C-like enumerated types in assembly code  Section 5.9
.endstruct Ends a structure definition .struct topic
.enum Sets up C-like enumerated types in assembly code Section 5.9
.struct Begins structure definition .struct topic
.tag Assigns structure attributes to a label .struct topic

Table 5-11 Directives that Define Symbols at Assembly Time

Mnemonic and Syntax Description See
.asg ["]character string["], substitution symbol Assigns a character string to substitution symbol. Substitution symbols created with .asg can be redefined. .asg topic
.define ["]character string["], substitution symbol Assigns a character string to substitution symbol. Substitution symbols created with .define cannot be redefined. .asg topic
symbol .equ value Equates value with symbol .equ topic
.elfsymname, SYM_SIZE(size) Provides ELF symbol information .elfsym topic
.evalexpression,
     substitution symbol
Performs arithmetic on a numeric substitution symbol .eval topic
.labelsymbol Defines a load-time relocatable label in a section .label topic
.newblock Undefines local labels .newblock topic
symbol .set value Equates value with symbol .set topic
.unasgsymbol Turns off assignment of symbol as a substitution symbol .unasg topic
.undefinesymbol Turns off assignment of symbol as a substitution symbol .unasg topic

Table 5-12 Directives that Create or Affect Macros

Mnemonic and Syntax Description See
macname .macro [parameter1][,... , parametern] Begin definition of macro named macname .macro topic
.endm End macro definition .endm topic
.mexit Go to .endm Section 6.2
.mlib filename Identify library containing macro definitions .mlib topic
.var Adds a local substitution symbol to a macro's parameter list .var topic

Table 5-13 Directives that Control Diagnostics

Mnemonic and Syntax Description See
.emsg string Sends user-defined error messages to the output device; produces no .obj file .emsg topic
.mmsgstring Sends user-defined messages to the output device .mmsg topic
.wmsg string Sends user-defined warning messages to the output device .wmsg topic

Table 5-14 Directives that Perform Assembly Source Debug

Mnemonic and Syntax Description See
.asmfunc Identifies the beginning of a block of code that contains a function .asmfunc topic
.endasmfunc Identifies the end of a block of code that contains a function .endasmfunc topic

Table 5-15 Directives that Are Used by the Absolute Lister

Mnemonic and Syntax Description See
.setsect Produced by absolute lister; sets a section Section 9
.setsym Produced by the absolute lister; sets a symbol Section 9

Table 5-16 Directives that Perform Miscellaneous Functions

Mnemonic and Syntax Description See
.cdecls [options,]"filename"[, "filename2"[, ...] Share C headers between C and assembly code .cdecls topic
.end Ends program .end topic

In addition to the assembly directives that you can use in your code, the C/C++ compiler produces several directives when it creates assembly code. These directives are to be used only by the compiler; do not attempt to use these directives.

  • DWARF directives listed in Section A.1
  • The .bound directive is used internally.
  • The .comdat directive is used internally.
  • The .compiler_opts directive indicates that the assembly code was produced by the compiler, and which build model options were used for this file.