Struct yaxpeax_x86::MemoryAccessSize [−][src]
pub struct MemoryAccessSize { /* fields omitted */ }
Implementations
return the number of bytes referenced by this memory access.
if the number of bytes cannot be confidently known by the instruction in isolation (as is
the case for xsave
/xrstor
-style “operate on all processor state” instructions), this
function will return None
.
a human-friendly label for the number of bytes this memory access references.
there are some differences from size names that may be expected elsewhere; yaxpeax-x86
prefers to use consistent names for a width even if the way those bytes are used varies.
the sizes yaxpeax-x86
knows are as follows:
| size (bytes) | name |
|–––––––|————|
| 1 | byte
|
| 2 | word
|
| 4 | dword
|
| 6 | far
|
| 8 | qword
|
| 10 | mword
|
| 16 | xmmword
|
| 32 | ymmword
|
| 64 | zmmword
|
| variable | ptr
|
“mword” refers to an mmx-sized access - 80 bits, or 10 bytes. mword
is also used for
64-bit far calls, because they reference a contiguous ten bytes; two bytes of segment
selector and eight bytes of address.
“variable” accesses access a number of bytes dependent on the physical processor and its
operating mode. this is particularly relevant for xsave
/xrstor
-style instructions.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for MemoryAccessSize
impl Send for MemoryAccessSize
impl Sync for MemoryAccessSize
impl Unpin for MemoryAccessSize
impl UnwindSafe for MemoryAccessSize