|
IDA SDK
|
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(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. 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(idaapi * | get_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 | |
| const char* asm_t::a_dups |
array keyword.
the following sequences may appear:
Generate function header lines.
If NULL, then function headers are displayed as normal lines
Generate function footer lines.
If NULL, then a comment line is displayed
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)
1.8.9.1