Rizin
unix-like reverse engineering framework and cli tools
m68k.h
Go to the documentation of this file.
1 #ifndef CAPSTONE_M68K_H
2 #define CAPSTONE_M68K_H
3 
4 /* Capstone Disassembly Engine */
5 /* By Daniel Collin <daniel@collin.com>, 2015-2016 */
6 
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 
11 #include "platform.h"
12 
13 #ifdef _MSC_VER
14 #pragma warning(disable:4201)
15 #endif
16 
17 #define M68K_OPERAND_COUNT 4
18 
20 typedef enum m68k_reg {
22 
31 
40 
49 
51 
70 
74 
75  M68K_REG_ENDING, // <-- mark the end of the list of registers
77 
79 typedef enum m68k_address_mode {
81 
84 
89 
92 
95 
97 
100 
103 
107 
110 
112 typedef enum m68k_op_type {
123 
126 typedef struct m68k_op_mem {
139 
141 typedef enum m68k_op_br_disp_size {
147 
148 typedef struct m68k_op_br_disp {
152 
154 typedef struct cs_m68k_op_reg_pair {
158 
160 typedef struct cs_m68k_op {
161  union {
163  double dimm;
164  float simm;
167  };
168 
175 
177 typedef enum m68k_cpu_size {
183 
185 typedef enum m68k_fpu_size {
191 
193 typedef enum m68k_size_type {
195 
199 
201 typedef struct m68k_op_size {
203  union {
206  };
208 
210 typedef struct cs_m68k {
211  // Number of operands of this instruction or 0 when instruction has no operand.
216 
218 typedef enum m68k_insn {
220 
595  M68K_INS_ENDING, // <-- mark the end of the list of instructions
597 
599 typedef enum m68k_group_type {
605 
606  M68K_GRP_ENDING,// <-- mark the end of the list of groups
608 
609 #ifdef __cplusplus
610 }
611 #endif
612 
613 #endif
struct m68k_op_mem m68k_op_mem
#define M68K_OPERAND_COUNT
Definition: m68k.h:17
m68k_cpu_size
Operation size of the CPU instructions.
Definition: m68k.h:177
@ M68K_CPU_SIZE_LONG
4 bytes in size
Definition: m68k.h:181
@ M68K_CPU_SIZE_WORD
2 bytes in size
Definition: m68k.h:180
@ M68K_CPU_SIZE_BYTE
1 byte in size
Definition: m68k.h:179
@ M68K_CPU_SIZE_NONE
unsized or unspecified
Definition: m68k.h:178
m68k_address_mode
M68K Addressing Modes.
Definition: m68k.h:79
@ M68K_AM_NONE
No address mode.
Definition: m68k.h:80
@ M68K_AM_MEMI_POST_INDEX
Memory indirect - Postindex.
Definition: m68k.h:93
@ M68K_AM_PC_MEMI_PRE_INDEX
Program Counter Memory Indirect - Preindexed.
Definition: m68k.h:102
@ M68K_AM_REG_DIRECT_ADDR
Register Direct - Address.
Definition: m68k.h:83
@ M68K_AM_REGI_ADDR
Register Indirect - Address.
Definition: m68k.h:85
@ M68K_AM_IMMEDIATE
Immediate value.
Definition: m68k.h:106
@ M68K_AM_REGI_ADDR_POST_INC
Register Indirect - Address with Postincrement.
Definition: m68k.h:86
@ M68K_AM_ABSOLUTE_DATA_SHORT
Absolute Data Addressing - Short.
Definition: m68k.h:104
@ M68K_AM_AREGI_INDEX_8_BIT_DISP
Address Register Indirect With Index- 8-bit displacement.
Definition: m68k.h:90
@ M68K_AM_PCI_INDEX_BASE_DISP
Program Counter Indirect with Index - with Base Displacement.
Definition: m68k.h:99
@ M68K_AM_PCI_DISP
Program Counter Indirect - with Displacement.
Definition: m68k.h:96
@ M68K_AM_REGI_ADDR_PRE_DEC
Register Indirect - Address with Predecrement.
Definition: m68k.h:87
@ M68K_AM_MEMI_PRE_INDEX
Memory indirect - Preindex.
Definition: m68k.h:94
@ M68K_AM_ABSOLUTE_DATA_LONG
Absolute Data Addressing - Long.
Definition: m68k.h:105
@ M68K_AM_PC_MEMI_POST_INDEX
Program Counter Memory Indirect - Postindexed.
Definition: m68k.h:101
@ M68K_AM_REG_DIRECT_DATA
Register Direct - Data.
Definition: m68k.h:82
@ M68K_AM_AREGI_INDEX_BASE_DISP
Address Register Indirect With Index- Base displacement.
Definition: m68k.h:91
@ M68K_AM_BRANCH_DISPLACEMENT
Address as displacement from (PC+2) used by branches.
Definition: m68k.h:108
@ M68K_AM_PCI_INDEX_8_BIT_DISP
Program Counter Indirect with Index - with 8-Bit Displacement.
Definition: m68k.h:98
@ M68K_AM_REGI_ADDR_DISP
Register Indirect - Address with Displacement.
Definition: m68k.h:88
m68k_size_type
Type of size that is being used for the current instruction.
Definition: m68k.h:193
@ M68K_SIZE_TYPE_INVALID
Definition: m68k.h:194
@ M68K_SIZE_TYPE_CPU
Definition: m68k.h:196
@ M68K_SIZE_TYPE_FPU
Definition: m68k.h:197
struct m68k_op_size m68k_op_size
Operation size of the current instruction (NOT the actually size of instruction)
m68k_group_type
Group of M68K instructions.
Definition: m68k.h:599
@ M68K_GRP_ENDING
Definition: m68k.h:606
@ M68K_GRP_RET
= CS_GRP_RET
Definition: m68k.h:602
@ M68K_GRP_INVALID
CS_GRUP_INVALID.
Definition: m68k.h:600
@ M68K_GRP_IRET
= CS_GRP_IRET
Definition: m68k.h:603
@ M68K_GRP_JUMP
= CS_GRP_JUMP
Definition: m68k.h:601
@ M68K_GRP_BRANCH_RELATIVE
= CS_GRP_BRANCH_RELATIVE
Definition: m68k.h:604
m68k_op_type
Operand type for instruction's operands.
Definition: m68k.h:112
@ M68K_OP_REG_PAIR
Register pair in the same op (upper 4 bits for first reg, lower for second)
Definition: m68k.h:120
@ M68K_OP_BR_DISP
Branch displacement.
Definition: m68k.h:121
@ M68K_OP_IMM
= CS_OP_IMM (Immediate operand).
Definition: m68k.h:115
@ M68K_OP_FP_SINGLE
single precision Floating-Point operand
Definition: m68k.h:117
@ M68K_OP_FP_DOUBLE
double precision Floating-Point operand
Definition: m68k.h:118
@ M68K_OP_REG_BITS
Register bits move.
Definition: m68k.h:119
@ M68K_OP_REG
= CS_OP_REG (Register operand).
Definition: m68k.h:114
@ M68K_OP_INVALID
= CS_OP_INVALID (Uninitialized).
Definition: m68k.h:113
@ M68K_OP_MEM
= CS_OP_MEM (Memory operand).
Definition: m68k.h:116
m68k_fpu_size
Operation size of the FPU instructions (Notice that FPU instruction can also use CPU sizes if needed)
Definition: m68k.h:185
@ M68K_FPU_SIZE_SINGLE
4 byte in size (single float)
Definition: m68k.h:187
@ M68K_FPU_SIZE_NONE
unsized like fsave/frestore
Definition: m68k.h:186
@ M68K_FPU_SIZE_DOUBLE
8 byte in size (double)
Definition: m68k.h:188
@ M68K_FPU_SIZE_EXTENDED
12 byte in size (extended real format)
Definition: m68k.h:189
struct cs_m68k_op_reg_pair cs_m68k_op_reg_pair
Register pair in one operand.
m68k_insn
M68K instruction.
Definition: m68k.h:218
@ M68K_INS_SUBQ
Definition: m68k.h:568
@ M68K_INS_FDBGE
Definition: m68k.h:369
@ M68K_INS_BFSET
Definition: m68k.h:259
@ M68K_INS_NOP
Definition: m68k.h:514
@ M68K_INS_FBNGL
Definition: m68k.h:340
@ M68K_INS_FDSQRT
Definition: m68k.h:419
@ M68K_INS_FSUGE
Definition: m68k.h:431
@ M68K_INS_SHS
Definition: m68k.h:551
@ M68K_INS_FDSUB
Definition: m68k.h:454
@ M68K_INS_FTRAPST
Definition: m68k.h:489
@ M68K_INS_FGETMAN
Definition: m68k.h:388
@ M68K_INS_FCOS
Definition: m68k.h:348
@ M68K_INS_FBUEQ
Definition: m68k.h:324
@ M68K_INS_DBLS
Definition: m68k.h:282
@ M68K_INS_FTRAPOGL
Definition: m68k.h:464
@ M68K_INS_BGE
Definition: m68k.h:243
@ M68K_INS_BFEXTU
Definition: m68k.h:256
@ M68K_INS_ADDQ
Definition: m68k.h:225
@ M68K_INS_RTR
Definition: m68k.h:543
@ M68K_INS_SUBX
Definition: m68k.h:569
@ M68K_INS_FBOGL
Definition: m68k.h:321
@ M68K_INS_CINVL
Definition: m68k.h:273
@ M68K_INS_ORI
Definition: m68k.h:517
@ M68K_INS_BFCHG
Definition: m68k.h:253
@ M68K_INS_FTANH
Definition: m68k.h:456
@ M68K_INS_OR
Definition: m68k.h:516
@ M68K_INS_TRAPNE
Definition: m68k.h:582
@ M68K_INS_FTRAPLE
Definition: m68k.h:479
@ M68K_INS_FBUGT
Definition: m68k.h:325
@ M68K_INS_FTRAPUN
Definition: m68k.h:466
@ M68K_INS_ROXL
Definition: m68k.h:538
@ M68K_INS_BLE
Definition: m68k.h:246
@ M68K_INS_INVALID
Definition: m68k.h:219
@ M68K_INS_FBNLT
Definition: m68k.h:342
@ M68K_INS_FBGL
Definition: m68k.h:337
@ M68K_INS_FLOGN
Definition: m68k.h:393
@ M68K_INS_SVS
Definition: m68k.h:557
@ M68K_INS_TRAPMI
Definition: m68k.h:587
@ M68K_INS_FATAN
Definition: m68k.h:313
@ M68K_INS_FBGT
Definition: m68k.h:333
@ M68K_INS_LEA
Definition: m68k.h:496
@ M68K_INS_FSSNE
Definition: m68k.h:450
@ M68K_INS_FTRAPNGL
Definition: m68k.h:483
@ M68K_INS_FINTRZ
Definition: m68k.h:390
@ M68K_INS_FSOR
Definition: m68k.h:427
@ M68K_INS_SPL
Definition: m68k.h:558
@ M68K_INS_FETOX
Definition: m68k.h:385
@ M68K_INS_RTM
Definition: m68k.h:542
@ M68K_INS_FTAN
Definition: m68k.h:455
@ M68K_INS_CMPI
Definition: m68k.h:270
@ M68K_INS_JSR
Definition: m68k.h:495
@ M68K_INS_MULS
Definition: m68k.h:509
@ M68K_INS_FLOGNP1
Definition: m68k.h:394
@ M68K_INS_DBGT
Definition: m68k.h:293
@ M68K_INS_FSULT
Definition: m68k.h:432
@ M68K_INS_FST
Definition: m68k.h:435
@ M68K_INS_BSET
Definition: m68k.h:251
@ M68K_INS_SVC
Definition: m68k.h:556
@ M68K_INS_MOVEQ
Definition: m68k.h:506
@ M68K_INS_EXG
Definition: m68k.h:302
@ M68K_INS_TRAPCC
Definition: m68k.h:578
@ M68K_INS_FBNLE
Definition: m68k.h:341
@ M68K_INS_FDBUGT
Definition: m68k.h:360
@ M68K_INS_DBF
Definition: m68k.h:280
@ M68K_INS_BPL
Definition: m68k.h:241
@ M68K_INS_FTRAPNGE
Definition: m68k.h:486
@ M68K_INS_DBEQ
Definition: m68k.h:286
@ M68K_INS_FDBNE
Definition: m68k.h:364
@ M68K_INS_BSR
Definition: m68k.h:248
@ M68K_INS_FTRAPNLT
Definition: m68k.h:485
@ M68K_INS_FSSQRT
Definition: m68k.h:418
@ M68K_INS_PLPAW
Definition: m68k.h:527
@ M68K_INS_PACK
Definition: m68k.h:518
@ M68K_INS_FDBGL
Definition: m68k.h:372
@ M68K_INS_FINT
Definition: m68k.h:389
@ M68K_INS_LSL
Definition: m68k.h:499
@ M68K_INS_BCLR
Definition: m68k.h:250
@ M68K_INS_FTRAPOGE
Definition: m68k.h:461
@ M68K_INS_FDABS
Definition: m68k.h:307
@ M68K_INS_RTS
Definition: m68k.h:544
@ M68K_INS_FMOD
Definition: m68k.h:395
@ M68K_INS_TRAPGT
Definition: m68k.h:590
@ M68K_INS_TRAPEQ
Definition: m68k.h:583
@ M68K_INS_PLOADW
Definition: m68k.h:525
@ M68K_INS_FCOSH
Definition: m68k.h:349
@ M68K_INS_MOVES
Definition: m68k.h:507
@ M68K_INS_FSNGE
Definition: m68k.h:448
@ M68K_INS_FDBOGL
Definition: m68k.h:356
@ M68K_INS_FSADD
Definition: m68k.h:310
@ M68K_INS_FSGT
Definition: m68k.h:438
@ M68K_INS_BMI
Definition: m68k.h:242
@ M68K_INS_SUB
Definition: m68k.h:565
@ M68K_INS_FCMP
Definition: m68k.h:347
@ M68K_INS_FDBUEQ
Definition: m68k.h:359
@ M68K_INS_FTST
Definition: m68k.h:490
@ M68K_INS_FTRAPNLE
Definition: m68k.h:484
@ M68K_INS_FSGL
Definition: m68k.h:442
@ M68K_INS_TST
Definition: m68k.h:592
@ M68K_INS_LSR
Definition: m68k.h:500
@ M68K_INS_PULSE
Definition: m68k.h:532
@ M68K_INS_FSDIV
Definition: m68k.h:383
@ M68K_INS_FDBLE
Definition: m68k.h:371
@ M68K_INS_FBNE
Definition: m68k.h:329
@ M68K_INS_ADDI
Definition: m68k.h:224
@ M68K_INS_FDBGT
Definition: m68k.h:368
@ M68K_INS_FSUB
Definition: m68k.h:452
@ M68K_INS_FSF
Definition: m68k.h:420
@ M68K_INS_SUBI
Definition: m68k.h:567
@ M68K_INS_FDBUGE
Definition: m68k.h:361
@ M68K_INS_BFEXTS
Definition: m68k.h:255
@ M68K_INS_TRAPF
Definition: m68k.h:575
@ M68K_INS_SGT
Definition: m68k.h:562
@ M68K_INS_FSINH
Definition: m68k.h:416
@ M68K_INS_FABS
Definition: m68k.h:305
@ M68K_INS_BNE
Definition: m68k.h:237
@ M68K_INS_FSNEG
Definition: m68k.h:405
@ M68K_INS_FDBGLE
Definition: m68k.h:373
@ M68K_INS_BFFFO
Definition: m68k.h:257
@ M68K_INS_BTST
Definition: m68k.h:252
@ M68K_INS_FADD
Definition: m68k.h:309
@ M68K_INS_FSULE
Definition: m68k.h:433
@ M68K_INS_DBGE
Definition: m68k.h:291
@ M68K_INS_FETOXM1
Definition: m68k.h:386
@ M68K_INS_FMOVECR
Definition: m68k.h:399
@ M68K_INS_ROXR
Definition: m68k.h:539
@ M68K_INS_TRAPLT
Definition: m68k.h:589
@ M68K_INS_PLPAR
Definition: m68k.h:526
@ M68K_INS_PTESTR
Definition: m68k.h:530
@ M68K_INS_FSOLE
Definition: m68k.h:425
@ M68K_INS_FSMOVE
Definition: m68k.h:397
@ M68K_INS_LPSTOP
Definition: m68k.h:498
@ M68K_INS_PFLUSHAN
Definition: m68k.h:522
@ M68K_INS_TRAPLS
Definition: m68k.h:577
@ M68K_INS_RESET
Definition: m68k.h:535
@ M68K_INS_DIVU
Definition: m68k.h:298
@ M68K_INS_FMUL
Definition: m68k.h:401
@ M68K_INS_FDBOR
Definition: m68k.h:357
@ M68K_INS_SF
Definition: m68k.h:547
@ M68K_INS_FDBLT
Definition: m68k.h:370
@ M68K_INS_BFCLR
Definition: m68k.h:254
@ M68K_INS_FBOLE
Definition: m68k.h:320
@ M68K_INS_FTRAPNE
Definition: m68k.h:472
@ M68K_INS_HALT
Definition: m68k.h:492
@ M68K_INS_TAS
Definition: m68k.h:571
@ M68K_INS_CAS2
Definition: m68k.h:264
@ M68K_INS_FBSEQ
Definition: m68k.h:332
@ M68K_INS_FDBNGLE
Definition: m68k.h:374
@ M68K_INS_CINVA
Definition: m68k.h:275
@ M68K_INS_FTRAPGLE
Definition: m68k.h:481
@ M68K_INS_FTRAPNGLE
Definition: m68k.h:482
@ M68K_INS_DBVC
Definition: m68k.h:287
@ M68K_INS_TRAPLO
Definition: m68k.h:581
@ M68K_INS_FTRAPOLT
Definition: m68k.h:462
@ M68K_INS_PMOVEFD
Definition: m68k.h:529
@ M68K_INS_STOP
Definition: m68k.h:564
@ M68K_INS_FMOVEM
Definition: m68k.h:400
@ M68K_INS_FBGE
Definition: m68k.h:334
@ M68K_INS_FDBNGL
Definition: m68k.h:375
@ M68K_INS_MOVE
Definition: m68k.h:501
@ M68K_INS_PTESTW
Definition: m68k.h:531
@ M68K_INS_FNOP
Definition: m68k.h:407
@ M68K_INS_FSGLE
Definition: m68k.h:443
@ M68K_INS_ENDING
Definition: m68k.h:595
@ M68K_INS_SLO
Definition: m68k.h:553
@ M68K_INS_FSCALE
Definition: m68k.h:411
@ M68K_INS_FDBOLE
Definition: m68k.h:355
@ M68K_INS_DBNE
Definition: m68k.h:285
@ M68K_INS_FBNGLE
Definition: m68k.h:339
@ M68K_INS_LINK
Definition: m68k.h:497
@ M68K_INS_TRAPHS
Definition: m68k.h:579
@ M68K_INS_FDBOLT
Definition: m68k.h:354
@ M68K_INS_FSMUL
Definition: m68k.h:402
@ M68K_INS_FDBNLE
Definition: m68k.h:376
@ M68K_INS_FSUN
Definition: m68k.h:428
@ M68K_INS_ASR
Definition: m68k.h:230
@ M68K_INS_FTRAPGT
Definition: m68k.h:476
@ M68K_INS_FDBNLT
Definition: m68k.h:377
@ M68K_INS_PEA
Definition: m68k.h:519
@ M68K_INS_DBCC
Definition: m68k.h:283
@ M68K_INS_SHI
Definition: m68k.h:548
@ M68K_INS_BFINS
Definition: m68k.h:258
@ M68K_INS_FSQRT
Definition: m68k.h:417
@ M68K_INS_SLT
Definition: m68k.h:561
@ M68K_INS_FTRAPSF
Definition: m68k.h:474
@ M68K_INS_CINVP
Definition: m68k.h:274
@ M68K_INS_ANDI
Definition: m68k.h:228
@ M68K_INS_CMP2
Definition: m68k.h:272
@ M68K_INS_FMOVE
Definition: m68k.h:396
@ M68K_INS_FLOG10
Definition: m68k.h:391
@ M68K_INS_FSGLMUL
Definition: m68k.h:413
@ M68K_INS_FSNGL
Definition: m68k.h:445
@ M68K_INS_PMOVE
Definition: m68k.h:528
@ M68K_INS_DBCS
Definition: m68k.h:284
@ M68K_INS_BEQ
Definition: m68k.h:238
@ M68K_INS_BCS
Definition: m68k.h:236
@ M68K_INS_CPUSHP
Definition: m68k.h:277
@ M68K_INS_CAS
Definition: m68k.h:263
@ M68K_INS_FTRAPNGT
Definition: m68k.h:487
@ M68K_INS_FDBOGE
Definition: m68k.h:353
@ M68K_INS_CPUSHA
Definition: m68k.h:278
@ M68K_INS_FBLT
Definition: m68k.h:335
@ M68K_INS_FDNEG
Definition: m68k.h:406
@ M68K_INS_TRAP
Definition: m68k.h:572
@ M68K_INS_ST
Definition: m68k.h:546
@ M68K_INS_CMPM
Definition: m68k.h:271
@ M68K_INS_FSOGT
Definition: m68k.h:422
@ M68K_INS_FREM
Definition: m68k.h:408
@ M68K_INS_BCC
Definition: m68k.h:235
@ M68K_INS_CHK2
Definition: m68k.h:266
@ M68K_INS_FBOGT
Definition: m68k.h:317
@ M68K_INS_FBOLT
Definition: m68k.h:319
@ M68K_INS_FATANH
Definition: m68k.h:314
@ M68K_INS_PFLUSHA
Definition: m68k.h:521
@ M68K_INS_FGETEXP
Definition: m68k.h:387
@ M68K_INS_EOR
Definition: m68k.h:300
@ M68K_INS_FTENTOX
Definition: m68k.h:457
@ M68K_INS_PFLUSH
Definition: m68k.h:520
@ M68K_INS_FBUN
Definition: m68k.h:323
@ M68K_INS_FDBT
Definition: m68k.h:365
@ M68K_INS_DBMI
Definition: m68k.h:290
@ M68K_INS_FSOGL
Definition: m68k.h:426
@ M68K_INS_EXT
Definition: m68k.h:303
@ M68K_INS_ROR
Definition: m68k.h:537
@ M68K_INS_FTRAPF
Definition: m68k.h:458
@ M68K_INS_CPUSHL
Definition: m68k.h:276
@ M68K_INS_FDBNGE
Definition: m68k.h:378
@ M68K_INS_FDBSNE
Definition: m68k.h:380
@ M68K_INS_FDBULE
Definition: m68k.h:363
@ M68K_INS_JMP
Definition: m68k.h:494
@ M68K_INS_FACOS
Definition: m68k.h:308
@ M68K_INS_FSNE
Definition: m68k.h:434
@ M68K_INS_ROL
Definition: m68k.h:536
@ M68K_INS_FTRAPT
Definition: m68k.h:473
@ M68K_INS_TRAPHI
Definition: m68k.h:576
@ M68K_INS_RTE
Definition: m68k.h:541
@ M68K_INS_FSSUB
Definition: m68k.h:453
@ M68K_INS_FDBULT
Definition: m68k.h:362
@ M68K_INS_CLR
Definition: m68k.h:267
@ M68K_INS_BVC
Definition: m68k.h:239
@ M68K_INS_FBOR
Definition: m68k.h:322
@ M68K_INS_ADDA
Definition: m68k.h:223
@ M68K_INS_CMP
Definition: m68k.h:268
@ M68K_INS_SBCD
Definition: m68k.h:545
@ M68K_INS_BHI
Definition: m68k.h:233
@ M68K_INS_FTRAPUEQ
Definition: m68k.h:467
@ M68K_INS_DBVS
Definition: m68k.h:288
@ M68K_INS_MOVEC
Definition: m68k.h:503
@ M68K_INS_FLOG2
Definition: m68k.h:392
@ M68K_INS_SCC
Definition: m68k.h:550
@ M68K_INS_FTRAPGL
Definition: m68k.h:480
@ M68K_INS_FSGLDIV
Definition: m68k.h:412
@ M68K_INS_FDDIV
Definition: m68k.h:384
@ M68K_INS_SNE
Definition: m68k.h:554
@ M68K_INS_MOVEP
Definition: m68k.h:505
@ M68K_INS_TRAPGE
Definition: m68k.h:588
@ M68K_INS_TRAPPL
Definition: m68k.h:586
@ M68K_INS_FDBST
Definition: m68k.h:381
@ M68K_INS_FBLE
Definition: m68k.h:336
@ M68K_INS_BVS
Definition: m68k.h:240
@ M68K_INS_FTRAPSEQ
Definition: m68k.h:475
@ M68K_INS_FSLE
Definition: m68k.h:441
@ M68K_INS_FSSEQ
Definition: m68k.h:437
@ M68K_INS_FBGLE
Definition: m68k.h:338
@ M68K_INS_ADDX
Definition: m68k.h:226
@ M68K_INS_FTRAPGE
Definition: m68k.h:477
@ M68K_INS_FSST
Definition: m68k.h:451
@ M68K_INS_FSIN
Definition: m68k.h:414
@ M68K_INS_FTRAPOGT
Definition: m68k.h:460
@ M68K_INS_FRESTORE
Definition: m68k.h:409
@ M68K_INS_FBSNE
Definition: m68k.h:345
@ M68K_INS_FDADD
Definition: m68k.h:311
@ M68K_INS_UNLK
Definition: m68k.h:593
@ M68K_INS_FDBOGT
Definition: m68k.h:352
@ M68K_INS_TRAPV
Definition: m68k.h:573
@ M68K_INS_FTRAPSNE
Definition: m68k.h:488
@ M68K_INS_FSINCOS
Definition: m68k.h:415
@ M68K_INS_FBULT
Definition: m68k.h:327
@ M68K_INS_FTRAPULT
Definition: m68k.h:470
@ M68K_INS_SLE
Definition: m68k.h:563
@ M68K_INS_FSBEQ
Definition: m68k.h:421
@ M68K_INS_ASL
Definition: m68k.h:229
@ M68K_INS_FTRAPLT
Definition: m68k.h:478
@ M68K_INS_FDBNGT
Definition: m68k.h:379
@ M68K_INS_FSABS
Definition: m68k.h:306
@ M68K_INS_BLT
Definition: m68k.h:244
@ M68K_INS_BCHG
Definition: m68k.h:249
@ M68K_INS_CMPA
Definition: m68k.h:269
@ M68K_INS_SGE
Definition: m68k.h:560
@ M68K_INS_FDBSEQ
Definition: m68k.h:367
@ M68K_INS_SWAP
Definition: m68k.h:570
@ M68K_INS_DBLT
Definition: m68k.h:292
@ M68K_INS_FBOGE
Definition: m68k.h:318
@ M68K_INS_NEG
Definition: m68k.h:512
@ M68K_INS_TRAPVC
Definition: m68k.h:584
@ M68K_INS_ABCD
Definition: m68k.h:221
@ M68K_INS_DBT
Definition: m68k.h:279
@ M68K_INS_ILLEGAL
Definition: m68k.h:493
@ M68K_INS_FDMOVE
Definition: m68k.h:398
@ M68K_INS_FDMUL
Definition: m68k.h:403
@ M68K_INS_NEGX
Definition: m68k.h:513
@ M68K_INS_FBUGE
Definition: m68k.h:326
@ M68K_INS_BLO
Definition: m68k.h:232
@ M68K_INS_FBEQ
Definition: m68k.h:316
@ M68K_INS_SLS
Definition: m68k.h:549
@ M68K_INS_MOVE16
Definition: m68k.h:508
@ M68K_INS_SMI
Definition: m68k.h:559
@ M68K_INS_FSNGT
Definition: m68k.h:449
@ M68K_INS_EXTB
Definition: m68k.h:304
@ M68K_INS_REMU
Definition: m68k.h:534
@ M68K_INS_DBLE
Definition: m68k.h:294
@ M68K_INS_EORI
Definition: m68k.h:301
@ M68K_INS_DBPL
Definition: m68k.h:289
@ M68K_INS_MOVEA
Definition: m68k.h:502
@ M68K_INS_FBF
Definition: m68k.h:315
@ M68K_INS_MULU
Definition: m68k.h:510
@ M68K_INS_FSLT
Definition: m68k.h:440
@ M68K_INS_FTRAPOLE
Definition: m68k.h:463
@ M68K_INS_FSSF
Definition: m68k.h:436
@ M68K_INS_BGT
Definition: m68k.h:245
@ M68K_INS_BRA
Definition: m68k.h:247
@ M68K_INS_FDIV
Definition: m68k.h:382
@ M68K_INS_FSUEQ
Definition: m68k.h:429
@ M68K_INS_BKPT
Definition: m68k.h:261
@ M68K_INS_ADD
Definition: m68k.h:222
@ M68K_INS_FBT
Definition: m68k.h:330
@ M68K_INS_NBCD
Definition: m68k.h:511
@ M68K_INS_PFLUSHN
Definition: m68k.h:523
@ M68K_INS_TRAPT
Definition: m68k.h:574
@ M68K_INS_FSUGT
Definition: m68k.h:430
@ M68K_INS_FTRAPUGE
Definition: m68k.h:469
@ M68K_INS_SEQ
Definition: m68k.h:555
@ M68K_INS_FDBUN
Definition: m68k.h:358
@ M68K_INS_CHK
Definition: m68k.h:265
@ M68K_INS_NOT
Definition: m68k.h:515
@ M68K_INS_TRAPVS
Definition: m68k.h:585
@ M68K_INS_BHS
Definition: m68k.h:231
@ M68K_INS_FNEG
Definition: m68k.h:404
@ M68K_INS_SCS
Definition: m68k.h:552
@ M68K_INS_FSAVE
Definition: m68k.h:410
@ M68K_INS_TRAPCS
Definition: m68k.h:580
@ M68K_INS_SUBA
Definition: m68k.h:566
@ M68K_INS_FBNGT
Definition: m68k.h:344
@ M68K_INS_FTRAPUGT
Definition: m68k.h:468
@ M68K_INS_AND
Definition: m68k.h:227
@ M68K_INS_PLOADR
Definition: m68k.h:524
@ M68K_INS_FTRAPEQ
Definition: m68k.h:459
@ M68K_INS_FSGE
Definition: m68k.h:439
@ M68K_INS_FTRAPOR
Definition: m68k.h:465
@ M68K_INS_FSOGE
Definition: m68k.h:423
@ M68K_INS_CALLM
Definition: m68k.h:262
@ M68K_INS_DIVSL
Definition: m68k.h:297
@ M68K_INS_REMS
Definition: m68k.h:533
@ M68K_INS_FSOLT
Definition: m68k.h:424
@ M68K_INS_FSNLT
Definition: m68k.h:447
@ M68K_INS_FDBSF
Definition: m68k.h:366
@ M68K_INS_FTWOTOX
Definition: m68k.h:491
@ M68K_INS_FTRAPULE
Definition: m68k.h:471
@ M68K_INS_FSNLE
Definition: m68k.h:446
@ M68K_INS_FDBEQ
Definition: m68k.h:351
@ M68K_INS_BFTST
Definition: m68k.h:260
@ M68K_INS_TRAPLE
Definition: m68k.h:591
@ M68K_INS_DIVUL
Definition: m68k.h:299
@ M68K_INS_FDBF
Definition: m68k.h:350
@ M68K_INS_MOVEM
Definition: m68k.h:504
@ M68K_INS_BLS
Definition: m68k.h:234
@ M68K_INS_FASIN
Definition: m68k.h:312
@ M68K_INS_FBULE
Definition: m68k.h:328
@ M68K_INS_UNPK
Definition: m68k.h:594
@ M68K_INS_FBNGE
Definition: m68k.h:343
@ M68K_INS_FBSF
Definition: m68k.h:331
@ M68K_INS_RTD
Definition: m68k.h:540
@ M68K_INS_FSNGLE
Definition: m68k.h:444
@ M68K_INS_DBRA
Definition: m68k.h:295
@ M68K_INS_FBST
Definition: m68k.h:346
@ M68K_INS_DIVS
Definition: m68k.h:296
@ M68K_INS_DBHI
Definition: m68k.h:281
m68k_reg
M68K registers and special registers.
Definition: m68k.h:20
@ M68K_REG_ITT1
Definition: m68k.h:64
@ M68K_REG_URP
Definition: m68k.h:68
@ M68K_REG_D0
Definition: m68k.h:23
@ M68K_REG_A4
Definition: m68k.h:36
@ M68K_REG_D7
Definition: m68k.h:30
@ M68K_REG_A3
Definition: m68k.h:35
@ M68K_REG_CCR
Definition: m68k.h:53
@ M68K_REG_INVALID
Definition: m68k.h:21
@ M68K_REG_A5
Definition: m68k.h:37
@ M68K_REG_D3
Definition: m68k.h:26
@ M68K_REG_D2
Definition: m68k.h:25
@ M68K_REG_MMUSR
Definition: m68k.h:67
@ M68K_REG_FPIAR
Definition: m68k.h:73
@ M68K_REG_A1
Definition: m68k.h:33
@ M68K_REG_A7
Definition: m68k.h:39
@ M68K_REG_CAAR
Definition: m68k.h:59
@ M68K_REG_ITT0
Definition: m68k.h:63
@ M68K_REG_FP3
Definition: m68k.h:44
@ M68K_REG_D6
Definition: m68k.h:29
@ M68K_REG_SR
Definition: m68k.h:52
@ M68K_REG_DTT1
Definition: m68k.h:66
@ M68K_REG_A6
Definition: m68k.h:38
@ M68K_REG_D5
Definition: m68k.h:28
@ M68K_REG_FP1
Definition: m68k.h:42
@ M68K_REG_A0
Definition: m68k.h:32
@ M68K_REG_SFC
Definition: m68k.h:54
@ M68K_REG_FP4
Definition: m68k.h:45
@ M68K_REG_DFC
Definition: m68k.h:55
@ M68K_REG_DTT0
Definition: m68k.h:65
@ M68K_REG_FPCR
Definition: m68k.h:71
@ M68K_REG_FP5
Definition: m68k.h:46
@ M68K_REG_FP0
Definition: m68k.h:41
@ M68K_REG_VBR
Definition: m68k.h:57
@ M68K_REG_TC
Definition: m68k.h:62
@ M68K_REG_D4
Definition: m68k.h:27
@ M68K_REG_PC
Definition: m68k.h:50
@ M68K_REG_D1
Definition: m68k.h:24
@ M68K_REG_MSP
Definition: m68k.h:60
@ M68K_REG_USP
Definition: m68k.h:56
@ M68K_REG_FP6
Definition: m68k.h:47
@ M68K_REG_A2
Definition: m68k.h:34
@ M68K_REG_FPSR
Definition: m68k.h:72
@ M68K_REG_ISP
Definition: m68k.h:61
@ M68K_REG_FP7
Definition: m68k.h:48
@ M68K_REG_FP2
Definition: m68k.h:43
@ M68K_REG_ENDING
Definition: m68k.h:75
@ M68K_REG_SRP
Definition: m68k.h:69
@ M68K_REG_CACR
Definition: m68k.h:58
m68k_op_br_disp_size
Operand type for instruction's operands.
Definition: m68k.h:141
@ M68K_OP_BR_DISP_SIZE_LONG
signed 32-bit displacement
Definition: m68k.h:145
@ M68K_OP_BR_DISP_SIZE_BYTE
signed 8-bit displacement
Definition: m68k.h:143
@ M68K_OP_BR_DISP_SIZE_WORD
signed 16-bit displacement
Definition: m68k.h:144
@ M68K_OP_BR_DISP_SIZE_INVALID
= CS_OP_INVALID (Uninitialized).
Definition: m68k.h:142
struct m68k_op_br_disp m68k_op_br_disp
struct cs_m68k cs_m68k
The M68K instruction and it's operands.
struct cs_m68k_op cs_m68k_op
Instruction operand.
int int32_t
Definition: sftypes.h:33
unsigned int uint32_t
Definition: sftypes.h:29
unsigned long uint64_t
Definition: sftypes.h:28
short int16_t
Definition: sftypes.h:34
unsigned char uint8_t
Definition: sftypes.h:31
Register pair in one operand.
Definition: m68k.h:154
m68k_reg reg_1
Definition: m68k.h:156
m68k_reg reg_0
Definition: m68k.h:155
Instruction operand.
Definition: m68k.h:160
m68k_op_br_disp br_disp
data when operand is a branch displacement
Definition: m68k.h:170
uint32_t register_bits
register bits for movem etc. (always in d0-d7, a0-a7, fp0 - fp7 order)
Definition: m68k.h:171
m68k_op_mem mem
data when operand is targeting memory
Definition: m68k.h:169
float simm
float imm
Definition: m68k.h:164
m68k_reg reg
register value for REG operand
Definition: m68k.h:165
m68k_op_type type
Definition: m68k.h:172
m68k_address_mode address_mode
M68K addressing mode for this op.
Definition: m68k.h:173
double dimm
double imm
Definition: m68k.h:163
uint64_t imm
immediate value for IMM operand
Definition: m68k.h:162
cs_m68k_op_reg_pair reg_pair
register pair in one operand
Definition: m68k.h:166
The M68K instruction and it's operands.
Definition: m68k.h:210
uint8_t op_count
number of operands for the instruction
Definition: m68k.h:214
m68k_op_size op_size
size of data operand works on in bytes (.b, .w, .l, etc)
Definition: m68k.h:213
int32_t disp
displacement value
Definition: m68k.h:149
uint8_t disp_size
Size from m68k_op_br_disp_size type above.
Definition: m68k.h:150
uint8_t width
used for bf* instructions
Definition: m68k.h:135
uint8_t offset
used for bf* instructions
Definition: m68k.h:136
m68k_reg index_reg
index register (or M68K_REG_INVALID if irrelevant)
Definition: m68k.h:128
uint8_t bitfield
set to true if the two values below should be used
Definition: m68k.h:134
int16_t disp
displacement value
Definition: m68k.h:132
uint8_t scale
scale for index register
Definition: m68k.h:133
uint32_t in_disp
indirect displacement
Definition: m68k.h:130
m68k_reg in_base_reg
indirect base register (or M68K_REG_INVALID if irrelevant)
Definition: m68k.h:129
m68k_reg base_reg
base register (or M68K_REG_INVALID if irrelevant)
Definition: m68k.h:127
uint32_t out_disp
other displacement
Definition: m68k.h:131
uint8_t index_size
0 = w, 1 = l
Definition: m68k.h:137
Operation size of the current instruction (NOT the actually size of instruction)
Definition: m68k.h:201
m68k_size_type type
Definition: m68k.h:202
m68k_cpu_size cpu_size
Definition: m68k.h:204
m68k_fpu_size fpu_size
Definition: m68k.h:205