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
Operator attributes, 143
Operator Precedence Levels (table), 145
Operators, 143–74, 326
- - (Decrement, pre- or post-), 151
- (Negate), 150
! (Bitwise NOT), 166
#>, #>= (Limit Minimum), 155
&, &= (Bitwise AND), 164
**, **= (Multiply, Return High), 153
*, *= (Multiply, Return Low), 153
-, -= (Subtract), 150
/, /= (Divide), 154
//, //= (Modulus), 154
:= (Variable Assignment), 149
? (Random), 159
@ (Symbol Address), 173
@@ (Object Address Plus Symbol), 173
^, ^= (Bitwise XOR), 165
^^ (Square Root), 156
|, |= (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
->, ->= (Bitwise Rotate Right), 162
>, >= (Boolean Is Greater Than), 171
>| (Bitwise Encode), 160
><, ><= (Bitwise Reverse), 163
>>, >>= (Bitwise Shift Right), 161
AND, AND= (Boolean AND), 167
Constant expression, 146
Intermediate assigments, 147
Normal / assignment, 145
NOT (Boolean), 168
OR, OR= (Boolean OR), 168
Precedence level, 146
Unary / binary, 145
Variable expression, 146
Optimized addressing, 185, 212
OR (asm), 327
OR (spin), 113
OR, Bitwise ‘|’, ‘|=’, 165
OR, Boolean ‘OR’, ‘OR=’, 168
ORG (asm), 328–29
Organization of variables, 212
OSCENA (table), 29
OSCMx (table), 29
OTHER (spin), 60
OUTA, OUTB (asm), 23, 330, 338
OUTA, OUTB (spin), 23, 175–77, 200
Output register, 175–77, 330
Output states, 23
P
Package types, 14–15
PAR (asm), 23, 331, 338
PAR (spin), 23, 178–79, 178–79, 200
Parallax True Type
®
font, 33
Parameter list designators, ( ), 208
Parameter register, 178, 331
Parameters, 184
Pause execution, 218
Phase registers, 180, 332
PHSA, PHSB (asm), 23, 332, 338
PHSA, PHSB (spin), 23, 180, 200
PI, 93, 94
Pin descriptions, 15
Pinout, 14–15
PLL16X, 68, 93, 94
PLL1X, 68, 93, 94
PLL2X, 68, 93, 94
PLL4X, 68, 93, 94
PLL8X, 68, 93, 94
PLLDIV Field (table), 96
PLLENA (table), 29
Positive ‘+’, 150
Post-Clear ‘~’, 156
Post-Decrement ‘- -’, 151
Post-Increment ‘+ +’, 152
Post-Set ‘~~’, 157
POSX, 93, 94
Propeller Manual v1.1 · Page 393