mirror of https://github.com/x64dbg/zydis
Fixed operand-action for EVEX/MVEX instructions with write-mask (again)
This commit is contained in:
parent
e15279ed1f
commit
99de0f3152
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -112,8 +112,9 @@ enum ZydisStatusCode
|
||||||
* @brief An error occured while decoding the MVEX-prefix.
|
* @brief An error occured while decoding the MVEX-prefix.
|
||||||
*/
|
*/
|
||||||
ZYDIS_STATUS_MALFORMED_MVEX, // TODO: Do we need this?
|
ZYDIS_STATUS_MALFORMED_MVEX, // TODO: Do we need this?
|
||||||
|
/**
|
||||||
// TODO:
|
* @brief An invalid write-mask was specified for an EVEX/MVEX instruction.
|
||||||
|
*/
|
||||||
ZYDIS_STATUS_INVALID_MASK,
|
ZYDIS_STATUS_INVALID_MASK,
|
||||||
|
|
||||||
/* ------------------------------------------------------------------------------------------ */
|
/* ------------------------------------------------------------------------------------------ */
|
||||||
|
|
|
@ -1939,9 +1939,17 @@ FinalizeOperand:
|
||||||
info->operands[0].action = ZYDIS_OPERAND_ACTION_READ_CONDWRITE;
|
info->operands[0].action = ZYDIS_OPERAND_ACTION_READ_CONDWRITE;
|
||||||
break;
|
break;
|
||||||
case ZYDIS_OPERAND_TYPE_MEMORY:
|
case ZYDIS_OPERAND_TYPE_MEMORY:
|
||||||
ZYDIS_ASSERT(info->operands[0].action == ZYDIS_OPERAND_ACTION_WRITE);
|
switch (info->operands[0].action)
|
||||||
|
{
|
||||||
|
case ZYDIS_OPERAND_ACTION_READ:
|
||||||
|
break;
|
||||||
|
case ZYDIS_OPERAND_ACTION_WRITE:
|
||||||
info->operands[0].action = ZYDIS_OPERAND_ACTION_CONDWRITE;
|
info->operands[0].action = ZYDIS_OPERAND_ACTION_CONDWRITE;
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
ZYDIS_UNREACHABLE;
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue