NAME=v850 preludes
FILE=bins/v850/hello-v850e
CMDS=<<EOF
aap
afl
EOF
EXPECT=<<EOF
0x00100018    3     84 fcn.00100018
0x001000d0    5     74 sym.___main
0x00100090    1     64 sym._main
0x0010011a    3     34 sym._exit
0x00101e6c   20    170 sym.___call_exitprocs
0x00101f16    3     64 sym.__exit
0x0010006c    1     36 sym._compute
0x0010013c    1     24 sym.__printf_r
0x00100170   20    716 sym.__vfprintf_r
0x00100158    1     24 fcn.00100158
0x00100e72    2    192 fcn.00100e72
0x001014e0    2     30 fcn.001014e0
0x00101cb8    1     24 sym._vfprintf
0x00101cd0    5    146 sym.___sbprintf
0x00101d64   27    264 sym.___swsetup_r
0x00101f58   19    326 sym._quorem
0x00102444    4    140 fcn.00102444
0x001027e2    1      4 fcn.001027e2
0x001028f4    1      4 fcn.001028f4
0x00102b54   17    342 fcn.00102b54
0x001034d0   27    364 sym.___sflush_r
0x0010367c    6     68 sym.__fflush_r
0x001036c0    3     40 sym._fflush
0x00103cba    8     76 sym.__fwalk_reent
0x001036ec    1    106 sym._std
0x001045ac    4     24 sym._memset
0x00103756    1     18 sym.__cleanup_r
0x00103768    1     88 sym.___sinit.part___0
0x001037c4    3     60 sym.___sfmoreglue
0x00103e62   33    974 sym.__malloc_r
0x00103800   13    180 sym.___sfp
0x001038b8    1     18 fcn.001038b8
0x001038ca    3     20 sym.___sinit
0x001038ea    1     18 fcn.001038ea
0x00103c72    8     72 sym.__fwalk
0x00103900    1     18 fcn.00103900
0x00103912    7    196 sym.__malloc_trim_r
0x001039d6   27    498 sym.__free_r
0x00103d1c    6    122 sym.___swhatbuf_r
0x00106728    4     50 sym.__fstat_r
0x00103d96   10    204 sym.___smakebuf_r
0x00106b62    4     46 sym.__isatty_r
0x001045c8    9    106 sym.__Balloc
0x00104650    9    198 sym.___multadd
0x00104716   15    194 sym.___s2b
0x001048b4    3     52 sym.___i2b
0x001063e0    4     78 sym.___assert_func
0x001065be    1     26 sym._fiprintf
0x00105380   23    746 sym.__vfiprintf_r
0x0010747e    1     16 sym._abort
0x0010767a    1     18 sym._raise
0x0010758e   11    126 sym.__raise_r
0x00107704    1     12 sym.__getpid_r
0x00107710    1      4 sym.__getpid
0x001076d2    4     50 sym.__kill_r
0x001048e8   20    370 sym.___multiply
0x00104a70   15    188 sym.___pow5mult
0x00104b2c   16    276 sym.___lshift
0x00104c82   14    318 sym.___mdiff
0x00104e58   14    180 sym.___b2d
0x001047d8   12     86 sym.___hi0bits
0x00104f0c   12    272 sym.___d2b
0x0010501c    4    148 sym.___ratio
0x001051c2    4     46 sym.__sbrk_r
0x001051f0    3     50 sym.___sread
0x00106cce    4     52 sym.__read_r
0x00105226    3     70 sym.___swrite
0x0010526c    3     52 sym.___sseek
0x00106c00    4     52 sym.__lseek_r
0x001052a0    1     16 sym.___sclose
0x001064be    4     46 sym.__close_r
0x001052e0   12    132 sym.___sprint_r.part___0
0x00105364    3     28 sym.___sprint_r
0x0010565a    1      4 fcn.0010565a
0x00105934    2     22 fcn.00105934
0x00106300    1     24 sym._vfiprintf
0x00106318    5    146 sym.___sbprintf_1
0x001063ae    4     50 fcn.001063ae
0x00106430    1     10 fcn.00106430
0x0010643e   12    128 fcn.0010643e
0x001064ec   18    172 sym.__fclose_r
0x0010659e    1     12 fcn.0010659e
0x001065aa    1     20 sym.__fiprintf_r
0x001065d8   17    198 sym.___fputwc
0x0010669e    3     44 sym.__fputwc_r
0x001066ca    6     94 sym._fputwc
0x00106b90    7     78 sym.__setlocale_r
0x00106bea    1     22 sym._setlocale
0x00106c34    1     34 sym.__mbtowc_r
0x00106d02   14    494 sym.__realloc_r
0x0010722c    5     82 sym.__sbrk
0x001072c2   19    248 sym.___swbuf_r
0x001073ba    1     22 sym.___swbuf
0x001073d0    5     70 sym.__wcrtomb_r
0x00107416    1     24 sym._wcrtomb
0x0010742e    1     22 sym.__wctomb_r
0x00107468    1     22 sym.__write
0x001052d0    3     14 fcn.001052d0
0x00107490    1     18 fcn.00107490
0x001052cc    1      4 loc.___trap0
0x001074a4    1     20 fcn.001074a4
0x001074bc    1     24 sym.__lseek
0x001074d4    1     22 sym.__read
0x001074ea    6     46 sym.__init_signal_r.part___0
0x00107518    3     26 sym.__init_signal_r
0x00107532    8     92 sym.__signal_r
0x0010760c   13    110 sym.___sigtramp_r
0x0010768c    1     22 sym._signal
0x001076a6    3     26 fcn.001076a6
0x001076c6    1     12 fcn.001076c6
0x00107714    1     24 sym.__kill
0x0010772c    3     92 sym.___unorddf2
EOF
RUN

NAME=v850 preludes
FILE=bins/v850/ired_v850
CMDS=<<EOF
aap
afl
EOF
EXPECT=<<EOF
0x0010010e    2     38 fcn.0010010e
0x00100302    6     86 fcn.00100302
0x001004ea    6     72 fcn.001004ea
0x00100548    1      4 fcn.00100548
0x00100588    1      4 fcn.00100588
0x001005c8    1      4 fcn.001005c8
0x001005fa    1      4 fcn.001005fa
0x0010062c    1      4 fcn.0010062c
0x0010066e    1      4 fcn.0010066e
0x001006b0    1      4 fcn.001006b0
0x00100712    1      4 fcn.00100712
0x00100774    1      4 fcn.00100774
0x00100816    1      4 fcn.00100816
0x001008b8    1      4 fcn.001008b8
0x001008c2    1      4 fcn.001008c2
0x001008cc    1      4 fcn.001008cc
0x00101e1a    2     24 fcn.00101e1a
0x00101f9a    1      4 fcn.00101f9a
0x00101ff2    1      4 fcn.00101ff2
0x0010204a    1      4 fcn.0010204a
0x00102526    2     20 fcn.00102526
0x0010268e    1      4 fcn.0010268e
0x001026ce    1      4 fcn.001026ce
0x00102708    1      4 fcn.00102708
0x00102748    1      4 fcn.00102748
0x00102782    1      4 fcn.00102782
0x001027a0    1      4 fcn.001027a0
0x001027f8    1      4 fcn.001027f8
0x0010280e    1      4 fcn.0010280e
0x00102874    1      4 fcn.00102874
0x001028ea    2     66 fcn.001028ea
0x00102914    1      4 fcn.00102914
0x00102b54    2     26 fcn.00102b54
0x00102d4e    2     16 fcn.00102d4e
0x001030fe    2    234 fcn.001030fe
0x00103130    2     14 fcn.00103130
0x001034c4    2     98 fcn.001034c4
0x00103afe    5     52 fcn.00103afe
0x00103b46    1      4 fcn.00103b46
0x00103ca0    1      4 fcn.00103ca0
0x00103cb4    1      4 fcn.00103cb4
0x0010449a    2     20 fcn.0010449a
0x001044ac    1      4 fcn.001044ac
0x001044be    1      4 fcn.001044be
0x001044d0    1      4 fcn.001044d0
0x00104654    2     26 fcn.00104654
0x00104b72    3     62 fcn.00104b72
0x00104ec0    1      4 fcn.00104ec0
0x00104ec4   16    300 sym.___udivdi3
0x001052d8    5     74 sym.___main
0x00105322    3     34 sym._exit
0x0010cc08   20    170 sym.___call_exitprocs
0x0010ccb2    3     64 sym.__exit
0x00105344   18    172 sym.__fclose_r
0x001053f6    1     12 fcn.001053f6
0x00105402   27    364 sym.___sflush_r
0x001055ae    6     68 sym.__fflush_r
0x001055f2    3     40 sym._fflush
0x001063de    8     76 sym.__fwalk_reent
0x0010574a    1     24 sym._fgets
0x0010561a   15    304 sym.__fgets_r
0x00105766    1    106 sym._std
0x00106d96    4     24 sym._memset
0x001057d0    1     18 sym.__cleanup_r
0x001057e2    1     88 sym.___sinit.part___0
0x0010583e    3     60 sym.___sfmoreglue
0x0010664c   33    974 sym.__malloc_r
0x0010587a   13    180 sym.___sfp
0x00105932    1     18 fcn.00105932
0x00105944    3     20 sym.___sinit
0x00105964    1     18 fcn.00105964
0x00106396    8     72 sym.__fwalk
0x0010597a    1     18 fcn.0010597a
0x0010598c    8    174 sym.__fopen_r
0x00105a3a    1     22 sym._fopen
0x00105a50    1     20 sym.__fprintf_r
0x0010aed8   20    716 sym.__vfprintf_r
0x00105a64    1     26 sym._fprintf
0x00105bbc    1     36 sym._fread
0x00105a7e   16    318 sym.__fread_r
0x00105be0    7    196 sym.__malloc_trim_r
0x00105ca4   27    498 sym.__free_r
0x00105f40    1     12 sym.__fseek_r
0x00105f64   49    730 sym.__fseeko_r
0x00105f4c    1     24 sym._fseek
0x00106274    1     24 sym._fseeko
0x0010628e    4     48 fcn.0010628e
0x001062be   22    198 sym.__ftello_r
0x0010638a    1     12 fcn.0010638a
0x0010642a    8    144 sym.__fwrite_r
0x001064ba    1     36 sym._fwrite
0x001064e2    6    122 sym.___swhatbuf_r
0x0010628c    1      2 sym.__fstat_r
0x0010655c   10    204 sym.___smakebuf_r
0x0010e840    4     46 sym.__isatty_r
0x0010662e    1     12 fcn.0010662e
0x00106640    1     12 fcn.00106640
0x00106db4    4     50 fcn.00106db4
0x00106de6   22    346 sym.__perror_r
0x00106f4e    1     12 fcn.00106f4e
0x00106f5a    1     24 sym.__printf_r
0x00106f76    1     24 fcn.00106f76
0x00106f8e    1     16 sym.__putchar_r
0x0010f67c    8    108 sym.__putc_r
0x00106f9e    1     24 sym._putchar
0x00106fb6    5    152 sym.__puts_r
0x00107054    1     12 fcn.00107054
0x00107060    3     30 sym._lflush
0x0010707e   29    356 sym.___srefill_r
0x001071e2    4     46 sym.__sbrk_r
0x00107210    1     24 sym._setenv
0x0010723a   32    470 sym.__setenv_r
0x0010722e    1     12 fcn.0010722e
0x00107428   11    152 sym.__unsetenv_r
0x001074c0    1     72 sym.__sprintf_r
0x00107d64   16    668 sym.__svfprintf_r
0x00107508    1     76 sym._sprintf
0x00107554    1     86 sym._sscanf
0x00107cfc    5     28 sym._strlen
0x0010980c    3    218 sym.___ssvfscanf_r
0x001075aa    1     88 sym.__sscanf_r
0x00107602    3     50 sym.___sread
0x0010f6fe    4     52 sym.__read_r
0x00107638    3     70 sym.___swrite
0x0010767e    3     52 sym.___sseek
0x0010e920    4     52 sym.__lseek_r
0x001076b2    1     16 sym.___sclose
0x0010ccf2    4     46 sym.__close_r
0x001076f0    1     12 fcn.001076f0
0x001076fc    3     48 sym.__strdup_r
0x00106d7a    4     28 sym._memcpy
0x0010772c    3     58 sym.__strerror_r
0x0010aea6    1      4 sym.__user_strerror
0x00107cd4    1     16 fcn.00107cd4
0x00107cea    1     16 fcn.00107cea
0x0010907e    1     10 fcn.0010907e
0x00109fce    4    146 fcn.00109fce
0x0010ade6    1     12 fcn.0010ade6
0x0010adf2    1     24 sym._lseek
0x0010ae0a    1     26 sym._open
0x00106db2    1      2 sym.__open_r
0x0010ae24    1     24 sym._read
0x0010ae3c    3     32 sym.__system_r
0x0010ae5c    3     32 sym._system
0x0010ae82    1     12 fcn.0010ae82
0x0010aeaa    4     46 sym.__unlink_r
0x0010ae8e    1     24 sym._write
0x0010cacc    4     52 sym.__write_r
0x0010bbda    2    192 fcn.0010bbda
0x0010c248    2     30 fcn.0010c248
0x0010ca20    1     24 sym._vfprintf
0x0010ca38    5    146 sym.___sbprintf
0x0010cb00   27    264 sym.___swsetup_r
0x0010cd20   19    326 sym._quorem
0x0010d20c    4    140 fcn.0010d20c
0x0010d5aa    1      4 fcn.0010d5aa
0x0010d6bc    1      4 fcn.0010d6bc
0x0010d91c   17    342 fcn.0010d91c
0x0010e2a2    7     60 sym._fileno
0x0010e372    1     20 fcn.0010e372
0x001138ec    3     14 fcn.001138ec
0x0010e78e   15    160 sym.__findenv_r
0x0010e82e    1     18 sym.__getenv_r
0x0010e86e    1     14 sym._iswspace
0x0010e87c    3     30 sym._iswspace_l
0x0010e89a    7     78 sym.__setlocale_r
0x0010e8f4    1     22 sym._setlocale
0x0010e954    5     92 sym.__mbrtowc_r
0x0010e9b0    1     36 sym._mbrtowc
0x0010e9d4    1     34 sym.__mbtowc_r
0x0010ea6e    9    106 sym.__Balloc
0x0010eaf6    9    198 sym.___multadd
0x0010ebbc   15    194 sym.___s2b
0x0010ed5a    3     52 sym.___i2b
0x00114d16    4     78 sym.___assert_func
0x00114e1c    1     26 sym._fiprintf
0x00113b7c   23    746 sym.__vfiprintf_r
0x00114d06    1     16 sym._abort
0x00115c72    1     18 sym._raise
0x00115b86   11    126 sym.__raise_r
0x00115cfc    1     12 sym.__getpid_r
0x001064de    1      4 sym.__getpid
0x00115cca    4     50 sym.__kill_r
0x0010ed8e   20    370 sym.___multiply
0x0010ef16   15    188 sym.___pow5mult
0x0010efd2   16    276 sym.___lshift
0x0010f128   14    318 sym.___mdiff
0x0010f2fe   14    180 sym.___b2d
0x0010ec7e   12     86 sym.___hi0bits
0x0010f3b2   12    272 sym.___d2b
0x0010f4c2    4    148 sym.___ratio
0x0010f66a    1     18 fcn.0010f66a
0x001138e8    1      4 loc.___trap0
0x0010f6e8    1     22 sym._putc
0x0010f732   14    494 sym.__realloc_r
0x0010fc5c    5     82 sym.__sbrk
0x0010fde4    4     98 sym._sulp
0x0010f2b4    7     74 sym.___ulp
0x0011078e    6    152 fcn.0011078e
0x001112e6    1     18 sym.__strtod_r
0x0010fe46   27    548 sym.__strtod_l
0x0010fda0    9     68 sym._strncmp
0x001112f8    1     24 sym._strtod_l
0x00111310    1     28 sym._strtod
0x0011132c   10    222 sym._strtof_l
0x0011140a   10    226 sym._strtof
0x001114ec   47    376 sym.__strtol_l.isra___0
0x00111664    1     12 sym.__strtol_r
0x00111670    1     24 sym._strtol_l
0x00111688    1     24 sym._strtol
0x001116a0   42    350 sym.__strtoul_l.isra___0
0x001117fe    1     12 sym.__strtoul_r
0x0011180a    1     24 sym._strtoul_l
0x00111822    1     24 sym._strtoul
0x00111e46    1      4 fcn.00111e46
0x00112758   12    182 sym.__sungetc_r
0x0011280e    7     84 sym.___ssrefill_r
0x001138fa    7    134 sym.___submore
0x00113980   24    306 sym.__ungetc_r
0x00113ab2    1     22 sym._ungetc
0x00113aca    1     18 fcn.00113aca
0x00113adc   12    132 sym.___sprint_r.part___0
0x00113b60    3     28 sym.___sprint_r
0x00113e56    1      4 fcn.00113e56
0x00114130    2     22 fcn.00114130
0x00114afc    1     24 sym._vfiprintf
0x00114b14    5    146 sym.___sbprintf_1
0x00114ba8   19    248 sym.___swbuf_r
0x00114ca0    1     22 sym.___swbuf
0x00114cb6    1     22 sym.__wctomb_r
0x00114cf0    1     22 sym.__write
0x00114d66    1     10 fcn.00114d66
0x00114d74   12    128 fcn.00114d74
0x00114df6    1     18 fcn.00114df6
0x00114e08    1     20 sym.__fiprintf_r
0x00114e36   17    198 sym.___fputwc
0x00114efc    3     44 sym.__fputwc_r
0x00114f28    6     94 sym._fputwc
0x00115aac    1     24 sym.__lseek
0x00115ac4    1     22 sym.__read
0x00115ae2    6     46 sym.__init_signal_r.part___0
0x00115b10    3     26 sym.__init_signal_r
0x00115b2a    8     92 sym.__signal_r
0x00115c04   13    110 sym.___sigtramp_r
0x00115c84    1     22 sym._signal
0x00115c9e    3     26 fcn.00115c9e
0x00115cbe    1     12 fcn.00115cbe
0x00115d08    5     70 sym.__wcrtomb_r
0x00115d4e    1     24 sym._wcrtomb
0x00115d66    1     24 sym.__kill
0x00115d7e    3     84 sym.___unordsf2
0x00115dd2    3     92 sym.___unorddf2
0x0010006c    3    130 sym._io_open
0x001000ee    1     32 sym._hexdump
0x001002d2    1     48 sym._print_fmt
0x00100a84   19    608 sym._str2ut64
0x00100ce4   12    228 sym._hex2byte
0x00100dc8   13    236 sym._hexstr2raw
0x00100eb4    9    280 sym._getcurblk
0x00100fcc    4    272 sym._Nset
0x001010dc    1    120 sym._Nsetf
0x00101156    4    390 fcn.00101156
0x001012de    4    390 fcn.001012de
0x00101466    1    238 fcn.00101466
0x00101556    1    238 fcn.00101556
0x00101646    1    222 fcn.00101646
0x00101726    7    338 fcn.00101726
0x00101878    1     68 sym._error
0x001018bc    6    408 sym._expr
0x00101a54    9    514 sym._term
0x00101c56    3    114 sym._prim
0x00102182    1     50 sym._cin_putback
0x001021b4    6    120 sym._r_num_calc_index
0x0010222c    9    172 sym._cin_get
0x001022d8   16    518 sym._cin_get_num
0x001024de    6    160 sym._get_token
0x00102ad0    1     72 sym._load_token
0x00102b18   19    762 sym._r_num_calc
0x00102e3c    5    132 sym._cmd_hexdump
0x00102ec0    7    158 sym._cmd_print
0x00102f5e    7    180 sym._cmd_bytedump
0x00103012    8    236 sym._cmd_search
0x0010333c   10    318 sym._cmd_bsize
0x0010347a    7    408 sym._cmd_seek
0x00103674   10    244 sym._cmd_dump
0x00103768   11    340 sym._cmd_load
0x001038cc   13    342 sym._cmd_write
0x00103a22    4    152 sym._cmd_help
0x00103aba    6    494 sym._cmd_resize
0x00103e92   14    562 sym._cmd_system
0x001040c4    4    262 sym._red_slurpin
0x001041ca    7    238 sym._red_interpret
0x001042b8    5    126 sym._red_cmd
0x001045d4   14    764 sym._red_prompt
0x001048ea   15    408 sym._red_open
0x00104ab0    1     44 sym._red_help
0x00104adc    1    150 sym._main
EOF
RUN

NAME=v850 random pseudo
FILE=bins/elf/ld-2.27.so
BROKEN=1
CMDS=<<EOF
s+128
e asm.arch=v850
e asm.cpu=e0
e asm.parser=v850.pseudo
e asm.pseudo=true
b 64
pi~=
EOF
EXPECT=<<EOF
r8[0x1047] = (byte) r24
r0 = r0
r0 = r0
r0 = r0
r0 = r0
r0 == 0xa
r17 = 0x388 | r13
r0 = r0
r9 = r0
r11 = (0x8548 << 16) + r26
r2 == -0xc
r9 = r3
r9 = r3
r9 = r16
r9 = r8
r2 /= r19
r9 /= r19
r0 = r20
r9 = r0
EOF
RUN

# somehow the CI cant disasm with those plugins, while it runs in local and the plugin is there
NAME=v850.np r0ref
FILE=-
CMDS=<<EOF
-a?~v850
e asm.bits=32
e asm.arch=v850
wx 830c
pd 1
wx e00f71f0
f mmio.ICC = 0xfffff070
pd 1
EOF
EXPECT=<<EOF
v850
            0x00000000      830c           sst.h r1, 6[ep]
            0x00000000      e00f71f0       ld.hu mmio.ICC, r1          ; 0xfffff070
EOF
RUN

NAME=v850.np proper imm32 handling
FILE=malloc://1024
CMDS=<<EOF
e asm.arch = v850
wx 210674060000210674061234
pi 2 @0
EOF
EXPECT=<<EOF
mov 0x674, r1
mov 0x34120674, r1
EOF
RUN


NAME=v850 10x bug
FILE=malloc://1024
CMDS=<<EOF
!rasm2 -a v850 -d 01fb
EOF
EXPECT=<<EOF
sld.b 1, lp
EOF
RUN
