Opcodes

object Opcodes(source)

Properties

Link copied to clipboard
const val BADD: Byte = 16

Add two bytes on top of the stack (the first 2 bytes)

Link copied to clipboard
const val BALOAD: Byte

Load a byte from an array

Link copied to clipboard
const val BAND: Byte = 80

Bitwise AND the two bytes on top of the stack

Link copied to clipboard
const val BASTORE: Byte

Store a byte in an array

Link copied to clipboard
const val BCMP: Byte = 112

Compare two bytes

Link copied to clipboard
const val BDEC: Byte = 74

Decrement a byte

Link copied to clipboard
const val BDIV: Byte = 42

Divide two bytes on top of the stack (the first 2 bytes)

Link copied to clipboard
const val BDUP: Byte

Duplicate the top element of the stack

Link copied to clipboard
const val BINC: Byte = 68

Increment a byte

Link copied to clipboard
const val BLOAD: Byte = 5

Load a byte from a local variable onto the stack

Link copied to clipboard
const val BMOD: Byte = 52

Modulo two bytes on top of the stack (the first 2 bytes)

Link copied to clipboard
const val BMUL: Byte = 32

Multiply two bytes on top of the stack (the first 2 bytes)

Link copied to clipboard
const val BNEG: Byte = 62

Negate the byte on top of the stack

Link copied to clipboard
const val BNOT: Byte = 92

Bitwise NOT the top byte on the stack

Link copied to clipboard
const val BOR: Byte = 84

Bitwise OR two bytes on top of the stack

Link copied to clipboard
const val BPOP: Byte

Pop the top element of the stack

Link copied to clipboard
const val BPUSH: Byte = 1

Push a byte onto the stack

Link copied to clipboard
const val BRET: Byte

Store a byte as return value

Link copied to clipboard
const val BSHL: Byte = 96

Bitwise shift left a byte (the top byte is the amount, the second byte is the value to shift)

Link copied to clipboard
const val BSHR: Byte = 100

Bitwise shift right a byte (the top byte is the amount, the second byte is the value to shift)

Link copied to clipboard
const val BSHRU: Byte = 104

Bitwise shift right unsigned a byte (the top byte is the amount, the second byte is the value to shift)

Link copied to clipboard
const val BSTORE: Byte = 9

Store a byte from the stack into a local variable

Link copied to clipboard
const val BSUB: Byte = 22

Subtract two bytes on top of the stack (the first 2 bytes)

Link copied to clipboard
const val BXOR: Byte = 88

Bitwise XOR two bytes on top of the stack

Link copied to clipboard
const val CEQ: Byte = 124

Compare result is equal

Link copied to clipboard
const val CGE: Byte = 126

Compare result is greater than or equal

Link copied to clipboard
const val CGT: Byte = 127

Compare result is greater than

Link copied to clipboard
const val CLE: Byte = 123

Compare result is less than or equal

Link copied to clipboard
const val CLT: Byte = 122

Compare result is less than

Link copied to clipboard
const val CNE: Byte = 125

Compare result is not equal

Link copied to clipboard
const val DADD: Byte = 21

Add two doubles on top of the stack (the first 16 bytes)

Link copied to clipboard
const val DCMP: Byte = 117

Compare two doubles

Link copied to clipboard
const val DDEC: Byte = 79

Decrement a double

Link copied to clipboard
const val DDIV: Byte = 51

Divide two doubles on top of the stack (the first 16 bytes)

Link copied to clipboard
const val DINC: Byte = 73

Increment a double

Link copied to clipboard
const val DMOD: Byte = 61

Modulo two doubles on top of the stack (the first 16 bytes)

Link copied to clipboard
const val DMUL: Byte = 41

Multiply two doubles on top of the stack (the first 16 bytes)

Link copied to clipboard
const val DNEG: Byte = 67

Negate the double on top of the stack

Link copied to clipboard
const val DSUB: Byte = 31

Subtract two doubles on top of the stack (the first 16 bytes)

Link copied to clipboard
const val FADD: Byte = 20

Add two floats on top of the stack (the first 8 bytes)

Link copied to clipboard
const val FCMP: Byte = 116

Compare two floats

Link copied to clipboard
const val FDEC: Byte = 78

Decrement a float

Link copied to clipboard
const val FDIV: Byte = 50

Divide two floats on top of the stack (the first 8 bytes)

Link copied to clipboard
const val FINC: Byte = 72

Increment a float

Link copied to clipboard
const val FMOD: Byte = 60

Modulo two floats on top of the stack (the first 8 bytes)

Link copied to clipboard
const val FMUL: Byte = 40

Multiply two floats on top of the stack (the first 8 bytes)

Link copied to clipboard
const val FNEG: Byte = 66

Negate the float on top of the stack

Link copied to clipboard
const val FSUB: Byte = 30

Subtract two floats on top of the stack (the first 8 bytes)

Link copied to clipboard
const val IADD: Byte = 18

Add two ints on top of the stack (the first 8 bytes)

Link copied to clipboard
const val IALOAD: Byte

Load an int from an array

Link copied to clipboard
const val IAND: Byte = 82

Bitwise AND two ints (the first 8 bytes)

Link copied to clipboard
const val IASTORE: Byte

Store an int in an array

Link copied to clipboard
const val ICMP: Byte = 114

Compare two ints

Link copied to clipboard
const val IDEC: Byte = 76

Decrement an int

Link copied to clipboard
const val IDIV: Byte = 44

Divide two ints on top of the stack (the first 8 bytes)

Link copied to clipboard
const val IDUP: Byte

Duplicate the top 4 elements of the stack

Link copied to clipboard
const val IINC: Byte = 70

Increment an int

Link copied to clipboard
const val ILOAD: Byte = 7

Load an int from a local variable onto the stack

Link copied to clipboard
const val IMOD: Byte = 54

Modulo two ints on top of the stack (the first 8 bytes)

Link copied to clipboard
const val IMUL: Byte = 34

Multiply two ints on top of the stack (the first 8 bytes)

Link copied to clipboard
const val INEG: Byte = 64

Negate the int on top of the stack

Link copied to clipboard
const val INOT: Byte = 94

Bitwise NOT the top int on the stack

Link copied to clipboard
const val INVOKE_STATIC: Byte

Invoke-Static instruction

Link copied to clipboard
const val INVOKE_VIRTUAL: Byte

Invoke instance instruction

Link copied to clipboard
const val IOR: Byte = 86

Bitwise OR two ints (the first 8 bytes)

Link copied to clipboard
const val IPOP: Byte

Pop the top 4 elements of the stack

Link copied to clipboard
const val IPUSH: Byte = 3

Push an int onto the stack

Link copied to clipboard
const val IRET: Byte

Store an int as return value

Link copied to clipboard
const val ISHL: Byte = 98

Bitwise shift left an int (the top byte is the amount, the second int is the value to shift)

Link copied to clipboard
const val ISHR: Byte = 102

Bitwise shift right an int (the top byte is the amount, the second int is the value to shift)

Link copied to clipboard
const val ISHRU: Byte = 106

Bitwise shift right unsigned an int (the top byte is the amount, the second int is the value to shift)

Link copied to clipboard
const val ISTORE: Byte = 11

Store an int from the stack into a local variable

Link copied to clipboard
const val ISUB: Byte = 24

Subtract two ints on top of the stack (the first 8 bytes)

Link copied to clipboard
const val IXOR: Byte = 90

Bitwise XOR two ints (the first 8 bytes)

Link copied to clipboard
const val JE: Byte

Jump to an address if the top two values are equal (takes the top byte value and jumps if it is 1)

Link copied to clipboard
const val JG: Byte

Jump to an address if the top two values are greater than (takes the top byte value and jumps if it is 0)

Link copied to clipboard
const val JGE: Byte

Jump to an address if the top two values are greater than or equal (takes the top byte value and jumps if it is 0 or 1)

Link copied to clipboard
const val JL: Byte

Jump to an address if the top two values are less than (takes the top byte value and jumps if it is 2)

Link copied to clipboard
const val JLE: Byte

Jump to an address if the top two values are less than or equal (takes the top byte value and jumps if it is 1 or 2)

Link copied to clipboard
const val JMP: Byte

Jump to an address

Link copied to clipboard
const val JNE: Byte

Jump to an address if the top two values are not equal (takes the top byte value and jumps if it is not 1)

Link copied to clipboard
const val JNZ: Byte

Jump to an address if there is not a zero on top of the stack (takes the top byte value and jumps if it is 1)

Link copied to clipboard
const val JZ: Byte

Jump to an address if there is a zero on top of the stack (takes the top byte value and jumps if it is 0)

Link copied to clipboard
const val LADD: Byte = 19

Add two longs on top of the stack (the first 16 bytes)

Link copied to clipboard
const val LALOAD: Byte

Load a long from an array

Link copied to clipboard
const val LAND: Byte = 83

Bitwise AND two longs (the first 16 bytes)

Link copied to clipboard
const val LASTORE: Byte

Store a long in an array

Link copied to clipboard
const val LCMP: Byte = 115

Compare two longs

Link copied to clipboard
const val LDEC: Byte = 77

Decrement a long

Link copied to clipboard
const val LDIV: Byte = 45

Divide two longs on top of the stack (the first 16 bytes)

Link copied to clipboard
const val LDUP: Byte

Duplicate the top 8 elements of the stack

Link copied to clipboard
const val LINC: Byte = 71

Increment a long

Link copied to clipboard
const val LLOAD: Byte = 8

Load a long from a local variable onto the stack

Link copied to clipboard
const val LMOD: Byte = 55

Modulo two longs on top of the stack (the first 16 bytes)

Link copied to clipboard
const val LMUL: Byte = 35

Multiply two longs on top of the stack (the first 16 bytes)

Link copied to clipboard
const val LNEG: Byte = 65

Negate the long on top of the stack

Link copied to clipboard
const val LNOT: Byte = 95

Bitwise NOT the top long on the stack

Link copied to clipboard
const val LOAD_STATIC: Byte

Load static field instruction

Link copied to clipboard
const val LOAD_VIRTUAL: Byte

Load instance field instruction

Link copied to clipboard
const val LOR: Byte = 87

Bitwise OR two longs (the first 16 bytes)

Link copied to clipboard
const val LPOP: Byte

Pop the top 8 elements of the stack

Link copied to clipboard
const val LPUSH: Byte = 4

Push a long onto the stack

Link copied to clipboard
const val LRET: Byte

Store a long as return value

Link copied to clipboard
const val LSHL: Byte = 99

Bitwise shift left a long (the top byte is the amount, the second long is the value to shift)

Link copied to clipboard
const val LSHR: Byte = 103

Bitwise shift right a long (the top byte is the amount, the second long is the value to shift)

Link copied to clipboard
const val LSHRU: Byte = 107

Bitwise shift right unsigned a long (the top byte is the amount, the second long is the value to shift)

Link copied to clipboard
const val LSTORE: Byte = 12

Store a long from the stack into a local variable

Link copied to clipboard
const val LSUB: Byte = 25

Subtract two longs on top of the stack (the first 16 bytes)

Link copied to clipboard
const val LXOR: Byte = 91

Bitwise XOR two longs (the first 16 bytes)

Link copied to clipboard
const val NEW_ARR: Byte

Construct a new array

Link copied to clipboard
const val NEW_OBJ: Byte

Construct a new object from a class

Link copied to clipboard
const val NOP: Byte = 0

No instruction

Link copied to clipboard
const val PCAST: Byte

Primitive cast operation. The top element of the stack will be cast.

Link copied to clipboard
const val RET: Byte

Return from a function

Link copied to clipboard
const val SADD: Byte = 17

Add two shorts on top of the stack (the first 4 bytes)

Link copied to clipboard
const val SALOAD: Byte

Load a short from an array

Link copied to clipboard
const val SAND: Byte = 81

Bitwise AND two shorts (the first 4 bytes)

Link copied to clipboard
const val SASTORE: Byte

Store a short in an array

Link copied to clipboard
const val SCMP: Byte = 113

Compare two shorts

Link copied to clipboard
const val SDEC: Byte = 75

Decrement a short

Link copied to clipboard
const val SDIV: Byte = 43

Divide two shorts on top of the stack (the first 4 bytes)

Link copied to clipboard
const val SDUP: Byte

Duplicate the top 2 elements of the stack

Link copied to clipboard
const val SINC: Byte = 69

Increment a short

Link copied to clipboard
const val SLOAD: Byte = 6

Load a short from a local variable onto the stack

Link copied to clipboard
const val SMOD: Byte = 53

Modulo two shorts on top of the stack (the first 4 bytes)

Link copied to clipboard
const val SMUL: Byte = 33

Multiply two shorts on top of the stack (the first 4 bytes)

Link copied to clipboard
const val SNEG: Byte = 63

Negate the short on top of the stack

Link copied to clipboard
const val SNOT: Byte = 93

Bitwise NOT the top short on the stack

Link copied to clipboard
const val SOR: Byte = 85

Bitwise OR two shorts (the first 4 bytes)

Link copied to clipboard
const val SPOP: Byte

Pop the top 2 elements of the stack

Link copied to clipboard
const val SPUSH: Byte = 2

Push a short onto the stack

Link copied to clipboard
const val SRET: Byte

Store a short as return value

Link copied to clipboard
const val SSHL: Byte = 97

Bitwise shift left a short (the top byte is the amount, the second short is the value to shift)

Link copied to clipboard
const val SSHR: Byte = 101

Bitwise shift right a short (the top byte is the amount, the second short is the value to shift)

Link copied to clipboard
const val SSHRU: Byte = 105

Bitwise shift right unsigned a short (the top byte is the amount, the second short is the value to shift)

Link copied to clipboard
const val SSTORE: Byte = 10

Store a short from the stack into a local variable

Link copied to clipboard
const val SSUB: Byte = 23

Subtract two shorts on top of the stack (the first 4 bytes)

Link copied to clipboard
const val STORE_STATIC: Byte

Store a field in a class

Link copied to clipboard
const val STORE_VIRTUAL: Byte

Store a field in an instance

Link copied to clipboard
const val SXOR: Byte = 89

Bitwise XOR two shorts (the first 4 bytes)

Link copied to clipboard
const val THROW: Byte

Throw an exception

Link copied to clipboard
const val UBCMP: Byte = 118

Compare two unsigned bytes

Link copied to clipboard
const val UBDIV: Byte = 46

Divide two unsigned bytes on top of the stack (the first 2 bytes)

Link copied to clipboard
const val UBMOD: Byte = 56

Modulo two unsigned bytes on top of the stack (the first 2 bytes)

Link copied to clipboard
const val UBMUL: Byte = 36

Multiply two unsigned bytes on top of the stack (the first 2 bytes)

Link copied to clipboard
const val UBSUB: Byte = 26

Subtract two unsigned bytes on top of the stack (the first 2 bytes)

Link copied to clipboard
const val UICMP: Byte = 120

Compare two unsigned ints

Link copied to clipboard
const val UIDIV: Byte = 48

Divide two unsigned ints on top of the stack (the first 8 bytes)

Link copied to clipboard
const val UIMOD: Byte = 58

Modulo two unsigned ints on top of the stack (the first 8 bytes)

Link copied to clipboard
const val UIMUL: Byte = 38

Multiply two unsigned ints on top of the stack (the first 8 bytes)

Link copied to clipboard
const val UISUB: Byte = 28

Subtract two unsigned ints on top of the stack (the first 8 bytes)

Link copied to clipboard
const val ULCMP: Byte = 121

Compare two unsigned longs

Link copied to clipboard
const val ULDIV: Byte = 49

Divide two unsigned longs on top of the stack (the first 16 bytes)

Link copied to clipboard
const val ULMOD: Byte = 59

Modulo two unsigned longs on top of the stack (the first 16 bytes)

Link copied to clipboard
const val ULMUL: Byte = 39

Multiply two unsigned longs on top of the stack (the first 16 bytes)

Link copied to clipboard
const val ULSUB: Byte = 29

Subtract two unsigned longs on top of the stack (the first 16 bytes)

Link copied to clipboard
const val USCMP: Byte = 119

Compare two unsigned shorts

Link copied to clipboard
const val USDIV: Byte = 47

Divide two unsigned shorts on top of the stack (the first 4 bytes)

Link copied to clipboard
const val USMOD: Byte = 57

Modulo two unsigned shorts on top of the stack (the first 4 bytes)

Link copied to clipboard
const val USMUL: Byte = 37

Multiply two unsigned shorts on top of the stack (the first 4 bytes)

Link copied to clipboard
const val USSUB: Byte = 27

Subtract two unsigned shorts on top of the stack (the first 4 bytes)