OpAccess

Operand, register and memory access

iced_x86.OpAccess.NONE: int = 0

Nothing is read and nothing is written

iced_x86.OpAccess.READ: int = 1

The value is read

iced_x86.OpAccess.COND_READ: int = 2

The value is sometimes read and sometimes not

iced_x86.OpAccess.WRITE: int = 3

The value is completely overwritten

iced_x86.OpAccess.COND_WRITE: int = 4

Conditional write, sometimes it’s written and sometimes it’s not modified

iced_x86.OpAccess.READ_WRITE: int = 5

The value is read and written

iced_x86.OpAccess.READ_COND_WRITE: int = 6

The value is read and sometimes written

iced_x86.OpAccess.NO_MEM_ACCESS: int = 7

The memory operand doesn’t refer to memory (eg. LEA instruction) or it’s an instruction that doesn’t read the data to a register or doesn’t write to the memory location, it just prefetches/invalidates it, eg. INVLPG, PREFETCHNTA, VGATHERPF0DPS, etc. Some of those instructions still check if the code can access the memory location.