NAME=List all asm/analysis plugins (e asm.arch=?)
FILE==
CMDS=aL
EXPECT=<<EOF
_dAeI 8 16       6502        LGPL3   6502/NES/C64/Tamagotchi/T-1000 CPU
adAeI 8          8051        PD      Intel 8051 disassembler
_dA__ 64         alpha       LGPL3   DEC Alpha Capstone-based disassembler
_dA__ 32         amd29k      LGPL3   AMD 29k RISC disassembler (by deroad)
_dA__ 16 32      arc         GPL3    Argonaut RISC Core
adAeI 16 32 64   arm         BSD     ARM Capstone-based disassembler
a____ 16 32 64   arm.as      LGPL3   as ARM Assembler (use RZ_ARM32_AS and RZ_ARM64_AS environment) (by pancake)
adAeI 8 16       avr         LGPL3   Atmel AVR disassembler
adA_I 16 32 64   bf          LGPL3   Brainfuck (by pancake, nibble) v4.0.0
_dA__ 32         chip8       LGPL3   Chip8 disassembler
_dA__ 16 32 64   cil         LGPL3   .NET CIL/MSIL (Common Intermediate Language) bytecode disassembler
_dA__ 16         cr16        LGPL3   CompactRISC CR16 disassembler
_dA__ 32         cris        GPL3    Axis Communications 32-bit embedded processor disassembler (by pancake)
adA__ 32 64      dalvik      LGPL3   Dalvik (Android VM) bytecode disassembler
ad___ 16         dcpu16      PD      Mojang's DCPU-16 disassembler
_dA__ 32 64      ebc         LGPL3   EFI bytecode disassembler (by Fedor Sakharov)
adAeI 16         gb          LGPL3   GameBoy(TM) (z80-like) (by condret)
_dAe_ 16         h8300       LGPL3   Hitachi/Renesas H8/300 disassembly plugin
_dA_I 32         hexagon     LGPL3   Qualcomm Hexagon (QDSP6) V6 (by Rot127)
_d___ 32         hppa        GPL3    HP PA-RISC
_dA__ 4          i4004       LGPL3   Intel 4004 disassembler
_dA__ 8          i8080       BSD     Intel 8080 disassembler
adA__ 32         java        LGPL-3  Java bytecode disassembler (by deroad)
_d___ 32         lanai       GPL3    Google LANAI disassembler
_d___ 8          lh5801      LGPL3   SHARP LH5801 disassembler
_d___ 32         lm32        BSD     Lattice Micro 32 ISA disassembler (by Felix Held)
_dA__ 32 64      loongarch   LGPL3   Loongson LoongArch disassembler
adA__ 8          luac        LGPL3   Lua bytecode (LUAC) disassembler
_dA__ 8 32       m680x       BSD     Motorola 680X Capstone-based disassembler
_dA__ 32         m68k        BSD     Motorola 68K Capstone-based disassembler
_dA__ 32         malbolge    LGPL3   Malbolge Ternary VM bytecode disassembler (by condret)
_dA__ 32         mcore       LGPL3   Motorola MCORE disassembler
_d___ 16         mcs96       LGPL3   Intel MCS-96 disassembler (by condret)
adAeI 16 32 64   mips        BSD     MIPS Capstone-based disassembler
_dA_I 16         msp430      LGPL3   Texas Instruments MSP430 disassembler
adA__ 16 32 64   null        MIT     NULL (empty) disassembler (by pancake) v1.0.0
_dA__ 32         or1k        LGPL3   OpenRISC 1000 disassembler
_dAeI 16 32      pic         LGPL3   Microchip PIC disassembler
_dAeI 32 64      ppc         BSD     PowerPC Capstone-based disassembler (by pancake)
a____ 32 64      ppc.as      LGPL3   as PPC Assembler (use RZ_PPC_AS environment) (by eagleoflqj)
_dA__ 32         propeller   LGPL3   Parallax Propeller disassembler
_dA__ 8 16       pyc         LGPL3   Python bytecode (PYC) disassembler
_dAe_ 32 64      riscv       GPL3    RISC-V disassembler
_dAe_ 32 64      riscv.cs    BSD     RISC-V Capstone-based disassembler
adA__ 32         rl78        LGPL3   Renesas RL78 disassembler (by Bastian Engel)
_dA__ 32         rsp         LGPL3   Nintendo N64 Reality Signal Processor disassembler
_dA__ 32         rx          LGPL3   Renesas RX Family disassembler (by Heersin)
adAeI 32         sh          LGPL3   Hitachi/Renesas SuperH-4 disassembler (by DMaroo)
_dA__ 8 16       snes        LGPL3   SuperNES CPU disassembler
_dA__ 32 64      sparc       BSD     Sun SPARC Capstone-based disassembler
_dA__ 32 64      sparc.gnu   GPL3    Sun SPARC disassembler
_dA__ 16         spc700      LGPL3   Sony SPC700 (Nintendo SuperNES sound-chip) disassembler
_dA__ 32 64      sysz        BSD     IBM SystemZ (S/390) Capstone-based disassembler
_dA__ 32         tms320      LGPL3   Texas Instruments TMS320 DSP family (c54x,c55x,c55x+,c64x) disassembler
_dA_I 32         tricore     BSD     Siemens TriCore Capstone-based disassembler (by billow)
_dAeI 32         v810        LGPL3   NEC V810 disassembler (by pancake)
_dAeI 32         v850        LGPL3   NEC/Renesas V850 disassembler
_dA__ 8 32       vax         GPL3    DEC VAX disassembler
adA__ 32         wasm        MIT     WebAssembly disassembler (by cgvwzq) v0.1.0
_dAeI 16 32 64   x86         BSD     X86/X86_64 Capstone-based disassembler
a____ 16 32 64   x86.as      LGPL3   Intel X86 GNU Assembler (Use RZ_X86_AS env)
a____ 16 32 64   x86.nasm    LGPL3   X86 nasm assembler
a____ 16 32 64   x86.nz      LGPL3   x86 handmade assembler
_dA__ 16         xap         PD      Cambridge Consultants XAP4 RISC (CSR) disassembler
_dA__ 32         xcore       BSD     XCore Capstone-based disassembler (by pancake)
_dAeI 32         xtensa      LGPL3   Tensilica Xtensa Capstone-based disassembler (by billow)
adA__ 8          z80         GPL3    Zilog Z80 disassembler (by condret)
EOF
RUN

NAME=Show details of CPU for a specific plugin
FILE==
CMDS=<<EOF
aLc mips
aLc xtensa
aLc arm
aLc avr
aLc m680x
aLc m68k
aLc pic
aLc ppc
aLc sparc
aLc tms320
aLc tricore
EOF
EXPECT=<<EOF
mips3           MIPS III architecture.
mips1           MIPS I architecture
mips2           MIPS II architecture
mips32r2        MIPS32 Release 2 architecture
mips32r3        MIPS32 Release 3 architecture
mips32r5        MIPS32 Release 5 architecture
mips32r6        MIPS32 Release 6 architecture
mips4           MIPS IV architecture
mips5           MIPS V architecture
mips64r2        MIPS64 Release 2 architecture
mips64r3        MIPS64 Release 3 architecture
mips64r5        MIPS64 Release 5 architecture
mips64r6        MIPS64 Release 6 architecture
octeon          OCTEON architecture (also known as cnMIPS)
octeonp         OCTEON+ architecture (also known as cnMIPS+)
nanomips        nanoMIPS architecture
nms1            nanoMIPS Release 1 architecture
i7200           nanoMIPS i7200 architecture
micromips       microMIPS architecture
micro32r3       microMIPS32 Release 3 architecture
micro32r6       microMIPS32 Release 6 architecture
r2300           R2300 MIPS cpu
r2600           R2600 MIPS cpu
r2800           R2800 MIPS cpu
r2000a          R2000A MIPS cpu
r2000           R2000 MIPS cpu
r3000a          R3000A MIPS cpu
r3000           R3000 MIPS cpu
r10000          R10000 MIPS cpu
noptr64         Special MIPS configuration to disable support for 64-bit pointers
nofloat         Special MIPS configuration to disable support for floating-points
esp32           Xtensa microcontroller with Wi-Fi and Bluetooth capabilities
esp32s2         Xtensa microcontroller with Wi-Fi and USB OTG support
esp8266         Xtensa microcontroller with Wi-Fi support
v8              ARMv8 version
cortexm         ARM Cortex-M family
arm1176         ARM1176JZ(F)-S processor, ARMv6 version
cortexA72       ARM Cortex-A72 processor, ARMv8-A version
cortexA8        ARM Cortex-A8, ARMv7-A version
ATmega8         8-bit AVR microcontroller with 8KB Flash, 1KB SRAM
ATmega1280      8-bit AVR microcontroller with 128KB Flash, 8KB SRAM
ATmega1281      8-bit AVR microcontroller with 128KB Flash, 8KB SRAM
ATmega16        8-bit AVR microcontroller with 16KB Flash, 1KB SRAM
ATmega168       8-bit AVR microcontroller with 16KB Flash, 1KB SRAMs
ATmega2560      8-bit AVR microcontroller with 256KB Flash, 8KB SRAM
ATmega2561      8-bit AVR microcontroller with 256KB Flash, 8KB SRAM
ATmega328p      8-bit AVR microcontroller with 32KB Flash, 2KB SRAM
ATmega32u4      8-bit AVR microcontroller with 32KB Flash, 2.5KB SRAM
ATmega48        8-bit AVR microcontroller with 4KB Flash, 512B SRAM
ATmega640       8-bit AVR microcontroller with 64KB Flash, 8KB SRAM
ATmega88        8-bit AVR microcontroller with 8KB Flash, 1KB SRAM
ATxmega128a4u   8-bit AVR microcontroller with 128KB Flash, 8KB SRAM
ATTiny48        8-bit AVR microcontroller with 4KB Flash, 256B SRAM
ATTiny88        8-bit AVR microcontroller with 8KB Flash, 512B SRAM
6800            Motorola 6800: 8-bit microprocessor launched in 1974
6801            Motorola 6801: Enhanced version of the 6800 with additional features like on-chip RAM and timers.
6805            Motorola 68HC05: 8-bit microcontroller
6808            Motorola 6808: Variant of the 6800 microprocessor
6809            Motorola 6809: Advanced 8-bit microprocessor
6811            Motorola 68HC11: 8-bit microcontroller (also abbreviated as 6811 or HC11)
cpu12           Motorola 68HC12: 16-bit microcontroller (also abbreviated as 6812 or HC12)
6301            Hitachi 6301: 8-bit microcontroller, CMOS version of 6800
6309            Hitachi 6309: CMOS version of 6809
hcs08           Freescale HCS08: 8-bit microcontroller family
68000           Motorola 68000: 16/32-bit CISC microprocessor
68010           Motorola 68010: 16/32-bit microprocessors. Successor to Motoroloa 68000
68020           Motorola 68020: 32-bit microprocessor with added instructions and additional addressing modes
68030           Motorola 68030: Enhanced 32-bit microprocessor with integrated MMU
68040           Motorola 68040: High-performance 32-bit microprocessor with integrated FPU
68060           Motorola 68060: 32-bit microprocessor, highest performer in m68k series
baseline        Baseline 12-bit instruction set microcontrollers: PIC10Fxxx, PIC12Fxxx, and PIC16Fxxx
midrange        Mid-Range 14-bit instruction set microcontrollers: PIC10Fxxx, PIC12Fxxx, and PIC16Fxxx
highend         High-End 16-bit instruction set microcontrollers: PIC18Fxxxx, PIC18FxxJxx, and PIC18FxxKxx
pic18           alias for highend
ppc             Generic PowerPC CPU
vle             PowerPC with Variable Length Encoding extension
ps              PowerPC with Paired Single SIMD extension
qpx             PowerPC with Quad Processing eXtensions
v9              SPARC V9: 64-bit RISC architecture specification
c54x            Texas Instruments TMS320C54x DSP family
c55x            Texas Instruments TMS320C55x DSP family
c55x+           Texas Instruments TMS320C55x+ DSP family
c64x            Texas Instruments TMS320C64x DSP family
tricore         Generic TriCore CPU family by Infineon
EOF
RUN

