diff --git a/include/Zydis/InstructionInfo.h b/include/Zydis/InstructionInfo.h index 46b4b8b..98673f7 100644 --- a/include/Zydis/InstructionInfo.h +++ b/include/Zydis/InstructionInfo.h @@ -258,6 +258,8 @@ enum ZydisOperandActions */ typedef struct ZydisOperandInfo_ { + // semantic operand type ... temporary + uint32_t temp; /** * @brief The operand-id. */ diff --git a/src/Decoder.c b/src/Decoder.c index 288819c..40fecf7 100644 --- a/src/Decoder.c +++ b/src/Decoder.c @@ -1509,6 +1509,10 @@ static ZydisStatus ZydisDecodeOperands(ZydisInstructionDecoder* decoder, info->operands[i].id = i; ZYDIS_CHECK(ZydisDecodeOperand(decoder, info, &info->operands[i], operands[i].type, operands[i].encoding)); + + // temp + info->operands[i].temp = operands[i].type; + info->operands[i].encoding = operands[i].encoding; info->operands[i].action = operands[i].action; // Adjust segment register for memory operands