IDA SDK
|
Used by processor_t::flag.
Macros | |
#define | PR_SEGS 0x000001 |
has segment registers? | |
#define | PR_USE32 0x000002 |
supports 32-bit addressing? | |
#define | PR_DEFSEG32 0x000004 |
segments are 32-bit by default | |
#define | PR_RNAMESOK 0x000008 |
allow user register names for location names | |
#define | PR_ADJSEGS 0x000020 |
IDA may adjust segments' starting/ending addresses. | |
#define | PR_DEFNUM 0x0000C0 |
mask - default number representation | |
#define | PRN_HEX 0x000000 |
hex | |
#define | PRN_OCT 0x000040 |
octal | |
#define | PRN_DEC 0x000080 |
decimal | |
#define | PRN_BIN 0x0000C0 |
binary | |
#define | PR_WORD_INS 0x000100 |
instruction codes are grouped 2bytes in binary line prefix | |
#define | PR_NOCHANGE 0x000200 |
The user can't change segments and code/data attributes. More... | |
#define | PR_ASSEMBLE 0x000400 |
Module has a built-in assembler and will react to ev_assemble. | |
#define | PR_ALIGN 0x000800 |
All data items should be aligned properly. | |
#define | PR_TYPEINFO 0x001000 |
the processor module supports type information callbacks More... | |
#define | PR_USE64 0x002000 |
supports 64-bit addressing? | |
#define | PR_SGROTHER 0x004000 |
the segment registers don't contain the segment selectors. | |
#define | PR_STACK_UP 0x008000 |
the stack grows up | |
#define | PR_BINMEM 0x010000 |
the processor module provides correct segmentation for binary files More... | |
#define | PR_SEGTRANS 0x020000 |
the processor module supports the segment translation feature More... | |
#define | PR_CHK_XREF 0x040000 |
don't allow near xrefs between segments with different bases | |
#define | PR_NO_SEGMOVE 0x080000 |
the processor module doesn't support move_segm() More... | |
#define | PR_USE_ARG_TYPES 0x200000 |
use processor_t::use_arg_types callback | |
#define | PR_SCALE_STKVARS 0x400000 |
use processor_t::get_stkvar_scale callback | |
#define | PR_DELAYED 0x800000 |
has delayed jumps and calls More... | |
#define | PR_ALIGN_INSN 0x1000000 |
allow ida to create alignment instructions arbitrarily. More... | |
#define | PR_PURGING 0x2000000 |
there are calling conventions which may purge bytes from the stack | |
#define | PR_CNDINSNS 0x4000000 |
has conditional instructions | |
#define | PR_USE_TBYTE 0x8000000 |
BTMT_SPECFLT means _TBYTE type | |
#define | PR_DEFSEG64 0x10000000 |
segments are 64-bit by default | |
#define | PR_OUTER 0x20000000 |
has outer operands (currently only mc68k) | |
#define PR_NOCHANGE 0x000200 |
The user can't change segments and code/data attributes.
(display only)
#define PR_TYPEINFO 0x001000 |
the processor module supports type information callbacks
ALL OF THEM SHOULD BE IMPLEMENTED!
#define PR_BINMEM 0x010000 |
the processor module provides correct segmentation for binary files
(i.e. it creates additional segments) The kernel will not ask the user to specify the RAM/ROM sizes
#define PR_SEGTRANS 0x020000 |
the processor module supports the segment translation feature
(meaning it calculates the code addresses using the map_code_ea() function)
#define PR_NO_SEGMOVE 0x080000 |
the processor module doesn't support move_segm()
(i.e. the user can't move segments)
#define PR_DELAYED 0x800000 |
has delayed jumps and calls
if this flag is set, processor_t::is_basic_block_end, processor_t::has_delay_slot should be implemented
#define PR_ALIGN_INSN 0x1000000 |
allow ida to create alignment instructions arbitrarily.
Since these instructions might lead to other wrong instructions and spoil the listing, IDA does not create them by default anymore