R. Sharathkumar

11 papers A* 6B 1C 1Journal 2Unranked 1
YearRankTypeTitle / Venue / Authors
2015 J jnl
Algorithmica
Pankaj K. Agarwal, R. Sharathkumar
2014 A* conf
STOC
Pankaj K. Agarwal, R. Sharathkumar
2013 A* conf
SoCG
R. Sharathkumar
2013 J jnl
CoRR
Michael Kerber, R. Sharathkumar
2013 B conf
ISAAC
Michael Kerber, R. Sharathkumar
2012 A* conf
STOC
R. Sharathkumar, Pankaj K. Agarwal
2012 A* conf
SODA
R. Sharathkumar, Pankaj K. Agarwal
2010 A* conf
SODA
Pankaj K. Agarwal, R. Sharathkumar
2009 A* conf
SODA
Pankaj K. Agarwal, R. Sharathkumar, Hai Yu
2008 C conf
WAFR
Pankaj K. Agarwal, Alon Efrat, R. Sharathkumar, Hai Yu
2006 conf
CCCG
R. Sharathkumar, Prosenjit Gupta
redb/extractors/decompiler/bninja/instruction_type.py
← Index redb/extractors/decompiler/bninja/instruction_type.py python
from enum import Enum


class InstructionType(Enum):
    # Data Movement
    GENERAL_DATA_MOVEMENT = "GENERAL_DATA_MOVEMENT"  # mov, lea, xchg
    STACK_MANAGEMENT = "STACK_MANAGEMENT"  # push, pop, enter, leave
    STRING_MANIPULATION = "STRING_MANIPULATION"  # movs, lods, stos, cmps

    # Arithmetic
    BASIC_ARITHMETIC = "BASIC_ARITHMETIC"  # add, sub, inc, dec
    MULTIPLICATION_DIVISION = "MULTIPLICATION_DIVISION"  # mul, div, imul, idiv
    CARRY_ARITHMETIC = "CARRY_ARITHMETIC"  # adc, sbb

    # Logical
    BITWISE_LOGIC = "BITWISE_LOGIC"  # and, or, xor, not
    CONDITIONAL_LOGIC = "CONDITIONAL_LOGIC"  # test, cmp, setX

    # Control Flow
    UNCONDITIONAL_JUMP = "UNCONDITIONAL_JUMP"  # jmp
    CONDITIONAL_JUMP = "CONDITIONAL_JUMP"  # je, jne, jl, jg, etc
    FUNCTION_CONTROL = "FUNCTION_CONTROL"  # call, ret
    LOOPING = "LOOPING"  # loop, loopz, loopnz

    # System
    SYSTEM_CALLS = "SYSTEM_CALLS"  # syscall, int, sysenter
    PRIVILEGED_INSTRUCTIONS = "PRIVILEGED_INSTRUCTIONS"  # hlt, cli, sti
    CPU_FEATURES = "CPU_FEATURES"  # cpuid, rdtsc

    # SIMD & FPU
    SSE_SIMD = "SSE_SIMD"  # SSE instructions
    AVX_SIMD = "AVX_SIMD"  # AVX instructions
    BASIC_FPU = "BASIC_FPU"  # fld, fst, fstp
    FPU_ARITHMETIC = "FPU_ARITHMETIC"  # fadd, fsub, etc

    # Bit Operations
    SHIFT_ROTATE = "SHIFT_ROTATE"  # shl, shr, rol, ror
    BIT_TEST_MODIFY = "BIT_TEST_MODIFY"  # bt, bts, btr, btc

    # Special
    CRYPTOGRAPHIC_OPS = "CRYPTOGRAPHIC_OPS"  # aesenc, aesdec, sha1rnds4
    MISC_OPS = "MISC_OPS"