UNPKG

disassembler-x86-intel

Version:

An Intel x86 disassembler, generates assembly from Opcode

24 lines (23 loc) 1.49 kB
import { HashMap } from '../../helper/hashMap'; export interface Operation { operation: operation; length?: lengthTypes; op1?: operandTypes; op2?: operandTypes; constant?: string; type?: 'rb' | 'rd'; has16Bit?: boolean; isRegisterIncluded?: boolean; isSignExtended?: boolean; } declare type operation = 'test' | 'xor' | 'iret' | 'rol' | 'ror' | 'sal' | 'sar' | 'sbb' | 'shr' | 'sub' | 'jmp' | 'loop' | 'imul' | 'neg' | 'or' | 'rcl' | 'rcr' | 'ret' | 'iretd' | 'dec' | 'idiv' | 'div' | 'mul' | 'inc' | 'int' | 'cmp' | 'add' | 'mov' | 'xchg' | 'not' | 'adc' | 'and' | 'into' | 'ja' | 'jae' | 'jb' | 'jbe' | 'jc' | 'jcx' | 'jnb' | 'loope' | 'loopne' | 'je' | 'jg' | 'jge' | 'jl' | 'jle' | 'jna' | 'jnc' | 'jne' | 'jng' | 'jnl' | 'jno' | 'jnp' | 'jns' | 'jnz' | 'jo' | 'jp' | 'jpe' | 'jpo' | 'js' | 'jz'; export declare type modRmTypes = '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | 'r'; declare type lengthTypes = 'b' | 'w' | 'd'; export declare const ALL_TABLES: HashMap<OpCode, Operation>; export declare const MOD_RM_SET: Set<string>; export interface OpCode { opcode: string; modRm?: modRmTypes; } export declare type operandTypes = 'r32' | 'm32' | 'r16' | 'm16' | 'r8' | 'm8' | 'mr32' | 'mr16' | 'mr8' | 'imm8' | 'imm16' | 'imm32' | 'eax' | 'ebx' | 'ecx' | 'edx' | 'esp' | 'ebp' | 'esi' | 'edi' | 'ax' | 'bx' | 'cx' | 'dx' | 'sp' | 'bp' | 'si' | 'di' | 'al' | 'bl' | 'cl' | 'dl' | 'ah' | 'bh' | 'ch' | 'dh'; export {};