C4EV3
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
Macros
Opcode constants

Macros

#define opError   0x00
 
#define opNop   0x01
 
#define opProgramStop   0x02
 
#define opProgramStart   0x03
 
#define opObjectStop   0x04
 
#define opObjectStart   0x05
 
#define opObjectTrigger   0x06
 
#define opObjectWait   0x07
 
#define opReturn   0x08
 
#define opCall   0x09
 
#define opObjectEnd   0x0A
 
#define opSleep   0x0B
 
#define opProgramInfo   0x0C
 
#define opLabel   0x0D
 
#define opProbe   0x0E
 
#define opDo   0x0F
 
#define opAdd1   0x10
 
#define opAdd2   0x11
 
#define opAdd4   0x12
 
#define opAddF   0x13
 
#define opSub1   0x14
 
#define opSub2   0x15
 
#define opSub4   0x16
 
#define opSubF   0x17
 
#define opMul1   0x18
 
#define opMul2   0x19
 
#define opMul4   0x1A
 
#define opMulF   0x1B
 
#define opDiv1   0x1C
 
#define opDiv2   0x1D
 
#define opDiv4   0x1E
 
#define opDivF   0x1F
 
#define opOr1   0x20
 
#define opOr2   0x21
 
#define opOr4   0x22
 
#define opAnd1   0x24
 
#define opAnd2   0x25
 
#define opAnd4   0x26
 
#define opXor1   0x28
 
#define opXor2   0x29
 
#define opXor4   0x2A
 
#define opRl1   0x2C
 
#define opRl2   0x2D
 
#define opRl4   0x2E
 
#define opInitBytes   0x2F
 
#define opMove11   0x30
 
#define opMove12   0x31
 
#define opMove14   0x32
 
#define opMove1F   0x33
 
#define opMove21   0x34
 
#define opMove22   0x35
 
#define opMove24   0x36
 
#define opMove2F   0x37
 
#define opMove41   0x38
 
#define opMove42   0x39
 
#define opMove44   0x3A
 
#define opMove4F   0x3B
 
#define opMoveF1   0x3C
 
#define opMoveF2   0x3D
 
#define opMoveF4   0x3E
 
#define opMoveFF   0x3F
 
#define opJmp   0x40
 
#define opJmpFalse   0x41
 
#define opJmpTrue   0x42
 
#define opJmpNan   0x43
 
#define opCmpLT1   0x44
 
#define opCmpLT2   0x45
 
#define opCmpLT4   0x46
 
#define opCmpLTF   0x47
 
#define opCmpGT1   0x48
 
#define opCmpGT2   0x49
 
#define opCmpGT4   0x4A
 
#define opCmpGTF   0x4B
 
#define opCmpEQ1   0x4C
 
#define opCmpEQ2   0x4D
 
#define opCmpEQ4   0x4E
 
#define opCmpEQF   0x4F
 
#define opCmpNEQ1   0x50
 
#define opCmpNEQ2   0x51
 
#define opCmpNEQ4   0x52
 
#define opCmpNEQF   0x53
 
#define opCmpLTEQ1   0x54
 
#define opCmpLTEQ2   0x55
 
#define opCmpLTEQ4   0x56
 
#define opCmpLTEQF   0x57
 
#define opCmpGTEQ1   0x58
 
#define opCmpGTEQ2   0x59
 
#define opCmpGTEQ4   0x5A
 
#define opCmpGTEQF   0x5B
 
#define opSelect1   0x5C
 
#define opSelect2   0x5D
 
#define opSelect4   0x5E
 
#define opSelectF   0x5F
 
#define opSystem   0x60
 
#define opPortConvertOutput   0x61
 
#define opPortConvertInput   0x62
 
#define opNote2Freq   0x63
 
#define opJmpLT1   0x64
 
#define opJmpLT2   0x65
 
#define opJmpLT4   0x66
 
#define opJmpLTF   0x67
 
#define opJmpGT1   0x68
 
#define opJmpGT2   0x69
 
#define opJmpGT4   0x6A
 
#define opJmpGTF   0x6B
 
#define opJmpEQ1   0x6C
 
#define opJmpEQ2   0x6D
 
#define opJmpEQ4   0x6E
 
#define opJmpEQF   0x6F
 
#define opJmpNEQ1   0x70
 
#define opJmpNEQ2   0x71
 
#define opJmpNEQ4   0x72
 
#define opJmpNEQF   0x73
 
#define opJmpLTEQ1   0x74
 
#define opJmpLTEQ2   0x75
 
#define opJmpLTEQ4   0x76
 
#define opJmpLTEQF   0x77
 
#define opJmpGTEQ1   0x78
 
#define opJmpGTEQ2   0x79
 
#define opJmpGTEQ4   0x7A
 
#define opJmpGTEQF   0x7B
 
#define opInfo   0x7C
 
#define opStrings   0x7D
 
#define opMemoryWrite   0x7E
 
#define opMemoryRead   0x7F
 
#define opUIFlush   0x80
 
#define opUIRead   0x81
 
#define opUIWrite   0x82
 
#define opUIButton   0x83
 
#define opUIDraw   0x84
 
#define opTimerWait   0x85
 
#define opTimerReady   0x86
 
#define opTimerRead   0x87
 
#define opBreakpoint0   0x88
 
#define opBreakpoint1   0x89
 
#define opBreakpoint2   0x8A
 
#define opBreakpoint3   0x8B
 
#define opBreakpointSet   0x8C
 
#define opMath   0x8D
 
#define opRandom   0x8E
 
#define opTimerReadUS   0x8F
 
#define opKeepAlive   0x90
 
#define opComRead   0x91
 
#define opComWrite   0x92
 
#define opSound   0x94
 
#define opSoundTest   0x95
 
#define opSoundReady   0x96
 
#define opInputSample   0x97
 
#define opInputDeviceList   0x98
 
#define opInputDevice   0x99
 
#define opInputRead   0x9A
 
#define opInputTest   0x9B
 
#define opInputReady   0x9C
 
#define opInputReadSI   0x9D
 
#define opInputReadext   0x9E
 
#define opInputWrite   0x9F
 
#define opOutputGetType   0xA0
 
#define opOutputSetType   0xA1
 
#define opOutputReset   0xA2
 
#define opOutputStop   0xA3
 
#define opOutputPower   0xA4
 
#define opOutputSpeed   0xA5
 
#define opOutputStart   0xA6
 
#define opOutputPolarity   0xA7
 
#define opOutputRead   0xA8
 
#define opOutputTest   0xA9
 
#define opOutputReady   0xAA
 
#define opOutputPosition   0xAB
 
#define opOutputStepPower   0xAC
 
#define opOutputTimePower   0xAD
 
#define opOutputStepSpeed   0xAE
 
#define opOutputTimeSpeed   0xAF
 
#define opOutputStepSync   0xB0
 
#define opOutputTimeSync   0xB1
 
#define opOutputClearCount   0xB2
 
#define opOutputGetCount   0xB3
 
#define opOutputProgramStop   0xB4
 
#define opFile   0xC0
 
#define opArray   0xC1
 
#define opArrayWrite   0xC2
 
#define opArrayRead   0xC3
 
#define opArrayAppend   0xC4
 
#define opMemoryUsage   0xC5
 
#define opFilename   0xC6
 
#define opRead1   0xC8
 
#define opRead2   0xC9
 
#define opRead4   0xCA
 
#define opReadF   0xCB
 
#define opWrite1   0xCC
 
#define opWrite2   0xCD
 
#define opWrite4   0xCE
 
#define opWriteF   0xCF
 
#define opComReadY   0xD0
 
#define opComReadData   0xD1
 
#define opComWriteData   0xD2
 
#define opComGet   0xD3
 
#define opComSet   0xD4
 
#define opComTest   0xD5
 
#define opComRemove   0xD6
 
#define opComWriteFile   0xD7
 
#define opMailboxOpen   0xD8
 
#define opMailboxWrite   0xD9
 
#define opMailboxRead   0xDA
 
#define opMailboxTest   0xDB
 
#define opMailboxReady   0xDC
 
#define opMailboxClose   0xDD
 
#define opTest   0xFF
 

Detailed Description

Constants for the EV3 firmware VM opcodes.

Macro Definition Documentation

#define opAdd1   0x10

opAdd1

#define opAdd2   0x11

opAdd2

#define opAdd4   0x12

opAdd4

#define opAddF   0x13

opAddF

#define opAnd1   0x24

opAnd1

#define opAnd2   0x25

opAnd2

#define opAnd4   0x26

opAnd4

#define opArray   0xC1

opArray

#define opArrayAppend   0xC4

opArrayAppend

#define opArrayRead   0xC3

opArrayRead

#define opArrayWrite   0xC2

opArrayWrite

#define opBreakpoint0   0x88

opBreakpoint0

#define opBreakpoint1   0x89

opBreakpoint1

#define opBreakpoint2   0x8A

opBreakpoint2

#define opBreakpoint3   0x8B

opBreakpoint3

#define opBreakpointSet   0x8C

opBreakpointSet

#define opCall   0x09

opCall

#define opCmpEQ1   0x4C

opCmpEQ1

#define opCmpEQ2   0x4D

opCmpEQ2

#define opCmpEQ4   0x4E

opCmpEQ4

#define opCmpEQF   0x4F

opCmpEQF

#define opCmpGT1   0x48

opCmpGT1

#define opCmpGT2   0x49

opCmpGT2

#define opCmpGT4   0x4A

opCmpGT4

#define opCmpGTEQ1   0x58

opCmpGTEQ1

#define opCmpGTEQ2   0x59

opCmpGTEQ2

#define opCmpGTEQ4   0x5A

opCmpGTEQ4

#define opCmpGTEQF   0x5B

opCmpGTEQF

#define opCmpGTF   0x4B

opCmpGTF

#define opCmpLT1   0x44

opCmpLT1

#define opCmpLT2   0x45

opCmpLT2

#define opCmpLT4   0x46

opCmpLT4

#define opCmpLTEQ1   0x54

opCmpLTEQ1

#define opCmpLTEQ2   0x55

opCmpLTEQ2

#define opCmpLTEQ4   0x56

opCmpLTEQ4

#define opCmpLTEQF   0x57

opCmpLTEQF

#define opCmpLTF   0x47

opCmpLTF

#define opCmpNEQ1   0x50

opCmpNEQ1

#define opCmpNEQ2   0x51

opCmpNEQ2

#define opCmpNEQ4   0x52

opCmpNEQ4

#define opCmpNEQF   0x53

opCmpNEQF

#define opComGet   0xD3

opComGet

#define opComRead   0x91

opComRead

#define opComReadData   0xD1

opComReadData

#define opComReadY   0xD0

opComReadY

#define opComRemove   0xD6

opComRemove

#define opComSet   0xD4

opComSet

#define opComTest   0xD5

opComTest

#define opComWrite   0x92

opComWrite

#define opComWriteData   0xD2

opComWriteData

#define opComWriteFile   0xD7

opComWriteFile

#define opDiv1   0x1C

opDiv1

#define opDiv2   0x1D

opDiv2

#define opDiv4   0x1E

opDiv4

#define opDivF   0x1F

opDivF

#define opDo   0x0F

opDo

#define opError   0x00

opError

#define opFile   0xC0

opFile

#define opFilename   0xC6

opFilename

#define opInfo   0x7C

opInfo

#define opInitBytes   0x2F

opInitBytes

#define opInputDevice   0x99

opInputDevice

#define opInputDeviceList   0x98

opInputDeviceList

#define opInputRead   0x9A

opInputRead

#define opInputReadext   0x9E

opInputReadext

#define opInputReadSI   0x9D

opInputReadSI

#define opInputReady   0x9C

opInputReady

#define opInputSample   0x97

opInputSample

#define opInputTest   0x9B

opInputTest

#define opInputWrite   0x9F

opInputWrite

#define opJmp   0x40

opJmp

#define opJmpEQ1   0x6C

opJmpEQ1

#define opJmpEQ2   0x6D

opJmpEQ2

#define opJmpEQ4   0x6E

opJmpEQ4

#define opJmpEQF   0x6F

opJmpEQF

#define opJmpFalse   0x41

opJmpFalse

#define opJmpGT1   0x68

opJmpGT1

#define opJmpGT2   0x69

opJmpGT2

#define opJmpGT4   0x6A

opJmpGT4

#define opJmpGTEQ1   0x78

opJmpGTEQ1

#define opJmpGTEQ2   0x79

opJmpGTEQ2

#define opJmpGTEQ4   0x7A

opJmpGTEQ4

#define opJmpGTEQF   0x7B

opJmpGTEQF

#define opJmpGTF   0x6B

opJmpGTF

#define opJmpLT1   0x64

opJmpLT1

#define opJmpLT2   0x65

opJmpLT2

#define opJmpLT4   0x66

opJmpLT4

#define opJmpLTEQ1   0x74

opJmpLTEQ1

#define opJmpLTEQ2   0x75

opJmpLTEQ2

#define opJmpLTEQ4   0x76

opJmpLTEQ4

#define opJmpLTEQF   0x77

opJmpLTEQF

#define opJmpLTF   0x67

opJmpLTF

#define opJmpNan   0x43

opJmpNan

#define opJmpNEQ1   0x70

opJmpNEQ1

#define opJmpNEQ2   0x71

opJmpNEQ2

#define opJmpNEQ4   0x72

opJmpNEQ4

#define opJmpNEQF   0x73

opJmpNEQF

#define opJmpTrue   0x42

opJmpTrue

#define opKeepAlive   0x90

opKeepAlive

#define opLabel   0x0D

opLabel

#define opMailboxClose   0xDD

opMailboxClose

#define opMailboxOpen   0xD8

opMailboxOpen

#define opMailboxRead   0xDA

opMailboxRead

#define opMailboxReady   0xDC

opMailboxReady

#define opMailboxTest   0xDB

opMailboxTest

#define opMailboxWrite   0xD9

opMailboxWrite

#define opMath   0x8D

opMath

#define opMemoryRead   0x7F

opMemoryRead

#define opMemoryUsage   0xC5

opMemoryUsage

#define opMemoryWrite   0x7E

opMemoryWrite

#define opMove11   0x30

opMove11

#define opMove12   0x31

opMove12

#define opMove14   0x32

opMove14

#define opMove1F   0x33

opMove1F

#define opMove21   0x34

opMove21

#define opMove22   0x35

opMove22

#define opMove24   0x36

opMove24

#define opMove2F   0x37

opMove2F

#define opMove41   0x38

opMove41

#define opMove42   0x39

opMove42

#define opMove44   0x3A

opMove44

#define opMove4F   0x3B

opMove4F

#define opMoveF1   0x3C

opMoveF1

#define opMoveF2   0x3D

opMoveF2

#define opMoveF4   0x3E

opMoveF4

#define opMoveFF   0x3F

opMoveFF

#define opMul1   0x18

opMul1

#define opMul2   0x19

opMul2

#define opMul4   0x1A

opMul4

#define opMulF   0x1B

opMulF

#define opNop   0x01

opNop

#define opNote2Freq   0x63

opNote2Freq

#define opObjectEnd   0x0A

opObjectEnd

#define opObjectStart   0x05

opObjectStart

#define opObjectStop   0x04

opObjectStop

#define opObjectTrigger   0x06

opObjectTrigger

#define opObjectWait   0x07

opObjectWait

#define opOr1   0x20

opOr1

#define opOr2   0x21

opOr2

#define opOr4   0x22

opOr4

#define opOutputClearCount   0xB2

opOutputClearCount

#define opOutputGetCount   0xB3

opOutputGetCount

#define opOutputGetType   0xA0

opOutputGetType

#define opOutputPolarity   0xA7

opOutputPolarity

#define opOutputPosition   0xAB

opOutputPosition

#define opOutputPower   0xA4

opOutputPower

#define opOutputProgramStop   0xB4

opOutputProgramStop

#define opOutputRead   0xA8

opOutputRead

#define opOutputReady   0xAA

opOutputReady

#define opOutputReset   0xA2

opOutputReset

#define opOutputSetType   0xA1

opOutputSetType

#define opOutputSpeed   0xA5

opOutputSpeed

#define opOutputStart   0xA6

opOutputStart

#define opOutputStepPower   0xAC

opOutputStepPower

#define opOutputStepSpeed   0xAE

opOutputStepSpeed

#define opOutputStepSync   0xB0

opOutputStepSync

#define opOutputStop   0xA3

opOutputStop

#define opOutputTest   0xA9

opOutputTest

#define opOutputTimePower   0xAD

opOutputTimePower

#define opOutputTimeSpeed   0xAF

opOutputTimeSpeed

#define opOutputTimeSync   0xB1

opOutputTimeSync

#define opPortConvertInput   0x62

opPortConvertInput

#define opPortConvertOutput   0x61

opPortConvertOutput

#define opProbe   0x0E

opProbe

#define opProgramInfo   0x0C

opProgramInfo

#define opProgramStart   0x03

opProgramStart

#define opProgramStop   0x02

opProgramStop

#define opRandom   0x8E

opRandom

#define opRead1   0xC8

opRead1

#define opRead2   0xC9

opRead2

#define opRead4   0xCA

opRead4

#define opReadF   0xCB

opReadF

#define opReturn   0x08

opReturn

#define opRl1   0x2C

opRl1

#define opRl2   0x2D

opRl2

#define opRl4   0x2E

opRl4

#define opSelect1   0x5C

opSelect1

#define opSelect2   0x5D

opSelect2

#define opSelect4   0x5E

opSelect4

#define opSelectF   0x5F

opSelectF

#define opSleep   0x0B

opSleep

#define opSound   0x94

opSound

#define opSoundReady   0x96

opSoundReady

#define opSoundTest   0x95

opSoundTest

#define opStrings   0x7D

opStrings

#define opSub1   0x14

opSub1

#define opSub2   0x15

opSub2

#define opSub4   0x16

opSub4

#define opSubF   0x17

opSubF

#define opSystem   0x60

opSystem

#define opTest   0xFF

opTest

#define opTimerRead   0x87

opTimerRead

#define opTimerReadUS   0x8F

opTimerReadUS

#define opTimerReady   0x86

opTimerReady

#define opTimerWait   0x85

opTimerWait

#define opUIButton   0x83

opUIButton

#define opUIDraw   0x84

opUIDraw

#define opUIFlush   0x80

opUIFlush

#define opUIRead   0x81

opUIRead

#define opUIWrite   0x82

opUIWrite

#define opWrite1   0xCC

opWrite1

#define opWrite2   0xCD

opWrite2

#define opWrite4   0xCE

opWrite4

#define opWriteF   0xCF

opWriteF

#define opXor1   0x28

opXor1

#define opXor2   0x29

opXor2

#define opXor4   0x2A

opXor4