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
AND, 113
Binary operators, 43
Block designators, 38, 84, 99, 141, 181, 182,
210
BYTE, 51–56
BYTEFILL, 57
BYTEMOVE, 58
CASE, 59–61
Categorical listing, 38
CHIPVER, 62
CLKFREQ, 63–64
CLKMODE, 67
CLKSET, 71–72
CNT, 73–74
Cog control, 39, 75, 76, 78, 83, 187
COGID, 75
COGINIT, 76–77
COGNEW, 78–82
CON, 84–90
Configuration, 38, 62, 63, 65, 67, 68, 71, 94,
110, 202, 236
CONSTANT, 91–92
Constants (pre-defined), 93–94
CTRA, CTRB, 95–98
DAT, 99–103
DIRA, DIRB, 104–6
Directives, 41, 91, 107, 108, 198, 205, 209
Dual commands, 103
ELSE, 114
ELSEIF, 114
ELSEIFNOT, 116
FALSE, 93
FILE, 107
FLOAT, 108–9
Flow control, 39, 47, 59, 112, 117, 140, 186,
188, 196
FROM, 188, 190
FRQA, FRQB, 111
IF, 112–16
IFNOT, 117
INA, INB, 118–19
Launching into another cog, 77, 79, 80
LOCKCLR, 120–21
LOCKNEW, 122–24
LOCKRET, 125
LOCKSET, 126–27
LONG, 128–33
LONGFILL, 134
LONGMOVE, 135
LOOKDOWN, LOOKDOWNZ, 136–37
LOOKUP, LOOKUPZ, 138–39
Memory, 40, 51, 57, 58, 128, 134, 135, 136,
138, 203, 206, 227, 234, 235
NEGX, 93, 94
NEXT, 140
OBJ, 141–42
Operators, 143–74
OR, 113
OTHER, 60
OUTA, OUTB, 175–77
PHSA, PHSB, 180
PI, 93, 94
PLL16X, 93, 94
PLL1X, 93, 94
PLL2X, 93, 94
PLL4X, 93, 94
PLL8X, 93, 94
POSX, 93, 94
PRI, 181
Process control, 39, 120, 122, 125, 126, 218,
222, 224, 225
PUB, 182–85
QUIT, 186
RCFAST, 93, 94
RCSLOW, 93, 94
REBOOT, 187
Registers, 41
REPEAT, 188–93
RESULT, 194–95
RETURN, 196–97
ROUND, 198–99
SPR, 200–201
STEP, 188, 191
STRCOMP, 203–4
STRING, 205
STRSIZE, 206
Symbols, 207–8
Syntax definitions, 46
TO, 188, 190
TRUE, 93
TRUNC, 209
Unary operators, 42
UNTIL, 189, 193
VAR, 210–12
VSCL, 216–17
WAITCNT, 218–21
Page 396 · Propeller Manual v1.1