#undef vex12
#undef vex13
-/*
- * Decode the fixed part of the opcode and place the last
- * in b.
- */
static void decode_root(DisasContext *s, CPUX86State *env, X86OpEntry *entry, uint8_t *b)
{
*entry = opcodes_root[*b];
}
-
static int decode_modrm(DisasContext *s, CPUX86State *env,
X86DecodedInsn *decode, X86DecodedOp *op)
{
{
X86OpEntry *e = &decode->e;
+ /*
+ * Each step decodes part of the opcode and leaves the last not-fully-decoded
+ * byte in decode->b. If the modrm byte is read, it is placed in s->modrm.
+ */
decode_func(s, env, e, &decode->b);
while (e->is_decode) {
e->is_decode = false;