Rizin
unix-like reverse engineering framework and cli tools
m6808.inc
Go to the documentation of this file.
1 
2 // Additional instructions only supported on M68HC08
3 static const inst_pageX g_m6808_inst_overlay_table[] = {
4  { 0x31, M680X_INS_CBEQ, dir_hid, rel8_hid },
5  { 0x35, M680X_INS_STHX, dir_hid, inh_hid },
6  { 0x3b, M680X_INS_DBNZ, dir_hid, rel8_hid },
7  { 0x41, M680X_INS_CBEQA, imm8rel_hid, inh_hid },
8  { 0x45, M680X_INS_LDHX, imm16_hid, inh_hid },
9  { 0x4b, M680X_INS_DBNZA, rel8_hid, inh_hid },
10  { 0x4e, M680X_INS_MOV, dir_hid, dir_hid },
11  { 0x51, M680X_INS_CBEQX, imm8rel_hid, inh_hid },
12  { 0x52, M680X_INS_DIV, inh_hid, inh_hid },
13  { 0x55, M680X_INS_LDHX, dir_hid, inh_hid },
14  { 0x5b, M680X_INS_DBNZX, rel8_hid, inh_hid },
15  { 0x5e, M680X_INS_MOV, dir_hid, idxX0p_hid },
16  { 0x61, M680X_INS_CBEQ, idxXp_hid, rel8_hid },
17  { 0x62, M680X_INS_NSA, inh_hid, inh_hid },
18  { 0x65, M680X_INS_CPHX, imm16_hid, inh_hid },
19  { 0x6b, M680X_INS_DBNZ, idxX_hid, rel8_hid },
20  { 0x6e, M680X_INS_MOV, imm8_hid, dir_hid },
21  { 0x71, M680X_INS_CBEQ, idxX0p_hid, rel8_hid },
22  { 0x72, M680X_INS_DAA, inh_hid, inh_hid },
23  { 0x75, M680X_INS_CPHX, dir_hid, inh_hid },
24  { 0x7b, M680X_INS_DBNZ, idxX0_hid, rel8_hid },
25  { 0x7e, M680X_INS_MOV, idxX0p_hid, dir_hid },
26  { 0x84, M680X_INS_TAP, inh_hid, inh_hid },
27  { 0x85, M680X_INS_TPA, inh_hid, inh_hid },
28  { 0x86, M680X_INS_PULA, inh_hid, inh_hid },
29  { 0x87, M680X_INS_PSHA, inh_hid, inh_hid },
30  { 0x88, M680X_INS_PULX, inh_hid, inh_hid },
31  { 0x89, M680X_INS_PSHX, inh_hid, inh_hid },
32  { 0x8a, M680X_INS_PULH, inh_hid, inh_hid },
33  { 0x8b, M680X_INS_PSHH, inh_hid, inh_hid },
34  { 0x8c, M680X_INS_CLRH, inh_hid, inh_hid },
35  { 0x90, M680X_INS_BGE, rel8_hid, inh_hid },
36  { 0x91, M680X_INS_BLT, rel8_hid, inh_hid },
37  { 0x92, M680X_INS_BGT, rel8_hid, inh_hid },
38  { 0x93, M680X_INS_BLE, rel8_hid, inh_hid },
39  { 0x94, M680X_INS_TXS, inh_hid, inh_hid },
40  { 0x95, M680X_INS_TSX, inh_hid, inh_hid },
41  { 0x97, M680X_INS_TAX, inh_hid, inh_hid },
42  { 0x9f, M680X_INS_TXA, inh_hid, inh_hid },
43  { 0xa7, M680X_INS_AIS, imm8_hid, inh_hid },
44  { 0xaf, M680X_INS_AIX, imm8_hid, inh_hid },
45 };
46 
47 // M68HC08 PAGE2 instructions (prefix 0x9E)
48 static const inst_pageX g_m6808_inst_page2_table[] = {
49  { 0x60, M680X_INS_NEG, idxS_hid, inh_hid },
50  { 0x61, M680X_INS_CBEQ, idxS_hid, rel8_hid },
51  { 0x63, M680X_INS_COM, idxS_hid, inh_hid },
52  { 0x64, M680X_INS_LSR, idxS_hid, inh_hid },
53  { 0x66, M680X_INS_ROR, idxS_hid, inh_hid },
54  { 0x67, M680X_INS_ASR, idxS_hid, inh_hid },
55  { 0x68, M680X_INS_LSL, idxS_hid, inh_hid },
56  { 0x69, M680X_INS_ROL, idxS_hid, inh_hid },
57  { 0x6a, M680X_INS_DEC, idxS_hid, inh_hid },
58  { 0x6b, M680X_INS_DBNZ, idxS_hid, rel8_hid },
59  { 0x6c, M680X_INS_INC, idxS_hid, inh_hid },
60  { 0x6d, M680X_INS_TST, idxS_hid, inh_hid },
61  { 0x6f, M680X_INS_CLR, idxS_hid, inh_hid },
62  { 0xd0, M680X_INS_SUB, idxS16_hid, inh_hid },
63  { 0xd1, M680X_INS_CMP, idxS16_hid, inh_hid },
64  { 0xd2, M680X_INS_SBC, idxS16_hid, inh_hid },
65  { 0xd3, M680X_INS_CPX, idxS16_hid, inh_hid },
66  { 0xd4, M680X_INS_AND, idxS16_hid, inh_hid },
67  { 0xd5, M680X_INS_BIT, idxS16_hid, inh_hid },
68  { 0xd6, M680X_INS_LDA, idxS16_hid, inh_hid },
69  { 0xd7, M680X_INS_STA, idxS16_hid, inh_hid },
70  { 0xd8, M680X_INS_EOR, idxS16_hid, inh_hid },
71  { 0xd9, M680X_INS_ADC, idxS16_hid, inh_hid },
72  { 0xda, M680X_INS_ORA, idxS16_hid, inh_hid },
73  { 0xdb, M680X_INS_ADD, idxS16_hid, inh_hid },
74  { 0xde, M680X_INS_LDX, idxS16_hid, inh_hid },
75  { 0xdf, M680X_INS_STX, idxS16_hid, inh_hid },
76  { 0xe0, M680X_INS_SUB, idxS_hid, inh_hid },
77  { 0xe1, M680X_INS_CMP, idxS_hid, inh_hid },
78  { 0xe2, M680X_INS_SBC, idxS_hid, inh_hid },
79  { 0xe3, M680X_INS_CPX, idxS_hid, inh_hid },
80  { 0xe4, M680X_INS_AND, idxS_hid, inh_hid },
81  { 0xe5, M680X_INS_BIT, idxS_hid, inh_hid },
82  { 0xe6, M680X_INS_LDA, idxS_hid, inh_hid },
83  { 0xe7, M680X_INS_STA, idxS_hid, inh_hid },
84  { 0xe8, M680X_INS_EOR, idxS_hid, inh_hid },
85  { 0xe9, M680X_INS_ADC, idxS_hid, inh_hid },
86  { 0xea, M680X_INS_ORA, idxS_hid, inh_hid },
87  { 0xeb, M680X_INS_ADD, idxS_hid, inh_hid },
88  { 0xee, M680X_INS_LDX, idxS_hid, inh_hid },
89  { 0xef, M680X_INS_STX, idxS_hid, inh_hid },
90 };
91 
@ M680X_INS_ADD
Definition: m680x.h:182
@ M680X_INS_ASR
Definition: m680x.h:203
@ M680X_INS_DBNZA
Definition: m680x.h:294
@ M680X_INS_CMP
Definition: m680x.h:264
@ M680X_INS_AND
Definition: m680x.h:193
@ M680X_INS_INC
Definition: m680x.h:333
@ M680X_INS_CBEQX
Definition: m680x.h:251
@ M680X_INS_BLT
Definition: m680x.h:232
@ M680X_INS_DBNZ
Definition: m680x.h:293
@ M680X_INS_BGT
Definition: m680x.h:216
@ M680X_INS_NEG
Definition: m680x.h:404
@ M680X_INS_CLRH
Definition: m680x.h:260
@ M680X_INS_PSHX
M6800/1/2/3.
Definition: m680x.h:428
@ M680X_INS_TPA
M6800/1/2/3.
Definition: m680x.h:510
@ M680X_INS_BIT
Definition: m680x.h:225
@ M680X_INS_LDX
Definition: m680x.h:377
@ M680X_INS_DIV
Definition: m680x.h:307
@ M680X_INS_CLR
Definition: m680x.h:254
@ M680X_INS_PULA
M6800/1/2/3.
Definition: m680x.h:430
@ M680X_INS_DAA
Definition: m680x.h:290
@ M680X_INS_CPHX
Definition: m680x.h:285
@ M680X_INS_COM
Definition: m680x.h:276
@ M680X_INS_TXS
M6800/1/2/3.
Definition: m680x.h:522
@ M680X_INS_ROR
Definition: m680x.h:449
@ M680X_INS_LSR
Definition: m680x.h:388
@ M680X_INS_TAP
M6800/1/2/3.
Definition: m680x.h:500
@ M680X_INS_STHX
Definition: m680x.h:480
@ M680X_INS_TST
Definition: m680x.h:511
@ M680X_INS_SUB
Definition: m680x.h:487
@ M680X_INS_NSA
Definition: m680x.h:410
@ M680X_INS_EOR
Definition: m680x.h:320
@ M680X_INS_DBNZX
Definition: m680x.h:295
@ M680X_INS_BLE
Definition: m680x.h:230
@ M680X_INS_PSHH
Definition: m680x.h:423
@ M680X_INS_TSX
M6800/1/2/3.
Definition: m680x.h:519
@ M680X_INS_ADC
Definition: m680x.h:177
@ M680X_INS_AIX
Definition: m680x.h:192
@ M680X_INS_TAX
Definition: m680x.h:501
@ M680X_INS_TXA
Definition: m680x.h:521
@ M680X_INS_ROL
Definition: m680x.h:443
@ M680X_INS_CBEQ
Definition: m680x.h:249
@ M680X_INS_DEC
Definition: m680x.h:296
@ M680X_INS_PSHA
M6800/1/2/3.
Definition: m680x.h:419
@ M680X_INS_STA
Definition: m680x.h:471
@ M680X_INS_CBEQA
Definition: m680x.h:250
@ M680X_INS_SBC
Definition: m680x.h:460
@ M680X_INS_PULH
Definition: m680x.h:434
@ M680X_INS_LDA
Definition: m680x.h:363
@ M680X_INS_MOV
Definition: m680x.h:399
@ M680X_INS_LDHX
Definition: m680x.h:371
@ M680X_INS_LSL
Definition: m680x.h:383
@ M680X_INS_ORA
Definition: m680x.h:412
@ M680X_INS_STX
Definition: m680x.h:485
@ M680X_INS_CPX
M6800/1/2/3.
Definition: m680x.h:287
@ M680X_INS_AIS
Definition: m680x.h:191
@ M680X_INS_BGE
Definition: m680x.h:214
@ M680X_INS_PULX
M6800/1/2/3.
Definition: m680x.h:439