Lines Matching defs:primary_opcode
99 /// primary_opcode
112 uint8_t primary_opcode;
122 /// Contains primary_opcode byte, its length, and ModR/M byte.
131 uint8_t opcode = opcode_and_modrm.primary_opcode;
259 /// primary_opcode, opcode_len and modrm byte. Refer to the struct definition
269 // In most cases, the primary_opcode is the first byte of the instruction
277 ret.primary_opcode = inst_bytes[op_idx];
278 switch (ret.primary_opcode) {
327 ret.primary_opcode = inst_bytes[op_idx + 2];
337 ret.primary_opcode = inst_bytes[op_idx + 3];
348 ret.primary_opcode = inst_bytes[op_idx + 4];
358 ret.primary_opcode = inst_bytes[op_idx];
363 if (ret.primary_opcode == 0x0F) {
364 ret.primary_opcode = inst_bytes[++op_idx]; // get the next byte
366 if (ret.primary_opcode == 0x38) {
368 ret.primary_opcode = inst_bytes[++op_idx]; // get the next byte
370 } else if (ret.primary_opcode == 0x3A) {
372 ret.primary_opcode = inst_bytes[++op_idx];
374 } else if ((ret.primary_opcode & 0xf8) == 0x38) {
376 ret.primary_opcode = inst_bytes[++op_idx];
378 } else if (ret.primary_opcode == 0x0F) {
400 // Opcode bytes will be decoded into primary_opcode, modrm and opcode length.