>Hex-Rays IDA Pro Page

Help index | Search

Processor Type

 Action    name: SetProcessor
 
Valid processor types are:
  type      description
  ----      -----------
  8086    - Intel 8086                    
  80286r  - Intel 80286 real mode         
  80286p  - Intel 80286 protected mode    
  80386r  - Intel 80386 real mode         
  80386p  - Intel 80386 protected mode    
  80486r  - Intel 80486 real mode         
  80486p  - Intel 80486 protected mode    
  80586r  - Intel Pentium & MMX real mode  (IBM PC line)
  80586p  - Intel Pentium & MMX prot mode 
  80686p  - Intel Pentium Pro & MMX       
  k62     - AMD K6-2 with 3DNow!          
  p2      - Intel Pentium II              
  p3      - Intel Pentium III             
  athlon  - AMD K7                        
  p4      - Intel Pentium 4               
  metapc  - Disassemble all IBMPC opcodes 
  8085    - Intel 8085                    
  z80     - Zilog 80                      
  z180    - Zilog 180                      (Zilog 80 line)
  z380    - Zilog 380                     
  64180   - Hitachi HD64180               
  gb      - Gameboy                       
  z8      - Zilog 8                        (Zilog 8 line)
  860xr   - Intel 860 XR                   (Intel 860 line)
  860xp   - Intel 860 XP                  
  8051    - Intel 8051                     (Intel 51 line)
  80196   - Intel 80196                    (Intel 80196 line)
  80196NP - Intel 80196NP, NU             
  m6502   - 6502                           (65xx line)
  m65c02  - 65c02                         
  pdp11   - DEC PDP/11                     (PDP line)
  68000   - Motorola MC68000              
  68010   - Motorola MC68010              
  68020   - Motorola MC68020              
  68030   - Motorola MC68030              
  68040   - Motorola MC68040               (Motorola 680x0 line)
  68330   - Motorola CPU32 (68330)        
  68882   - Motorola MC68020 with MC68882 
  68851   - Motorola MC68020 with MC68851 
  68020EX - Motorola MC68020 with both    
  colfire - Motorola ColdFire             
  68K     - Motorola MC680x0 all opcodes  
  6800    - Motorola MC68HC00             
  6801    - Motorola MC68HC01             
  6803    - Motorola MC68HC03             
  6301    - Hitachi HD 6301               
  6303    - Hitachi HD 6303               
  6805    - Motorola MC68HC05              (Motorola 8bit line)
  6808    - Motorola MC68HC08             
  6809    - Motorola MC68HC09             
  6811    - Motorola MC68HC11             
  6812    - Motorola MC68HC12
  hcs12   - Motorola MC68HCS12
  6816    - Motorola MC68HC16
  java    - java                           (Java line)
  ppc     - PowerPC big endian            
  ppcl    - PowerPC little endian          (PowerPC line)
  arm710a - ARM 7xx series                
  arm     - the same as arm710a            (ARM line)
  armb    - ARM big endian                
  xscalel - Intel xScale little endian    
  xscaleb - Intel xScale big endian       
  tms320c2- TMS320C2x series               (TMS 16bit addressing line)
  tms320c5- TMS320C5x series              
  tms320c6- TMS320C6x series               (TMS VLIW line)
  tms320c3- TMS320C3x series              
  sh3     - Hitachi SH3 (little endian)   
  sh3b    - Hitachi SH3 (big endian)       (Hitachi SH line)
  sh4     - Hitachi SH4 (little endian)   
  sh4b    - Hitachi SH4 (big endian)      
  avr     - ATMEL AVR                      (ATMEL line)
  mipsl   - MIPS little endian             (MIPS line:R2000, R3000, R4000,
  mipsb   - MIPS big endian                R4200, R4300,  R4400, R4600,
  mipsrl  - MIPS & RSP little              R8000, R10000)
  mipsr   - MIPS & RSP big                
  r5900l  - MIPS R5900 little             
  r5900r  - MIPS R5900 big                
  h8300   - H8/300x in normal mode        
  h8300a  - H8/300x in advanced mode       (Hitachi H8 line)
  h8s300  - H8S in normal mode            
  h8s300a - H8S in advanced mode          
  h8500   - H8/500                         (Hitachi H8/500 line)
  pic12cxx- Michrochip PIC 12Cxx          
  pic16cxx- Michrochip PIC 16Cxx           (PIC line)
  pic18cxx- Michrochip PIC 18Cxx          
  sparcb  - SPARC big endian              
  sparcl  - SPARC little endian            (SPARC line)
  alphab  - DEC Alpha big endian          
  alphal  - DEC Alpha little endian        (ALPHA line)
  hppa    - HP PA-RISC big endian          (HP PA-RISC line)
  dsp56k  - Motorola DSP 5600x            
  dsp561xx- Motorola DSP 561xx             (DSP 56K line)
  dsp563xx- Motorola DSP 563xx            
  dsp566xx- Motorola DSP 566xx            
  c166    - Siemens C166                  
  c166v1  - Siemens C166 v1 family        
  c166v2  - Siemens C166 v2 family         (C166 line)
  st10    - SGS-Thomson ST10              
  super10 - Super10                       
  st20    - SGS-Thomson ST20/C1            (ST20 line)
  st20c4  - SGS-Thomson ST20/C2-C4
  st7     - SGS-Thomson ST7                (ST7 line)
  ia64l   - Intel Itanium little endian   
  ia64b   - Intel Itanium big endian       (IA64 line)
  cli     - Microsoft.Net platform
  net     - Microsoft.Net platform (alias)
  i960l   - Intel 960 little endian       
  i960b   - Intel 960 big endian           (i960 line)
  f2mc16l - Fujitsu F2MC-16L              
  f2mc16lx- Fujitsu F2MC-16LX              (Fujitsu F2MC line)
  tms32054- TMS320C54xx series
  tms32055- TMS320C55xx series
  trimedia- Trimedia
  78k0    - NEC 78k/0
  78k0s   - NEC 78k/0s
  m740    - Mitsubishi 8-bit
  m7700   - Mitsubishi 16-bit             
  m7750   - Mitsubishi 16-bit              (Mitsubishi 16-bit line)
  m32r    - Mitsubishi 32-bit             
  m32rx   - Mitsubishi 32-bit extended     (Mitsubishi 32-bit line)
  st9     - STMicroelectronics ST9+
  fr      - Fujitsu FR family
  m7900   - Mitsubishi M7900
  kr1878  - Angstrem KR1878
  ad218x  - Analog Devices ADSP
  oakdsp  - Atmel OAK DSP
  tricore - Infineon Tricore
You can change processor type only within the current line. If you have selected IBM PC line, you can't select Zilog 80 line and vice versa.

For information about additional processor modules please visit our web page at www.hex-rays.com/idapro/idaproc.htm

Please note that when you change the processor type, IDA may change the target assembler, so check it out.

You may get a message saying that IDA does not know the specified processor if IDA fails to load the corresponding processor module.

        Windows 32bit IDA uses .w32 file extension
        Windows 64bit IDA uses .w64 file extension
        Linux 32bit IDA uses .ilx file extension
        Linux 64bit IDA uses .ilx64 file extension
NOTE: Changing the processor type leads to reanalysis of the whole program. Sometimes this is useful.

NOTE: when you load a new processor module, all analysis options are reset to the values specified in the configuration file.

IDA determines the default processor using the input file extension and the contents of the input file. The table which describes the input file extensions and the corresponding processor types is located in IDA.CFG file and looks like:

 DEFAULT_PROCESSOR = {
 /* Extension   Processor */
  "com" :       "8086"                  // IDA will try the specified
  "exe" :       "80386r"                // extensions if no extension is
  "dll" :       "80386r"                // given.
  "drv" :       "80386r"
  "o"   :       "68000"
  "prc" :       "68000"                 // PalmPilot programs
  "axf" :       "arm710a"
  "h68" :       "68000"                 // MC68000 for *.H68 files
  "i51" :       "8051"                  // i8051   for *.I51 files
  "sav" :       "pdp11"                 // PDP-11  for *.SAV files
  "rom" :       "z80"                   // Z80     for *.ROM files
  "cla" :       "java"                  // Java classes
  "class":      "java"                  // Java classes
  "s19":        "6811"
  "*":          "80386p"                // Default processor
}
If you want to change the default processor type, you need to change this table. You may add/delete rows in this table.

See also Options submenu.

Index | Previous topic | Next topic