OpCode

Contains opcodes for M2 operations.

Values

ValueMeaning
nullcmd0x00

Null command

shwait0x01

Short wait (24 bits)

lnwait0x02

Long wait (48 bits)

emit0x03

Emit command list to device

jmp0x04

Conditional jump

chain_par0x05

Chain in pattern in parallel

chain_ser0x06

Chain in pattern in serial

add0x07

Add two registers, store in third

sub0x08

Subtract two registers, store in third

mul0x09

Multiply two registers, store in third

div0x0a

Divide two registers, store in third

mod0x0b

Modulo two registers, store in third

and0x0c

Binary and two registers, store in third

or0x0d

Binary or two registers, store in third

xor0x0e

Binary xor two registers, store in third

not0x0f

Binary invert RA, store in RD

lshi0x10

Logically shift left RA by RB immediate value, store in RD

rshi0x11

Logically shift right RA by RB immediate value, store in RD

rasi0x12

Arithmetically shift right RA by RB immediate value, store in RD

adds0x13

Add two registers, store in third (signed)

subs0x14

Subtract two registers, store in third (signed)

muls0x15

Multiply two registers, store in third (signed)

divs0x16

Divide two registers, store in third (signed)

lsh0x17

Logically shift left RA by RB, store in RD

rsh0x18

Logically shift right RA by RB, store in RD

ras0x19

Arithmetically shift right RA by RB, store in RD

mov0x1a

Move register content of RA to RD

satadd0x1b

Saturated add

satsub0x1c

Saturated subtract

satmul0x1d

Saturated multiply

satadds0x1e

Saturated signed add

satsubs0x1f

Saturated signed subtract

satmuls0x20

Saturated signed multiply

cmp0x40

Compare two register values

chain0x41

Abandon current pattern to next one

emit_r0x42

Emit command with value from register

cue0x48

Set cue point/marker

trnsps0x49

Transpose

ctrl0xf0

Control command

display0xff

Display command

Meta