NAME=strh
FILE=malloc://512
CMDS=<<EOF
e asm.arch=arm.gnu
e asm.bits=16
s 0x40
wx 3680
ao~type
EOF
EXPECT=<<EOF
type: store
EOF
RUN

NAME=b.n
FILE=malloc://512
CMDS=<<EOF
e asm.arch=arm.gnu
e asm.bits=16
s 0x40
wx 84e2
ao~type
ao~jump
ao~fail
EOF
EXPECT=<<EOF
type: jmp
jump: 0x0000014c
fail: 0x00000044
EOF
RUN

NAME=ldrb
FILE=malloc://512
CMDS=<<EOF
e asm.arch=arm.gnu
e asm.bits=16
s 0x40
wx f85c
ao~type
EOF
EXPECT=<<EOF
type: store
EOF
RUN

NAME=ldrb 2
FILE=malloc://512
CMDS=<<EOF
e asm.arch=arm.gnu
e asm.bits=16
s 0x40
wx ae7c
ao~type
EOF
EXPECT=<<EOF
type: load
EOF
RUN

NAME=ldr
FILE=malloc://512
CMDS=<<EOF
e asm.arch=arm.gnu
e asm.bits=16
s 0x40
wx b258
ao~type
EOF
EXPECT=<<EOF
type: store
EOF
RUN

NAME=ble.w
FILE=malloc://512
CMDS=<<EOF
e asm.arch=arm.gnu
e asm.bits=16
s 0x40
wx 71f34083
ao~type
ao~jump
ao~fail
EOF
EXPECT=<<EOF
type: call
jump: 0x003716c4
fail: 0x00000044
EOF
RUN

NAME=undefine bcc
FILE=malloc://512
CMDS=<<EOF
e asm.arch=arm.gnu
e asm.bits=16
s 0x40
wx c5f70183
ao~type
ao~jump
ao~fail
EOF
EXPECT=<<EOF
type: call
jump: 0xfffffffff87c5646
fail: 0x00000044
EOF
RUN

NAME=bx
FILE=malloc://512
CMDS=<<EOF
e asm.arch=arm.gnu
e asm.bits=16
s 0x40
wx 5a47
ao~type
ao~jump
ao~fail
EOF
EXPECT=<<EOF
type: ujmp
fail: 0x00000044
EOF
RUN

NAME=undefined
FILE=malloc://512
CMDS=<<EOF
e asm.arch=arm.gnu
e asm.bits=16
s 0x40
wx 2bf6
ao~type
ao~jump
ao~fail
EOF
EXPECT=<<EOF
type: call
jump: 0xfffffffff862b044
fail: 0x00000044
EOF
RUN

NAME=cmp
FILE=malloc://512
CMDS=<<EOF
e asm.arch=arm.gnu
e asm.bits=16
s 0x40
wx f12a
ao~type
EOF
EXPECT=<<EOF
type: cmp
EOF
RUN

NAME=bcs.n
FILE=malloc://512
CMDS=<<EOF
e asm.arch=arm.gnu
e asm.bits=16
s 0x40
wx 3fd2
ao~type
EOF
EXPECT=<<EOF
type: cjmp
EOF
RUN

NAME=ldrh
FILE=malloc://512
CMDS=<<EOF
e asm.arch=arm.gnu
e asm.bits=16
s 0x40
wx 3c5a
ao~type
EOF
EXPECT=<<EOF
type: load
EOF
RUN

NAME=tst
FILE=malloc://512
CMDS=<<EOF
e asm.arch=arm.gnu
e asm.bits=16
s 0x40
wx 0d42
ao~type
EOF
EXPECT=<<EOF
type: cmp
EOF
RUN

NAME=bkpt
FILE=malloc://512
CMDS=<<EOF
e asm.arch=arm.gnu
e asm.bits=16
s 0x40
wx 6fbe
ao~type
EOF
EXPECT=<<EOF
type: trap
EOF
RUN

NAME=cmp2
FILE=malloc://512
CMDS=<<EOF
e asm.arch=arm.gnu
e asm.bits=16
s 0x40
wx 3c45
ao~type
EOF
EXPECT=<<EOF
type: cmp
EOF
RUN


NAME=undefine3
FILE=malloc://512
CMDS=<<EOF
e asm.arch=arm.gnu
e asm.bits=16
s 0x40
wx aa47
ao~type
ao~fail
ao~jump
EOF
EXPECT=<<EOF
type: ucall
fail: 0x00000044
EOF
RUN

NAME=undefined4
FILE=malloc://512
CMDS=<<EOF
e asm.arch=arm.gnu
e asm.bits=16
s 0x40
wx fe47
ao~type
EOF
EXPECT=<<EOF
type: ucall
EOF
RUN

NAME=lsls
FILE=malloc://512
CMDS=<<EOF
e asm.arch=arm.gnu
e asm.bits=16
s 0x40
wx bf00
ao~type
EOF
EXPECT=<<EOF
type: nop
EOF
RUN

NAME=swi/svc
FILE=malloc://512
CMDS=<<EOF
e asm.arch=arm.gnu
e asm.bits=16
s 0x40
wx 05df
ao~type
EOF
EXPECT=<<EOF
type: cjmp
EOF
RUN
