Skip to content

Usage of CS_OP_MEM_REG and CS_OP_MEM_IMM #2658

Open
@OBarronCS

Description

@OBarronCS

Work environment

Questions Answers
Capstone module affected Mips
Source of Capstone git clone
Version/git commit 8ac2843 (HEAD, tag: 6.0.0-Alpha3)

I am seeking clarification on the operand types CS_OP_MEM_REG and CS_OP_MEM_IMM.

CS_OP_MEM = 0x80, ///< Memory operand. Can be ORed with another operand type.
CS_OP_MEM_REG = CS_OP_MEM | CS_OP_REG, ///< Memory referencing register operand.
CS_OP_MEM_IMM = CS_OP_MEM | CS_OP_IMM, ///< Memory referencing immediate operand.

In what cases are these exposed to the user of Capstone? Testing different instructions that dereference memory appears to just expose the type 0x80 for memory operands.

I'm trying to find examples of instructions that have operands with the CS_OP_MEM_REG and CS_OP_MEM_IMM types - any examples would be greatly appreciated.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions