fcml
1.2.2
|
Additional instruction details provided by disassembler. More...
#include <fcml_disassembler.h>
Public Attributes | |
fcml_bool | is_shortcut |
True if this is a shortcut. More... | |
fcml_bool | is_pseudo_op |
True if given instruction is a short form of pseudo-ops instructions. More... | |
fcml_uint8_t | instruction_code [FCML_INSTRUCTION_SIZE] |
Code of the disassembled instruction. More... | |
fcml_usize | instruction_size |
Instruction size in bytes. More... | |
fcml_st_prefixes_details | prefixes_details |
Some additional information about decoded instruction prefixes. More... | |
fcml_st_operand_details | operand_details [FCML_OPERANDS_COUNT] |
All disassembler specific information about operands going there. More... | |
fcml_st_decoded_modrm_details | modrm_details |
Details about decoded ModR/M and SIB bytes. More... | |
fcml_bool | opcode_field_s_bit |
Opcode field 's'. More... | |
fcml_bool | opcode_field_w_bit |
Opcode field 'w'. More... | |
fcml_en_instruction | instruction |
Instruction code/number. More... | |
fcml_en_pseudo_operations | pseudo_op |
Pseudo operation code. More... | |
fcml_uint16_t | addr_mode |
Code of the instruction form/addressing mode of the instruction above. More... | |
fcml_uint64_t | instruction_group |
Instruction group. More... | |
fcml_uint8_t | tuple_type |
avx-512 tuple type | |
Additional instruction details provided by disassembler.
fcml_uint16_t fcml_st_instruction_details::addr_mode |
Code of the instruction form/addressing mode of the instruction above.
fcml_en_instruction fcml_st_instruction_details::instruction |
Instruction code/number.
fcml_uint8_t fcml_st_instruction_details::instruction_code[FCML_INSTRUCTION_SIZE] |
Code of the disassembled instruction.
fcml_uint64_t fcml_st_instruction_details::instruction_group |
Instruction group.
fcml_usize fcml_st_instruction_details::instruction_size |
Instruction size in bytes.
fcml_bool fcml_st_instruction_details::is_pseudo_op |
True if given instruction is a short form of pseudo-ops instructions.
See 'vcmpunordsd' for instance.
fcml_bool fcml_st_instruction_details::is_shortcut |
True if this is a shortcut.
A good example of such instruction is 'cmpsb' as opposed to 'cmps byte ptr [si],byte ptr [di]'. It is very important to take this information into consideration when instruction models are analyzed because there is no operands in the GIM for shortcuts.
fcml_st_decoded_modrm_details fcml_st_instruction_details::modrm_details |
Details about decoded ModR/M and SIB bytes.
fcml_bool fcml_st_instruction_details::opcode_field_s_bit |
Opcode field 's'.
This is set only for informational purpose only and you should not use it for any critical functionality.
fcml_bool fcml_st_instruction_details::opcode_field_w_bit |
Opcode field 'w'.
This is set only for informational purpose only and you should not use it for any critical functionality.
fcml_st_operand_details fcml_st_instruction_details::operand_details[FCML_OPERANDS_COUNT] |
All disassembler specific information about operands going there.
fcml_st_prefixes_details fcml_st_instruction_details::prefixes_details |
Some additional information about decoded instruction prefixes.
fcml_en_pseudo_operations fcml_st_instruction_details::pseudo_op |
Pseudo operation code.