fcml 1.3.0
Loading...
Searching...
No Matches
fcml_st_instruction_details Struct Reference

Additional instruction details provided by disassembler. More...

#include <fcml_disassembler.h>

Collaboration diagram for fcml_st_instruction_details:

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
 

Detailed Description

Additional instruction details provided by disassembler.

Member Data Documentation

◆ instruction

fcml_en_instruction fcml_st_instruction_details::instruction

Instruction code/number.

See also
fcml_instructions.h header file.

◆ is_pseudo_op

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.

◆ is_shortcut

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.

◆ opcode_field_s_bit

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.

◆ opcode_field_w_bit

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.


The documentation for this struct was generated from the following file: