Propeller Manual
Table Of Contents
- Preface
- Chapter 1 : Introducing the Propeller Chip
- Concept
- Package Types
- Pin Descriptions
- Specifications
- Hardware Connections
- Boot Up Procedure
- Run-Time Procedure
- Shutdown Procedure
- Block Diagram
- Shared Resources
- System Clock
- Cogs (processors)
- Hub
- I/O Pins
- System Counter
- CLK Register
- Locks
- Main Memory
- Main RAM
- Main ROM
- Character Definitions
- Log and Anti-Log Tables
- Sine Table
- Boot Loader and Spin Interpreter
- Chapter 2 : Spin Language Reference
- Structure of Propeller Objects/Spin
- Categorical Listing of Propeller Spin Language
- Spin Language Elements
- ABORT
- BYTE
- BYTEFILL
- BYTEMOVE
- CASE
- CHIPVER
- CLKFREQ
- _CLKFREQ
- CLKMODE
- _CLKMODE
- CLKSET
- CNT
- COGID
- COGINIT
- COGNEW
- COGSTOP
- CON
- CONSTANT
- Constants (pre-defined)
- CTRA, CTRB
- DAT
- DIRA, DIRB
- FILE
- FLOAT
- _FREE
- FRQA, FRQB
- IF
- IFNOT
- INA, INB
- LOCKCLR
- LOCKNEW
- LOCKRET
- LOCKSET
- LONG
- LONGFILL
- LONGMOVE
- LOOKDOWN, LOOKDOWNZ
- LOOKUP, LOOKUPZ
- NEXT
- OBJ
- Operators
- Expression Workspace
- Operator Attributes
- Unary / Binary
- Normal / Assignment
- Constant and/or Variable Expression
- Level of Precedence
- Intermediate Assignments
- Constant Assignment ‘=’
- Variable Assignment ‘:=’
- Add ‘+’, ‘+=’
- Positive ‘+’ (unary form of Add)
- Subtract ‘-’, ‘-=’
- Negate ‘-’ (unary form of Subtract)
- Decrement, pre- or post- ‘- -’
- Increment, pre- or post- ‘+ +’
- Multiply, Return Low ‘*’, ‘*=’
- Multiply, Return High ‘**’, ‘**=’
- Divide ‘/’, ‘/=’
- Modulus ‘//’, ‘//=’
- Limit Minimum ‘#>’, ‘#>=’
- Limit Maximum ‘<#’, ‘<#=’
- Square Root ‘^^’
- Absolute Value ‘||’
- Sign-Extend 7 or Post-Clear ‘~’
- Sign-Extend 15 or Post-Set ‘~~’
- Shift Arithmetic Right ‘~>’, ‘~>=’
- Random ‘?’
- Bitwise Decode ‘|<’
- Bitwise Encode ‘>|’
- Bitwise Shift Left ‘<<’, ‘<<=’
- Bitwise Shift Right ‘>>’, ‘>>=’
- Bitwise Rotate Left ‘<-’, ‘<-=’
- Bitwise Rotate Right ‘->’, ‘->=’
- Bitwise Reverse ‘><’, ‘><=’
- Bitwise AND ‘&’, ‘&=’
- Bitwise OR ‘|’, ‘|=’
- Bitwise XOR ‘^’, ‘^=’
- Bitwise NOT ‘!’
- Boolean AND ‘AND’, ‘AND=’
- Boolean OR ‘OR’, ‘OR=’
- Boolean NOT ‘NOT’
- Boolean Is Equal ‘==’, ‘===’
- Boolean Is Not Equal ‘<>’, ‘<>=’
- Boolean Is Less Than ‘<’, ‘<=’
- Boolean Is Greater Than ‘>’, ‘>=’
- Boolean Is Equal or Less ‘=<’, ‘=<=’
- Boolean Is Equal or Greater ‘=>’, ‘=>=’
- Symbol Address ‘@’
- Object Address Plus Symbol ‘@@’
- OUTA, OUTB
- PAR
- PHSA, PHSB
- PRI
- PUB
- QUIT
- REBOOT
- REPEAT
- RESULT
- RETURN
- ROUND
- SPR
- _STACK
- STRCOMP
- STRING
- STRSIZE
- Symbols
- TRUNC
- VAR
- VCFG
- VSCL
- WAITCNT
- WAITPEQ
- WAITPNE
- WAITVID
- WORD
- WORDFILL
- WORDMOVE
- _XINFREQ
- Chapter 3 : Assembly Language Reference
- The Structure of Propeller Assembly
- Categorical Listing of Propeller Assembly Language
- Assembly Language Elements
- ABS
- ABSNEG
- ADD
- ADDABS
- ADDS
- ADDSX
- ADDX
- AND
- ANDN
- CALL
- CLKSET
- CMP
- CMPS
- CMPSUB
- CMPSX
- CMPX
- CNT
- COGID
- COGINIT
- COGSTOP
- Conditions ( IF_x )
- CTRA, CTRB
- DIRA, DIRB
- DJNZ
- Effects ( WC, WZ, WR, NR )
- FIT
- FRQA, FRQB
- HUBOP
- IF_x (Conditions)
- INA, INB
- JMP
- JMPRET
- LOCKCLR
- LOCKNEW
- LOCKRET
- LOCKSET
- MAX
- MAXS
- MIN
- MINS
- MOV
- MOVD
- MOVI
- MOVS
- MUXC
- MUXNC
- MUXNZ
- MUXZ
- NEG
- NEGC
- NEGNC
- NEGNZ
- NEGZ
- NOP
- NR
- Operators
- OR
- ORG
- OUTA, OUTB
- PAR
- PHSA, PHSB
- RCL
- RCR
- RDBYTE
- RDLONG
- RDWORD
- Registers
- RES
- RET
- REV
- ROL
- ROR
- SAR
- SHL
- SHR
- SUB
- SUBABS
- SUBS
- SUBSX
- SUBX
- SUMC
- SUMNC
- SUMZ
- Symbols
- TEST
- TESTN
- TJNZ
- TJZ
- VCFG
- VSCL
- WAITCNT
- WAITPEQ
- WAITPNE
- WAITVID
- WC
- WR
- WRBYTE
- WRLONG
- WRWORD
- WZ
- XOR
- Appendix A: Reserved Word List
- Appendix B: Math Samples and Function Tables
- Index
Index
WAITPEQ, 222–23
WAITPNE, 224
WAITVID, 225–26
WHILE, 189, 192
WORD, 227–33
WORDFILL, 234
WORDMOVE, 235
XINPUT, 93, 94
XTAL1, 93, 94
XTAL2, 93, 94
XTAL3, 93, 94
Spin, structure of, 36
SPR (spin), 200–201
Square Root ‘^^’, 156
SRC field (asm), 251
Stack space, 76, 80
Starting a new cog, 76, 78, 284
Starting address (cog), 23, 239
Start-up clock frequency, 65
STEP (spin), 188, 191
Stopping a cog, 83, 286
STRCOMP (spin), 203–4
STRING (spin), 205
String comparison, 203
String constant, 205
String size, 206
STRSIZE (spin), 206
Structure of Propeller Assembly, 238
Structure of Propeller objects/spin, 36
SUB (asm), 349
SUBABS (asm), 350
SUBS (asm), 351
SUBSX (asm), 352–53
Subtract ‘-’, ‘-=’, 150
SUBX (asm), 354–55
SUMC (asm), 356
SUMNC (asm), 357
SUMNZ (asm), 358
SUMZ (asm), 359
Symbol Address ‘@’, 173
Symbol rules, 45
Symbols
- - (Decrement, pre- or post-), 151
' ' (single-line document comment), 208, 361
- (Negate), 150
' (single-line code comment), 208, 361
! (Bitwise NOT), 166
" (String designator), 100, 205, 207, 360
# (multipurpose), 207, 360
#>, #>= (Limit Minimum), 155
$ (multipurpose), 207, 360
% (Binary indicator), 207, 360
%% (Quaternary indicator), 207, 360
&, &= (Bitwise AND), 164
( ) (parameter list designators), 208
\ (abort trap), 208
**, **= (Multiply, Return High), 153
*, *= (Multiply, Return Low), 153
, (list delimiter), 208
-, -= (Subtract), 150
. (multipurpose), 207
.. (Range indicator), 207
/, /= (Divide), 154
//, //= (Modulus), 154
: (multipurpose), 208
:= (Variable Assignment), 149
? (Random), 159
@ (Symbol Address), 173
@@ (Object Address Plus Symbol), 173
[ ] (array-index designators), 208
^, ^= (Bitwise XOR), 165
^^ (Square Root), 156
_ (multipurpose), 207, 360
{ } (In-line, multi-line code comments), 208,
361
{{ }} (In-line, multi-line doc comments), 208,
361
| (local variable separator), 208
|, |= (Bitwise OR), 165
|| (Absolute Value), 156
|< (Bitwise Decode), 160
~ (Sign-Extend 7 or Post-Clear), 156
~~ (Sign-Extend 15 or Post-Set), 157
~>, ~>= (Shift Arithmetic Right), 158
+ (Positive), 150
+ + (Increment, pre- or post-), 152
+, += (Add), 149
<#, <#= (Limit Maximum), 155
<-, <-= (Bitwise Rotate Left), 162
<, <= (Boolean Is Less Than), 170
<<, <<= (Bitwise Shift Left), 161
<>, <>= (Boolean Is Not Equal), 170
= (Constant Assignment), 148
=<, =<= (Boolean Is Equal or Less), 171
==, === (Boolean Is Equal), 169
=>, =>= (Boolean Is Equal or Greater), 172
Propeller Manual v1.1 · Page 397