1 @c Copyright 2002 Free Software Foundation, Inc.
2 @c This is part of the GAS manual.
3 @c For copying conditions, see the file as.texinfo.
7 @chapter MSP 430 Dependent Features
10 @node Machine Dependencies
11 @chapter MSP 430 Dependent Features
14 @cindex MSP 430 support
17 * MSP430 Options:: Options
18 * MSP430 Syntax:: Syntax
19 * MSP430 Floating Point:: Floating Point
20 * MSP430 Directives:: MSP 430 Machine Directives
21 * MSP430 Opcodes:: Opcodes
26 @cindex MSP 430 options (none)
27 @cindex options for MSP430 (none)
28 @code{@value{AS}} has only -m flag which selects the mpu arch. Currently has
34 * MSP430-Macros:: Macros
35 * MSP430-Chars:: Special Characters
36 * MSP430-Regs:: Register Names
37 * MSP430-Ext:: Assembler Extensions
43 @cindex Macros, MSP 430
44 @cindex MSP 430 macros
45 The macro syntax used on the MSP 430 is like that described in the MSP
46 430 Family Assembler Specification. Normal @code{@value{AS}}
47 macros should still work.
49 Additional built-in macros are:
54 Extracts least significant word from 32-bit expression 'exp'.
57 Extracts most significant word from 32-bit expression 'exp'.
60 Extracts 3rd word from 64-bit expression 'exp'.
63 Extracts 4rd word from 64-bit expression 'exp'.
67 They normally being used as an immediate source operand.
69 mov #llo(1), r10 ; == mov #1, r10
70 mov #lhi(1), r10 ; == mov #0, r10
74 @subsection Special Characters
76 @cindex line comment character, MSP 430
77 @cindex MSP 430 line comment character
78 @samp{;} is the line comment character.
80 @cindex identifiers, MSP 430
81 @cindex MSP 430 identifiers
82 The character @samp{$} in jump instructions indicates current location and
83 implemented only for TI syntax compatibility.
86 @subsection Register Names
88 @cindex MSP 430 register names
89 @cindex register names, MSP 430
90 General-purpose registers are represented by predefined symbols of the
91 form @samp{r@var{N}} (for global registers), where @var{N} represents
92 a number between @code{0} and @code{15}. The leading
93 letters may be in either upper or lower case; for example, @samp{r13}
94 and @samp{R7} are both valid register names.
96 @cindex special purpose registers, MSP 430
97 Register names @samp{PC}, @samp{SP} and @samp{SR} cannot be used as register names
98 and will be treated as variables. Use @samp{r0}, @samp{r1}, and @samp{r2} instead.
102 @subsection Assembler Extensions
103 @cindex MSP430 Assembler Extensions
108 As destination operand being treated as @samp{0(rn)}
111 As source operand being treated as @samp{@@rn}
114 Skips next N bytes followed by jump instruction and equivalent to
120 @node MSP430 Floating Point
121 @section Floating Point
123 @cindex floating point, MSP 430 (@sc{ieee})
124 @cindex MSP 430 floating point (@sc{ieee})
125 The MSP 430 family uses @sc{ieee} 32-bit floating-point numbers.
127 @node MSP430 Directives
128 @section MSP 430 Machine Directives
130 @cindex machine directives, MSP 430
131 @cindex MSP 430 machine directives
133 @cindex @code{file} directive, MSP 430
135 This directive is ignored; it is accepted for compatibility with other
139 @emph{Warning:} in other versions of the @sc{gnu} assembler, @code{.file} is
140 used for the directive called @code{.app-file} in the MSP 430 support.
143 @cindex @code{line} directive, MSP 430
145 This directive is ignored; it is accepted for compatibility with other
148 @cindex @code{sect} directive, MSP 430
150 Currently this directive is ignored; it is accepted for compatibility with other
158 @cindex MSP 430 opcodes
159 @cindex opcodes for MSP 430
160 @code{@value{AS}} implements all the standard MSP 430 opcodes. No
161 additional pseudo-instructions are needed on this family.
163 For information on the 430 machine instruction set, see @cite{MSP430
164 User's Manual, document slau049b}, Texas Instrument, Inc.