MemorySizeInfo

class iced_x86.MemorySizeInfo(memory_size)

MemorySize enum info, see also MemorySizeExt

Parameters:

memory_size (MemorySize) – Enum value

Examples:

from iced_x86 import *

info = MemorySizeInfo(MemorySize.PACKED256_UINT16)
assert info.size == 32
element_count

(u32) Gets the number of elements in the packed data type or 1 if it’s not packed data (MemorySizeInfo.is_packed)

Examples:

from iced_x86 import *

info = MemorySizeInfo(MemorySize.UINT32)
assert info.element_count == 1
info = MemorySizeInfo(MemorySize.PACKED256_UINT16)
assert info.element_count == 16
info = MemorySizeInfo(MemorySize.BROADCAST512_UINT64)
assert info.element_count == 1
Type:

int

element_size

(u32) Gets the size in bytes of the packed element. If it’s not a packed data type, it’s equal to MemorySizeInfo.size.

Examples:

from iced_x86 import *

info = MemorySizeInfo(MemorySize.UINT32)
assert info.element_size == 4
info = MemorySizeInfo(MemorySize.PACKED256_UINT16)
assert info.element_size == 2
info = MemorySizeInfo(MemorySize.BROADCAST512_UINT64)
assert info.element_size == 8
Type:

int

element_type

Gets the element type if it’s packed data or the type itself if it’s not packed data

Examples:

from iced_x86 import *

info = MemorySizeInfo(MemorySize.UINT32)
assert info.element_type == MemorySize.UINT32
info = MemorySizeInfo(MemorySize.PACKED256_UINT16)
assert info.element_type == MemorySize.UINT16
info = MemorySizeInfo(MemorySize.BROADCAST512_UINT64)
assert info.element_type == MemorySize.UINT64
Type:

MemorySize

element_type_info

Gets the element type if it’s packed data or the type itself if it’s not packed data

Examples:

from iced_x86 import *

info = MemorySizeInfo(MemorySize.UINT32).element_type_info
assert info.memory_size == MemorySize.UINT32
info = MemorySizeInfo(MemorySize.PACKED256_UINT16).element_type_info
assert info.memory_size == MemorySize.UINT16
info = MemorySizeInfo(MemorySize.BROADCAST512_UINT64).element_type_info
assert info.memory_size == MemorySize.UINT64
Type:

MemorySizeInfo

is_broadcast

True if it’s a broadcast memory type

Examples:

from iced_x86 import *

info = MemorySizeInfo(MemorySize.UINT32)
assert not info.is_broadcast
info = MemorySizeInfo(MemorySize.PACKED256_UINT16)
assert not info.is_broadcast
info = MemorySizeInfo(MemorySize.BROADCAST512_UINT64)
assert info.is_broadcast
Type:

bool

is_packed

True if this is a packed data type, eg. MemorySize.PACKED128_FLOAT32. See also MemorySizeInfo.element_count

Examples:

from iced_x86 import *

info = MemorySizeInfo(MemorySize.UINT32)
assert not info.is_packed
info = MemorySizeInfo(MemorySize.PACKED256_UINT16)
assert info.is_packed
info = MemorySizeInfo(MemorySize.BROADCAST512_UINT64)
assert not info.is_packed
Type:

bool

is_signed

True if it’s signed data (signed integer or a floating point value)

Examples:

from iced_x86 import *

info = MemorySizeInfo(MemorySize.UINT32)
assert not info.is_signed
info = MemorySizeInfo(MemorySize.INT32)
assert info.is_signed
info = MemorySizeInfo(MemorySize.FLOAT64)
assert info.is_signed
Type:

bool

memory_size

Gets the MemorySize value

Examples:

from iced_x86 import *

info = MemorySizeInfo(MemorySize.PACKED256_UINT16)
assert info.memory_size == MemorySize.PACKED256_UINT16
Type:

MemorySize

size

(u32) Gets the size in bytes of the memory location or 0 if it’s not accessed or unknown

Examples:

from iced_x86 import *

info = MemorySizeInfo(MemorySize.UINT32)
assert info.size == 4
info = MemorySizeInfo(MemorySize.PACKED256_UINT16)
assert info.size == 32
info = MemorySizeInfo(MemorySize.BROADCAST512_UINT64)
assert info.size == 8
Type:

int