Propeller Manual

Table Of Contents
Assembly Language Reference
Page 238 · Propeller Manual v1.1
Chapter 3: Assembly Language Reference
This chapter describes all elements of the Propeller chip’s Assembly language and is best
used as a reference for individual elements of the assembly language. Many instructions have
corresponding Spin commands so referring to the Spin Language Reference is also
recommended.
The Assembly Language Reference is divided into three main sections:
1) The Structure of Propeller Assembly. Propeller Assembly code is an optional part of
Propeller Objects. This section describes the general structure of Propeller Assembly
code and how it fits within objects.
2) The Categorical Listing of the Propeller Assembly Language. All elements, including
operators, are grouped by related function. This is a great way to quickly realize the
breadth of the language and what features are available for specific uses. Each listed
element has a page reference for more information. Some elements are marked with a
superscript “s” indicating that they are also available in Propeller Spin, though syntax
may vary.
3) The Assembly Language Elements. All instructions are listed in a Master Table at the
start, and most elements have their own dedicated sub-section, alphabetically arranged to
ease searching for them. Those individual elements without a dedicated sub-section, such
as Operators, are grouped within other related sub-sections but can be easily located by
following their page references from the Categorical Listing.
The Structure of Propeller Assembly
Every Propeller Object consists of Spin code plus optional assembly code and data. An
object’s Spin code provides it with structure, consisting of special-purpose blocks. Data and
Propeller Assembly code are located in the
DAT block; see DATT on page 99.
Spin code is executed from Main RAM by a cog running the Spin Interpreter, however,
Propeller Assembly code is executed directly from within a cog itself. Because of this nature,
Propeller Assembly code and any data belonging to it must be loaded (in its entirety) into a
cog in order to execute it. In this way, both assembly code and data are treated the same
during the cog loading process.