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 1874 -> 192  fcn.00100e72
0x001014e0    2 970  -> 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 3258 -> 140  fcn.00102444
0x001027e2    1 4            fcn.001027e2
0x001028f4    1 4            fcn.001028f4
0x00102b54   17 1164 -> 342  fcn.00102b54
0x001034d0   27 380  -> 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 1466 -> 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 652  -> 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 1326 -> 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   21 342          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 288  -> 22   fcn.00105934
0x00106300    1 24           sym._vfiprintf
0x00106318    5 146          sym.___sbprintf_1
0x001063ae    4 50           fcn.001063ae
0x00106430   12 142          fcn.00106430
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 538  -> 494  sym.__realloc_r
0x0010722c    5 100  -> 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 452  -> 38   fcn.0010010e
0x00100302    6 1922 -> 86   fcn.00100302
0x001004ea    6 1382 -> 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 872  -> 24   fcn.00101e1a
0x00101f9a    1 4            fcn.00101f9a
0x00101ff2    1 4            fcn.00101ff2
0x0010204a    1 4            fcn.0010204a
0x00102526    2 1450 -> 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 470  -> 66   fcn.001028ea
0x00102914    1 4            fcn.00102914
0x00102b54    2 744  -> 26   fcn.00102b54
0x00102d4e    2 216  -> 16   fcn.00102d4e
0x001030fe    2 574  -> 234  fcn.001030fe
0x00103130    2 294  -> 14   fcn.00103130
0x001034c4    2 432  -> 98   fcn.001034c4
0x00103afe    5 916  -> 52   fcn.00103afe
0x00103b46    1 4            fcn.00103b46
0x00103ca0    1 4            fcn.00103ca0
0x00103cb4    1 4            fcn.00103cb4
0x0010449a    2 314  -> 20   fcn.0010449a
0x001044ac    1 4            fcn.001044ac
0x001044be    1 4            fcn.001044be
0x001044d0    1 4            fcn.001044d0
0x00104654    2 662  -> 26   fcn.00104654
0x00104b72    3 598  -> 62   fcn.00104b72
0x00104ec0    2 1046 -> 30   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 380  -> 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 1466 -> 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 652  -> 498  sym.__free_r
0x00105f40    1 12           sym.__fseek_r
0x00105f64   49 764  -> 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 494  -> 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 1874 -> 192  fcn.0010bbda
0x0010c248    2 970  -> 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 3258 -> 140  fcn.0010d20c
0x0010d5aa    1 4            fcn.0010d5aa
0x0010d6bc    1 4            fcn.0010d6bc
0x0010d91c   17 1164 -> 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 1326 -> 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   21 342          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 538  -> 494  sym.__realloc_r
0x0010fc5c    5 100  -> 82   sym.__sbrk
0x0010fde4    4 98           sym._sulp
0x0010f2b4    7 74           sym.___ulp
0x0011078e    6 2412 -> 152  fcn.0011078e
0x001112e6    1 18           sym.__strtod_r
0x0010fe46   27 804  -> 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 288  -> 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   12 142          fcn.00114d66
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 164  -> 160  sym._get_token
0x00102ad0    1 72           sym._load_token
0x00102b18   19 770  -> 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 412  -> 408  sym._cmd_seek
0x00103674   10 244          sym._cmd_dump
0x00103768   11 356  -> 340  sym._cmd_load
0x001038cc   13 342          sym._cmd_write
0x00103a22    4 152          sym._cmd_help
0x00103aba    6 506  -> 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 768  -> 764  sym._red_prompt
0x001048ea   15 454  -> 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
e anal.arch=?~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
