C. W. Johnson

13 papers B 1C 2Journal 6Unranked 4
YearRankTypeTitle / Venue / Authors
2005 C conf
ACE
C. W. Johnson, Ian Barnes
2005 C conf
WOWMOM
Teddy Mantoro, C. W. Johnson
1997 J jnl
ACM SIGCHI Bull.
C. W. Johnson
1996 J jnl
Softw. Eng. J.
C. W. Johnson
1996 conf
ISPAN
Wanli Ma, C. W. Johnson, Richard P. Brent
1995 J jnl
Softw. Eng. J.
C. W. Johnson
1993 J jnl
Int. J. Man Mach. Stud.
C. W. Johnson
1992 J jnl
Int. J. Man Mach. Stud.
C. W. Johnson, Michael D. Harrison
1991 conf
Eurographics
C. W. Johnson, Michael D. Harrison
1990 conf
Eurographics
C. W. Johnson, Michael D. Harrison
1990 B conf
INTERACT
C. W. Johnson
1982 conf
SIGPLAN Symposium on Compiler Construction
C. W. Johnson, Colin Runciman
1978 J jnl
Aust. Comput. J.
C. W. Johnson
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"