Bit Organization table
Bits | Bytecode | Instruction | Arguments |
0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0x00 | nop | |
0 | 0 | 0 | 0 | 1 | 0x01 | invalid | |
0 | 0 | 0 | 1 | 0 | 0x02 | pop | |
0 | 0 | 0 | 1 | 1 | 0x03 | dup | |
0 | 0 | 1 | 0 | 0 | 0x04 | swap | |
0 | 0 | 1 | 0 | 1 | 0x05 | call | Function | |
0 | 0 | 1 | 1 | 0 | 0x06 | call.virt | |
0 | 0 | 1 | 1 | 1 | 0x07 | ret | |
0 | 1 | 0 | 0 | 0 | 0x08 | break | |
0 | 1 | 0 | 0 | 1 | 0x09 | jmp | addr | |
0 | 1 | 0 | 1 | 0 | 0x0A | jmp.if.zero | addr | |
0 | 1 | 0 | 1 | 1 | 0x0B | jmp.if.nzero | addr | |
0 | 1 | 1 | 0 | 0 | 0x0C | jmp.if.eq | addr | |
0 | 1 | 1 | 0 | 1 | 0x0D | jmp.if.neq | addr | |
0 | 1 | 1 | 1 | 0 | 0x0E | jmp.if.gr | addr | |
0 | 1 | 1 | 1 | 1 | 0x0F | jmp.if.ge | addr | |
1 | 0 | 0 | 0 | 0 | 0x10 | jmp.if.ls | addr | |
1 | 0 | 0 | 0 | 1 | 0x11 | jmp.if.le | addr | |
1 | 0 | 0 | 1 | 0 | 0x12 | jmp.if.zero.set | addr | |
1 | 0 | 0 | 1 | 1 | 0x13 | jmp.if.nzero.clear | addr | |
1 | 0 | 1 | 0 | 0 | 0x14 | jmp.if.carry.set | addr | |
1 | 0 | 1 | 0 | 1 | 0x15 | jmp.if.carry.clear | addr | |
1 | 0 | 1 | 1 | 0 | 0x16 | jmp.if.sign.set | addr | |
1 | 0 | 1 | 1 | 1 | 0x17 | jmp.if.sign.clear | addr | |
1 | 1 | 0 | 0 | 0 | 0x18 | jmp.if.ovf.set | addr | |
1 | 1 | 0 | 0 | 1 | 0x19 | jmp.if.ofv.clear | addr | |
0 | 0 | 1 |
0 | 0 | 0 | 0 | 0 | 0x20 | add | |
0 | 0 | 0 | 0 | 1 | 0x21 | sub | |
0 | 0 | 0 | 1 | 0 | 0x22 | mul.s | |
0 | 0 | 0 | 1 | 1 | 0x23 | mul.u | |
0 | 0 | 1 | 0 | 0 | 0x24 | div.s | |
0 | 0 | 1 | 0 | 1 | 0x25 | div.u | |
0 | 0 | 1 | 1 | 0 | 0x26 | rem.s | |
0 | 0 | 1 | 1 | 1 | 0x27 | rem.u | |
0 | 1 | 0 | 0 | 0 | 0x28 | neg | |
0 | 1 | 0 | 0 | 1 | 0x29 | not | |
0 | 1 | 0 | 1 | 0 | 0x2A | and | |
0 | 1 | 0 | 1 | 1 | 0x2B | or | |
0 | 1 | 1 | 0 | 0 | 0x2C | xor | |
0 | 1 | 1 | 0 | 0 | 0x2D | shr | |
0 | 1 | 1 | 0 | 1 | 0x2E | shl | |
0 | 1 | 1 | 1 | 0 | 0x2F | ror | |
0 | 1 | 1 | 1 | 1 | 0x30 | rol | |
0 | 1 | 0 |
0 | 0 | 0 | 0 | 0 | 0x40 | block | |
0 | 0 | 0 | 0 | 1 | 0x41 | loop | |
0 | 0 | 0 | 1 | 0 | 0x42 | if | |
0 | 0 | 0 | 1 | 1 | 0x43 | else | |
0 | 0 | 1 | 0 | 0 | 0x44 | switch | imm8 | |
0 | 0 | 1 | 0 | 1 | 0x45 | end | |
0 | 1 | 1 |
0 | 0 | 0 | 0 | 0 | 0x60 | ld.const.i1 0 | |
0 | 0 | 0 | 0 | 1 | 0x61 | ld.const.i1 1 | |
0 | 0 | 0 | 1 | 0 | 0x62 | ld.const.i8 | imm8 | |
0 | 0 | 0 | 1 | 1 | 0x63 | ld.const.i16 | imm16 | |
0 | 0 | 1 | 0 | 0 | 0x64 | ld.const.i32 | imm32 | |
0 | 0 | 1 | 0 | 1 | 0x65 | ld.const.i64 | imm64 | |
0 | 0 | 1 | 1 | 0 | 0x66 | ld.const.i128 | imm128 | |
0 | 0 | 1 | 1 | 1 | 0x67 | ld.const.iptr | immPtr | |
0 | 1 | 0 | 0 | 0 | 0x68 | ld.const.i[n] | imm8 | imm[n] |
0 | 1 | 0 | 0 | 1 | 0x69 | ld.const.null | |
0 | 1 | 0 | 1 | 0 | 0x6A | ld.new.slice | type | imm32 |
0 | 1 | 0 | 1 | 1 | 0x6B | ld.new.type | type | |
0 | 1 | 1 | 0 | 0 | 0x6C | ld.local | imm8 | |
0 | 1 | 1 | 0 | 1 | 0x6D | ld.local | imm16 | |
0 | 1 | 1 | 0 | 0 | 0x6E | ld.local.ref | imm8 | |
0 | 1 | 1 | 0 | 1 | 0x6F | ld.local.ref | imm16 | |
0 | 1 | 1 | 1 | 0 | 0x70 | ld.arg.0 | |
0 | 1 | 1 | 1 | 1 | 0x71 | ld.arg.1 | |
1 | 0 | 0 | 0 | 0 | 0x72 | ld.arg.2 | |
1 | 0 | 0 | 0 | 1 | 0x73 | ld.arg.3 | |
1 | 0 | 0 | 0 | 1 | 0x74 | ld.field | |
1 | 0 | 0 | 0 | 1 | 0x75 | ld.field.ref | |
1 | 0 | 0 | 0 | 1 | 0x76 | ld.func.ref | |
1 | 0 | 0 | 0 | 1 | 0x77 | ld.type.ref | |
1 | 0 | 0 | 1 | 0 | 0x78 | ld.index | |
1 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0x80 | st.local | imm8 | |
0 | 0 | 0 | 0 | 1 | 0x81 | st.local | imm16 | |
0 | 0 | 0 | 1 | 0 | 0x82 | st.field | Field | |
0 | 0 | 0 | 1 | 1 | 0x83 | st.index | |
1 | 0 | 1 |
0 | 0 | 0 | 0 | 0 | 0xA0 | extend | imm8 | |
0 | 0 | 0 | 0 | 1 | 0xA1 | trunc | imm8 | |
0 | 0 | 0 | 1 | 0 | 0xA2 | sigcast.s | |
0 | 0 | 0 | 1 | 0 | 0xA2 | sigcast.u | |
0 | 0 | 0 | 1 | 0 | 0xA2 | bitcast | imm8 | |
1 | 1 | 0 |
0 | 0 | 0 | 0 | 0 | 0xC0 | mem.copy | |
0 | 0 | 0 | 0 | 1 | 0xC1 | mem.fill | |
0 | 0 | 0 | 1 | 0 | 0xC2 | mem.eq | |
1 | 1 | 1 |
0 | 0 | 0 | 0 | 0 | 0xE0 | allow.ovf. | |
0 | 0 | 0 | 0 | 1 | 0xE1 | allow.nil. | |
0 | 0 | 0 | 1 | 0 | 0xE2 | src.offset.global | imm32 | |
0 | 0 | 0 | 1 | 1 | 0xE3 | src.offset.rel | imm8 | |
0 | 0 | 1 | 0 | 0 | 0xE4 | src.offset.rel | imm16 | |