fcml  1.2.2
Public Attributes | List of all members
fcml_st_assembler_conf Struct Reference

Assembler runtime configuration. More...

#include <fcml_assembler.h>

Collaboration diagram for fcml_st_assembler_conf:
Collaboration graph
[legend]

Public Attributes

fcml_bool increment_ip
 Set to true in order to force assembler to increment IP address by length of the assembled instruction. More...
 
fcml_bool enable_error_messages
 True if optional error and warning messages should be collected during processing. More...
 
fcml_bool choose_sib_encoding
 If there are SIB and "ModR/M only" encodings available, choose the SIB based one. More...
 
fcml_bool choose_abs_encoding
 If memory address can be encoded as relative or absolute value choose the absolute addressing. More...
 
fcml_bool force_rex_prefix
 Sometimes REX prefix is useless so it is just omitted in the final machine code. More...
 
fcml_bool force_three_byte_VEX
 Every 2 byte VEX/XOP prefix can be encoded using three byte form. More...
 
fcml_fnp_asm_optimizer optimizer
 Optimizer implementation that should be used by assembler. More...
 
fcml_uint16_t optimizer_flags
 This field is passed to the chosen optimizer. More...
 
fcml_fnp_asm_instruction_chooser chooser
 instruction chooser implementation that should be used by assembler to choose most appropriate instruction encoding. More...
 

Detailed Description

Assembler runtime configuration.

Member Data Documentation

◆ choose_abs_encoding

fcml_bool fcml_st_assembler_conf::choose_abs_encoding

If memory address can be encoded as relative or absolute value choose the absolute addressing.

It works in 64 bit mode only.

◆ choose_sib_encoding

fcml_bool fcml_st_assembler_conf::choose_sib_encoding

If there are SIB and "ModR/M only" encodings available, choose the SIB based one.

◆ chooser

fcml_fnp_asm_instruction_chooser fcml_st_assembler_conf::chooser

instruction chooser implementation that should be used by assembler to choose most appropriate instruction encoding.

Setting this value to NULL cause assembler to use default instruction chooser.

◆ enable_error_messages

fcml_bool fcml_st_assembler_conf::enable_error_messages

True if optional error and warning messages should be collected during processing.

◆ force_rex_prefix

fcml_bool fcml_st_assembler_conf::force_rex_prefix

Sometimes REX prefix is useless so it is just omitted in the final machine code.

By setting this flag to true you can force this prefix to be added anyway.

◆ force_three_byte_VEX

fcml_bool fcml_st_assembler_conf::force_three_byte_VEX

Every 2 byte VEX/XOP prefix can be encoded using three byte form.

Setting this flag to true forces it.

◆ increment_ip

fcml_bool fcml_st_assembler_conf::increment_ip

Set to true in order to force assembler to increment IP address by length of the assembled instruction.

◆ optimizer

fcml_fnp_asm_optimizer fcml_st_assembler_conf::optimizer

Optimizer implementation that should be used by assembler.

Setting it to NULL causes assembler to use default one.

◆ optimizer_flags

fcml_uint16_t fcml_st_assembler_conf::optimizer_flags

This field is passed to the chosen optimizer.

It can be used to configure its behavior.


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