|
fcml 1.3.0
|
Additional instruction details provided by disassembler. More...
#include <fcml_disassembler.h>

Public Attributes | |
| fcml_bool | is_shortcut |
| True if this is a shortcut. | |
| fcml_bool | is_pseudo_op |
| True if a given instruction is a short form of pseudo-ops instructions. | |
| fcml_uint8_t | instruction_code [FCML_INSTRUCTION_SIZE] |
| Code of the disassembled instruction. | |
| fcml_usize | instruction_size |
| Instruction size in bytes. | |
| fcml_st_prefixes_details | prefixes_details |
| Some additional information about decoded instruction prefixes. | |
| fcml_st_operand_details | operand_details [FCML_OPERANDS_COUNT] |
| All disassembler specific information about operands going there. | |
| fcml_st_decoded_modrm_details | modrm_details |
| Details about decoded ModR/M and SIB bytes. | |
| fcml_bool | opcode_field_s_bit |
| Opcode field 's'. | |
| fcml_bool | opcode_field_w_bit |
| Opcode field 'w'. | |
| fcml_en_instruction | instruction |
| Instruction code/number. | |
| fcml_en_pseudo_operations | pseudo_op |
| Pseudo operation code. | |
| fcml_uint16_t | addr_mode |
| Code of the instruction form/addressing mode of the instruction above. | |
| fcml_uint64_t | instruction_group |
| Instruction group. | |
| fcml_uint8_t | tuple_type |
| avx-512 tuple type | |
Additional instruction details provided by disassembler.
| fcml_en_instruction fcml_st_instruction_details::instruction |
Instruction code/number.
| fcml_bool fcml_st_instruction_details::is_pseudo_op |
True if a 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 are no operands available in the GIM in case of such shortcuts.
| 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.