#[repr(C)]pub enum Register {
Show 266 variants
NONE = 0,
AL = 1,
CL = 2,
DL = 3,
BL = 4,
AH = 5,
CH = 6,
DH = 7,
BH = 8,
SPL = 9,
BPL = 10,
SIL = 11,
DIL = 12,
R8B = 13,
R9B = 14,
R10B = 15,
R11B = 16,
R12B = 17,
R13B = 18,
R14B = 19,
R15B = 20,
AX = 21,
CX = 22,
DX = 23,
BX = 24,
SP = 25,
BP = 26,
SI = 27,
DI = 28,
R8W = 29,
R9W = 30,
R10W = 31,
R11W = 32,
R12W = 33,
R13W = 34,
R14W = 35,
R15W = 36,
EAX = 37,
ECX = 38,
EDX = 39,
EBX = 40,
ESP = 41,
EBP = 42,
ESI = 43,
EDI = 44,
R8D = 45,
R9D = 46,
R10D = 47,
R11D = 48,
R12D = 49,
R13D = 50,
R14D = 51,
R15D = 52,
RAX = 53,
RCX = 54,
RDX = 55,
RBX = 56,
RSP = 57,
RBP = 58,
RSI = 59,
RDI = 60,
R8 = 61,
R9 = 62,
R10 = 63,
R11 = 64,
R12 = 65,
R13 = 66,
R14 = 67,
R15 = 68,
ST0 = 69,
ST1 = 70,
ST2 = 71,
ST3 = 72,
ST4 = 73,
ST5 = 74,
ST6 = 75,
ST7 = 76,
X87CONTROL = 77,
X87STATUS = 78,
X87TAG = 79,
MM0 = 80,
MM1 = 81,
MM2 = 82,
MM3 = 83,
MM4 = 84,
MM5 = 85,
MM6 = 86,
MM7 = 87,
XMM0 = 88,
XMM1 = 89,
XMM2 = 90,
XMM3 = 91,
XMM4 = 92,
XMM5 = 93,
XMM6 = 94,
XMM7 = 95,
XMM8 = 96,
XMM9 = 97,
XMM10 = 98,
XMM11 = 99,
XMM12 = 100,
XMM13 = 101,
XMM14 = 102,
XMM15 = 103,
XMM16 = 104,
XMM17 = 105,
XMM18 = 106,
XMM19 = 107,
XMM20 = 108,
XMM21 = 109,
XMM22 = 110,
XMM23 = 111,
XMM24 = 112,
XMM25 = 113,
XMM26 = 114,
XMM27 = 115,
XMM28 = 116,
XMM29 = 117,
XMM30 = 118,
XMM31 = 119,
YMM0 = 120,
YMM1 = 121,
YMM2 = 122,
YMM3 = 123,
YMM4 = 124,
YMM5 = 125,
YMM6 = 126,
YMM7 = 127,
YMM8 = 128,
YMM9 = 129,
YMM10 = 130,
YMM11 = 131,
YMM12 = 132,
YMM13 = 133,
YMM14 = 134,
YMM15 = 135,
YMM16 = 136,
YMM17 = 137,
YMM18 = 138,
YMM19 = 139,
YMM20 = 140,
YMM21 = 141,
YMM22 = 142,
YMM23 = 143,
YMM24 = 144,
YMM25 = 145,
YMM26 = 146,
YMM27 = 147,
YMM28 = 148,
YMM29 = 149,
YMM30 = 150,
YMM31 = 151,
ZMM0 = 152,
ZMM1 = 153,
ZMM2 = 154,
ZMM3 = 155,
ZMM4 = 156,
ZMM5 = 157,
ZMM6 = 158,
ZMM7 = 159,
ZMM8 = 160,
ZMM9 = 161,
ZMM10 = 162,
ZMM11 = 163,
ZMM12 = 164,
ZMM13 = 165,
ZMM14 = 166,
ZMM15 = 167,
ZMM16 = 168,
ZMM17 = 169,
ZMM18 = 170,
ZMM19 = 171,
ZMM20 = 172,
ZMM21 = 173,
ZMM22 = 174,
ZMM23 = 175,
ZMM24 = 176,
ZMM25 = 177,
ZMM26 = 178,
ZMM27 = 179,
ZMM28 = 180,
ZMM29 = 181,
ZMM30 = 182,
ZMM31 = 183,
TMM0 = 184,
TMM1 = 185,
TMM2 = 186,
TMM3 = 187,
TMM4 = 188,
TMM5 = 189,
TMM6 = 190,
TMM7 = 191,
FLAGS = 192,
EFLAGS = 193,
RFLAGS = 194,
IP = 195,
EIP = 196,
RIP = 197,
ES = 198,
CS = 199,
SS = 200,
DS = 201,
FS = 202,
GS = 203,
GDTR = 204,
LDTR = 205,
IDTR = 206,
TR = 207,
TR0 = 208,
TR1 = 209,
TR2 = 210,
TR3 = 211,
TR4 = 212,
TR5 = 213,
TR6 = 214,
TR7 = 215,
CR0 = 216,
CR1 = 217,
CR2 = 218,
CR3 = 219,
CR4 = 220,
CR5 = 221,
CR6 = 222,
CR7 = 223,
CR8 = 224,
CR9 = 225,
CR10 = 226,
CR11 = 227,
CR12 = 228,
CR13 = 229,
CR14 = 230,
CR15 = 231,
DR0 = 232,
DR1 = 233,
DR2 = 234,
DR3 = 235,
DR4 = 236,
DR5 = 237,
DR6 = 238,
DR7 = 239,
DR8 = 240,
DR9 = 241,
DR10 = 242,
DR11 = 243,
DR12 = 244,
DR13 = 245,
DR14 = 246,
DR15 = 247,
K0 = 248,
K1 = 249,
K2 = 250,
K3 = 251,
K4 = 252,
K5 = 253,
K6 = 254,
K7 = 255,
BND0 = 256,
BND1 = 257,
BND2 = 258,
BND3 = 259,
BNDCFG = 260,
BNDSTATUS = 261,
MXCSR = 262,
PKRU = 263,
XCR0 = 264,
UIF = 265,
}
Expand description
Defines the ZydisRegister
enum.
Variants§
NONE = 0
AL = 1
CL = 2
DL = 3
BL = 4
AH = 5
CH = 6
DH = 7
BH = 8
SPL = 9
BPL = 10
SIL = 11
DIL = 12
R8B = 13
R9B = 14
R10B = 15
R11B = 16
R12B = 17
R13B = 18
R14B = 19
R15B = 20
AX = 21
CX = 22
DX = 23
BX = 24
SP = 25
BP = 26
SI = 27
DI = 28
R8W = 29
R9W = 30
R10W = 31
R11W = 32
R12W = 33
R13W = 34
R14W = 35
R15W = 36
EAX = 37
ECX = 38
EDX = 39
EBX = 40
ESP = 41
EBP = 42
ESI = 43
EDI = 44
R8D = 45
R9D = 46
R10D = 47
R11D = 48
R12D = 49
R13D = 50
R14D = 51
R15D = 52
RAX = 53
RCX = 54
RDX = 55
RBX = 56
RSP = 57
RBP = 58
RSI = 59
RDI = 60
R8 = 61
R9 = 62
R10 = 63
R11 = 64
R12 = 65
R13 = 66
R14 = 67
R15 = 68
ST0 = 69
ST1 = 70
ST2 = 71
ST3 = 72
ST4 = 73
ST5 = 74
ST6 = 75
ST7 = 76
X87CONTROL = 77
X87STATUS = 78
X87TAG = 79
MM0 = 80
MM1 = 81
MM2 = 82
MM3 = 83
MM4 = 84
MM5 = 85
MM6 = 86
MM7 = 87
XMM0 = 88
XMM1 = 89
XMM2 = 90
XMM3 = 91
XMM4 = 92
XMM5 = 93
XMM6 = 94
XMM7 = 95
XMM8 = 96
XMM9 = 97
XMM10 = 98
XMM11 = 99
XMM12 = 100
XMM13 = 101
XMM14 = 102
XMM15 = 103
XMM16 = 104
XMM17 = 105
XMM18 = 106
XMM19 = 107
XMM20 = 108
XMM21 = 109
XMM22 = 110
XMM23 = 111
XMM24 = 112
XMM25 = 113
XMM26 = 114
XMM27 = 115
XMM28 = 116
XMM29 = 117
XMM30 = 118
XMM31 = 119
YMM0 = 120
YMM1 = 121
YMM2 = 122
YMM3 = 123
YMM4 = 124
YMM5 = 125
YMM6 = 126
YMM7 = 127
YMM8 = 128
YMM9 = 129
YMM10 = 130
YMM11 = 131
YMM12 = 132
YMM13 = 133
YMM14 = 134
YMM15 = 135
YMM16 = 136
YMM17 = 137
YMM18 = 138
YMM19 = 139
YMM20 = 140
YMM21 = 141
YMM22 = 142
YMM23 = 143
YMM24 = 144
YMM25 = 145
YMM26 = 146
YMM27 = 147
YMM28 = 148
YMM29 = 149
YMM30 = 150
YMM31 = 151
ZMM0 = 152
ZMM1 = 153
ZMM2 = 154
ZMM3 = 155
ZMM4 = 156
ZMM5 = 157
ZMM6 = 158
ZMM7 = 159
ZMM8 = 160
ZMM9 = 161
ZMM10 = 162
ZMM11 = 163
ZMM12 = 164
ZMM13 = 165
ZMM14 = 166
ZMM15 = 167
ZMM16 = 168
ZMM17 = 169
ZMM18 = 170
ZMM19 = 171
ZMM20 = 172
ZMM21 = 173
ZMM22 = 174
ZMM23 = 175
ZMM24 = 176
ZMM25 = 177
ZMM26 = 178
ZMM27 = 179
ZMM28 = 180
ZMM29 = 181
ZMM30 = 182
ZMM31 = 183
TMM0 = 184
TMM1 = 185
TMM2 = 186
TMM3 = 187
TMM4 = 188
TMM5 = 189
TMM6 = 190
TMM7 = 191
FLAGS = 192
EFLAGS = 193
RFLAGS = 194
IP = 195
EIP = 196
RIP = 197
ES = 198
CS = 199
SS = 200
DS = 201
FS = 202
GS = 203
GDTR = 204
LDTR = 205
IDTR = 206
TR = 207
TR0 = 208
TR1 = 209
TR2 = 210
TR3 = 211
TR4 = 212
TR5 = 213
TR6 = 214
TR7 = 215
CR0 = 216
CR1 = 217
CR2 = 218
CR3 = 219
CR4 = 220
CR5 = 221
CR6 = 222
CR7 = 223
CR8 = 224
CR9 = 225
CR10 = 226
CR11 = 227
CR12 = 228
CR13 = 229
CR14 = 230
CR15 = 231
DR0 = 232
DR1 = 233
DR2 = 234
DR3 = 235
DR4 = 236
DR5 = 237
DR6 = 238
DR7 = 239
DR8 = 240
DR9 = 241
DR10 = 242
DR11 = 243
DR12 = 244
DR13 = 245
DR14 = 246
DR15 = 247
K0 = 248
K1 = 249
K2 = 250
K3 = 251
K4 = 252
K5 = 253
K6 = 254
K7 = 255
BND0 = 256
BND1 = 257
BND2 = 258
BND3 = 259
BNDCFG = 260
BNDSTATUS = 261
MXCSR = 262
PKRU = 263
XCR0 = 264
UIF = 265
Implementations§
source§impl Register
impl Register
sourcepub fn class(self) -> RegisterClass
pub fn class(self) -> RegisterClass
Returns the register-class of this register.
§Examples
use zydis::{Register, RegisterClass};
let class = Register::ECX.class();
assert_eq!(RegisterClass::GPR32, class);
sourcepub fn static_string(self) -> Option<&'static str>
pub fn static_string(self) -> Option<&'static str>
Returns the textual representation of this register.
§Examples
use zydis::Register;
let str = Register::EAX.static_string().unwrap();
assert_eq!("eax", str);
sourcepub fn width(self, mode: MachineMode) -> RegisterWidth
pub fn width(self, mode: MachineMode) -> RegisterWidth
Returns the width of this register, in bits.
§Examples
use zydis::{MachineMode, Register};
let width = Register::DR0.width(MachineMode::LEGACY_32);
assert_eq!(32, width);
sourcepub fn largest_enclosing(self, mode: MachineMode) -> Register
pub fn largest_enclosing(self, mode: MachineMode) -> Register
Returns the largest enclosing register of the given register.
§Examples
use zydis::{MachineMode, Register};
let reg = Register::EAX.largest_enclosing(MachineMode::LONG_64);
assert_eq!(reg, Register::RAX);
Trait Implementations§
source§impl<'de> Deserialize<'de> for Register
impl<'de> Deserialize<'de> for Register
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl From<Register> for EncoderOperand
impl From<Register> for EncoderOperand
source§impl PartialEq for Register
impl PartialEq for Register
impl Copy for Register
impl Eq for Register
impl StructuralPartialEq for Register
Auto Trait Implementations§
impl RefUnwindSafe for Register
impl Send for Register
impl Sync for Register
impl Unpin for Register
impl UnwindSafe for Register
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more