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

Assembler runtime configuration. More...

#include <fcml_assembler.h>

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

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.

fcml_bool fcml_st_assembler_conf::choose_sib_encoding

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

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.

fcml_bool fcml_st_assembler_conf::enable_error_messages

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

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.

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.

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.

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.

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: