ts-capstone
Version:
This module provides bindings for the Capstone disassembly framework.
444 lines (443 loc) • 9.04 kB
TypeScript
export interface cs_m680x_op {
type: M680X;
imm?: number;
reg?: M680X;
idx?: {
base_reg: M680X;
offset_reg: M680X;
offset: number;
offset_addr: number;
offset_bits: number;
inc_dec: number;
flags: number;
};
rel?: {
address: number;
offset: number;
};
ext?: {
address: number;
indirect: boolean;
};
direct_addr?: number;
const_val?: number;
size: number;
access: number;
}
export declare enum M680X {
OPERAND_COUNT = 9,
REG_INVALID = 0,
REG_A = 1, // M6800/1/2/3/9, HD6301/9
REG_B = 2, // M6800/1/2/3/9, HD6301/9
REG_E = 3, // HD6309
REG_F = 4, // HD6309
REG_0 = 5, // HD6309
REG_D = 6, // M6801/3/9, HD6301/9
REG_W = 7, // HD6309
REG_CC = 8, // M6800/1/2/3/9, M6301/9
REG_DP = 9, // M6809/M6309
REG_MD = 10, // M6309
REG_HX = 11, // M6808
REG_H = 12, // M6808
REG_X = 13, // M6800/1/2/3/9, M6301/9
REG_Y = 14, // M6809/M6309
REG_S = 15, // M6809/M6309
REG_U = 16, // M6809/M6309
REG_V = 17, // M6309
REG_Q = 18, // M6309
REG_PC = 19, // M6800/1/2/3/9, M6301/9
REG_TMP2 = 20, // CPU12
REG_TMP3 = 21, // CPU12
REG_ENDING = 22, // mark the end of the list of registers
OP_INVALID = 0, // CS_OP_INVALID (Uninitialized).
OP_REGISTER = 1, // Register operand.
OP_IMMEDIATE = 2, // Immediate operand.
OP_INDEXED = 3, // Indexed addressing operand.
OP_EXTENDED = 4, // Extended addressing operand.
OP_DIRECT = 5, // Direct addressing operand.
OP_RELATIVE = 6, // Relative addressing operand.
OP_CONSTANT = 7, // constant operand (Displayed as number only).
OFFSET_NONE = 0,
OFFSET_BITS_5 = 5,
OFFSET_BITS_8 = 8,
OFFSET_BITS_9 = 9,
OFFSET_BITS_16 = 16,
IDX_INDIRECT = 1,
IDX_NO_COMMA = 2,
IDX_POST_INC_DEC = 4,
GRP_INVALID = 0, // cs.GRP_INVALID
GRP_JUMP = 1, // cs.GRP_JUMP
GRP_CALL = 3, // cs.GRP_CALL
GRP_RET = 4, // cs.GRP_RET
GRP_INT = 5, // cs.GRP_INT
GRP_IRET = 6, // cs.GRP_IRET
GRP_PRIV = 7, // cs.GRP_PRIVILEDGE; not used
GRP_BRAREL = 8, // cs.GRP_BRANCH_RELATIVE
GRP_ENDING = 10, // mark the end of the list of groups
FIRST_OP_IN_MNEM = 1,
SECOND_OP_IN_MNEM = 2,
INS_INVLD = 0,
INS_ABA = 1, // M6800/1/2/3
INS_ABX = 2,
INS_ABY = 3,
INS_ADC = 4,
INS_ADCA = 5,
INS_ADCB = 6,
INS_ADCD = 7,
INS_ADCR = 8,
INS_ADD = 9,
INS_ADDA = 10,
INS_ADDB = 11,
INS_ADDD = 12,
INS_ADDE = 13,
INS_ADDF = 14,
INS_ADDR = 15,
INS_ADDW = 16,
INS_AIM = 17,
INS_AIS = 18,
INS_AIX = 19,
INS_AND = 20,
INS_ANDA = 21,
INS_ANDB = 22,
INS_ANDCC = 23,
INS_ANDD = 24,
INS_ANDR = 25,
INS_ASL = 26,
INS_ASLA = 27,
INS_ASLB = 28,
INS_ASLD = 29, // or LSLD
INS_ASR = 30,
INS_ASRA = 31,
INS_ASRB = 32,
INS_ASRD = 33,
INS_ASRX = 34,
INS_BAND = 35,
INS_BCC = 36, // or BHS
INS_BCLR = 37,
INS_BCS = 38, // or BLO
INS_BEOR = 39,
INS_BEQ = 40,
INS_BGE = 41,
INS_BGND = 42,
INS_BGT = 43,
INS_BHCC = 44,
INS_BHCS = 45,
INS_BHI = 46,
INS_BIAND = 47,
INS_BIEOR = 48,
INS_BIH = 49,
INS_BIL = 50,
INS_BIOR = 51,
INS_BIT = 52,
INS_BITA = 53,
INS_BITB = 54,
INS_BITD = 55,
INS_BITMD = 56,
INS_BLE = 57,
INS_BLS = 58,
INS_BLT = 59,
INS_BMC = 60,
INS_BMI = 61,
INS_BMS = 62,
INS_BNE = 63,
INS_BOR = 64,
INS_BPL = 65,
INS_BRCLR = 66,
INS_BRSET = 67,
INS_BRA = 68,
INS_BRN = 69,
INS_BSET = 70,
INS_BSR = 71,
INS_BVC = 72,
INS_BVS = 73,
INS_CALL = 74,
INS_CBA = 75, // M6800/1/2/3
INS_CBEQ = 76,
INS_CBEQA = 77,
INS_CBEQX = 78,
INS_CLC = 79, // M6800/1/2/3
INS_CLI = 80, // M6800/1/2/3
INS_CLR = 81,
INS_CLRA = 82,
INS_CLRB = 83,
INS_CLRD = 84,
INS_CLRE = 85,
INS_CLRF = 86,
INS_CLRH = 87,
INS_CLRW = 88,
INS_CLRX = 89,
INS_CLV = 90, // M6800/1/2/3
INS_CMP = 91,
INS_CMPA = 92,
INS_CMPB = 93,
INS_CMPD = 94,
INS_CMPE = 95,
INS_CMPF = 96,
INS_CMPR = 97,
INS_CMPS = 98,
INS_CMPU = 99,
INS_CMPW = 100,
INS_CMPX = 101,
INS_CMPY = 102,
INS_COM = 103,
INS_COMA = 104,
INS_COMB = 105,
INS_COMD = 106,
INS_COME = 107,
INS_COMF = 108,
INS_COMW = 109,
INS_COMX = 110,
INS_CPD = 111,
INS_CPHX = 112,
INS_CPS = 113,
INS_CPX = 114, // M6800/1/2/3
INS_CPY = 115,
INS_CWAI = 116,
INS_DAA = 117,
INS_DBEQ = 118,
INS_DBNE = 119,
INS_DBNZ = 120,
INS_DBNZA = 121,
INS_DBNZX = 122,
INS_DEC = 123,
INS_DECA = 124,
INS_DECB = 125,
INS_DECD = 126,
INS_DECE = 127,
INS_DECF = 128,
INS_DECW = 129,
INS_DECX = 130,
INS_DES = 131, // M6800/1/2/3
INS_DEX = 132, // M6800/1/2/3
INS_DEY = 133,
INS_DIV = 134,
INS_DIVD = 135,
INS_DIVQ = 136,
INS_EDIV = 137,
INS_EDIVS = 138,
INS_EIM = 139,
INS_EMACS = 140,
INS_EMAXD = 141,
INS_EMAXM = 142,
INS_EMIND = 143,
INS_EMINM = 144,
INS_EMUL = 145,
INS_EMULS = 146,
INS_EOR = 147,
INS_EORA = 148,
INS_EORB = 149,
INS_EORD = 150,
INS_EORR = 151,
INS_ETBL = 152,
INS_EXG = 153,
INS_FDIV = 154,
INS_IBEQ = 155,
INS_IBNE = 156,
INS_IDIV = 157,
INS_IDIVS = 158,
INS_ILLGL = 159,
INS_INC = 160,
INS_INCA = 161,
INS_INCB = 162,
INS_INCD = 163,
INS_INCE = 164,
INS_INCF = 165,
INS_INCW = 166,
INS_INCX = 167,
INS_INS = 168, // M6800/1/2/3
INS_INX = 169, // M6800/1/2/3
INS_INY = 170,
INS_JMP = 171,
INS_JSR = 172,
INS_LBCC = 173, // or LBHS
INS_LBCS = 174, // or LBLO
INS_LBEQ = 175,
INS_LBGE = 176,
INS_LBGT = 177,
INS_LBHI = 178,
INS_LBLE = 179,
INS_LBLS = 180,
INS_LBLT = 181,
INS_LBMI = 182,
INS_LBNE = 183,
INS_LBPL = 184,
INS_LBRA = 185,
INS_LBRN = 186,
INS_LBSR = 187,
INS_LBVC = 188,
INS_LBVS = 189,
INS_LDA = 190,
INS_LDAA = 191, // M6800/1/2/3
INS_LDAB = 192, // M6800/1/2/3
INS_LDB = 193,
INS_LDBT = 194,
INS_LDD = 195,
INS_LDE = 196,
INS_LDF = 197,
INS_LDHX = 198,
INS_LDMD = 199,
INS_LDQ = 200,
INS_LDS = 201,
INS_LDU = 202,
INS_LDW = 203,
INS_LDX = 204,
INS_LDY = 205,
INS_LEAS = 206,
INS_LEAU = 207,
INS_LEAX = 208,
INS_LEAY = 209,
INS_LSL = 210,
INS_LSLA = 211,
INS_LSLB = 212,
INS_LSLD = 213,
INS_LSLX = 214,
INS_LSR = 215,
INS_LSRA = 216,
INS_LSRB = 217,
INS_LSRD = 218, // or ASRD
INS_LSRW = 219,
INS_LSRX = 220,
INS_MAXA = 221,
INS_MAXM = 222,
INS_MEM = 223,
INS_MINA = 224,
INS_MINM = 225,
INS_MOV = 226,
INS_MOVB = 227,
INS_MOVW = 228,
INS_MUL = 229,
INS_MULD = 230,
INS_NEG = 231,
INS_NEGA = 232,
INS_NEGB = 233,
INS_NEGD = 234,
INS_NEGX = 235,
INS_NOP = 236,
INS_NSA = 237,
INS_OIM = 238,
INS_ORA = 239,
INS_ORAA = 240, // M6800/1/2/3
INS_ORAB = 241, // M6800/1/2/3
INS_ORB = 242,
INS_ORCC = 243,
INS_ORD = 244,
INS_ORR = 245,
INS_PSHA = 246, // M6800/1/2/3
INS_PSHB = 247, // M6800/1/2/3
INS_PSHC = 248,
INS_PSHD = 249,
INS_PSHH = 250,
INS_PSHS = 251,
INS_PSHSW = 252,
INS_PSHU = 253,
INS_PSHUW = 254,
INS_PSHX = 255, // M6800/1/2/3
INS_PSHY = 256,
INS_PULA = 257, // M6800/1/2/3
INS_PULB = 258, // M6800/1/2/3
INS_PULC = 259,
INS_PULD = 260,
INS_PULH = 261,
INS_PULS = 262,
INS_PULSW = 263,
INS_PULU = 264,
INS_PULUW = 265,
INS_PULX = 266, // M6800/1/2/3
INS_PULY = 267,
INS_REV = 268,
INS_REVW = 269,
INS_ROL = 270,
INS_ROLA = 271,
INS_ROLB = 272,
INS_ROLD = 273,
INS_ROLW = 274,
INS_ROLX = 275,
INS_ROR = 276,
INS_RORA = 277,
INS_RORB = 278,
INS_RORD = 279,
INS_RORW = 280,
INS_RORX = 281,
INS_RSP = 282,
INS_RTC = 283,
INS_RTI = 284,
INS_RTS = 285,
INS_SBA = 286, // M6800/1/2/3
INS_SBC = 287,
INS_SBCA = 288,
INS_SBCB = 289,
INS_SBCD = 290,
INS_SBCR = 291,
INS_SEC = 292,
INS_SEI = 293,
INS_SEV = 294,
INS_SEX = 295,
INS_SEXW = 296,
INS_SLP = 297,
INS_STA = 298,
INS_STAA = 299, // M6800/1/2/3
INS_STAB = 300, // M6800/1/2/3
INS_STB = 301,
INS_STBT = 302,
INS_STD = 303,
INS_STE = 304,
INS_STF = 305,
INS_STOP = 306,
INS_STHX = 307,
INS_STQ = 308,
INS_STS = 309,
INS_STU = 310,
INS_STW = 311,
INS_STX = 312,
INS_STY = 313,
INS_SUB = 314,
INS_SUBA = 315,
INS_SUBB = 316,
INS_SUBD = 317,
INS_SUBE = 318,
INS_SUBF = 319,
INS_SUBR = 320,
INS_SUBW = 321,
INS_SWI = 322,
INS_SWI2 = 323,
INS_SWI3 = 324,
INS_SYNC = 325,
INS_TAB = 326, // M6800/1/2/3
INS_TAP = 327, // M6800/1/2/3
INS_TAX = 328,
INS_TBA = 329, // M6800/1/2/3
INS_TBEQ = 330,
INS_TBL = 331,
INS_TBNE = 332,
INS_TEST = 333,
INS_TFM = 334,
INS_TFR = 335,
INS_TIM = 336,
INS_TPA = 337, // M6800/1/2/3
INS_TST = 338,
INS_TSTA = 339,
INS_TSTB = 340,
INS_TSTD = 341,
INS_TSTE = 342,
INS_TSTF = 343,
INS_TSTW = 344,
INS_TSTX = 345,
INS_TSX = 346, // M6800/1/2/3
INS_TSY = 347,
INS_TXA = 348,
INS_TXS = 349,
INS_TYS = 350,
INS_WAI = 351, // M6800/1/2/3
INS_WAIT = 352,
INS_WAV = 353,
INS_WAVR = 354,
INS_XGDX = 355, // M6800/1/2/3
INS_XGDY = 356,
INS_ENDING = 357,
}
export declare class cs_m680x {
flags: number;
op_count: number;
operands: cs_m680x_op[];
constructor(arch_info_ptr: number, Memory: any);
}