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
->, ->= (Bitwise Rotate Right), 162
>, >= (Boolean Is Greater Than), 171
>| (Bitwise Encode), 160
><, ><= (Bitwise Reverse), 163
>>, >>= (Bitwise Shift Right), 161
AND, AND= (Boolean AND), 167
NOT (Boolean), 168
OR, OR= (Boolean OR), 168
Symbols (table), 207–8, 207–8, 207–8
Synchronized delay, 219
Synchronized Delay Timing (figure), 221
Syntax definitions (asm), 250
Syntax definitions (spin), 46
System Clock, 22, 65, 71
System Clock frequency, 63
System Clock speed (spec), 16
System Clock Tick vs. Time (table), 63
System counter, 282
System Counter, 23, 27, 73–74
T
Tables
Bitwise AND Truth Table, 164
Bitwise NOT Truth Table, 166
Bitwise OR Truth Table, 165
Bitwise XOR Truth Table, 166
CLK Register Structure, 28
Clock Mode Setting Constants, 68, 69
Conditions, Assembly, 296
Counter Modes, 98
CTRA and CTRB Registers, 96
Effects, Assembly, 291
Example Data in Memory, 100
Math/Logic Operators, 144
Operator Precedence Levels, 145
Pin Descriptions, 15
PLLDIV Field, 96
Propeller Assembly Instructions, 254–55
Reserved Words, 379
Sharing Examples, 27
Special Purpose Registers, 23, 200, 338
Specifications, 16
Symbols, 207–8, 207–8, 207–8
System Clock Ticks vs. Time, 63
VCFG Register, 213
VSCL Register, 216
Terminating a cog, 83
TEST (asm), 362
TESTN (asm), 363
Threshold, logic, 15
Time, calculating, 221
Timing, 27
TJNZ (asm), 364
TJZ (asm), 365
TO (spin), 188, 190
TRUE, 93
TRUNC (spin), 209
Truth tables
Bitwise AND, 164
Bitwise NOT, 166
Bitwise OR, 165
Bitwise XOR, 166
Concise, 252
Tutorial
Programming, 11
U
Unary / binary operators, 145
Unary operators (asm), 248
Unary operators (spin), 42
Underscore, _, 207, 360
UNTIL (spin), 189, 193
Using Propeller Tool, 11
V
Value representations, 45
VAR (spin), 210–12
Variable Assignment ‘:=’, 149
Variable block, 210
Variable declarations, 52, 129, 210, 228
Variable expression operators, 146
Variable ranges, 211
Variable scope, 212
Variable type
Byte, 16, 51
Long, 16, 128
Word, 16, 227
VCFG (asm), 23, 338, 366
VCFG (spin), 23, 200, 213–15
VCFG Register (table), 213
Version number, 62
Page 398 · Propeller Manual v1.1