|
The stripe data structure for XED decoded instructions.
The stripe data structure for caching information about encoded XED instructions.
Determines if Intel(R) MPX instructions are enabled: 0 - the instructions decode as NOPs 1 - the instructions decode as Intel MPX instructions
The stripe data structure for XED decoded instructions.
The stripe data structure for XED encoded instructions.
- Returns:
- Returns original size of instruction in bytes
Sets original size of instruction in bytes
- Returns:
- This provides the pointer to the decoded xed instruction.
This provides the pointer to the decoded xed instruction operand values.
mark that the instruction encoding in the cache is not valid
- Returns:
- This provides the pointer to the decoded xed instruction.
Global version of INS_DirtyG(). Used for accessing the dirty bits from another file.
Global version of INS_DirtyG(). Used for accessing the dirty bits from another file.
Make the INS_EncodeSizeSet available for external use
Global version of INS_EncodeSize(). Used for accessing the encode size from another file.
Make the INS_EncodeBuffer available for external use
Sets the ith read register. This function uses INS_get_pos_r on the same register, make sure to set it (using INS_set_pos_r) before calling this function.
Sets the ith written register. This function uses INS_get_pos_w on the same register, make sure to set it (using INS_set_pos_w) before calling this function.
- Returns:
- Returns the ith read register
Returns the ith written register
x
- Returns:
- Returns role of ith written register
Returns xed operand position of ith read register
Returns xed operand position of ith written register
If read is TRUE, returns the role of the ith read register, otherwise the ith written register
If read is TRUE, returns the operand position of the ith read register, otherwise the ith written register
If read is TRUE, gets the ith read register, otherwise the ith written register
If read is TRUE, sets the ith read register, otherwise the ith written register
- Returns:
- Returns the number of registers read by this instruction
Returns the number of registers written by this instruction
Sets the number of registers read by this instruction
Sets the number of registers written by this instruction
x
decode with XED! Then update the stripe
- Returns:
- a string for the encode request
Reencode modified (previously-decoded) instruction with XED. Then decode with XED. Then update the stripe.
Encode a new instruction with XED. Then decode with XED. Then update the stripe.
encode a NOP with XED! decode with XED! Then update the stripe
- Returns:
- the PIN register name for a given XED register name
nothing
This function allows writing to the xed log from other source files. - Returns:
- nothing
Convert a XED xed_reg_enum_t register to a Pin REG type. - Returns:
- a valid pin register, but never an invalid one. Asserts if there is no exact map.
a valid pin register, but never an invalid one
a valid pin register or REG_INVALID().
x
x
- Returns:
- nothing
Take the reg/role/pos arrays from the stripe and pack them back in to XED decoded instruction.
Return the physical flags (DF, OF, SF, ZF, AF, PF, CF) that are written according to the xed decode info. Specify whether to return only the flags that are definitely (must) written
- Parameters:
-
| [in] | xedd | The xed decode info |
| [in] | onlyDefinite | Specify TRUE if only the flags that are definitely written should be returned |
- Returns:
- the FLAGS written according to the xed decode info, and the onlyDefinite specification
Return the physical flags (DF, OF, SF, ZF, AF, PF, CF) that are read according to the xed decode info.
- Parameters:
-
| [in] | xedd | The xed decode info |
- Returns:
- the FLAGS read according to the xed decode info
nothing
Fill in the reg/role/pos arrays in the stripe using information from the XED decoded instruction.
Replace xedreg with pinreg in the flat regs - Returns:
- foo
Nothing
cmov with equivalent test as jmp
the condition tested by an instruction (should only be used on instructions which do test a condition).
Nothing
The encoded length in bytes, or 0 on invalid encodings.
size of instruction
Convert the specified XED error code into the corresponding EXCEPTION_CODE value. - Note:
- the XED_ERROR_BUFFER_TOO_SHORT error is converted into EXCEPTCODE_ACCESS_FAULT.
Decode an instruction and initialize the specified INS object.
- Parameters:
-
| [out] | ins | the instruction object to be initialized |
| [in] | out] | address on input: address of the instruction to be decoded on output: address of the instruction immediately following the decoded one |
| [in] | size | maximum size of the instruction to be decoded |
| [out] | excCode | If return value is INSDECODE_EXCEPTION and excCode is not NULL, it receives an exception code telling why the instruction could not be decoded. |
- Returns:
- An INSDECODE value telling whether an instruction was decoded.
|