Propeller Assembly Instruction Master Table

A master table for all Propeller Assembly instructions is provided below. In this table, D and S refer to the instructions' destination and source fields, also known as dfield and sfield, respectively. Please be sure to read the notes below the table.

 Instruction

 -INSTR- ZCRI -CON-    -DEST-         -SRC-

Z Result

C Result

Result

Clocks

ABS     D, S
101010 001i 1111 ddddddddd sssssssss

Result = 0

S[31]

Written

4

ABSNEG  D, S
101011 001i 1111 ddddddddd sssssssss

Result = 0

S[31]

Written

4

ADD     D, S
100000 001i 1111 ddddddddd sssssssss

D + S = 0

Unsigned Carry

Written

4

ADDABS  D, S
100010 001i 1111 ddddddddd sssssssss
D + |S| = 0
Unsigned Carry3Written4
ADDS    D, S
110100 001i 1111 ddddddddd sssssssss

D + S = 0

Signed Overflow

Written

4

ADDSX   D, S
110110 001i 1111 ddddddddd sssssssss

Z & (D+S+C = 0)

Signed Overflow

Written

4

ADDX    D, S
110010 001i 1111 ddddddddd sssssssss

Z & (D+S+C = 0)

Unsigned Carry

Written

4

AND     D, S
011000 001i 1111 ddddddddd sssssssss

Result = 0

Parity of Result

Written

4

ANDN    D, S
011001 001i 1111 ddddddddd sssssssss

Result = 0

Parity of Result

Written

4

CALL    #S
010111 0011 1111 ????????? sssssssss

Result = 0

Written

4

CLKSET  D
000011 0001 1111 ddddddddd ------000

Not Written

8..231

CMP     D, S
100001 000i 1111 ddddddddd sssssssss

D = S

Unsigned (D < S)

Not Written

4

CMPS    D, S
110000 000i 1111 ddddddddd sssssssss

D = S

Signed (D < S)

Not Written

4

CMPSUB  D, S
111000 001i 1111 ddddddddd sssssssss

D = S

Unsigned (D => S)

Written

4

CMPSX   D, S
110001 000i 1111 ddddddddd sssssssss

Z & (D = S+C)

Signed (D < S+C)

Not Written

4

CMPX    D, S
110011 000i 1111 ddddddddd sssssssss

Z & (D = S+C)

Unsigned (D < S+C)

Not Written

4

COGID   D
000011 0011 1111 ddddddddd ------001

ID = 0

0

Written

8..231

COGINIT D
000011 0001 1111 ddddddddd ------010

ID = 0

No Cog Free

Not Written

8..231

COGSTOP D
000011 0001 1111 ddddddddd ------011

Stopped ID = 0

No Cog Free

Not Written

8..231

DJNZ    D, S
111001 001i 1111 ddddddddd sssssssss

Result = 0

Unsigned Borrow

Written

4 or 82

HUBOP   D, S
000011 000i 1111 ddddddddd sssssssss

Result = 0

Not Written

8..231

JMP     S
010111 000i 1111 --------- sssssssss

Result = 0

Not Written

4

JMPRET  D, S
010111 001i 1111 ddddddddd sssssssss

Result = 0

Written

4

LOCKCLR D
000011 0001 1111 ddddddddd ------111

ID = 0

Prior Lock State

Not Written

8..231

LOCKNEW D
000011 0011 1111 ddddddddd ------100

ID = 0

No Lock Free

Written

8..231

LOCKRET D
000011 0001 1111 ddddddddd ------101

ID = 0

No Lock Free

Not Written

8..231

LOCKSET D
000011 0001 1111 ddddddddd ------110

ID = 0

Prior Lock State

Not Written

8..231

MAX     D, S
010011 001i 1111 ddddddddd sssssssss

S = 0

Unsigned (D < S)

Written

4

MAXS    D, S
010001 001i 1111 ddddddddd sssssssss

S = 0

Signed (D < S)

Written

4

MIN     D, S
010010 001i 1111 ddddddddd sssssssss

S = 0

Unsigned (D < S)

Written

4

MINS    D, S
010000 001i 1111 ddddddddd sssssssss

S = 0

Signed (D < S)

Written

4

MOV     D, S
101000 001i 1111 ddddddddd sssssssss

Result = 0

S[31]

Written

4

MOVD    D, S
010101 001i 1111 ddddddddd sssssssss

Result = 0

Written

4

MOVI    D, S
010110 001i 1111 ddddddddd sssssssss

Result = 0

Written

4

MOVS    D, S
010100 001i 1111 ddddddddd sssssssss

Result = 0

Written

4

MUXC    D, S
011100 001i 1111 ddddddddd sssssssss

Result = 0

Parity of Result

Written

4

MUXNC   D, S
011101 001i 1111 ddddddddd sssssssss

Result = 0

Parity of Result

Written

4

MUXNZ   D, S
011111 001i 1111 ddddddddd sssssssss

Result = 0

Parity of Result

Written

4

MUXZ    D, S
011110 001i 1111 ddddddddd sssssssss

Result = 0

Parity of Result

Written

4

NEG     D, S
101001 001i 1111 ddddddddd sssssssss

Result = 0

S[31]

Written

4

NEGC    D, S
101100 001i 1111 ddddddddd sssssssss

Result = 0

S[31]

Written

4

NEGNC   D, S
101101 001i 1111 ddddddddd sssssssss

Result = 0

S[31]

Written

4

NEGNZ   D, S
101111 001i 1111 ddddddddd sssssssss

Result = 0

S[31]

Written

4

NEGZ    D, S
101110 001i 1111 ddddddddd sssssssss

Result = 0

S[31]

Written

4

NOP
------ ---- 0000 --------- ---------

4

OR      D, S
011010 001i 1111 ddddddddd sssssssss

Result = 0

Parity of Result

Written

4

RCL     D, S
001101 001i 1111 ddddddddd sssssssss

Result = 0

D[31]

Written

4

RCR     D, S
001100 001i 1111 ddddddddd sssssssss

Result = 0

D[0]

Written

4

RDBYTE  D, S
000000 001i 1111 ddddddddd sssssssss

Result = 0

Written

8..231

RDLONG  D, S
000010 001i 1111 ddddddddd sssssssss

Result = 0

Written

8..231

RDWORD  D, S
000001 001i 1111 ddddddddd sssssssss

Result = 0

Written

8..231

RET
010111 0001 1111 --------- ---------

Result = 0

Not Written

4

REV     D, S
001111 001i 1111 ddddddddd sssssssss

Result = 0

D[0]

Written

4

ROL     D, S
001001 001i 1111 ddddddddd sssssssss

Result = 0

D[31]

Written

4

ROR     D, S
001000 001i 1111 ddddddddd sssssssss

Result = 0

D[0]

Written

4

SAR     D, S
001110 001i 1111 ddddddddd sssssssss

Result = 0

D[0]

Written

4

SHL     D, S
001011 001i 1111 ddddddddd sssssssss

Result = 0

D[31]

Written

4

SHR     D, S
001010 001i 1111 ddddddddd sssssssss

Result = 0

D[0]

Written

4

SUB     D, S
100001 001i 1111 ddddddddd sssssssss

D - S = 0

Unsigned Borrow

Written

4

SUBABS  D, S
100011 001i 1111 ddddddddd sssssssss

D - |S| = 0

Unsigned Borrow4

Written4
SUBS    D, S
110101 001i 1111 ddddddddd sssssssss

D - S = 0

Signed Overflow

Written

4

SUBSX   D, S
110111 001i 1111 ddddddddd sssssssss

Z & (D-(S+C) = 0)

Signed Overflow

Written

4

SUBX    D, S
110011 001i 1111 ddddddddd sssssssss

Z & (D-(S+C) = 0)

Unsigned Borrow

Written

4

SUMC    D, S
100100 001i 1111 ddddddddd sssssssss

D ± S = 0

Signed Overflow

Written

4

SUMNC   D, S
100101 001i 1111 ddddddddd sssssssss

D ± S = 0

Signed Overflow

Written

4

SUMNZ   D, S
100111 001i 1111 ddddddddd sssssssss

D ± S = 0

Signed Overflow

Written

4

SUMZ    D, S
100110 001i 1111 ddddddddd sssssssss

D ± S = 0

Signed Overflow

Written

4

TEST    D, S
011000 000i 1111 ddddddddd sssssssss

D = 0

Parity of Result

Not Written

4

TESTN   D, S
011001 000i 1111 ddddddddd sssssssss

D = 0

Parity of Result

Not Written

4

TJNZ    D, S
111010 000i 1111 ddddddddd sssssssss

D = 0

0

Not Written

4 or 82

TJZ     D, S
111011 000i 1111 ddddddddd sssssssss

D = 0

0

Not Written

4 or 82

WAITCNT D, S
111110 001i 1111 ddddddddd sssssssss

Result = 0

Unsigned Carry

Written

6+

WAITPEQ D, S
111100 000i 1111 ddddddddd sssssssss

Result = 0

Not Written

6+

WAITPNE D, S
111101 000i 1111 ddddddddd sssssssss

Result = 0

Not Written

6+

WAITVID D, S
111111 000i 1111 ddddddddd sssssssss

Result = 0

Not Written

4+5

WRBYTE  D, S
000000 000i 1111 ddddddddd sssssssss

Not Written

8..231

WRLONG  D, S
000010 000i 1111 ddddddddd sssssssss

Not Written

8..231

WRWORD  D, S
000001 000i 1111 ddddddddd sssssssss

Not Written

8..231

XOR     D,S
011011 001i 1111 ddddddddd sssssssss

Result = 0

Parity of Result

Written

4

Notes for Master Table

Note 1: Clock Cycles for Hub Instructions

Note 2: Clock Cycles for Modify-Branch Instructions

Instructions that modify a value and possibly jump, based on the result, require a different amount of clock cycles depending on whether or not a jump is required. These instructions take 4 clock cycles if a jump is required and 8 clock cycles if no jump is required. Since loops utilizing these instructions typically need to be fast, they are optimized in this way for speed.

Note 3: ADDABS C out: If S is negative, C = the inverse of unsigned borrow (for D-S).

Note 4: SUBABS C out: If S is negative, C = the inverse of unsigned carry (for D+S).

Note 5: WAITVID consumes 4 clocks itself; however, complete data handoff requires 7 clocks (6 at some frequencies) between frames. The combination of CTRA PLL frequency and VSCL FrameClocks must provide an effective 7 (or 6) system clocks.

Unless otherwise noted, content on this site is licensed under the
Creative Commons Attribution-ShareAlike 4.0 International License.