IDA SDK
Public Attributes | List of all members
asm_t Struct Reference

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.

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 can not 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
 NULL if not allowed.
 
const char * a_qword
 NULL if not allowed.
 
const char * a_oword
 NULL if not allowed.
 
const char * a_float
 float; 4bytes; NULL if not allowed
 
const char * a_double
 double; 8bytes; NULL if not allowed
 
const char * a_tbyte
 long double; NULL if not allowed
 
const char * a_packreal
 packed decimal real NULL 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(idaapiout_func_header )(outctx_t &ctx, func_t *)
 Generate function header lines. More...
 
void(idaapiout_func_footer )(outctx_t &ctx, func_t *)
 Generate function footer lines. More...
 
const char * a_public
 "public" name keyword. NULL-use default, ""-do not generate
 
const char * a_weak
 "weak" name keyword. NULL-use default, ""-do not generate
 
const char * a_extrn
 "extern" name keyword
 
const char * a_comdef
 "comm" (communal variable)
 
ssize_t(idaapiget_type_name )(qstring *buf, flags_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 NULL) this is used to denote a string which closes comments, for example, if the comments are represented with (* ... More...
 
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; NULL if not allowed requires AS2_YWORD
 

Member Data Documentation

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
void(idaapi * asm_t::out_func_header) (outctx_t &ctx, func_t *)

Generate function header lines.

If NULL, then function headers are displayed as normal lines

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

Generate function footer lines.

If NULL, then a comment line is displayed

ssize_t(idaapi * asm_t::get_type_name) (qstring *buf, flags_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...)

const char* asm_t::cmnt2

comment close string (usually NULL) this is used to denote a string which closes comments, for example, if the comments are represented with (* ...

*) then cmnt = "(*" and cmnt2 = "*)"

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: