@@ -512,95 +512,119 @@ opcode description reference
5125120x0f dst += src `Arithmetic instructions `_
5135130x14 dst = (uint32_t)(dst - imm) `Arithmetic instructions `_
5145140x15 if dst == imm goto +offset `Jump instructions `_
515+ 0x16 if (uint32_t)dst == imm goto +offset `Jump instructions `_
5155160x17 dst -= imm `Arithmetic instructions `_
5165170x18 dst = imm `Load and store instructions `_
5175180x1c dst = (uint32_t)(dst - src) `Arithmetic instructions `_
5185190x1d if dst == src goto +offset `Jump instructions `_
520+ 0x1e if (uint32_t)dst == (uint32_t)src goto +offset `Jump instructions `_
5195210x1f dst -= src `Arithmetic instructions `_
5205220x20 dst = ntohl(*(uint32_t *)(R6->data + imm)) `Load and store instructions`_
5215230x24 dst = (uint32_t)(dst * imm) `Arithmetic instructions`_
5225240x25 if dst > imm goto +offset `Jump instructions`_
525+ 0x26 if (uint32_t)dst > imm goto +offset `Jump instructions`_
5235260x27 dst *= imm `Arithmetic instructions`_
5245270x28 dst = ntohs(*(uint16_t *)(R6->data + imm)) `Load and store instructions`_
5255280x2c dst = (uint32_t)(dst * src) `Arithmetic instructions`_
5265290x2d if dst > src goto +offset `Jump instructions`_
530+ 0x2e if (uint32_t)dst > (uint32_t)src goto +offset `Jump instructions`_
5275310x2f dst *= src `Arithmetic instructions`_
5285320x30 dst = (*(uint8_t *)(R6->data + imm)) `Load and store instructions`_
5295330x34 dst = (uint32_t)(dst / imm) `Arithmetic instructions`_
5305340x35 if dst >= imm goto +offset `Jump instructions`_
535+ 0x36 if (uint32_t)dst >= imm goto +offset `Jump instructions`_
5315360x37 dst /= imm `Arithmetic instructions`_
5325370x38 dst = ntohll(*(uint64_t *)(R6->data + imm)) `Load and store instructions`_
5335380x3c dst = (uint32_t)(dst / src) `Arithmetic instructions`_
5345390x3d if dst >= src goto +offset `Jump instructions`_
540+ 0x3e if (uint32_t)dst >= (uint32_t)src goto +offset `Jump instructions`_
5355410x3f dst /= src `Arithmetic instructions`_
5365420x40 dst = ntohl(*(uint32_t *)(R6->data + src + imm)) `Load and store instructions`_
5375430x44 dst = (uint32_t)(dst \| imm) `Arithmetic instructions`_
5385440x45 if dst & imm goto +offset `Jump instructions`_
545+ 0x46 if (uint32_t)dst & imm goto +offset `Jump instructions`_
5395460x47 dst |= imm `Arithmetic instructions`_
5405470x48 dst = ntohs(*(uint16_t *)(R6->data + src + imm)) `Load and store instructions`_
5415480x4c dst = (uint32_t)(dst \| src) `Arithmetic instructions`_
5425490x4d if dst & src goto +offset `Jump instructions`_
550+ 0x4e if (uint32_t)dst & (uint32_t)src goto +offset `Jump instructions`_
5435510x4f dst |= src `Arithmetic instructions`_
5445520x50 dst = *(uint8_t *)(R6->data + src + imm)) `Load and store instructions`_
5455530x54 dst = (uint32_t)(dst & imm) `Arithmetic instructions`_
5465540x55 if dst != imm goto +offset `Jump instructions`_
555+ 0x56 if (uint32_t)dst != imm goto +offset `Jump instructions`_
5475560x57 dst &= imm `Arithmetic instructions`_
5485570x58 dst = ntohll(*(uint64_t *)(R6->data + src + imm)) `Load and store instructions`_
5495580x5c dst = (uint32_t)(dst & src) `Arithmetic instructions`_
5505590x5d if dst != src goto +offset `Jump instructions`_
560+ 0x5e if (uint32_t)dst != (uint32_t)src goto +offset `Jump instructions`_
5515610x5f dst &= src `Arithmetic instructions`_
5525620x61 dst = *(uint32_t *)(src + offset) `Load and store instructions`_
5535630x62 *(uint32_t *)(dst + offset) = imm `Load and store instructions`_
5545640x63 *(uint32_t *)(dst + offset) = src `Load and store instructions`_
5555650x64 dst = (uint32_t)(dst << imm) `Arithmetic instructions`_
5565660x65 if dst s> imm goto +offset `Jump instructions`_
567+ 0x66 if (int32_t)dst s> (int32_t)imm goto +offset `Jump instructions`_
5575680x67 dst <<= imm `Arithmetic instructions`_
5585690x69 dst = *(uint16_t *)(src + offset) `Load and store instructions`_
5595700x6a *(uint16_t *)(dst + offset) = imm `Load and store instructions`_
5605710x6b *(uint16_t *)(dst + offset) = src `Load and store instructions`_
5615720x6c dst = (uint32_t)(dst << src) `Arithmetic instructions`_
5625730x6d if dst s> src goto +offset `Jump instructions`_
574+ 0x6e if (int32_t)dst s> (int32_t)src goto +offset `Jump instructions`_
5635750x6f dst <<= src `Arithmetic instructions`_
5645760x71 dst = *(uint8_t *)(src + offset) `Load and store instructions`_
5655770x72 *(uint8_t *)(dst + offset) = imm `Load and store instructions`_
5665780x73 *(uint8_t *)(dst + offset) = src `Load and store instructions`_
5675790x74 dst = (uint32_t)(dst >> imm) `Arithmetic instructions`_
5685800x75 if dst s>= imm goto +offset `Jump instructions`_
581+ 0x76 if (int32_t)dst s>= (int32_t)imm goto +offset `Jump instructions`_
5695820x77 dst >>= imm `Arithmetic instructions`_
5705830x79 dst = *(uint64_t *)(src + offset) `Load and store instructions`_
5715840x7a *(uint64_t *)(dst + offset) = imm `Load and store instructions`_
5725850x7b *(uint64_t *)(dst + offset) = src `Load and store instructions`_
5735860x7c dst = (uint32_t)(dst >> src) `Arithmetic instructions`_
5745870x7d if dst s>= src goto +offset `Jump instructions`_
588+ 0x7e if (int32_t)dst s>= (int32_t)src goto +offset `Jump instructions`_
5755890x7f dst >>= src `Arithmetic instructions`_
5765900x84 dst = (uint32_t)-dst `Arithmetic instructions`_
5775910x85 call imm `Jump instructions`_
5785920x87 dst = -dst `Arithmetic instructions`_
5795930x94 dst = (uint32_t)(dst % imm) `Arithmetic instructions`_
580- 0x95 exit `Jump instructions`_
594+ 0x95 return `Jump instructions`_
5815950x97 dst %= imm `Arithmetic instructions`_
5825960x9c dst = (uint32_t)(dst % src) `Arithmetic instructions`_
5835970x9f dst %= src `Arithmetic instructions`_
5845980xa4 dst = (uint32_t)(dst ^ imm) `Arithmetic instructions`_
5855990xa5 if dst < imm goto +offset `Jump instructions`_
600+ 0xa6 if (uint32_t)dst < imm goto +offset `Jump instructions`_
5866010xa7 dst ^= imm `Arithmetic instructions`_
5876020xac dst = (uint32_t)(dst ^ src) `Arithmetic instructions`_
5886030xad if dst < src goto +offset `Jump instructions`_
604+ 0xae if (uint32_t)dst < (uint32_t)src goto +offset `Jump instructions`_
5896050xaf dst ^= src `Arithmetic instructions`_
5906060xb4 dst = (uint32_t) imm `Arithmetic instructions`_
5916070xb5 if dst <= imm goto +offset `Jump instructions`_
608+ 0xa6 if (uint32_t)dst <= imm goto +offset `Jump instructions`_
5926090xb7 dst = imm `Arithmetic instructions`_
5936100xbc dst = (uint32_t) src `Arithmetic instructions`_
5946110xbd if dst <= src goto +offset `Jump instructions`_
612+ 0xbe if (uint32_t)dst <= (uint32_t)src goto +offset `Jump instructions`_
5956130xbf dst = src `Arithmetic instructions`_
614+ 0xc3 (see reference) `Atomic operations`_
5966150xc4 dst = (uint32_t)(dst s>> imm) `Arithmetic instructions`_
5976160xc5 if dst s< imm goto +offset `Jump instructions`_
617+ 0xc6 if (int32_t)dst s< (int32_t)imm goto +offset `Jump instructions`_
5986180xc7 dst s>>= imm `Arithmetic instructions`_
5996190xcc dst = (uint32_t)(dst s>> src) `Arithmetic instructions`_
6006200xcd if dst s< src goto +offset `Jump instructions`_
621+ 0xce if (int32_t)dst s< (int32_t)src goto +offset `Jump instructions`_
6016220xcf dst s>>= src `Arithmetic instructions`_
6026230xd4 dst = htole.imm(dst) `Byte swap instructions`_
6036240xd5 if dst s<= imm goto +offset `Jump instructions`_
625+ 0xd6 if (int32_t)dst s<= (int32_t)imm goto +offset `Jump instructions`_
626+ 0xdb (see reference) `Atomic operations`_
6046270xdc dst = htobe.imm(dst) `Byte swap instructions`_
6056280xdd if dst s<= src goto +offset `Jump instructions`_
629+ 0xde if (int32_t)dst s<= (int32_t)src goto +offset `Jump instructions`_
606630====== ================================================= =============
0 commit comments