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, 369
WAITPNE, 370
WAITVID, 371
WC, 372
WR, 373
WRBYTE, 374
WRLONG, 375
WRWORD, 376
WZ, 377
XOR, 378
ZCRI field, 251
Assignment
Constant ‘=’, 148
Intermediate, 147
Variable ‘:=’, 149
Assignment / normal operators, 145
B
Bases, numerical, 45
Binary / Unary operators, 145
Binary indicator, %, 207, 360
Binary operators (asm), 249
Binary operators (spin), 43
Bitwise operators
AND ‘&’, ‘&=’, 164
AND Truth Table (table), 164
Decode ‘|<’, 160
Encode ‘>|’, 160
NOT ‘!’, 166
NOT Truth Table (table), 166
OR ‘|’, ‘|=’, 165
OR Truth Table (table), 165
Reverse ‘><’, ‘><=’, 163
Rotate Left ‘<-’, ‘<-=’, 162
Rotate Right ‘->’, ‘->=’, 162
Shift Left ‘<<’, ‘<<=’, 161
Shift Right ‘>>’, ‘>>=’, 161
XOR ‘^’, ‘^=’, 165
XOR Truth Table (table), 166
Block designators, 38, 84, 99, 141, 181, 182, 210
Block Diagram (figure), 20–21, 20–21, 20–21
BOEn (pin), 15
Boolean operators
AND ‘AND’, ‘AND=’, 167
Is Equal ‘==’, ‘===’, 169
Is Equal or Greater ‘=>’, ‘=>=’, 172
Is Equal or Less ‘=<’, ‘=<=’, 171
Is Greater Than ‘>’, ‘>=’, 171
Is Less Than ‘<’, ‘<=’, 170
Is Not Equal ‘<>’, ‘<>=’, 170
NOT ‘NOT’, 168
OR ‘OR’, ‘OR=’, 168
Boot Loader, 18, 34
Boot parameter, 23
Boot up, 26
Boot up procedure, 18
Branching (asm), 245, 268, 290, 298, 300, 342, 364,
365
Brown Out Enable (pin), 15
Byte
Data declaration, 52
Memory type, 16, 51
Of larger symbols, 55
Range of, 52
Reading/writing, 53, 335, 374
Variable declaration, 52
BYTE (spin), 51–56
Byte-aligned, 100
BYTEFILL (spin), 57
BYTEMOVE (spin), 58
C
Calculating time, 63, 221
CALL (asm), 268–70
Call Stack, 47, 196, 268, 300
CASE (spin), 59–61
Case statement separator, :, 208
Categorical listing
Propeller Assembly language, 243
Spin language, 38
Character
Definitions, 32
Interleaving, 33
Interleaving (figure), 33
CHIPVER (spin), 62
Clear, Post ‘~’, 156
CLK register, 28–30
CLK Register Structure (table), 28
CLKFREQ (spin), 63–64
CLKMODE (spin), 67
CLKSELx (table), 30
CLKSET (asm), 271
Page 388 · Propeller Manual v1.1