Next: TIC54X-Macros, Previous: TIC54X-Ext, Up: TIC54X-Dependent
.align [
size]
.even
.even
is
equivalent to .align
with a size of 2.
1
2
128
.asg
string,
name.eval
string,
name.bss
symbol,
size [, [
blocking_flag] [,
alignment_flag]]
.byte
value [,...,
value_n]
.ubyte
value [,...,
value_n]
.char
value [,...,
value_n]
.uchar
value [,...,
value_n]
.clink ["
section_name"]
.c_mode
.copy "
filename" |
filename.include "
filename" |
filename.data
.double
value [,...,
value_n]
.ldouble
value [,...,
value_n]
.float
value [,...,
value_n]
.xfloat
value [,...,
value_n]
.xfloat
align the result on a longword boundary. Values are
stored most-significant word first.
.drlist
.drnolist
.emsg
string.mmsg
string.wmsg
string.far_mode
-mfar-mode
.
.fclist
.fcnolist
.field
value [,
size]
.field
directives 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 .align
directive with an operand of 1 will force the next .field
directive to begin packing into a new word. If a label is used, it
points to the word that contains the specified field.
.global
symbol [,...,
symbol_n]
.def
symbol [,...,
symbol_n]
.ref
symbol [,...,
symbol_n]
.def
nominally identifies a symbol defined in the current file
and available to other files. .ref
identifies a symbol used in
the current file but defined elsewhere. Both map to the standard
.global
directive.
.half
value [,...,
value_n]
.uhalf
value [,...,
value_n]
.short
value [,...,
value_n]
.ushort
value [,...,
value_n]
.int
value [,...,
value_n]
.uint
value [,...,
value_n]
.word
value [,...,
value_n]
.uword
value [,...,
value_n]
.label
symbol.length
.width
.list
.nolist
.long
value [,...,
value_n]
.ulong
value [,...,
value_n]
.xlong
value [,...,
value_n]
.long
and
.ulong
align the result on a longword boundary; xlong
does
not.
.loop [
count]
.break [
condition]
.endloop
.loop
begins the block, and
.endloop
marks its termination. count defaults to 1024,
and indicates the number of times the block should be repeated.
.break
terminates the loop so that assembly begins after the
.endloop
directive. The optional condition will cause the
loop to terminate only if it evaluates to zero.
.macro [
param1][,...
param_n]
[.mexit]
.endm
.mlib "
filename" |
filename.mlist
.mnolist
.mmregs
.set
directives for each register with
its memory-mapped value, but in reality is provided only for
compatibility and does nothing.
.newblock
as
local labels are unaffected.
.option
option_list.sblock "
section_name" |
section_name [,"
name_n" |
name_n]
.sect "
section_name"
.set "
value"
.equ "
value"
.space
size_in_bits.bes
size_in_bits.space
, it points to the
first word reserved. With .bes
, the label points to the
last word reserved.
.sslist
.ssnolist
.string "
string" [,...,"
string_n"]
.pstring "
string" [,...,"
string_n"]
.string
zero-fills the upper 8 bits of each word, while
.pstring
puts 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.
[
stag] .struct [
offset]
[
name_1] element [
count_1]
[
name_2] element [
count_2]
[
tname] .tag
stagx [
tcount]
...
[
name_n] element [
count_n]
[
ssize] .endstruct
.tag [
stag]
element
were an array. element
may be one of
.byte
, .word
, .long
, .float
, or any
equivalent of those, and the structure offset is adjusted accordingly.
.field
and .string
are also allowed; the size of
.field
is one bit, and .string
is considered to be one
word in size. Only element descriptors, structure/union tags,
.align
and conditional assembly directives are allowed within
.struct
/.endstruct
. .align
aligns member offsets
to word boundaries only. ssize, if provided, will always be
assigned the size of the structure.
The .tag
directive, 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.
.tab
[
utag] .union
[
name_1] element [
count_1]
[
name_2] element [
count_2]
[
tname] .tag
utagx[,
tcount]
...
[
name_n] element [
count_n]
[
usize] .endstruct
.tag [
utag]
.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.
[
symbol] .usect "
section_name",
size, [,[
blocking_flag] [,
alignment_flag]]
.usect
allows 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.
.var
sym[,...,
sym_n]
.version
version541
542
543
545
545LP
546LP
548
549