Ce Zheng

112 papers A* 20A 2B 3C 2Journal 64Unranked 21
YearRankTypeTitle / Venue / Authors
2026 J jnl
IEEE Trans. Pattern Anal. Mach. Intell.
Qunliang Xing, Ce Zheng, Mai Xu, Jing Yang, Shengxi Li
2026 J jnl
CoRR
Ce Zheng, Shiyao Ma, Ke Zhang, Chen Sun, Wenqi Zhang
2026 A* conf
AAAI
Liuyue Xie, Avik Kuthiala, George Z. Wei, Ce Zheng, Ananya Bal, Mosam Dabhi, Liting Wen, Taru Rustagi, Ethan Lai, Sushil Khyalia, Rohan Choudhury, Morteza Ziyadi, Xu Zhang, Hao Yang, László A. Jeni
2026 J jnl
CoRR
Yiwen Zhao, Ce Zheng, Yufu Wang, Hsueh-Han Daniel Yang, Liting Wen, László Attila Jeni
2025 conf
MMAsia
Ce Zheng, Qiong Wang, Cong Bai
2025 J jnl
IEEE Trans. Knowl. Data Eng.
Ce Zheng, Zhouran Shi, Ruijie Miao, Wenpu Liu, Tong Yang, Bin Cui, Steve Uhlig
2025 conf
MICCAI (8)
Jiawen Zheng, Li Luo, Jiafan Zhuang, Peiwei Wei, Lihao Zhong, Xiaoling Xie, Jinming Guo, Meng Xie, Xiaoli Kang, Jie Cen, Lingyan Dong, Ce Zheng, Zhun Fan
2025 A* conf
CVPR
Jing Gao, Ce Zheng, László A. Jeni, Zackory Erickson
2025 J jnl
CoRR
Jing Gao, Ce Zheng, László A. Jeni, Zackory Erickson
2025 A conf
WACV
Ce Zheng, Xianpeng Liu, Qucheng Peng, Tianfu Wu, Pu Wang, Chen Chen
2025 conf
INFOCOM WKSHPS
Jiahong Ning, Pengyan Zhu, Ce Zheng, Gary Lee, Sumei Sun, Tingting Yang
2025 B conf
FG
Qucheng Peng, Ce Zheng, Zhengming Ding, Pu Wang, Chen Chen
2025 conf
ACL (Findings)
Bofei Gao, Zefan Cai, Runxin Xu, Peiyi Wang, Ce Zheng, Runji Lin, Keming Lu, Dayiheng Liu, Chang Zhou, Wen Xiao, Tianyu Liu, Baobao Chang
2025 J jnl
CoRR
Liuyue Xie, George Z. Wei, Avik Kuthiala, Ce Zheng, Ananya Bal, Mosam Dabhi, Liting Wen, Taru Rustagi, Ethan Lai, Sushil Khyalia, Rohan Choudhury, Morteza Ziyadi, Xu Zhang, Hao Yang, László A. Jeni
2025 J jnl
IEEE Trans. Veh. Technol.
Jie Zhou, Shuaishuai Guo, Jia Ye, Peng Zhang, Ce Zheng
2025 J jnl
Inf. Fusion
Puxun Tu, Hongfei Ye, Haochen Shi, Jeff Young, Meng Xie, Peiquan Zhao, Ce Zheng, Xiaoyi Jiang, Xiaojun Chen
2025 conf
APSIPA
Jing Liang, Yuxuan Wang, Tingting Song, Ce Zheng, Peiya Li
2025 J jnl
Int. J. Mach. Learn. Cybern.
Kai Luo, Ce Zheng, Zhenyu Guan
2025 J jnl
CoRR
Jungbin Cho, Minsu Kim, Jisoo Kim, Ce Zheng, László Attila Jeni, Ming-Hsuan Yang, Youngjae Yu, Seonjoo Kim
2025 J jnl
IEEE Commun. Lett.
Hongliang He, Xingmei Li, Ce Zheng
2025 conf
ICCVW
Sen Fang, Chen Chen, Lei Wang, Ce Zheng, Chunyu Sui, Yapeng Tian
2025 J jnl
CoRR
Ke Zhang, Xiaoning Zhao, Ce Zheng, Jiahong Ning, Dandan Zhu, Wenqi Zhang, Chen Sun, Toshiharu Sugawara
2024 A* conf
CVPR
Qucheng Peng, Ce Zheng, Chen Chen
2024 J jnl
CoRR
Qucheng Peng, Ce Zheng, Chen Chen
2024 A* conf
EMNLP
Qingxiu Dong, Lei Li, Damai Dai, Ce Zheng, Jingyuan Ma, Rui Li, Heming Xia, Jingjing Xu, Zhiyong Wu, Baobao Chang, Xu Sun, Lei Li, Zhifang Sui
2024 J jnl
ACM Comput. Surv.
Ce Zheng, Wenhan Wu, Chen Chen, Taojiannan Yang, Sijie Zhu, Ju Shen, Nasser Kehtarnavaz, Mubarak Shah
2024 J jnl
CoRR
Qucheng Peng, Ce Zheng, Zhengming Ding, Pu Wang, Chen Chen
2024 conf
ICC
Chen Sun, Shiyao Ma, Ce Zheng, Songtao Wu, Qiang Tong, Tao Cui, Wenqi Zhang
2024 A* conf
ACM Multimedia
Wenhan Wu, Ce Zheng, Zihao Yang, Chen Chen, Srijan Das, Aidong Lu
2024 J jnl
CoRR
Wenhan Wu, Ce Zheng, Zihao Yang, Chen Chen, Srijan Das, Aidong Lu
2024 J jnl
CoRR
Shimao Chen, Zirui Liu, Zhiying Wu, Ce Zheng, Peizhuang Cong, Zihan Jiang, Yuhan Wu, Lei Su, Tong Yang
2024 conf
OMIA@MICCAI
Puxun Tu, Meng Xie, Jiao Lv, Peiquan Zhao, Ce Zheng, Xiaojun Chen
2024 J jnl
CoRR
Bofei Gao, Zefan Cai, Runxin Xu, Peiyi Wang, Ce Zheng, Runji Lin, Keming Lu, Junyang Lin, Chang Zhou, Wen Xiao, Junjie Hu, Tianyu Liu, Baobao Chang
2024 J jnl
IEEE Trans. Veh. Technol.
Ce Zheng, Yankun Chen, Chao Dong, Qisen Wang, Hua Yu, Sibo Sun
2024 A* conf
CVPR
Xianpeng Liu, Ce Zheng, Ming Qian, Nan Xue, Chen Chen, Zhebin Zhang, Chen Li, Tianfu Wu
2024 J jnl
CoRR
Xianpeng Liu, Ce Zheng, Ming Qian, Nan Xue, Chen Chen, Zhebin Zhang, Chen Li, Tianfu Wu
2024 J jnl
CoRR
Ke Zhang, Dandan Zhu, Qiuhan Xu, Hao Zhou, Ce Zheng
2024 J jnl
CoRR
Sen Fang, Lei Wang, Ce Zheng, Yapeng Tian, Chen Chen
2024 J jnl
IEEE Access
Yarui Zhang, Shanshan Wang, Wassim Ben Chikha, Jiang Liu, Ce Zheng, Theodoros Samaras, Joe Wiart
2024 J jnl
CoRR
Bofei Gao, Feifan Song, Yibo Miao, Zefan Cai, Zhe Yang, Liang Chen, Helan Hu, Runxin Xu, Qingxiu Dong, Ce Zheng, Wen Xiao, Ge Zhang, Daoguang Zan, Keming Lu, Bowen Yu, Dayiheng Liu, Zeyu Cui, Jian Yang, Lei Sha, Houfeng Wang, Zhifang Sui, Peiyi Wang, Tianyu Liu, Baobao Chang
2024 conf
SAM
Ce Zheng, Yankun Chen, Qisen Wang, Xiang Li, Sijian Liu, Chao Dong
2024 A* conf
DAC
Shilin Tian, Chase Szafranski, Ce Zheng, Fan Yao, Ahmed Louri, Chen Chen, Hao Zheng
2023 conf
ICC
Tianming Zang, Ce Zheng, Shiyao Ma, Chen Sun, Wei Chen
2023 A* conf
NeurIPS
Qitao Zhao, Ce Zheng, Mengyuan Liu, Chen Chen
2023 J jnl
CoRR
Qitao Zhao, Ce Zheng, Mengyuan Liu, Chen Chen
2023 J jnl
CoRR
Qingxiu Dong, Lei Li, Damai Dai, Ce Zheng, Zhiyong Wu, Baobao Chang, Xu Sun, Jingjing Xu, Lei Li, Zhifang Sui
2023 conf
VTC Fall
Yunda Li, Le Zhao, Chen Sun, Haojin Li, Ce Zheng
2023 J jnl
CoRR
Haoran Zhang, Jianlong Yang, Ce Zheng, Shiqing Zhao, Aili Zhang
2023 A* conf
EMNLP
Lei Li, Jingjing Xu, Qingxiu Dong, Ce Zheng, Xu Sun, Lingpeng Kong, Qi Liu
2023 J jnl
CoRR
Lei Li, Jingjing Xu, Qingxiu Dong, Ce Zheng, Qi Liu, Lingpeng Kong, Xu Sun
2023 A* conf
EMNLP
Ce Zheng, Lei Li, Qingxiu Dong, Yuxuan Fan, Zhiyong Wu, Jingjing Xu, Baobao Chang
2023 J jnl
CoRR
Ce Zheng, Lei Li, Qingxiu Dong, Yuxuan Fan, Zhiyong Wu, Jingjing Xu, Baobao Chang
2023 conf
EMNLP (Findings)
Kaikai An, Ce Zheng, Bofei Gao, Haozhe Zhao, Baobao Chang
2023 J jnl
CoRR
Kaikai An, Ce Zheng, Bofei Gao, Haozhe Zhao, Baobao Chang
2023 J jnl
CoRR
Ce Zheng, Guo-Jun Qi, Chen Chen
2023 B conf
WiOpt
Qiong Liu, Chenhao Wang, Ce Zheng
2023 conf
MICCAI (7)
Puxun Tu, Hongfei Ye, Jeff Young, Meng Xie, Ce Zheng, Xiaojun Chen
2023 J jnl
IEEE Trans. Multim.
Ming Li, Jun Liu, Ce Zheng, Xinming Huang, Ziming Zhang
2023 A* conf
CVPR
Ce Zheng, Matías Mendieta, Taojiannan Yang, Guo-Jun Qi, Chen Chen
2023 J jnl
CoRR
Chen Sun, Shiyao Ma, Ce Zheng, Songtao Wu, Tao Cui, Lingjuan Lyu
2023 J jnl
IEEE Trans. Geosci. Remote. Sens.
Sibo Sun, Huigong Guo, Guangming Wan, Chao Dong, Ce Zheng, Yong Wang
2023 A conf
IROS
Shengnan Hu, Ce Zheng, Zixiang Zhou, Chen Chen, Gita Sukthankar
2023 J jnl
CoRR
Shengnan Hu, Ce Zheng, Zixiang Zhou, Chen Chen, Gita Sukthankar
2023 J jnl
World Sci. Annu. Rev. Artif. Intell.
Xudong Chen, Ce Zheng, Baobao Chang, Ru Li
2023 A* conf
ICCV
Xianpeng Liu, Ce Zheng, Kelvin Cheng, Nan Xue, Guo-Jun Qi, Tianfu Wu
2023 J jnl
CoRR
Xianpeng Liu, Ce Zheng, Kelvin Cheng, Nan Xue, Guo-Jun Qi, Tianfu Wu
2023 conf
ICCV (Workshops)
Ce Zheng, Matías Mendieta, Chen Chen
2023 A* conf
CVPR
Ce Zheng, Xianpeng Liu, Guo-Jun Qi, Chen Chen
2023 J jnl
CoRR
Ce Zheng, Xianpeng Liu, Guo-Jun Qi, Chen Chen
2023 A* conf
IJCAI
Yilei Hua, Wenhan Wu, Ce Zheng, Aidong Lu, Mengyuan Liu, Chen Chen, Shiqian Wu
2023 J jnl
CoRR
Yilei Hua, Wenhan Wu, Ce Zheng, Aidong Lu, Mengyuan Liu, Chen Chen, Shiqian Wu
2023 J jnl
CoRR
Puxun Tu, Hongfei Ye, Haochen Shi, Jeff Young, Meng Xie, Peiquan Zhao, Ce Zheng, Xiaoyi Jiang, Xiaojun Chen
2023 A* conf
CVPR
Qitao Zhao, Ce Zheng, Mengyuan Liu, Pichao Wang, Chen Chen
2023 J jnl
CoRR
Qitao Zhao, Ce Zheng, Mengyuan Liu, Pichao Wang, Chen Chen
2023 A* conf
AAAI
Ce Zheng, Yiming Wang, Baobao Chang
2023 conf
ICME Workshops
Wenhan Wu, Yilei Hua, Ce Zheng, Shiqian Wu, Chen Chen, Aidong Lu
2023 A* conf
ICCV
Qucheng Peng, Ce Zheng, Chen Chen
2023 J jnl
CoRR
Qucheng Peng, Ce Zheng, Chen Chen
2023 J jnl
CoRR
Aiyinsi Zuo, Haixi Zhang, Zirui Li, Ce Zheng
2022 conf
NAACL-HLT
Ce Zheng, Xudong Chen, Runxin Xu, Baobao Chang
2022 J jnl
CoRR
Ce Zheng, Xudong Chen, Runxin Xu, Baobao Chang
2022 A* conf
ACM Multimedia
Ce Zheng, Matías Mendieta, Pu Wang, Aidong Lu, Chen Chen
2022 J jnl
CoRR
Ce Zheng, Matías Mendieta, Taojiannan Yang, Chen Chen
2022 J jnl
EURASIP J. Wirel. Commun. Netw.
Ce Zheng, Malcolm Egan, Laurent Clavier, Gareth W. Peters, Jean-Marie Gorce
2022 J jnl
CoRR
Ce Zheng, Matías Mendieta, Chen Chen
2022 J jnl
CoRR
Ce Zheng, Yiming Wang, Baobao Chang
2022 J jnl
CoRR
Wenhan Wu, Yilei Hua, Ce Zheng, Shiqian Wu, Chen Chen, Aidong Lu
2022 B conf
WCNC
Ce Zheng, Malcolm Egan, Laurent Clavier, Anders E. Kalør, Petar Popovski
2021 A* conf
ICCV
Ce Zheng, Sijie Zhu, Matías Mendieta, Taojiannan Yang, Chen Chen, Zhengming Ding
2021 J jnl
CoRR
Ce Zheng, Sijie Zhu, Matías Mendieta, Taojiannan Yang, Chen Chen, Zhengming Ding
2021 J jnl
CoRR
Ce Zheng, Matías Mendieta, Pu Wang, Aidong Lu, Chen Chen
2021 J jnl
IEEE Geosci. Remote. Sens. Lett.
Sibo Sun, Chen Zhao, Ce Zheng, Chunhui Zhao, Yilin Wang
2021 conf
ACL/IJCNLP (Findings)
Xudong Chen, Ce Zheng, Baobao Chang
2021 J jnl
IEEE Commun. Lett.
Ce Zheng, Malcolm Egan, Laurent Clavier, Anders E. Kalør, Petar Popovski
2020 J jnl
IEEE J. Biomed. Health Informatics
Huihong Zhang, Jianlong Yang, Kang Zhou, Fei Li, Yan Hu, Yitian Zhao, Ce Zheng, Xiulan Zhang, Jiang Liu
2020 conf
OMIA@MICCAI
Yuanyuan Gu, Yan Hu, Lei Mou, Huaying Hao, Yitian Zhao, Ce Zheng, Jiang Liu
2020 J jnl
CoRR
Ce Zheng, Wenhan Wu, Taojiannan Yang, Sijie Zhu, Chen Chen, Ruixu Liu, Ju Shen, Nasser Kehtarnavaz, Mubarak Shah
2020 conf
ICC
Ce Zheng, Malcolm Egan, Laurent Clavier, Troels Pedersen, Jean-Marie Gorce
2020 A* conf
ACM Multimedia
Ce Zheng, Yecheng Lyu, Ming Li, Ziming Zhang
2020 J jnl
CoRR
Ce Zheng, Yecheng Lyu, Ming Li, Ziming Zhang
2019 conf
ICC
Ce Zheng, Malcolm Egan, Laurent Clavier, Gareth W. Peters, Jean-Marie Gorce
2019 C conf
IGARSS
Ce Zheng, Xue Jiang, Ye Zhang, Xingzhao Liu, Bin Yuan, Zhixin Li
2018 J jnl
CoRR
Zhun Fan, Jiewei Lu, Ce Zheng, Jingan Feng, Longtao Huang, Wenji Li, Erik D. Goodman
2018 J jnl
Sensors
Guolong Liang, Yifeng Zhang, Guangpu Zhang, Jia Feng, Ce Zheng
2018 J jnl
EURASIP J. Wirel. Commun. Netw.
Malcolm Egan, Laurent Clavier, Ce Zheng, Mauro L. de Freitas, Jean-Marie Gorce
2018 J jnl
Sensors
Guangpu Zhang, Ce Zheng, Sibo Sun, Guolong Liang, Yifeng Zhang
2018 J jnl
J. Sensors
Guangpu Zhang, Ce Zheng, Wang Sheng Lin
2017 J jnl
IEEE Trans. Smart Grid
Vuk Malbasa, Ce Zheng, Po-Chen Chen, Tomo Popovic, Mladen Kezunovic
2010 conf
HICSS
Mladen Kezunovic, Ce Zheng, Chengzong Pang
2008 J jnl
BMC Bioinform.
Ce Zheng, Lukasz A. Kurgan
2007 J jnl
Pattern Recognit.
Juan Xu, Opas Chutatape, Eric Sung, Ce Zheng, Paul Chew Tec Kuan
2006 C conf
ICARCV
Juan Xu, Eric Sung, Opas Chutatape, Ce Zheng, Paul Chew
redb/extractors/decompiler/bninja/arch/x86.py
← Index redb/extractors/decompiler/bninja/arch/x86.py python
from binaryninja.enums import (
    InstructionTextTokenType,
)

# Support both package and standalone imports
try:
    from .architecture import Architecture
except ImportError:
    # Fallback to absolute imports (for multiprocessing spawned processes)
    from redb.extractors.decompiler.bninja.arch.architecture import Architecture


class Arch_x86(Architecture):
    """The concrete class for architecture-dependent details for x86_64"""

    def __init__(self):
        # general purpose registers for 64bits
        self.gpr_64 = [
            "RAX",
            "RBX",
            "RCX",
            "RDX",
            "RSI",
            "RDIR9",
            "R10",
            "R11",
            "R12",
            "R13",
            "R14",
            "R15",
        ]

        self.gpr_32 = [
            "EAX",
            "EBX",
            "ECX",
            "EDX",
            "ESI",
            "EDI",
            "R8D",
            "R9D",
            "R10D",
            "R11D",
            "R12D",
            "R13D",
            "R14D",
            "R15D",
        ]

        self.gpr_16 = [
            "AX",
            "BX",
            "CX",
            "DX",
            "SI",
            "DI",
            "R8W",
            "R9W",
            "R10W",
            "R11W",
            "R12W",
            "R13W",
            "R14W",
            "R15W",
        ]

        self.gpr_8 = [
            "AL",
            "BL",
            "CL",
            "DL",
            "SIL",
            "DIL",
            "R8B",
            "R9B",
            "R10B",
            "R11B",
            "R12B",
            "R13B",
            "R14B",
            "R15B",
        ]

        self.fpu_x87 = ["ST0", "ST1", "ST2", "ST3", "ST4", "ST5", "ST6", "ST7"]

        self.sse_xmm = [
            "XMM0",
            "XMM1",
            "XMM2",
            "XMM3",
            "XMM4",
            "XMM5",
            "XMM6",
            "XMM7",
            "XMM8",
            "XMM9",
            "XMM10",
            "XMM11",
            "XMM12",
            "XMM13",
            "XMM14",
            "XMM15",
        ]

        self.avx_ymm = [
            "YMM0",
            "YMM1",
            "YMM2",
            "YMM3",
            "YMM4",
            "YMM5",
            "YMM6",
            "YMM7",
            "YMM8",
            "YMM9",
            "YMM10",
            "YMM11",
            "YMM12",
            "YMM13",
            "YMM14",
            "YMM15",
        ]
        self.flags = ["FLAGS", "EFLAGS", "RFLAGS"]
        self.stack_registers = ["RBP", "RSP", "SP", "BP"]
        self.size = 8
        self.global_registers = (
            self.gpr_64
            + self.gpr_32
            + self.gpr_16
            + self.gpr_8
            + self.fpu_x87
            + self.sse_xmm
            + self.avx_ymm
        )
        self.opcode_categories = self._initialize_opcode_categories()

        ## instructions
        self.instructions = []

    def is_register(self, register):
        register = register.upper()
        return register in self.global_registers

    def is_general_purpose_register(self, register):
        register = register.upper()
        return (
            register in self.gpr_64
            or register in self.gpr_32
            or register in self.gpr_16
            or register in self.gpr_8
        )

    def is_stack_register(self, register):
        register = register.upper()
        return register in self.stack_registers

    def is_xmm_register(self, register):
        register = register.upper()
        return register in self.sse_xmm

    def is_control_flow(self, instr_tokens):
        return False

    def is_control_flow_instruction(self, instr_tokens):
        """Check if an instruction is a control flow instruction (jump, call, return, loop)."""
        try:
            # Extract the mnemonic from the instruction tokens
            mnemonic = None
            for token in instr_tokens:
                if token.type == InstructionTextTokenType.InstructionToken:
                    mnemonic = token.text.upper()
                    break

            if not mnemonic:
                return False

            # Check if it's a jump, call, return, or loop instruction
            return (
                mnemonic.startswith("J")  # All jumps (JMP, JE, JNE, etc.)
                or mnemonic == "CALL"  # Function calls
                or mnemonic == "RET"  # Return
                or mnemonic == "RETN"  # Another form of return
                or mnemonic.startswith("LOOP")
            )  # Loop instructions

        except Exception as e:
            print(e)
            # If we can't determine, assume it's not a control flow instruction
            return False

    def is_control_flow_instruction_by_mnemonic(self, mnemonic):
        """Check if an instruction is a control flow instruction based on its mnemonic."""
        if not mnemonic:
            return False

        mnemonic = mnemonic.upper()
        return (
            mnemonic.startswith("J")  # All jumps (JMP, JE, JNE, etc.)
            or mnemonic == "CALL"  # Function calls
            or mnemonic == "RET"  # Return
            or mnemonic == "RETN"  # Another form of return
            or mnemonic.startswith("LOOP")
        )

    def _initialize_opcode_categories(self):
        """Initialize mapping of opcodes to categories similar to Ghidra's implementation."""
        opcode_categories = {}
        opcode_index = {}  # Add this to mimic Ghidra's opcodeIndex

        # Define common opcodes array similar to Ghidra's COMMON_OPCODES
        COMMON_OPCODES = [
            # Core instructions (tracked individually)
            "MOV",
            "PUSH",
            "POP",
            "LEA",
            "CALL",
            "RET",  # Data movement and control
            "ADD",
            "SUB",
            "MUL",
            "DIV",  # Basic arithmetic
            "AND",
            "OR",
            "XOR",
            "NOT",  # Logical operations
            "JMP",
            "JE",
            "JNE",  # Basic jumps
            "TEST",
            "CMP",  # Comparisons
            # Grouped categories (aggregated tracking)
            "SIMD_MOVE",  # MOVAPS, MOVDQA, MOVDQU, etc.
            "COND_JUMP_EXT",  # Other conditional jumps (JG, JL, JGE, etc.)
            "STRING_OP",  # MOVS, STOS, LODS, SCAS, CMPS
            "STACK_ADV",  # ENTER, LEAVE, PUSHA, POPA
            "ARITHMETIC_ADV",  # IMUL, IDIV, ADC, SBB
            "BIT_OP",  # SHL, SHR, SAR, ROL, ROR, etc.
            "FPU_OP",  # FLD, FST, FADD, etc.
            "SYSTEM_OP",  # SYSCALL, INT, SYSENTER
            "CRYPTO_OP",  # AES*, SHA* instructions
            "MISC_OP",  # Rare but interesting (CPUID, RDTSC, etc.)
        ]

        # Create index map like Ghidra
        for i, opcode in enumerate(COMMON_OPCODES):
            opcode_index[opcode] = i

        # Now categorize opcodes using if/elif/else structure like in Ghidra
        for opcode in COMMON_OPCODES:
            # String Operations (checking these first to avoid MOV confusion)
            if opcode.startswith("MOVS") or opcode in [
                "STOS",
                "LODS",
                "SCAS",
                "CMPS",
                "REP",
                "REPE",
                "REPNE",
            ]:
                opcode_categories[opcode] = "STRING_MANIPULATION"

            # Data Movement (after string ops to avoid MOVS confusion)
            elif opcode.startswith("MOV") or opcode in ["LEA", "XCHG"]:
                opcode_categories[opcode] = "DATA_MOVEMENT"

            # Stack Operations
            elif opcode in ["PUSH", "POP", "ENTER", "LEAVE", "PUSHA", "POPA"]:
                opcode_categories[opcode] = "STACK_MANAGEMENT"

            # Control Flow (non-conditional)
            elif opcode in ["JMP", "CALL", "RET"]:
                opcode_categories[opcode] = "CONTROL_FLOW"

            # Conditional Jumps and Loops
            elif opcode.startswith("J") or opcode.startswith("LOOP"):
                opcode_categories[opcode] = "CONDITIONAL_JUMP"

            # Arithmetic
            elif opcode in [
                "ADD",
                "SUB",
                "MUL",
                "DIV",
                "IMUL",
                "IDIV",
                "ADC",
                "SBB",
                "INC",
                "DEC",
                "NEG",
            ]:
                opcode_categories[opcode] = "ARITHMETIC"

            # Logical
            elif opcode in ["AND", "OR", "XOR", "NOT", "TEST", "CMP"]:
                opcode_categories[opcode] = "LOGICAL"

            # Shifts & Rotates
            elif opcode in ["SHL", "SHR", "SAR", "SAL", "ROL", "ROR", "RCL", "RCR"]:
                opcode_categories[opcode] = "SHIFT_ROTATE"

            # System & Interrupts
            elif opcode in [
                "SYSCALL",
                "INT",
                "SYSENTER",
                "SYSEXIT",
                "SGDT",
                "SIDT",
                "SLDT",
                "WRMSR",
                "RDMSR",
            ]:
                opcode_categories[opcode] = "SYSTEM_CALLS"

            # Floating Point
            elif opcode.startswith("F"):
                opcode_categories[opcode] = "FPU_ARITHMETIC"

            # System Information and Random Number Generation
            elif opcode in ["PUSHF", "POPF", "CPUID", "RDTSC", "RDRAND", "RDSEED"]:
                opcode_categories[opcode] = "CPU_FEATURES"

            # Cryptography
            elif opcode.startswith("AES") or opcode.startswith("SHA"):
                opcode_categories[opcode] = "CRYPTOGRAPHIC"

            # Miscellaneous (including flag operations)
            else:
                opcode_categories[opcode] = "MISC"

        # Additional categorization for opcodes not in COMMON_OPCODES
        # This can be used in the normalize_opcode method

        # Store both maps as instance variables
        # self.opcode_categories = opcode_categories
        self.opcode_index = opcode_index

        return opcode_categories

    def is_simd_register(self, register):
        return register in self.sse_xmm