NAME=x86_32
FILE=rizin-testbins/elf/crackme0x05
EXPECT=<<EOF
0x08048540   sym.main:
0x08048540 PUSH ebp
0x08048541 MOV ebp,esp
0x08048543 SUB esp,0x88
0x08048549 AND esp,0xfffffff0
0x0804854c MOV eax,0x0
0x08048551 ADD eax,0xf
0x08048554 ADD eax,0xf
0x08048557 SHR eax,0x4
0x0804855a SHL eax,0x4
0x0804855d SUB esp,eax
0x0804855f MOV dword ptr [esp],str.IOLI_Crackme_Level_0x05
0x08048566 CALL sym.imp.printf
0x0804856b MOV dword ptr [esp],str.Password:
0x08048572 CALL sym.imp.printf
0x08048577 LEA eax,[ebp + -0x78]
0x0804857a MOV dword ptr [esp + 0x4],eax
0x0804857e MOV dword ptr [esp],0x80486b2
0x08048585 CALL sym.imp.scanf
0x0804858a LEA eax,[ebp + -0x78]
0x0804858d MOV dword ptr [esp],eax
0x08048590 CALL sym.check
0x08048595 MOV eax,0x0
0x0804859a LEAVE
0x0804859b RET
EOF
CMDS=<<EOF
pdga
s main
pdq 24
EOF
RUN

NAME=x86_64
FILE=rizin-testbins/elf/hello_world
EXPECT=<<EOF
0x000007aa   sym.main:
0x000007aa PUSH rbp
0x000007ab MOV rbp,rsp
0x000007ae SUB rsp,0x20
0x000007b2 LEA rax,[str.Hello]
0x000007b9 MOV qword ptr [rbp + -0x18],rax
0x000007bd LEA rax,[str.r2_folks]
0x000007c4 MOV qword ptr [rbp + -0x10],rax
0x000007c8 MOV rax,qword ptr [rbp + -0x18]
0x000007cc MOV rdi,rax
0x000007cf CALL sym.imp.strlen
0x000007d4 MOV dword ptr [rbp + -0x20],eax
0x000007d7 MOV rax,qword ptr [rbp + -0x10]
0x000007db MOV rdi,rax
0x000007de CALL sym.imp.strlen
0x000007e3 MOV dword ptr [rbp + -0x1c],eax
0x000007e6 MOV edx,dword ptr [rbp + -0x20]
0x000007e9 MOV eax,dword ptr [rbp + -0x1c]
0x000007ec ADD eax,edx
0x000007ee ADD eax,0x1
0x000007f1 CDQE
0x000007f3 MOV rdi,rax
0x000007f6 CALL sym.imp.malloc
0x000007fb MOV qword ptr [rbp + -0x8],rax
0x000007ff CMP qword ptr [rbp + -0x8],0x0
0x00000804 JZ 0x844
0x00000806 MOV rdx,qword ptr [rbp + -0x18]
0x0000080a MOV rax,qword ptr [rbp + -0x8]
0x0000080e MOV rsi,rdx
0x00000811 MOV rdi,rax
0x00000814 CALL sym.imp.strcpy
0x00000819 MOV rdx,qword ptr [rbp + -0x10]
0x0000081d MOV rax,qword ptr [rbp + -0x8]
0x00000821 MOV rsi,rdx
0x00000824 MOV rdi,rax
0x00000827 CALL sym.imp.strcat
0x0000082c MOV rax,qword ptr [rbp + -0x8]
0x00000830 MOV rdi,rax
0x00000833 CALL sym.imp.puts
0x00000838 MOV rax,qword ptr [rbp + -0x8]
0x0000083c MOV rdi,rax
0x0000083f CALL sym.imp.free
0x00000844 NOP
0x00000845 LEAVE
0x00000846 RET
EOF
CMDS=<<EOF
pdga
s main
pdq 44
EOF
RUN

NAME=x86_16
FILE=rizin-testbins/mz/unzip.exe
EXPECT=<<EOF
0x000156a0   entry0:
0x000156a0 MOV bp,ax
0x000156a2 MOV ax,es
0x000156a4 ADD ax,0x10
0x000156a7 PUSH cs
0x000156a8 POP ds
0x000156a9 MOV [0x4],ax
0x000156ac ADD ax,word ptr [0xc]
0x000156b0 MOV es,ax
0x000156b2 MOV cx,word ptr [0x6]
0x000156b6 MOV di,cx
0x000156b8 DEC di
0x000156b9 MOV si,di
0x000156bb STD
0x000156bc MOVSB.REP es:di,si
0x000156be PUSH ax
0x000156bf MOV ax,0x34
0x000156c2 PUSH ax
0x000156c3 RETF
EOF
CMDS=<<EOF
pdga
pdq 18
EOF
RUN

NAME=ARM_LE_32
FILE=rizin-testbins/elf/analysis/dwarf_load
EXPECT=<<EOF
0x0000dac8   sym.main:
0x0000dac8 cpy r12,sp
0x0000dacc stmdb sp!,{r4,r11,r12,lr,pc}
0x0000dad0 sub r11,r12,#0x4
0x0000dad4 sub sp,sp,#0x19c0
0x0000dad8 sub sp,sp,#0xc
0x0000dadc mvn r3,#0x1980
0x0000dae0 sub r3,r3,#0x3b
0x0000dae4 sub r2,r11,#0x14
0x0000dae8 str r0,[r2,r3]
0x0000daec mov r3,#0x99000000
0x0000daf0 mov r3,r3, asr #0x12
0x0000daf4 sub r0,r11,#0x14
0x0000daf8 str r1,[r0,r3]
0x0000dafc bl sym.fork
0x0000db00 cpy r3,r0
0x0000db04 cmp r3,#0x0
0x0000db08 beq 0xdb14
0x0000db0c mov r0,#0x0
0x0000db10 bl sym.__GI_exit
0x0000db14 mov r3,#0x99000000
0x0000db18 mov r3,r3, asr #0x12
0x0000db1c sub r1,r11,#0x14
0x0000db20 ldr r3,[r1,r3]
0x0000db24 ldr r4,[r3,#0x0]
0x0000db28 mov r3,#0x99000000
0x0000db2c mov r3,r3, asr #0x12
0x0000db30 sub r2,r11,#0x14
0x0000db34 ldr r3,[r2,r3]
0x0000db38 ldr r3,[r3,#0x0]
0x0000db3c cpy r0,r3
0x0000db40 bl sym.strlen
0x0000db44 cpy r3,r0
0x0000db48 cpy r0,r4
0x0000db4c ldr r1,[0xe268]
0x0000db50 cpy r2,r3
0x0000db54 bl sym.strncpy
0x0000db58 mov r3,#0x1
0x0000db5c str r3,[r11,#-0x40]
0x0000db60 b 0xdbd4
0x0000db64 ldr r3,[r11,#-0x40]
0x0000db68 mov r3,r3, lsl #0x2
0x0000db6c cpy r2,r3
0x0000db70 mov r3,#0x99000000
0x0000db74 mov r3,r3, asr #0x12
0x0000db78 sub r0,r11,#0x14
0x0000db7c ldr r3,[r0,r3]
0x0000db80 add r3,r2,r3
0x0000db84 ldr r4,[r3,#0x0]
0x0000db88 ldr r3,[r11,#-0x40]
0x0000db8c mov r3,r3, lsl #0x2
EOF
CMDS=<<EOF
pdga
s main
pdq 50
EOF
RUN

NAME=MIPS_BE_64
FILE=rizin-testbins/z64/demo.z64
EXPECT=<<EOF
0x80001000   section.text:
0x80001000 lui sp, 0x803f
0x80001004 ori sp, sp, 0xfff0
0x80001008 lui t0, 0x8003
0x8000100c addiu t0, t0, -0x3b50
0x80001010 lui t1, 0x8015
0x80001014 addiu t1, t1, 0x6530
0x80001018 beq t0, t1, 0x80001030
0x8000101c nop
0x80001020 addiu t0, t0, 0x4
0x80001024 sltu at, t0, t1
0x80001028   pc:
0x80001028 bne at, zero, 0x80001020
0x8000102c sw zero, -0x4(t0)
0x80001030 lui t0, 0x8003
0x80001034 addiu t0, t0, -0x3b50
0x80001038 lui t1, 0x8003
0x8000103c addiu t1, t1, -0x3b50
0x80001040 beq t0, t1, 0x80001058
0x80001044 nop
0x80001048 addiu t0, t0, 0x4
0x8000104c sltu at, t0, t1
0x80001050 bne at, zero, 0x80001048
0x80001054 sw zero, -0x4(t0)
0x80001058 lui gp, 0x0
0x8000105c addiu gp, gp, 0x0
0x80001060 jal 0x800032f0
0x80001064 nop
0x80001068 break 0x402
0x8000106c nop
0x80001070 addi t8, zero, 0x360
0x80001074 addi s7, zero, 0xf90
0x80001078 lw gp, 0x30(at)
0x8000107c lw k1, 0x34(at)
0x80001080 mfc0 a1, compare
0x80001084 andi a0, a1, 0x1
0x80001088 beq a0, zero, 0x800010a4
0x8000108c andi a0, a1, 0x100
0x80001090 beq a0, zero, 0x800010a4
0x80001094 nop
0x80001098 mfc0 a0, compare
0x8000109c andi a0, a0, 0x100
0x800010a0 bgtz a0, 0x80001098
0x800010a4 nop
0x800010a8 jal 0x84001150
0x800010ac nop
0x800010b0 addi v0, zero, 0xf
0x800010b4 addi at, zero, 0x320
0x800010b8 sw zero, 0x0(at)
0x800010bc bgtz v0, 0x800010b8
0x800010c0 addi v0, v0, -0x1
0x800010c4 mfc0 v0, wired
EOF
CMDS=<<EOF
pdga
pdq 50
EOF
RUN

NAME=MIPS_BE_32
FILE=rizin-testbins/elf/syscall_mips
EXPECT=<<EOF
0x004000f0   loc._ftext:
0x004000f0 li v0, 0xfa4
0x004000f4 li a0, 0x1
0x004000f8 lui a1, 0x41
0x004000fc addiu a1, a1, 0x120
0x00400100 lui a2, 0x0
0x00400104 addiu a2, a2, 0xf
0x00400108 syscall
0x0040010c li v0, 0xfa1
0x00400110 or a0, zero, zero
0x00400114 syscall
0x00400118 nop
0x0040011c nop
EOF
CMDS=<<EOF
pdga
pdq 12
EOF
RUN

NAME=PowerPC_BE_32
FILE=rizin-testbins/dol/sqrxz4-gc.dol
EXPECT=<<EOF
0x80003100   section.text_0:
0x80003100 b 0x80003120
0x80003104 rlwnm. r1,r27,r14,0x9,0x13
0x80003108 invalid
0x8000310a invalid
0x8000310c invalid
0x8000310e invalid
0x80003110 invalid
0x80003112 invalid
0x80003114 invalid
0x80003116 invalid
0x80003118 invalid
0x8000311a invalid
0x8000311c invalid
0x8000311e invalid
0x80003120 bl 0x8001223c
0x80003124 bl 0x80003180
0x80003128 bl 0x8000321c
0x8000312c bl 0x80012120
0x80003130 bl 0x80093694
0x80003134 lis r3,0x0
0x80003138 ori r3,r3,0x0
0x8000313c cmplwi r3,0x0
0x80003140 bne 0x8000317c
0x80003144 lis r3,-0x7ff1
0x80003148 ori r3,r3,0xfc60
0x8000314c li r4,0x0
0x80003150 lis r5,-0x7ff0
0x80003154 ori r5,r5,0x200
0x80003158 subf r5,r3,r5
0x8000315c bl 0x80003240
0x80003160 lis r3,-0x7ff0
0x80003164 ori r3,r3,0x200
0x80003168 li r4,0x0
0x8000316c lis r5,-0x7fbc
0x80003170 ori r5,r5,0x6520
0x80003174 subf r5,r3,r5
0x80003178 bl 0x80003240
0x8000317c b 0x80089020
0x80003180 li r0,0x0
0x80003184 li r3,0x0
0x80003188 li r4,0x0
0x8000318c li r5,0x0
0x80003190 li r6,0x0
0x80003194 li r7,0x0
0x80003198 li r8,0x0
0x8000319c li r9,0x0
0x800031a0 li r10,0x0
0x800031a4 li r11,0x0
0x800031a8 li r12,0x0
0x800031ac li r14,0x0
EOF
CMDS=<<EOF
pdga
pdq 50
EOF
RUN

NAME=AARCH64_LE_64
FILE=rizin-testbins/elf/mtk-su
EXPECT=<<EOF
0x00001660   sym..text:
0x00001660 mov x0, sp
0x00001664 b 0x1668
0x00001668 sub sp, sp, #0x30
0x0000166c stp x29, x30, [sp, #0x20]
0x00001670 adrp x8, 0x1e000
0x00001674 ldr x8, [x8, #0xff8]
0x00001678 adrp x9, 0x1e000
0x0000167c ldr x9, [x9, #0xfd8]
0x00001680 adrp x10, 0x1e000
0x00001684 ldr x10, [x10, #0xfb0]
0x00001688 fmov d0, x8
0x0000168c mov v0.D[0x1], x9
0x00001690 str q0, [sp]
0x00001694 str x10, [sp, #0x10]
0x00001698 adrp x2, 0x1e000
0x0000169c ldr x2, [x2, #0xfe8]
0x000016a0 mov x3, sp
0x000016a4 mov x1, xzr
0x000016a8 add x29, sp, #0x20
0x000016ac bl sym.imp.__libc_init
0x000016b0 cbz x0, 0x16b8
0x000016b4 br x0
0x000016b8 ret
0x000016bc adrp x8, 0x1000
0x000016c0 add x8, x8, #0x6b0
0x000016c4 adrp x2, sym..data
0x000016c8 add x2, x2, #0x588
0x000016cc mov x1, x0
0x000016d0 mov x0, x8
0x000016d4 b sym.imp.__cxa_atexit
0x000016d8 stp x24, x23, [sp, #-0x40]!
0x000016dc stp x22, x21, [sp, #0x10]
0x000016e0 stp x20, x19, [sp, #0x20]
0x000016e4 stp x29, x30, [sp, #0x30]
0x000016e8 add x29, sp, #0x30
0x000016ec mov x8, x1
0x000016f0 mov w20, w2
0x000016f4 mov x21, x0
0x000016f8 mov w1, #0x242
0x000016fc mov w2, #0x1b6
0x00001700 mov x0, x8
0x00001704 mov x19, x3
0x00001708 bl sym.imp.open
0x0000170c tbnz w0, #0x1f, 0x1788
0x00001710 mov w22, w0
0x00001714 cbz x19, 0x1770
0x00001718 ldr x23, [x21, #0x58]
0x0000171c ldr x8, [x21, #0x210]
0x00001720 mov x0, x21
0x00001724 cmp x19, x8
EOF
CMDS=<<EOF
pdga
pdq 50
EOF
RUN

NAME=MIPS_LE_32
FILE=rizin-testbins/elf/jni/jniO0-mips
EXPECT=<<EOF
0x00000450   sym.__on_dlclose:
0x00000450 lui gp, 0x2
0x00000454 addiu gp, gp, -0x7450
0x00000458 addu gp, gp, t9
0x0000045c lw t9, -0x7fcc(gp)
0x00000460 jr t9
0x00000464 lw a0, -0x7fe8(gp)
0x00000468 nop
0x0000046c nop
0x00000470   sym.__atexit_handler_wrapper:
0x00000470 beq a0, zero, 0x480
0x00000474 move t9, a0
0x00000478 jr t9
0x0000047c nop
0x00000480 jr ra
0x00000484 nop
0x00000488   sym.atexit:
0x00000488 lui gp, 0x2
0x0000048c addiu gp, gp, -0x7488
0x00000490 addu gp, gp, t9
0x00000494 move a1, a0
0x00000498 lw a2, -0x7fe8(gp)
0x0000049c lw t9, -0x7fd8(gp)
0x000004a0 jr t9
0x000004a4 lw a0, -0x7fe4(gp)
0x000004a8 nop
0x000004ac nop
0x000004b0   sym.Java_JNIFoo_nativeFoo:
0x000004b0 lui gp, 0x2
0x000004b4 addiu gp, gp, -0x74b0
0x000004b8 addu gp, gp, t9
0x000004bc addiu sp, sp, -0x28
0x000004c0 sw ra, 0x24(sp)
0x000004c4 sw s8, 0x20(sp)
0x000004c8 move s8, sp
0x000004cc sw gp, 0x10(sp)
0x000004d0 sw a0, 0x28(s8)
0x000004d4 sw a1, 0x2c(s8)
0x000004d8 sw zero, 0x18(s8)
0x000004dc li a0, 0x1e
0x000004e0 lw v0, -0x7fd4(gp)
0x000004e4 move t9, v0
0x000004e8 jalr t9
0x000004ec nop
0x000004f0 lw gp, 0x10(s8)
0x000004f4 sw v0, 0x1c(s8)
0x000004f8 lw v0, 0x1c(s8)
0x000004fc bne v0, zero, 0x510
0x00000500 nop
0x00000504 lw v0, 0x18(s8)
0x00000508 b 0x580
0x0000050c nop
0x00000510 lw a0, 0x1c(s8)
0x00000514 clear a1
EOF
CMDS=<<EOF
pdga
pdq 50
EOF
RUN

NAME=PowerPC_LE_64
FILE=rizin-testbins/elf/mosquito-ppc64le
EXPECT=<<EOF
0x10001854   entry0:
0x10001854 lis r2,0x1002
0x10001858 subi r2,r2,0x3ff0
0x1000185c or r9,r1,r1
0x10001860 rldicr r1,r1,0x0,0x3b
0x10001864 li r0,0x0
0x10001868 stdu r1,-0x80(r1)
0x1000186c mtspr lr,r0
0x10001870 std r0,0x0(r1)
0x10001874 ld r8,-0x7ff0(r2)
0x10001878 b 0x10001260
0x1000187c ori r0,r0,0x0
0x10001880 invalid
0x10001882 invalid
0x10001884 invalid
0x10001886 subfic r2,r0,0x0
0x1000188a invalid
0x1000188c invalid
0x1000188e invalid
0x10001890 andi. r31,r26,0x6
0x10001894 andis. r18,r3,0x6174
0x10001898 ori r0,r0,0x0
0x1000189c ori r0,r0,0x0
0x100018a0 lis r2,0x1002
0x100018a4 subi r2,r2,0x3ff0
0x100018a8 ori r0,r0,0x0
0x100018ac ori r0,r0,0x0
0x100018b0 subi r9,r2,0x7ff9
0x100018b4 subi r3,r2,0x8000
0x100018b8 subf r9,r3,r9
0x100018bc cmpldi cr7,r9,0xe
0x100018c0 blelr cr7
0x100018c4 ori r0,r0,0x0
0x100018c8 ld r9,-0x7fe8(r2)
0x100018cc cmpdi cr7,r9,0x0
0x100018d0 beqlr cr7
0x100018d4 mfspr r0,lr
0x100018d8 or r12,r9,r9
0x100018dc mtspr ctr,r9
0x100018e0 std r0,0x10(r1)
0x100018e4 stdu r1,-0x20(r1)
0x100018e8 std r2,0x18(r1)
0x100018ec bctrl
0x100018f0 ld r2,0x18(r1)
0x100018f4 addi r1,r1,0x20
0x100018f8 ld r0,0x10(r1)
0x100018fc mtspr lr,r0
0x10001900 blr
0x10001904 ori r0,r0,0x0
0x10001908 ori r0,r0,0x0
0x1000190c ori r2,r2,0x0
EOF
CMDS=<<EOF
pdga
pdq 50
EOF
RUN

NAME=sparc_BE_32
FILE=rizin-testbins/elf/analysis/elf-sparc-execstack
EXPECT=<<EOF
0x000117e0   section..text:
0x000117e0 mov g0,fp
0x000117e4 sub sp,0x18,sp
0x000117e8 lduw [sp+0x58],o1
0x000117ec add sp,0x5c,o2
0x000117f0 sethi %hi(0x12400),o0
0x000117f4 sethi %hi(0x35000),o3
0x000117f8 sethi %hi(0x35000),o4
0x000117fc or o0,0x180,o0
0x00011800 or o3,0x260,o3
0x00011804 or o4,0x240,o4
0x00011808 mov g1,o5
0x0001180c call sym.imp.__libc_start_main
0x00011810 nop
0x00011814 illtrap 0x0
0x00011818 illtrap 0x0
0x0001181c illtrap 0x0
0x00011820 save sp,-0x60,sp
0x00011824 sethi %hi(0x4b400),l3
0x00011828 ldub [l3+0xc4],g1
0x0001182c cmp g1,0x0
0x00011830 bpne,pn %icc,0x11898
0x00011834 sethi %hi(segment.LOAD1),l2
0x00011838 sethi %hi(segment.LOAD1),l1
0x0001183c or l2,0x8,l2
0x00011840 or l1,0xc,l1
0x00011844 sub l1,l2,l1
0x00011848 sethi %hi(0x4b400),l0
0x0001184c sra l1,0x2,l1
0x00011850 lduw [l0+0xc8],g1
0x00011854 add l1,-0x1,l1
0x00011858 cmp g1,l1
0x0001185c bpcc,a,pn %icc,0x11894
0x00011860 mov 0x1,g1
0x00011864 or l0,0xc8,l0
0x00011868 add g1,0x1,g1
0x0001186c stw g1,[l0+g0]
0x00011870 sll g1,0x2,g1
0x00011874 lduw [l2+g1],g1
0x00011878 jmpl g1+g0,o7
0x0001187c nop
0x00011880 lduw [l0+g0],g1
0x00011884 cmp g1,l1
0x00011888 bpcs,pt %icc,0x1186c
0x0001188c add g1,0x1,g1
0x00011890 mov 0x1,g1
0x00011894 stb g1,[l3+0xc4]
0x00011898 return
0x0001189c nop
0x000118a0 save sp,-0x60,sp
0x000118a4 return
EOF
CMDS=<<EOF
pdga
pdq 50
EOF
RUN

NAME=avr8_LE_16
FILE=rizin-testbins/elf/analysis/bugurtos-avr.elf
EXPECT=<<EOF
0x00000308   sym.main:
0x00000308 push r14
0x0000030a push r15
0x0000030c push r16
0x0000030e push yhi
0x00000310 push ylo
0x00000312 rcall .
0x00000314 in ylo,spl
0x00000316 in yhi,sph
0x00000318 call sym.init_bugurt
0x0000031c ldi zlo,0x4f
0x0000031e ldi zhi,0x0
0x00000320 st z, r1
0x00000322 ldi zlo,0x4e
0x00000324 ldi zhi,0x0
0x00000326 ldi r24,0x1d
0x00000328 st z, r24
0x0000032a ldi zlo,0x4a
0x0000032c ldi zhi,0x0
0x0000032e ldi r24,0x8
0x00000330 ldi r25,0x0
0x00000332 std z+0x1, r25
0x00000334 st z, r24
0x00000336 ldi zlo,0x48
0x00000338 ldi zhi,0x0
0x0000033a std z+0x1, r1
0x0000033c st z, r1
0x0000033e ldi zlo,0x56
0x00000340 ldi zhi,0x0
0x00000342 st z, r1
0x00000344 ldi zlo,0x50
0x00000346 ldi zhi,0x0
0x00000348 st z, r1
0x0000034a ldi zlo,0x57
0x0000034c ldi zhi,0x0
0x0000034e ldi r24,0x10
0x00000350 st z, r24
0x00000352 ldi zlo,0x37
0x00000354 ldi zhi,0x0
0x00000356 ser r24
0x00000358 st z, r24
0x0000035a ldi zlo,0x34
0x0000035c ldi zhi,0x0
0x0000035e ser r24
0x00000360 st z, r24
0x00000362 ldi zlo,0x31
0x00000364 ldi zhi,0x0
0x00000366 ldi r24,0x1
0x00000368 st z, r24
0x0000036a ldi zlo,0x6a
0x0000036c ldi zhi,0x0
EOF
CMDS=<<EOF
pdga
s main
pdq 50
EOF
RUN

NAME=68000_BE_32
FILE=rizin-testbins/elf/analysis/busybox.m68k
EXPECT=<<EOF
0x80000da4   entry0:
0x80000da4 suba.l a6,a6
0x80000da6 move.l (sp)+,d0
0x80000da8 movea.l sp,a0
0x80000daa pea (sp)
0x80000dac pea (a1)
0x80000dae pea (-0x7fffe5d0).l
0x80000db4 pea (-0x7fffe650).l
0x80000dba pea (a0)
0x80000dbc move.l d0,-(sp)
0x80000dbe pea (-0x7ff69c22).l
0x80000dc4 bsr.l 0x80001450
0x80000dca illegal
0x80000dcc link.w a6,0x0
0x80000dd0 move.l #-0x7fea4ee4,d0
0x80000dd6 subi.l #-0x7fea4ee7,d0
0x80000ddc moveq #0x6,d1
0x80000dde cmp.l d0,d1
0x80000de0 bcc.b 0x80000df6
0x80000de2 lea (0x0).l,a0
0x80000de8 tst.l a0
0x80000dea beq.b 0x80000df6
0x80000dec pea (-0x7fea4ee4).l
0x80000df2 jsr (a0)
0x80000df4 addq.l #0x4,sp
0x80000df6 unlk a6
0x80000df8 rts
0x80000dfa link.w a6,0x0
0x80000dfe move.l #-0x7fea4ee4,d0
0x80000e04 subi.l #-0x7fea4ee4,d0
0x80000e0a asr.l #0x2,d0
0x80000e0c move.l d0,d0
0x80000e0e bpl.b 0x80000e12
0x80000e10 addq.l #0x1,d0
0x80000e12 asr.l #0x1,d0
0x80000e14 beq.b 0x80000e2c
0x80000e16 lea (0x0).l,a0
0x80000e1c tst.l a0
0x80000e1e beq.b 0x80000e2c
0x80000e20 move.l d0,-(sp)
0x80000e22 pea (-0x7fea4ee4).l
0x80000e28 jsr (a0)
0x80000e2a addq.l #0x8,sp
0x80000e2c unlk a6
0x80000e2e rts
0x80000e30 link.w a6,0x0
0x80000e34 tst.b (-0x7fea4ee0).l
0x80000e3a bne.b 0x80000e5c
0x80000e3c jsr 0x80000dcc
0x80000e40 lea (-0x7ff6ad9c).l,a0
0x80000e46 tst.l a0
EOF
CMDS=<<EOF
pdga
pdq 50
EOF
RUN

NAME=rz-asm
FILE==
CMDS=<<EOF
!rz-asm -a ghidra -c x86:LE:32:default:gcc -d 89e1909090909090909090909090
EOF
EXPECT=<<EOF
MOV ecx,esp
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
EOF
RUN

NAME=asm.cpu short
FILE==
CMDS=<<EOF
e asm.arch=ghidra
e asm.cpu=v850
e asm.bits=32
pdgss
wx 8100e009ba154007b8a8042a400e000184ff88990c0a400faba80c0a400faca8
pdq 10
EOF
EXPECT=<<EOF
V850:LE:32:default
0x00000000 zxb r1
0x00000002 cmp r0, r1
0x00000004 bne 0x2a
0x00000006 st.b r0, -0x5748[r0]
0x0000000a mov 0x4, tp
0x0000000c movhi 0x100, r0, r1
0x00000010 jarl 0x49998, lp
0x00000014 mov 0xc, r1
0x00000016 st.b r1, -0x5755[r0]
0x0000001a mov 0xc, r1
EOF
RUN

NAME=rz-asm short
FILE==
CMDS=<<EOF
!rz-asm -a ghidra -c v850 -b 32 -d 8100e009
EOF
EXPECT=<<EOF
zxb r1
cmp r0, r1
EOF
RUN
