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
Fixed, 218
Fixed (figure), 220, 230
Synchronized, 219
Synchronized (figure), 221
Delimiter, _, 207, 360
DEST field (asm), 251
Digital-to-analog conversion, 95
DIP, 14
DIRA, DIRB (asm), 23, 289, 338
DIRA, DIRB (spin), 23, 104–6, 200
Direction register, 104–6, 289
Direction states, 23
Directives (asm), 243, 292, 328, 339
Directives (spin), 41, 91, 107, 108, 198, 205, 209
Discussion forum, 11
Divide ‘/’, ‘/=’, 154
DJNZ (asm), 290
Dual commands, 103
Duty-cycle measurement, 95
E
Editor’s Note, 11
EEPROM, 17
EEPROM communication, 18
EEPROM pins, 15
Effects (asm), 245, 291, 325, 372, 373, 377
Effects field (asm), 250
Effects, Assembly (table), 291
ELSE (spin), 114
ELSEIF (spin), 114
ELSEIFNOT (spin), 116
Encode, Bitwise ‘>|’, 160
Enumeration Set, #, 207
Enumerations, 87
Example Data in Memory (table), 100
Exiting a method, 185
Expression workspace, 143
External clock speed (spec), 16
External crystal frequency, 236
External files, 107
F
FALSE, 93
Figures
Block Diagram, 20–21, 20–21, 20–21
Character Interleaving, 33
Fixed Delay Timing, 220, 230
Hardware Connections, 17
Main Memory Map, 31
Propeller Font Characters, 32
Run-time CALL Procedure, 269
Synchronized Delay Timing, 221
FILE (spin), 107
FIT (asm), 292
Fixed delay, 218
Fixed Delay Timing (figure), 220, 230
FLOAT (spin), 108–9
Floating-point, 85, 108, 198, 209
Flow control (asm), 245, 268, 290, 298, 300, 342,
364, 365
Flow control (spin), 39, 47, 59, 112, 117, 140, 186,
188, 196
Font, Parallax, 33
Forum, discussion, 11
Free space, 110
Frequency measurement, 95
Frequency register, 111, 293
Frequency synthesis, 95
FROM (spin), 188, 190
FRQA, FRQB (asm), 23, 293, 338
FRQA, FRQB (spin), 23, 111, 200
Functional Block Diagram (figure), 20
G
Global label (asm), 242
Global optimized addressing, 212
Guarantee, 2
H
Hardware, 14–15
Hardware connections, 17
Hardware Connections (figure), 17
Here indicator, $, 360
Hexadecimal indicator, $, 207, 360
Host communication, 18
Hub, 21, 24
Hub Access Window, 24
Hub instructions, clock cycles for, 256
HUBOP (asm), 294
Page 390 · Propeller Manual v1.1