summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/v60/optable.inc
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/v60/optable.inc')
-rw-r--r--src/devices/cpu/v60/optable.inc261
1 files changed, 261 insertions, 0 deletions
diff --git a/src/devices/cpu/v60/optable.inc b/src/devices/cpu/v60/optable.inc
new file mode 100644
index 00000000000..87de19686bc
--- /dev/null
+++ b/src/devices/cpu/v60/optable.inc
@@ -0,0 +1,261 @@
+// license:BSD-3-Clause
+// copyright-holders:Farfetch'd, R. Belmont
+const v60_device::am_func v60_device::s_OpCodeTable[256] =
+{
+ /* 0x00 */ &v60_device::opHALT,
+ /* 0x01 */ &v60_device::opLDTASK,
+ /* 0x02 */ &v60_device::opSTPR,
+ /* 0x03 */ &v60_device::opUNHANDLED,
+ /* 0x04 */ &v60_device::opUNHANDLED,
+ /* 0x05 */ &v60_device::opUNHANDLED,
+ /* 0x06 */ &v60_device::opUNHANDLED,
+ /* 0x07 */ &v60_device::opUNHANDLED,
+ /* 0x08 */ &v60_device::opRVBIT,
+ /* 0x09 */ &v60_device::opMOVB,
+ /* 0x0a */ &v60_device::opMOVSBH,
+ /* 0x0b */ &v60_device::opMOVZBH,
+ /* 0x0c */ &v60_device::opMOVSBW,
+ /* 0x0d */ &v60_device::opMOVZBW,
+ /* 0x0e */ &v60_device::opUNHANDLED,
+ /* 0x0f */ &v60_device::opUNHANDLED,
+ /* 0x10 */ &v60_device::opCLRTLBA,
+ /* 0x11 */ &v60_device::opUNHANDLED,
+ /* 0x12 */ &v60_device::opLDPR,
+ /* 0x13 */ &v60_device::opUPDPSWW,
+ /* 0x14 */ &v60_device::opUNHANDLED,
+ /* 0x15 */ &v60_device::opUNHANDLED,
+ /* 0x16 */ &v60_device::opUNHANDLED,
+ /* 0x17 */ &v60_device::opUNHANDLED,
+ /* 0x18 */ &v60_device::opUNHANDLED,
+ /* 0x19 */ &v60_device::opMOVTHB,
+ /* 0x1a */ &v60_device::opUNHANDLED,
+ /* 0x1b */ &v60_device::opMOVH,
+ /* 0x1c */ &v60_device::opMOVSHW,
+ /* 0x1d */ &v60_device::opMOVZHW,
+ /* 0x1e */ &v60_device::opUNHANDLED,
+ /* 0x1f */ &v60_device::opUNHANDLED,
+ /* 0x20 */ &v60_device::opINB,
+ /* 0x21 */ &v60_device::opOUTB,
+ /* 0x22 */ &v60_device::opINH,
+ /* 0x23 */ &v60_device::opOUTH,
+ /* 0x24 */ &v60_device::opINW,
+ /* 0x25 */ &v60_device::opOUTW,
+ /* 0x26 */ &v60_device::opUNHANDLED,
+ /* 0x27 */ &v60_device::opUNHANDLED,
+ /* 0x28 */ &v60_device::opUNHANDLED,
+ /* 0x29 */ &v60_device::opMOVTWB,
+ /* 0x2a */ &v60_device::opUNHANDLED,
+ /* 0x2b */ &v60_device::opMOVTWH,
+ /* 0x2c */ &v60_device::opRVBYT,
+ /* 0x2d */ &v60_device::opMOVW,
+ /* 0x2e */ &v60_device::opUNHANDLED,
+ /* 0x2f */ &v60_device::opUNHANDLED,
+ /* 0x30 */ &v60_device::opUNHANDLED,
+ /* 0x31 */ &v60_device::opUNHANDLED,
+ /* 0x32 */ &v60_device::opUNHANDLED,
+ /* 0x33 */ &v60_device::opUNHANDLED,
+ /* 0x34 */ &v60_device::opUNHANDLED,
+ /* 0x35 */ &v60_device::opUNHANDLED,
+ /* 0x36 */ &v60_device::opUNHANDLED,
+ /* 0x37 */ &v60_device::opUNHANDLED,
+ /* 0x38 */ &v60_device::opNOTB,
+ /* 0x39 */ &v60_device::opNEGB,
+ /* 0x3a */ &v60_device::opNOTH,
+ /* 0x3b */ &v60_device::opNEGH,
+ /* 0x3c */ &v60_device::opNOTW,
+ /* 0x3d */ &v60_device::opNEGW,
+ /* 0x3e */ &v60_device::opUNHANDLED,
+ /* 0x3f */ &v60_device::opMOVD,
+ /* 0x40 */ &v60_device::opMOVEAB,
+ /* 0x41 */ &v60_device::opXCHB,
+ /* 0x42 */ &v60_device::opMOVEAH,
+ /* 0x43 */ &v60_device::opXCHH,
+ /* 0x44 */ &v60_device::opMOVEAW,
+ /* 0x45 */ &v60_device::opXCHW,
+ /* 0x46 */ &v60_device::opUNHANDLED,
+ /* 0x47 */ &v60_device::opSETF,
+ /* 0x48 */ &v60_device::opBSR,
+ /* 0x49 */ &v60_device::opCALL,
+ /* 0x4a */ &v60_device::opUPDPSWH,
+ /* 0x4b */ &v60_device::opCHLVL,
+ /* 0x4c */ &v60_device::opUNHANDLED,
+ /* 0x4d */ &v60_device::opCHKAR,
+ /* 0x4e */ &v60_device::opCHKAW,
+ /* 0x4f */ &v60_device::opCHKAE,
+ /* 0x50 */ &v60_device::opREMB,
+ /* 0x51 */ &v60_device::opREMUB,
+ /* 0x52 */ &v60_device::opREMH,
+ /* 0x53 */ &v60_device::opREMUH,
+ /* 0x54 */ &v60_device::opREMW,
+ /* 0x55 */ &v60_device::opREMUW,
+ /* 0x56 */ &v60_device::opUNHANDLED,
+ /* 0x57 */ &v60_device::opUNHANDLED,
+ /* 0x58 */ &v60_device::op58,
+ /* 0x59 */ &v60_device::op59,
+ /* 0x5a */ &v60_device::op5A,
+ /* 0x5b */ &v60_device::op5B,
+ /* 0x5c */ &v60_device::op5C,
+ /* 0x5d */ &v60_device::op5D,
+ /* 0x5e */ &v60_device::opUNHANDLED,
+ /* 0x5f */ &v60_device::op5F,
+ /* 0x60 */ &v60_device::opBV8,
+ /* 0x61 */ &v60_device::opBNV8,
+ /* 0x62 */ &v60_device::opBL8,
+ /* 0x63 */ &v60_device::opBNL8,
+ /* 0x64 */ &v60_device::opBE8,
+ /* 0x65 */ &v60_device::opBNE8,
+ /* 0x66 */ &v60_device::opBNH8,
+ /* 0x67 */ &v60_device::opBH8,
+ /* 0x68 */ &v60_device::opBN8,
+ /* 0x69 */ &v60_device::opBP8,
+ /* 0x6a */ &v60_device::opBR8,
+ /* 0x6b */ &v60_device::opUNHANDLED,
+ /* 0x6C */ &v60_device::opBLT8,
+ /* 0x6c */ &v60_device::opBGE8,
+ /* 0x6e */ &v60_device::opBLE8,
+ /* 0x6f */ &v60_device::opBGT8,
+ /* 0x70 */ &v60_device::opBV16,
+ /* 0x71 */ &v60_device::opBNV16,
+ /* 0x72 */ &v60_device::opBL16,
+ /* 0x73 */ &v60_device::opBNL16,
+ /* 0x74 */ &v60_device::opBE16,
+ /* 0x75 */ &v60_device::opBNE16,
+ /* 0x76 */ &v60_device::opBNH16,
+ /* 0x77 */ &v60_device::opBH16,
+ /* 0x78 */ &v60_device::opBN16,
+ /* 0x79 */ &v60_device::opBP16,
+ /* 0x7a */ &v60_device::opBR16,
+ /* 0x7b */ &v60_device::opUNHANDLED,
+ /* 0x7c */ &v60_device::opBLT16,
+ /* 0x7d */ &v60_device::opBGE16,
+ /* 0x7e */ &v60_device::opBLE16,
+ /* 0x7f */ &v60_device::opBGT16,
+ /* 0x80 */ &v60_device::opADDB,
+ /* 0x81 */ &v60_device::opMULB,
+ /* 0x82 */ &v60_device::opADDH,
+ /* 0x83 */ &v60_device::opMULH,
+ /* 0x84 */ &v60_device::opADDW,
+ /* 0x85 */ &v60_device::opMULW,
+ /* 0x86 */ &v60_device::opMULX,
+ /* 0x87 */ &v60_device::opTEST1,
+ /* 0x88 */ &v60_device::opORB,
+ /* 0x89 */ &v60_device::opROTB,
+ /* 0x8a */ &v60_device::opORH,
+ /* 0x8b */ &v60_device::opROTH,
+ /* 0x8c */ &v60_device::opORW,
+ /* 0x8d */ &v60_device::opROTW,
+ /* 0x8e */ &v60_device::opUNHANDLED,
+ /* 0x8f */ &v60_device::opUNHANDLED,
+ /* 0x90 */ &v60_device::opADDCB,
+ /* 0x91 */ &v60_device::opMULUB,
+ /* 0x92 */ &v60_device::opADDCH,
+ /* 0x93 */ &v60_device::opMULUH,
+ /* 0x94 */ &v60_device::opADDCW,
+ /* 0x95 */ &v60_device::opMULUW,
+ /* 0x96 */ &v60_device::opMULUX,
+ /* 0x97 */ &v60_device::opSET1,
+ /* 0x98 */ &v60_device::opSUBCB,
+ /* 0x99 */ &v60_device::opROTCB,
+ /* 0x9a */ &v60_device::opSUBCH,
+ /* 0x9b */ &v60_device::opROTCH,
+ /* 0x9c */ &v60_device::opSUBCW,
+ /* 0x9d */ &v60_device::opROTCW,
+ /* 0x9e */ &v60_device::opUNHANDLED,
+ /* 0x9f */ &v60_device::opUNHANDLED,
+ /* 0xa0 */ &v60_device::opANDB,
+ /* 0xa1 */ &v60_device::opDIVB,
+ /* 0xa2 */ &v60_device::opANDH,
+ /* 0xa3 */ &v60_device::opDIVH,
+ /* 0xa4 */ &v60_device::opANDW,
+ /* 0xa5 */ &v60_device::opDIVW,
+ /* 0xa6 */ &v60_device::opDIVX,
+ /* 0xa7 */ &v60_device::opCLR1,
+ /* 0xa8 */ &v60_device::opSUBB,
+ /* 0xa9 */ &v60_device::opSHLB,
+ /* 0xaa */ &v60_device::opSUBH,
+ /* 0xab */ &v60_device::opSHLH,
+ /* 0xac */ &v60_device::opSUBW,
+ /* 0xad */ &v60_device::opSHLW,
+ /* 0xae */ &v60_device::opUNHANDLED,
+ /* 0xaf */ &v60_device::opUNHANDLED,
+ /* 0xb0 */ &v60_device::opXORB,
+ /* 0xb1 */ &v60_device::opDIVUB,
+ /* 0xb2 */ &v60_device::opXORH,
+ /* 0xb3 */ &v60_device::opDIVUH,
+ /* 0xb4 */ &v60_device::opXORW,
+ /* 0xb5 */ &v60_device::opDIVUW,
+ /* 0xb6 */ &v60_device::opDIVUX,
+ /* 0xb7 */ &v60_device::opNOT1,
+ /* 0xb8 */ &v60_device::opCMPB,
+ /* 0xb9 */ &v60_device::opSHAB,
+ /* 0xba */ &v60_device::opCMPH,
+ /* 0xbb */ &v60_device::opSHAH,
+ /* 0xbc */ &v60_device::opCMPW,
+ /* 0xbd */ &v60_device::opSHAW,
+ /* 0xbe */ &v60_device::opUNHANDLED,
+ /* 0xbf */ &v60_device::opUNHANDLED,
+ /* 0xc0 */ &v60_device::opUNHANDLED,
+ /* 0xc1 */ &v60_device::opUNHANDLED,
+ /* 0xc2 */ &v60_device::opUNHANDLED,
+ /* 0xc3 */ &v60_device::opUNHANDLED,
+ /* 0xc4 */ &v60_device::opUNHANDLED,
+ /* 0xc5 */ &v60_device::opUNHANDLED,
+ /* 0xc6 */ &v60_device::opC6,
+ /* 0xc7 */ &v60_device::opC7,
+ /* 0xc8 */ &v60_device::opBRK,
+ /* 0xc9 */ &v60_device::opBRKV,
+ /* 0xca */ &v60_device::opRSR,
+ /* 0xcb */ &v60_device::opTRAPFL,
+ /* 0xcc */ &v60_device::opDISPOSE,
+ /* 0xcd */ &v60_device::opNOP,
+ /* 0xce */ &v60_device::opUNHANDLED,
+ /* 0xcf */ &v60_device::opUNHANDLED,
+ /* 0xd0 */ &v60_device::opDECB_0,
+ /* 0xd1 */ &v60_device::opDECB_1,
+ /* 0xd2 */ &v60_device::opDECH_0,
+ /* 0xd3 */ &v60_device::opDECH_1,
+ /* 0xd4 */ &v60_device::opDECW_0,
+ /* 0xd5 */ &v60_device::opDECW_1,
+ /* 0xd6 */ &v60_device::opJMP_0,
+ /* 0xd7 */ &v60_device::opJMP_1,
+ /* 0xd8 */ &v60_device::opINCB_0,
+ /* 0xd9 */ &v60_device::opINCB_1,
+ /* 0xda */ &v60_device::opINCH_0,
+ /* 0xdb */ &v60_device::opINCH_1,
+ /* 0xdc */ &v60_device::opINCW_0,
+ /* 0xdd */ &v60_device::opINCW_1,
+ /* 0xde */ &v60_device::opPREPARE_0,
+ /* 0xdf */ &v60_device::opPREPARE_1,
+ /* 0xe0 */ &v60_device::opTASI_0,
+ /* 0xe1 */ &v60_device::opTASI_1,
+ /* 0xe2 */ &v60_device::opRET_0,
+ /* 0xe3 */ &v60_device::opRET_1,
+ /* 0xe4 */ &v60_device::opPOPM_0,
+ /* 0xe5 */ &v60_device::opPOPM_1,
+ /* 0xe6 */ &v60_device::opPOP_0,
+ /* 0xe7 */ &v60_device::opPOP_1,
+ /* 0xe8 */ &v60_device::opJSR_0,
+ /* 0xe9 */ &v60_device::opJSR_1,
+ /* 0xea */ &v60_device::opRETIU_0,
+ /* 0xeb */ &v60_device::opRETIU_1,
+ /* 0xec */ &v60_device::opPUSHM_0,
+ /* 0xed */ &v60_device::opPUSHM_1,
+ /* 0xee */ &v60_device::opPUSH_0,
+ /* 0xef */ &v60_device::opPUSH_1,
+ /* 0xf0 */ &v60_device::opTESTB_0,
+ /* 0xf1 */ &v60_device::opTESTB_1,
+ /* 0xf2 */ &v60_device::opTESTH_0,
+ /* 0xf3 */ &v60_device::opTESTH_1,
+ /* 0xf4 */ &v60_device::opTESTW_0,
+ /* 0xf5 */ &v60_device::opTESTW_1,
+ /* 0xf6 */ &v60_device::opGETPSW_0,
+ /* 0xf7 */ &v60_device::opGETPSW_1,
+ /* 0xf8 */ &v60_device::opTRAP_0,
+ /* 0xf9 */ &v60_device::opTRAP_1,
+ /* 0xfa */ &v60_device::opRETIS_0,
+ /* 0xfb */ &v60_device::opRETIS_1,
+ /* 0xfc */ &v60_device::opSTTASK_0,
+ /* 0xfd */ &v60_device::opSTTASK_1,
+ /* 0xfe */ &v60_device::opCLRTLB_0,
+ /* 0xff */ &v60_device::opCLRTLB_1,
+};