MOTOROLA DSP ASSEMBLER REFERENCE MANUAL

INTRODUCTION
The Motorola DSP Assemblers are programs that process assembly language source
statements written for Motorola’s family of digital signal processors. The Assembler trans-
lates these source statements into object programs compatible with other Motorola DSP
software and hardware products.
1.2 ASSEMBLY LANGUAGE
The assembly language provides mnemonic operation codes for all machine instructions
in the digital signal processor instruction set. In addition, the assembly language contains
mnemonic directives which specify auxiliary actions to be performed by the Assembler.
These directives are not always translated into machine language.

The assembly lan-
guage enables the programmer to define and use macro instructions which replace a sin-
gle statement with a predefined sequence of statements found in the macro definition.

Conditional assembly also is supported.
1.3 INSTALLING THE ASSEMBLER
The Assembler is distributed on various media and in different formats depending on the
host environment. See Appendix G, Host-dependent Information, for details on installing
and operating the Assembler on your particular machine.

TABLE OF CONTENTS
PREFACE
TABLE OF CONTENTS
LIST OF FIGURES
Chapter 1
MOTOROLA DSP ASSEMBLER
1.1INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
1.2ASSEMBLY LANGUAGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
1.3INSTALLING THE ASSEMBLER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
1.4RUNNING THE ASSEMBLER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
1.5ASSEMBLER OPTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
1.6ASSEMBLER PROCESSING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9
1.7DEFINITION OF TERMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9
1.8ASSEMBLER SUPPORT FOR DIGITAL SIGNAL PROCESSING . . . . . . 1-10
Chapter 2
WRITING ASSEMBLY LANGUAGE PROGRAMS
2.1INPUT FILE FORMAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
2.2SYMBOL NAMES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
2.3STRINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
2.4SOURCE STATEMENT FORMAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
2.4.1Label Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
2.4.2Operation Field. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4
2.4.3Operand Field. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
2.4.4Operation 2 Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
2.4.5Operand 2 Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
2.4.6Data Transfer Fields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
2.4.7Comment Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6
2.5ASSEMBLER OUTPUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6
Chapter 3
EXPRESSIONS
3.1INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1Table of Contents
ivDSP ASSEMBLER REFERENCE MANUALMOTOROLA
3.2ABSOLUTE AND RELATIVE EXPRESSIONS . . . . . . . . . . . . . . . . . . . . . .3-1
3.3EXPRESSION MEMORY SPACE ATTRIBUTE . . . . . . . . . . . . . . . . . . . . .3-1
3.4INTERNAL EXPRESSION REPRESENTATION . . . . . . . . . . . . . . . . . . . . .3-3
3.5CONSTANTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-3
3.5.1Numeric Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
3.5.2String Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
3.6OPERATORS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-4
3.6.1Unary operators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
3.6.2Arithmetic operators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
3.6.3Shift operators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
3.6.4Relational operators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6
3.6.5Bitwise operators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6
3.6.6Logical operators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7
3.7OPERATOR PRECEDENCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-7
3.8FUNCTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-7
3.8.1Mathematical Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8
3.8.2Conversion Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9
3.8.3String Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9
3.8.4Macro Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9
3.8.5Assembler Mode Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10
Chapter 4
SOFTWARE PROJECT MANAGEMENT
4.1INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-1
4.2SECTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-1
4.3SECTIONS AND DATA HIDING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-2
4.3.1Sections and Symbols. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
4.3.2Sections and Macros. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4
4.3.3Nested and Fragmented Sections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4
4.4SECTIONS AND RELOCATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-5
4.5ADDRESS ASSIGNMENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-6
4.5.1The ORG Directive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7
4.5.2Overlays. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9
4.5.3Address Assignment Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-10
4.5.4Circular Buffers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11
4.6EXAMPLE 1: MULTI-PROGRAMMER ENVIRONMENT . . . . . . . . . . . . . .4-13
4.6.1Absolute Mode Implementation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14Table of Contents
MOTOROLA DSP ASSEMBLER REFERENCE MANUAL v
4.6.2Relative Mode Implementation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15
4.7EXAMPLE 2: OVERLAYS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16
4.7.1Absolute Mode Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-17
4.7.2Relative Mode Implementation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-18
4.8EXAMPLE 3: BOOTSTRAP OVERLAY . . . . . . . . . . . . . . . . . . . . . . . . . . 4-20
4.8.1Absolute Mode Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-21
4.8.2Relative Mode Implementation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-21
Chapter 5
MACRO OPERATIONS AND CONDITIONAL ASSEMBLY
5.1MACRO OPERATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1
5.2MACRO LIBRARIES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2
5.3MACRO DEFINITION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2
5.4MACRO CALLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4
5.5DUMMY ARGUMENT OPERATORS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5
5.5.1Dummy argument concatenation operator – \. . . . . . . . . . . . . . . . . . . . . 5-5
5.5.2Return value operator – ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6
5.5.3Return hex value operator – % . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7
5.5.4Dummy argument string operator – “. . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7
5.5.5Macro local label override operator – ^ . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8
5.6DUP, DUPA, DUPC, DUPF DIRECTIVES . . . . . . . . . . . . . . . . . . . . . . . . . 5-9
5.7CONDITIONAL ASSEMBLY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9

DOWNLOAD

This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s