|
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.
1.8.13