Latest available version: IDA and decompilers v8.4.240320sp1 see all releases
Hex-Rays logo State-of-the-art binary code analysis tools
email icon
asm_t Struct Reference

Describes the target assembler. More...

#include <idp.hpp>

Public Attributes

uint32 flag
 Assembler feature bits
 
uint16 uflag
 user defined flags (local only for IDP) you may define and use your own bits
 
const char * name
 Assembler name (displayed in menus)
 
help_t help
 Help screen number, 0 - no help.
 
const char *const * header
 array of automatically generated header lines they appear at the start of disassembled text
 
const char * origin
 org directive
 
const char * end
 end directive
 
const char * cmnt
 comment string (see also cmnt2)
 
char ascsep
 string literal delimiter
 
char accsep
 char constant delimiter
 
const char * esccodes
 special chars that cannot appear as is in string and char literals
 
const char * a_ascii
 string literal directive
 
const char * a_byte
 byte directive
 
const char * a_word
 word directive
 
const char * a_dword
 nullptr if not allowed
 
const char * a_qword
 nullptr if not allowed
 
const char * a_oword
 nullptr if not allowed
 
const char * a_float
 float; 4bytes; nullptr if not allowed
 
const char * a_double
 double; 8bytes; nullptr if not allowed
 
const char * a_tbyte
 long double; nullptr if not allowed
 
const char * a_packreal
 packed decimal real nullptr if not allowed
 
const char * a_dups
 array keyword. More...
 
const char * a_bss
 uninitialized data directive should include 's' for the size of data
 
const char * a_equ
 'equ' Used if AS_UNEQU is set
 
const char * a_seg
 'seg ' prefix (example: push seg seg001)
 
const char * a_curip
 current IP (instruction pointer) symbol in assembler
 
void(idaapi * out_func_header )(outctx_t &ctx, func_t *)
 Generate function header lines. More...
 
void(idaapi * out_func_footer )(outctx_t &ctx, func_t *)
 Generate function footer lines. More...
 
const char * a_public
 "public" name keyword. nullptr-use default, ""-do not generate
 
const char * a_weak
 "weak" name keyword. nullptr-use default, ""-do not generate
 
const char * a_extrn
 "extern" name keyword
 
const char * a_comdef
 "comm" (communal variable)
 
ssize_t(idaapi * get_type_name )(qstring *buf, flags64_t flag, ea_t ea_or_id)
 Get name of type of item at ea or id. More...
 
const char * a_align
 "align" keyword
 
char lbrace
 left brace used in complex expressions
 
char rbrace
 right brace used in complex expressions
 
const char * a_mod
 % mod assembler time operation
 
const char * a_band
 & bit and assembler time operation
 
const char * a_bor
 | bit or assembler time operation
 
const char * a_xor
 ^ bit xor assembler time operation
 
const char * a_bnot
 ~ bit not assembler time operation
 
const char * a_shl
 << shift left assembler time operation
 
const char * a_shr
 >> shift right assembler time operation
 
const char * a_sizeof_fmt
 size of type (format string)
 
uint32 flag2
 Secondary assembler feature bits
 
const char * cmnt2
 comment close string (usually nullptr) this is used to denote a string which closes comments, for example, if the comments are represented with (* ... *) then cmnt = "(*" and cmnt2 = "*)"
 
const char * low8
 low8 operation, should contain s for the operand
 
const char * high8
 high8
 
const char * low16
 low16
 
const char * high16
 high16
 
const char * a_include_fmt
 the include directive (format string)
 
const char * a_vstruc_fmt
 if a named item is a structure and displayed in the verbose (multiline) form then display the name as printf(a_strucname_fmt, typename) (for asms with type checking, e.g. More...
 
const char * a_rva
 'rva' keyword for image based offsets (see REFINFO_RVAOFF)
 
const char * a_yword
 32-byte (256-bit) data; nullptr if not allowed requires AS2_YWORD
 
const char * a_zword
 64-byte (512-bit) data; nullptr if not allowed requires AS2_ZWORD
 

Detailed Description

Describes the target assembler.

An IDP module may have several target assemblers. In this case you should create a structure for each supported assembler.

Member Data Documentation

◆ a_dups

const char* asm_t::a_dups

array keyword.

the following sequences may appear:

  • #h header
  • #d size
  • #v value
  • #s(b,w,l,q,f,d,o) size specifiers for byte,word, dword,qword, float,double,oword

◆ out_func_header

void(idaapi * asm_t::out_func_header) (outctx_t &ctx, func_t *)

Generate function header lines.

If nullptr, then function headers are displayed as normal lines

◆ out_func_footer

void(idaapi * asm_t::out_func_footer) (outctx_t &ctx, func_t *)

Generate function footer lines.

If nullptr, then a comment line is displayed

◆ get_type_name

ssize_t(idaapi * asm_t::get_type_name) (qstring *buf, flags64_t flag, ea_t ea_or_id)

Get name of type of item at ea or id.

(i.e. one of: byte,word,dword,near,far,etc...)

◆ a_vstruc_fmt

const char* asm_t::a_vstruc_fmt

if a named item is a structure and displayed in the verbose (multiline) form then display the name as printf(a_strucname_fmt, typename) (for asms with type checking, e.g.

tasm ideal)


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