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
DIRA, DIRB (asm), 23, 289, 338
DIRA, DIRB (spin), 23, 104–6
FRQA, FRQB (asm), 23, 293, 338
FRQA, FRQB (spin), 23, 111
INA, INB (asm), 23, 297, 338
INA, INB (spin), 23, 118–19
OUTA, OUTB (asm), 23, 330, 338
OUTA, OUTB (spin), 23, 175–77
PAR (asm), 23, 331, 338
PAR (spin), 23, 178–79
PHSA, PHSB (asm), 23, 332, 338
PHSA, PHSB (spin), 23, 180
Read-only, 23, 73–74, 118–19, 178–79, 282,
297, 331
VCFG (asm), 23, 338, 366
VCFG (spin), 23, 213–15
VSCL (asm), 23, 338, 367
VSCL (spin), 23, 216–17
Registers, special purpose (table), 23, 338
REPEAT (spin), 188–93
NEXT, 140
QUIT, 186
RES (asm), 339–41
Reserved Words (table), 379
Reserving memory (asm), 339
Reserving memory (spin), 110
Reset, 18
Reset (pin), 15
Reset (table), 28
Reset, software, 28
RESn (pin), 15
Resource collisions, 122
Resources
Common, 22, 26, 27
Mutually exclusive, 22, 24
Shared, 22
RESULT (spin), 194–95
Result variable, 183, 194
RET (asm), 342
RETURN (spin), 196–97
Return value, 183, 194
Return value separator, :, 208
REV (asm), 343
Reverse, Bitwise ‘><’, ‘><=’, 163
ROL (asm), 344
ROM, main (spec), 16
ROR (asm), 345
Rotate Left, Bitwise ‘<-’, ‘<-=’, 162
Rotate Right, Bitwise ‘->’, ‘->=’, 162
ROUND (spin), 198–99
Run-time CALL Procedure (figure), 269
Run-time procedure, 18
S
SAR (asm), 346
Scope of constants, 89
Scope of object symbols, 142
Scope of variables, 212
Self-modifying code, 312, 313, 314
Semaphore, 30, 120, 122, 125, 126, 303, 304, 305,
306
Semaphore rules, 123
Set, Post ‘~~’, 157
Shared resources, 22
Shift Arithmetic Right ‘~>’, ‘~>=’, 158
Shift Left, Bitwise ‘<<’, ‘<<=’, 161
Shift Right, Bitwise ‘>>’, ‘>>=’, 161
SHL (asm), 347
SHR (asm), 348
Shutdown procedure, 19
Sign-Extend 15 ‘~~’, 157
Sign-Extend 7 ‘~’, 156
Simple finite loops, 190
Sine table, 34, 385
Single-line code comment, ', 208, 361
Single-line doc comment, ' ', 208, 361
Size of
Byte, 52
Long, 128
Word, 228
Software reset, 28, 187
Source/Sink, current, 15
Special purpose registers, 200
Special Purpose Registers (table), 23, 200
Specifications
Propeller Chip, 16
Spin Interpreter, 34
Spin language, 35
_CLKFREQ, 65–66
_CLKMODE, 68–70
_FREE, 110
_STACK, 202
_XINFREQ, 236–37
ABORT, 47–50
Propeller Manual v1.1 · Page 395