Architecture SupportΒΆ

In [1]: for arch in pypcode.Arch.enumerate():
   ...:     for lang in arch.languages:
   ...:         print(f'{lang.id:32} - {lang.description}')
   ...: 
68000:BE:32:default              - Motorola 32-bit 68040
68000:BE:32:MC68030              - Motorola 32-bit 68030
68000:BE:32:MC68020              - Motorola 32-bit 68020
68000:BE:32:Coldfire             - Motorola 32-bit Coldfire
tricore:LE:32:default            - Siemens Tricore Embedded Processor
tricore:LE:32:tc29x              - Siemens Tricore Embedded Processor TC29x
tricore:LE:32:tc172x             - Siemens Tricore Embedded Processor TC1724/TC1728
tricore:LE:32:tc176x             - Siemens Tricore Embedded Processor TC1762/TC1766
HC08:BE:16:default               - HC08 Microcontroller Family
HC08:BE:16:MC68HC908QY4          - HC08 Microcontroller Family - MC68HC908QY4
HCS08:BE:16:default              - HCS08 Microcontroller Family
HCS08:BE:16:MC9S08GB60           - HCS08 Microcontroller Family - MC9S08GB60
HC05:BE:16:default               - HC05 (6805) Microcontroller Family
HC05:BE:16:M68HC05TB             - HC05 (6805) Microcontroller Family - M68HC05TB
8051:BE:16:default               - 8051 Microcontroller Family
80251:BE:24:default              - 80251 Microcontroller Family
80390:BE:24:default              - 80390 in flat mode
8051:BE:24:mx51                  - NXP/Phillips MX51
6805:BE:16:default               - 6805 Microcontroller Family
6809:BE:16:default               - 6809 Microprocessor
H6309:BE:16:default              - Hitachi 6309 Microprocessor, extension of 6809, 6309 addressing modes, missing many instructions
JVM:BE:32:default                - Generic JVM
TI_MSP430:LE:16:default          - TI MSP430 16-Bit MicroController
TI_MSP430X:LE:32:default         - TI MSP430X 20-Bit MicroController
SuperH:BE:32:SH-2A               - SuperH SH-2A processor 32-bit big-endian
SuperH:BE:32:SH-2                - SuperH SH-2 processor 32-bit big-endian
SuperH:BE:32:SH-1                - SuperH SH-1 processor 32-bit big-endian
PIC-12:LE:16:PIC-12C5xx          - PIC-12C5xx
PIC-16:LE:16:PIC-16              - PIC-16(C,CR)XXX
PIC-16:LE:16:PIC-16F             - PIC-16F(L)XXX
PIC-17:LE:16:PIC-17C7xx          - PIC-17C7xx
PIC-16:LE:16:PIC-16C5x           - PIC-16C5x
PIC-24E:LE:24:default            - PIC-24E
PIC-24F:LE:24:default            - PIC-24F
PIC-24H:LE:24:default            - PIC-24H
dsPIC30F:LE:24:default           - dsPIC30F
dsPIC33F:LE:24:default           - dsPIC33F
dsPIC33E:LE:24:default           - dsPIC33E
dsPIC33C:LE:24:default           - dsPIC33C
PIC-18:LE:24:PIC-18              - PIC-18
sparc:BE:32:default              - Sparc V9 32-bit
sparc:BE:64:default              - Sparc V9 64-bit
DATA:LE:64:default               - Raw Data File (Little Endian)
DATA:BE:64:default               - Raw Data File (Big Endian)
CP1600:BE:16:default             - General Instruments CP1600
Toy:BE:32:default                - Toy (test) processor 32-bit big-endian
Toy:BE:32:posStack               - Toy (test) processor 32-bit big-endian
Toy:LE:32:default                - Toy (test) processor 32-bit little-endian
Toy:BE:32:wordSize2              - Toy (test) processor 32-bit big-endian (wordsize=2)
Toy:LE:32:wordSize2              - Toy (test) processor 32-bit little-endian (wordsize=2)
Toy:BE:64:default                - Toy (test) processor 64-bit big-endian
Toy:BE:64:harvard                - Toy (test) processor 64-bit big-endian Harvard
Toy:LE:64:default                - Toy (test) processor 64-bit little-endian
Toy:BE:32:builder                - Toy (test-builder) processor 32-bit big-endian
Toy:LE:32:builder                - Toy (test-builder) processor 32-bit little-endian
Toy:BE:32:builder.align2         - Toy (test-builder) processor 32-bit big-endian word-aligned
Toy:LE:32:builder.align2         - Toy (test-builder) processor 32-bit little-endian word-aligned
Dalvik:LE:32:default             - Dalvik Base
Dalvik:LE:32:DEX_Base            - Dalvik Base
Dalvik:LE:32:DEX_KitKat          - Dalvik DEX KitKat
Dalvik:LE:32:ODEX_KitKat         - Dalvik ODEX KitKat
Dalvik:LE:32:DEX_Lollipop        - Dalvik DEX Lollipop
Dalvik:LE:32:Marshmallow         - Dalvik DEX Marshmallow
Dalvik:LE:32:DEX_Nougat          - Dalvik DEX Nougat
Dalvik:LE:32:DEX_Oreo            - Dalvik DEX Oreo
Dalvik:LE:32:DEX_Pie             - Dalvik DEX Pie
Dalvik:LE:32:DEX_Android10       - Dalvik DEX Android10
Dalvik:LE:32:DEX_Android11       - Dalvik DEX Android11
Dalvik:LE:32:DEX_Android12       - Dalvik DEX Android12
Dalvik:LE:32:DEX_Android13       - Dalvik DEX Android13
M8C:BE:16:default                - Cypress M8C Microcontroller Family
V850:LE:32:default               - Renesas V850 family
Loongarch:LE:32:ilp32f           - Loongson 3 32-bit with 32-bit FP
Loongarch:LE:32:ilp32d           - Loongson 3 32-bit with 64-bit FP
Loongarch:LE:64:lp64f            - Loongson 3 64-bit with 32-bit FP
Loongarch:LE:64:lp64d            - Loongson 3 64-bit with 64-bit FP
CR16C:LE:16:default              - National Semiconductor's CompactRISC CR16C little endian
BPF:LE:32:default                - BPF processor 32-bit little-endian
AARCH64:LE:64:AppleSilicon       - AppleSilicon ARM v8.5-A LE instructions, LE data, AMX extensions
AARCH64:LE:64:v8A                - Generic ARM64 v8.5-A LE instructions, LE data, missing some 8.5 vector
AARCH64:BE:64:v8A                - Generic ARM64 v8.5-A LE instructions, BE data, missing some 8.5 vector
AARCH64:LE:32:ilp32              - Generic ARM64 v8.5-A LE instructions, LE data, ilp32
AARCH64:BE:32:ilp32              - Generic ARM64 v8.5-A LE instructions, BE data, ilp32
pa-risc:BE:32:default            - Generic PA-RISC 32-bit big endian
MCS96:LE:16:default              - Intel MCS-96 Microcontroller Family
ARM:LE:32:v8                     - Generic ARM/Thumb v8 little endian
ARM:LE:32:v8T                    - Generic ARM/Thumb v8 little endian (Thumb is default)
ARM:LEBE:32:v8LEInstruction      - Generic ARM/Thumb v8 little endian instructions and big endian data
ARM:BE:32:v8                     - Generic ARM/Thumb v8 big endian
ARM:BE:32:v8T                    - Generic ARM/Thumb v8 big endian (Thumb is default)
ARM:LE:32:v7                     - Generic ARM/Thumb v7 little endian
ARM:LEBE:32:v7LEInstruction      - Generic ARM/Thumb v7 little endian instructions and big endian data
ARM:BE:32:v7                     - Generic ARM/Thumb v7 big endian
ARM:LE:32:Cortex                 - ARM Cortex / Thumb little endian
ARM:BE:32:Cortex                 - ARM Cortex / Thumb big endian
ARM:LE:32:v8-m                   - ARM Cortex v8-m little endian
ARM:BE:32:v8-m                   - ARM Cortex v8-m big endian
ARM:LE:32:v6                     - Generic ARM/Thumb v6 little endian
ARM:BE:32:v6                     - Generic ARM/Thumb v6 big endian
ARM:LE:32:v5t                    - Generic ARM/Thumb v5 little endian (T-variant)
ARM:BE:32:v5t                    - Generic ARM/Thumb v5 big endian (T-variant)
ARM:LE:32:v5                     - Generic ARM v5 little endian
ARM:BE:32:v5                     - Generic ARM v5 big endian
ARM:LE:32:v4t                    - Generic ARM/Thumb v4 little endian (T-variant)
ARM:BE:32:v4t                    - Generic ARM/Thumb v4 big endian (T-variant)
ARM:LE:32:v4                     - Generic ARM v4 little endian
ARM:BE:32:v4                     - Generic ARM v4 big endian
x86:LE:32:default                - Intel/AMD 32-bit x86
x86:LE:32:System Management Mode - Intel/AMD 32-bit x86 System Management Mode
x86:LE:16:Real Mode              - Intel/AMD 16-bit x86 Real Mode
x86:LE:16:Protected Mode         - Intel/AMD 16-bit x86 Protected Mode
x86:LE:64:default                - Intel/AMD 64-bit x86
x86:LE:64:compat32               - Intel/AMD 64-bit x86 in 32-bit compatibility mode (long mode off)
MIPS:BE:32:default               - MIPS32 32-bit addresses, big endian, with mips16e
MIPS:LE:32:default               - MIPS32 32-bit addresses, little endian, with mips16e
MIPS:BE:32:R6                    - MIPS32 Release-6 32-bit addresses, big endian, with microMIPS
MIPS:LE:32:R6                    - MIPS32 Release-6 32-bit addresses, little endian, with microMIPS
MIPS:BE:64:default               - MIPS64 64-bit addresses, big endian, with mips16e
MIPS:LE:64:default               - MIPS64 64-bit addreses, little endian, with mips16e
MIPS:BE:64:micro                 - MIPS64 64-bit addresses, big endian, with microMIPS
MIPS:LE:64:micro                 - MIPS64 64-bit addresses, little endian, with microMIPS
MIPS:BE:64:R6                    - MIPS64 Release-6 64-bit addresses, big endian, with microMIPS
MIPS:LE:64:R6                    - MIPS64 Release-6 64-bit addresses, little endian, with microMIPS
MIPS:BE:64:64-32addr             - MIPS64 32-bit addresses, big endian, with mips16e
MIPS:LE:64:64-32addr             - MIPS64 32-bit addresses, little endian, with mips16e
MIPS:LE:64:micro64-32addr        - MIPS64 32-bit addresses, little endian, with microMIPS
MIPS:BE:64:micro64-32addr        - MIPS64 32-bit addresses, big endian, with microMIPS
MIPS:BE:64:64-32R6addr           - MIPS64 Release-6 big endian with 32 bit addressing and microMIPS
MIPS:LE:64:64-32R6addr           - MIPS64 Release-6 with 32-bit addresses, little endian, with microMIPS
MIPS:BE:32:micro                 - MIPS32 32-bit addresses, big endian, with microMIPS
MIPS:LE:32:micro                 - MIPS32 32-bit addresses, little endian, with microMIPS
8085:LE:16:default               - Intel 8085
z80:LE:16:default                - Zilog Z80
z8401x:LE:16:default             - Zilog Z8401x (IPC) microcontroller
z180:LE:16:default               - Zilog Z180
z182:LE:16:default               - Zilog Z182
Xtensa:LE:32:default             - Tensilica Xtensa 32-bit little-endian
Xtensa:BE:32:default             - Tensilica Xtensa 32-bit big-endian
6502:LE:16:default               - 6502 Microcontroller Family
65C02:LE:16:default              - 65C02 Microcontroller Family
8048:LE:16:default               - 8048 Microcontroller Family
eBPF:LE:64:default               - eBPF processor 64-bit little-endian
HC-12:BE:16:default              - HC12 Microcontroller Family
HCS-12:BE:24:default             - HCS12 Microcontroller Family
HCS-12X:BE:24:default            - HCS12X Microcontroller Family
HCS12:BE:24:default              - HCS12X Microcontroller Family
PowerPC:BE:32:default            - PowerPC 32-bit big endian w/Altivec, G2
PowerPC:LE:32:default            - PowerPC 32-bit little endian w/Altivec, G2
PowerPC:BE:64:default            - PowerPC 64-bit big endian w/Altivec, G2
PowerPC:BE:64:64-32addr          - PowerPC 64-bit big endian w/Altivec and 32 bit addressing, G2
PowerPC:LE:64:64-32addr          - PowerPC 64-bit little endian w/Altivec and 32 bit addressing, G2
PowerPC:LE:64:default            - PowerPC 64-bit little endian w/Altivec, G2
PowerPC:BE:32:4xx                - PowerPC 4xx 32-bit big endian embedded core
PowerPC:LE:32:4xx                - PowerPC 4xx 32-bit little endian embedded core
PowerPC:BE:32:MPC8270            - Freescale MPC8280 32-bit big endian family (PowerQUICC-III)
PowerPC:BE:32:QUICC              - PowerQUICC-III 32-bit big endian family
PowerPC:LE:32:QUICC              - PowerQUICC-III 32-bit little endian family
PowerPC:BE:32:e200               - Power ISA e200 32-bit big-endian embedded core w/VLE
PowerPC:BE:32:e500               - PowerQUICC-III e500 32-bit big-endian family
PowerPC:LE:32:e500               - PowerQUICC-III e500 32-bit little-endian family
PowerPC:BE:32:e500mc             - PowerQUICC-III e500mc 32-bit big-endian family
PowerPC:LE:32:e500mc             - PowerQUICC-III e500mc 32-bit little-endian family
PowerPC:BE:64:A2-32addr          - Power ISA 3.0 Big Endian w/EVX and 32-bit Addressing
PowerPC:LE:64:A2-32addr          - Power ISA 3.0 Little Endian w/EVX and 32-bit Addressing
PowerPC:BE:64:A2ALT-32addr       - Power ISA 3.0 Big Endian w/Altivec and 32-bit Addressing
PowerPC:LE:64:A2ALT-32addr       - Power ISA 3.0 Little Endian w/Altivec and 32-bit Addressing
PowerPC:BE:64:A2ALT              - Power ISA 3.0 Big Endian w/Altivec
PowerPC:LE:64:A2ALT              - Power ISA 3.0 Little Endian w/Altivec
PowerPC:BE:64:VLE-32addr         - Power ISA 3.0 Big Endian w/VLE, EVX and 32-bit Addressing 
PowerPC:BE:64:VLEALT-32addr      - Power ISA 3.0 Big Endian w/VLE, Altivec and 32-bit Addressing
SuperH4:BE:32:default            - SuperH-4(a) (SH4) big endian
SuperH4:LE:32:default            - SuperH-4(a) (SH4) little endian
avr32:BE:32:default              - Generic AVR32-A big-endian
avr8:LE:16:default               - AVR8 with 16-bit word addressable code space
avr8:LE:16:extended              - AVR8 with 22-bit word addressable with EIND code space
avr8:LE:16:atmega256             - AVR8 for an Atmega 256
avr8:LE:24:xmega                 - AVR8 for an Xmega
RISCV:LE:64:RV64I                - RISC-V 64 little base
RISCV:LE:64:RV64IC               - RISC-V 64 little base compressed
RISCV:LE:64:RV64G                - RISC-V 64 little general purpose
RISCV:LE:64:RV64GC               - RISC-V 64 little general purpose compressed
RISCV:LE:64:default              - RISC-V 32 little default
RISCV:LE:32:RV32I                - RISC-V 32 little base
RISCV:LE:32:RV32IC               - RISC-V 32 little base compressed
RISCV:LE:32:RV32IMC              - RISC-V 32 little base compressed
RISCV:LE:32:RV32G                - RISC-V 32 little general purpose
RISCV:LE:32:RV32GC               - RISC-V 32 little general purpose compressed
RISCV:LE:32:default              - RISC-V 32 little default