Table
of Contents
iv
DSP ASSEMBLER REFERENCE MANUAL
MOTOROLA
3.2
ABSOLUTE AND RELATIVE EXPRESSIONS . . . . . . . . . . . . . . . . . . . . . . 3-1
3.3
EXPRESSION MEMORY SPACE ATTRIBUTE . . . . . . . . . . . . . . . . . . . . . 3-1
3.4
INTERNAL EXPRESSION REPRESENTATION . . . . . . . . . . . . . . . . . . . . . 3-3
3.5
CONSTANTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
3.5.1
Numeric Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
3.5.2
String Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
3.6
OPERATORS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
3.6.1
Unary operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
3.6.2
Arithmetic operators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
3.6.3
Shift operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
3.6.4
Relational operators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6
3.6.5
Bitwise operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6
3.6.6
Logical operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7
3.7
OPERATOR PRECEDENCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7
3.8
FUNCTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7
3.8.1
Mathematical Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8
3.8.2
Conversion Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9
3.8.3
String Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9
3.8.4
Macro Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9
3.8.5
Assembler Mode Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10
Chapter 4
SOFTWARE PROJECT MANAGEMENT
4.1
INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1
4.2
SECTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1
4.3
SECTIONS AND DATA HIDING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
4.3.1
Sections and Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
4.3.2
Sections and Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4
4.3.3
Nested and Fragmented Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4
4.4
SECTIONS AND RELOCATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5
4.5
ADDRESS ASSIGNMENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6
4.5.1
The ORG Directive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7
4.5.2
Overlays. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9
4.5.3
Address Assignment Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-10
4.5.4
Circular Buffers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11
4.6
EXAMPLE 1: MULTI-PROGRAMMER ENVIRONMENT . . . . . . . . . . . . . . 4-13
4.6.1
Absolute Mode Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14
Table of Contents
MOTOROLA
DSP ASSEMBLER REFERENCE MANUAL
v
4.6.2
Relative Mode Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15
4.7
EXAMPLE 2: OVERLAYS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16
4.7.1
Absolute Mode Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-17
4.7.2
Relative Mode Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-18
4.8
EXAMPLE 3: BOOTSTRAP OVERLAY . . . . . . . . . . . . . . . . . . . . . . . . . . 4-20
4.8.1
Absolute Mode Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-21
4.8.2
Relative Mode Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-21
Chapter 5
MACRO OPERATIONS AND CONDITIONAL ASSEMBLY
5.1
MACRO OPERATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1
5.2
MACRO LIBRARIES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2
5.3
MACRO DEFINITION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2
5.4
MACRO CALLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4
5.5
DUMMY ARGUMENT OPERATORS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5
5.5.1
Dummy argument concatenation operator - \ . . . . . . . . . . . . . . . . . . . . . 5-5
5.5.2
Return value operator - ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6
5.5.3
Return hex value operator - % . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7
5.5.4
Dummy argument string operator - ". . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7
5.5.5
Macro local label override operator - ^ . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8
5.6
DUP, DUPA, DUPC, DUPF DIRECTIVES . . . . . . . . . . . . . . . . . . . . . . . . . 5-9
5.7
CONDITIONAL ASSEMBLY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9
Chapter 6
ASSEMBLER SIGNIFICANT CHARACTERS AND DIRECTIVES
6.1
INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1
6.2
ASSEMBLER SIGNIFICANT CHARACTERS . . . . . . . . . . . . . . . . . . . . . . . 6-1
6.3
ASSEMBLER DIRECTIVES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2
6.3.1
Assembly Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2
6.3.2
Symbol Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3
6.3.3
Data Definition/Storage Allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3
6.3.4
Listing Control and Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3
6.3.5
Object File Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4
6.3.6
Macros and Conditional Assembly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4
6.3.7
Structured Programming. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4