- Align the section program counter on the next boundary, based on
size. size may be any power of 2.
.evenis equivalent to
.alignwith a size of 2.
- Align SPC to word boundary
- Align SPC to longword boundary (same as .even)
- Align SPC to page boundary
- Assign name the string string. String replacement is performed on string before assignment.
- Evaluate the contents of string string and assign the result as a string to the subsym name. String replacement is performed on string before assignment.
- Reserve space for symbol in the .bss section. size is in words. If present, blocking_flag indicates the allocated space should be aligned on a page boundary if it would otherwise cross a page boundary. If present, alignment_flag causes the assembler to allocate size on a long word boundary.
- Place one or more bytes into consecutive words of the current section. The upper 8 bits of each word is zero-filled. If a label is used, it points to the word allocated for the first byte encountered.
- Set STYP_CLINK flag for this section, which indicates to the linker that if no symbols from this section are referenced, the section should not be included in the link. If section_name is omitted, the current section is used.
- Read source statements from filename. The normal include search path is used. Normally .copy will cause statements from the included file to be printed in the assembly listing and .include will not, but this distinction is not currently implemented.
- Begin assembling code into the .data section.
- Place an IEEE single-precision floating-point representation of one or
more floating-point values into the current section. All but
.xfloatalign the result on a longword boundary. Values are stored most-significant word first.
- Control printing of directives to the listing file. Ignored.
- Emit a user-defined error, message, or warning, respectively.
- Use extended addressing when assembling statements. This should appear
only once per file, and is equivalent to the -mfar-mode option see
- Control printing of false conditional blocks to the listing file.
- Initialize a bitfield of size bits in the current section. If
value is relocatable, then size must be 16. size
defaults to 16 bits. If value does not fit into size bits,
the value will be truncated. Successive
.fielddirectives will pack starting at the current word, filling the most significant bits first, and aligning to the start of the next word if the field size does not fit into the space remaining in the current word. A
.aligndirective with an operand of 1 will force the next
.fielddirective to begin packing into a new word. If a label is used, it points to the word that contains the specified field.
.defnominally identifies a symbol defined in the current file and available to other files.
.refidentifies a symbol used in the current file but defined elsewhere. Both map to the standard
- Place one or more values into consecutive words of the current section. If a label is used, it points to the word allocated for the first value encountered.
- Define a special symbol to refer to the load time address of the current section program counter.
- Set the page length and width of the output listing file. Ignored.
- Control whether the source listing is printed. Ignored.
- Place one or more 32-bit values into consecutive words in the current
section. The most significant word is stored first.
.ulongalign the result on a longword boundary;
- Repeatedly assemble a block of code.
.loopbegins the block, and
.endloopmarks its termination. count defaults to 1024, and indicates the number of times the block should be repeated.
.breakterminates the loop so that assembly begins after the
.endloopdirective. The optional condition will cause the loop to terminate only if it evaluates to zero.
- See the section on macros for more explanation (See TIC54X-Macros.
- Load the macro library filename. filename must be an archived library (BFD ar-compatible) of text files, expected to contain only macro definitions. The standard include search path is used.
- Control whether to include macro and loop block expansions in the listing output. Ignored.
- Define global symbolic names for the 'c54x registers. Supposedly
equivalent to executing
.setdirectives for each register with its memory-mapped value, but in reality is provided only for compatibility and does nothing.
- This directive resets any TIC54X local labels currently defined. Normal
aslocal labels are unaffected.
- Set listing options. Ignored.
- Designate section_name for blocking. Blocking guarantees that a section will start on a page boundary (128 words) if it would otherwise cross a page boundary. Only initialized sections may be designated with this directive. See also See TIC54X-Block.
- Define a named initialized section and make it the current section.
- Equate a constant value to a symbol, which is placed in the symbol table. symbol may not be previously defined.
- Reserve the given number of bits in the current section and zero-fill
them. If a label is used with
.space, it points to the first word reserved. With
.bes, the label points to the last word reserved.
- Controls the inclusion of subsym replacement in the listing output. Ignored.
- Place 8-bit characters from string into the current section.
.stringzero-fills the upper 8 bits of each word, while
.pstringputs two characters into each word, filling the most-significant bits first. Unused space is zero-filled. If a label is used, it points to the first word initialized.
] .struct [offset
] element [count_1
] element [count_2
] element [count_n
- Assign symbolic offsets to the elements of a structure. stag
defines a symbol to use to reference the structure. offset
indicates a starting value to use for the first element encountered;
otherwise it defaults to zero. Each element can have a named offset,
name, which is a symbol assigned the value of the element's offset
into the structure. If stag is missing, these become global
symbols. count adjusts the offset that many times, as if
elementwere an array.
elementmay be one of
.float, or any equivalent of those, and the structure offset is adjusted accordingly.
.stringare also allowed; the size of
.fieldis one bit, and
.stringis considered to be one word in size. Only element descriptors, structure/union tags,
.alignand conditional assembly directives are allowed within
.alignaligns member offsets to word boundaries only. ssize, if provided, will always be assigned the size of the structure.
.tagdirective, in addition to being used to define a structure/union element within a structure, may be used to apply a structure to a symbol. Once applied to label, the individual structure elements may be applied to label to produce the desired offsets using label as the structure base.
- Set the tab size in the output listing. Ignored.
] element [count_1
] element [count_2
] element [count_n
- Similar to
.struct, but the offset after each element is reset to zero, and the usize is set to the maximum of all defined elements. Starting offset for the union is always zero.
] .usect "section_name
- Reserve space for variables in a named, uninitialized section (similar to
.usectallows definitions sections independent of .bss. symbol points to the first location reserved by this allocation. The symbol may be used as a variable name. size is the allocated size in words. blocking_flag indicates whether to block this section on a page boundary (128 words) (see TIC54X-Block). alignment flag indicates whether the section should be longword-aligned.
- Define a subsym to be a local variable within a macro. See See TIC54X-Macros.
- Set which processor to build instructions for. Though the following
values are accepted, the op is ignored.