| 
    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 (display only)  | |
| #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 fully supports type information callbacks; without full support, function argument locations and other things will probably be wrong.  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 (i.e. it creates additional segments).  More... | |
| #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_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() (i.e.  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)  | |
Variables | |
| const problist_id_t | PR_NOBASE = 1 | 
| Can't find offset base.  | |
| const problist_id_t | PR_NONAME = 2 | 
| Can't find name.  | |
| const problist_id_t | PR_NOFOP = 3 | 
| Can't find forced op (not used anymore)  | |
| const problist_id_t | PR_NOCMT = 4 | 
| Can't find comment (not used anymore)  | |
| const problist_id_t | PR_NOXREFS = 5 | 
| Can't find references.  | |
| const problist_id_t | PR_JUMP = 6 | 
| Jump by table !!!! ignored.  | |
| const problist_id_t | PR_DISASM = 7 | 
| Can't disasm.  | |
| const problist_id_t | PR_HEAD = 8 | 
| Already head.  | |
| const problist_id_t | PR_ILLADDR = 9 | 
| Exec flows beyond limits.  | |
| const problist_id_t | PR_MANYLINES = 10 | 
| Too many lines.  | |
| const problist_id_t | PR_BADSTACK = 11 | 
| Failed to trace the value of the stack pointer.  | |
| const problist_id_t | PR_ATTN = 12 | 
| Attention! Probably erroneous situation.  | |
| const problist_id_t | PR_FINAL = 13 | 
| Decision to convert to instruction/data is made by IDA.  | |
| const problist_id_t | PR_ROLLED = 14 | 
| The decision made by IDA was wrong and rolled back.  | |
| const problist_id_t | PR_COLLISION = 15 | 
| FLAIR collision: the function with the given name already exists.  | |
| const problist_id_t | PR_DECIMP = 16 | 
| FLAIR match indecision: the patterns matched, but not the function(s) being referenced.  | |
| const problist_id_t | PR_END = 17 | 
| Number of problem types.  | |
| #define PR_TYPEINFO 0x001000 | 
the processor module fully supports type information callbacks; without full support, function argument locations and other things will probably be wrong.
| #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_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::delay_slot_insn 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