mirror of
https://github.com/SimoneN64/Kaizen.git
synced 2025-04-02 10:41:53 -04:00
626 lines
No EOL
18 KiB
YAML
626 lines
No EOL
18 KiB
YAML
test_cases:
|
|
-
|
|
input:
|
|
bytes: [ 0x09, 0xcf, 0xbc, 0xf5, 0x09, 0xf4, 0x01, 0x00, 0x89, 0xfb, 0x8f, 0x74, 0x89, 0xfe, 0x48, 0x01, 0x29, 0x00, 0x19, 0x25, 0x29, 0x03, 0x09, 0xf4, 0x85, 0xf9, 0x68, 0x0f, 0x16, 0x01 ]
|
|
arch: "tricore"
|
|
options: [ CS_MODE_TRICORE_162, CS_OPT_DETAIL ]
|
|
address: 0x0
|
|
expected:
|
|
insns:
|
|
-
|
|
asm_text: "ld.a a15, [+a12]#-4"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
-
|
|
type: TRICORE_OP_REG
|
|
reg: a15
|
|
-
|
|
type: TRICORE_OP_MEM
|
|
mem_base: a12
|
|
mem_disp: -4
|
|
-
|
|
asm_text: "ld.b d4, [a15+]#1"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
-
|
|
type: TRICORE_OP_REG
|
|
reg: d4
|
|
-
|
|
type: TRICORE_OP_MEM
|
|
mem_base: a15
|
|
mem_disp: 0x1
|
|
-
|
|
asm_text: "st.h [+a15]#0x1cf, d11"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
-
|
|
type: TRICORE_OP_MEM
|
|
mem_base: a15
|
|
mem_disp: 0x1cf
|
|
-
|
|
type: TRICORE_OP_REG
|
|
reg: d11
|
|
-
|
|
asm_text: "st.d [a15+]#8, e14"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
-
|
|
type: TRICORE_OP_MEM
|
|
mem_base: a15
|
|
mem_disp: 0x8
|
|
-
|
|
type: TRICORE_OP_REG
|
|
reg: e14
|
|
-
|
|
asm_text: "ld.w d0, [p0+c]#0x99"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
-
|
|
type: TRICORE_OP_REG
|
|
reg: d0
|
|
-
|
|
type: TRICORE_OP_MEM
|
|
mem_base: p0
|
|
mem_disp: 0x99
|
|
-
|
|
asm_text: "ld.b d3, [p0+c]#-0x37"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
-
|
|
type: TRICORE_OP_REG
|
|
reg: d3
|
|
-
|
|
type: TRICORE_OP_MEM
|
|
mem_base: p0
|
|
mem_disp: -0x37
|
|
-
|
|
asm_text: "ld.da p8, #0xf0003428"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
-
|
|
type: TRICORE_OP_REG
|
|
reg: p8
|
|
-
|
|
type: TRICORE_OP_IMM
|
|
imm: 0xf0003428
|
|
-
|
|
asm_text: "and d15, #1"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
- type: TRICORE_OP_REG
|
|
reg: d15
|
|
-
|
|
type: TRICORE_OP_IMM
|
|
imm: 0x1
|
|
- input:
|
|
bytes: [ 0x12, 0x0 ]
|
|
arch: CS_ARCH_TRICORE
|
|
options: [ CS_MODE_TRICORE_162, CS_OPT_DETAIL ]
|
|
expected:
|
|
insns:
|
|
- asm_text: "add d0, d15, d0"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
- type: TRICORE_OP_REG
|
|
reg: d0
|
|
access: CS_AC_WRITE
|
|
- type: TRICORE_OP_REG
|
|
reg: d15
|
|
access: CS_AC_READ
|
|
- type: TRICORE_OP_REG
|
|
reg: d0
|
|
access: CS_AC_READ
|
|
- input:
|
|
bytes: [ 0x1a, 0x0 ]
|
|
arch: CS_ARCH_TRICORE
|
|
options: [ CS_MODE_TRICORE_162, CS_OPT_DETAIL ]
|
|
expected:
|
|
insns:
|
|
- asm_text: "add d15, d0, d0"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
- type: TRICORE_OP_REG
|
|
reg: d15
|
|
access: CS_AC_WRITE
|
|
- type: TRICORE_OP_REG
|
|
reg: d0
|
|
access: CS_AC_READ
|
|
- type: TRICORE_OP_REG
|
|
reg: d0
|
|
access: CS_AC_READ
|
|
- input:
|
|
bytes: [ 0xaa, 0x0 ]
|
|
arch: CS_ARCH_TRICORE
|
|
options: [ CS_MODE_TRICORE_162, CS_OPT_DETAIL ]
|
|
expected:
|
|
insns:
|
|
- asm_text: "cmov d0, d15, #0"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
- type: TRICORE_OP_REG
|
|
reg: d0
|
|
access: CS_AC_WRITE
|
|
- type: TRICORE_OP_REG
|
|
reg: d15
|
|
access: CS_AC_READ
|
|
- type: TRICORE_OP_IMM
|
|
imm: 0
|
|
access: CS_AC_READ
|
|
- input:
|
|
bytes: [ 0x2a, 0x0 ]
|
|
arch: CS_ARCH_TRICORE
|
|
options: [ CS_MODE_TRICORE_162, CS_OPT_DETAIL ]
|
|
expected:
|
|
insns:
|
|
- asm_text: "cmov d0, d15, d0"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
- type: TRICORE_OP_REG
|
|
reg: d0
|
|
access: CS_AC_WRITE
|
|
- type: TRICORE_OP_REG
|
|
reg: d15
|
|
access: CS_AC_READ
|
|
- type: TRICORE_OP_REG
|
|
reg: d0
|
|
access: CS_AC_READ
|
|
- input:
|
|
bytes: [ 0xea, 0x0 ]
|
|
arch: CS_ARCH_TRICORE
|
|
options: [ CS_MODE_TRICORE_162, CS_OPT_DETAIL ]
|
|
expected:
|
|
insns:
|
|
- asm_text: "cmovn d0, d15, #0"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
- type: TRICORE_OP_REG
|
|
reg: d0
|
|
access: CS_AC_WRITE
|
|
- type: TRICORE_OP_REG
|
|
reg: d15
|
|
access: CS_AC_READ
|
|
- type: TRICORE_OP_IMM
|
|
imm: 0
|
|
access: CS_AC_READ
|
|
- input:
|
|
bytes: [ 0x6a, 0x0 ]
|
|
arch: CS_ARCH_TRICORE
|
|
options: [ CS_MODE_TRICORE_162, CS_OPT_DETAIL ]
|
|
expected:
|
|
insns:
|
|
- asm_text: "cmovn d0, d15, d0"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
- type: TRICORE_OP_REG
|
|
reg: d0
|
|
access: CS_AC_WRITE
|
|
- type: TRICORE_OP_REG
|
|
reg: d15
|
|
access: CS_AC_READ
|
|
- type: TRICORE_OP_REG
|
|
reg: d0
|
|
access: CS_AC_READ
|
|
- input:
|
|
bytes: [ 0xee, 0x0 ]
|
|
arch: CS_ARCH_TRICORE
|
|
options: [ CS_MODE_TRICORE_162, CS_OPT_DETAIL ]
|
|
expected:
|
|
insns:
|
|
- asm_text: "jnz d15, #0"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
- type: TRICORE_OP_REG
|
|
reg: d15
|
|
access: CS_AC_WRITE # fixme: should be read
|
|
- type: TRICORE_OP_IMM
|
|
imm: 0
|
|
access: CS_AC_READ
|
|
- input:
|
|
bytes: [ 0x6e, 0x0 ]
|
|
arch: CS_ARCH_TRICORE
|
|
options: [ CS_MODE_TRICORE_162, CS_OPT_DETAIL ]
|
|
expected:
|
|
insns:
|
|
- asm_text: "jz d15, #0"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
- type: TRICORE_OP_REG
|
|
reg: d15
|
|
access: CS_AC_WRITE # fixme: should be read
|
|
- type: TRICORE_OP_IMM
|
|
imm: 0
|
|
access: CS_AC_READ
|
|
- input:
|
|
bytes: [ 0xd8, 0x0 ]
|
|
arch: CS_ARCH_TRICORE
|
|
options: [ CS_MODE_TRICORE_162, CS_OPT_DETAIL ]
|
|
expected:
|
|
insns:
|
|
- asm_text: "ld.a a15, [sp]#0"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
- type: TRICORE_OP_REG
|
|
reg: a15
|
|
access: CS_AC_WRITE
|
|
- type: TRICORE_OP_MEM
|
|
mem_base: sp
|
|
mem_disp: 0
|
|
access: CS_AC_READ
|
|
- input:
|
|
bytes: [ 0xc8, 0x0 ]
|
|
arch: CS_ARCH_TRICORE
|
|
options: [ CS_MODE_TRICORE_162, CS_OPT_DETAIL ]
|
|
expected:
|
|
insns:
|
|
- asm_text: "ld.a a0, [a15]#0"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
- type: TRICORE_OP_REG
|
|
reg: a0
|
|
access: CS_AC_WRITE
|
|
- type: TRICORE_OP_MEM
|
|
mem_base: a15
|
|
mem_disp: 0
|
|
access: CS_AC_READ
|
|
- input:
|
|
bytes: [ 0xcc, 0x0 ]
|
|
arch: CS_ARCH_TRICORE
|
|
options: [ CS_MODE_TRICORE_162, CS_OPT_DETAIL ]
|
|
expected:
|
|
insns:
|
|
- asm_text: "ld.a a15, [a0]#0"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
- type: TRICORE_OP_REG
|
|
reg: a15
|
|
access: CS_AC_WRITE
|
|
- type: TRICORE_OP_MEM
|
|
mem_base: a0
|
|
mem_disp: 0
|
|
access: CS_AC_READ
|
|
- input:
|
|
bytes: [ 0x08, 0x0 ]
|
|
arch: CS_ARCH_TRICORE
|
|
options: [ CS_MODE_TRICORE_162, CS_OPT_DETAIL ]
|
|
expected:
|
|
insns:
|
|
- asm_text: "ld.bu d0, [a15]#0"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
- type: TRICORE_OP_REG
|
|
reg: d0
|
|
access: CS_AC_WRITE
|
|
- type: TRICORE_OP_MEM
|
|
mem_base: a15
|
|
mem_disp: 0
|
|
access: CS_AC_READ
|
|
- input:
|
|
bytes: [ 0x0c, 0x0 ]
|
|
arch: CS_ARCH_TRICORE
|
|
options: [ CS_MODE_TRICORE_162, CS_OPT_DETAIL ]
|
|
expected:
|
|
insns:
|
|
- asm_text: "ld.bu d15, [a0]#0"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
- type: TRICORE_OP_REG
|
|
reg: d15
|
|
access: CS_AC_WRITE
|
|
- type: TRICORE_OP_MEM
|
|
mem_base: a0
|
|
mem_disp: 0
|
|
access: CS_AC_READ
|
|
- input:
|
|
bytes: [ 0x88, 0x0 ]
|
|
arch: CS_ARCH_TRICORE
|
|
options: [ CS_MODE_TRICORE_162, CS_OPT_DETAIL ]
|
|
expected:
|
|
insns:
|
|
- asm_text: "ld.h d0, [a15]#0"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
- type: TRICORE_OP_REG
|
|
reg: d0
|
|
access: CS_AC_WRITE
|
|
- type: TRICORE_OP_MEM
|
|
mem_base: a15
|
|
mem_disp: 0
|
|
access: CS_AC_READ
|
|
- input:
|
|
bytes: [ 0x8c, 0x0 ]
|
|
arch: CS_ARCH_TRICORE
|
|
options: [ CS_MODE_TRICORE_162, CS_OPT_DETAIL ]
|
|
expected:
|
|
insns:
|
|
- asm_text: "ld.h d15, [a0]#0"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
- type: TRICORE_OP_REG
|
|
reg: d15
|
|
access: CS_AC_WRITE
|
|
- type: TRICORE_OP_MEM
|
|
mem_base: a0
|
|
mem_disp: 0
|
|
access: CS_AC_READ
|
|
- input:
|
|
bytes: [ 0x58, 0x0 ]
|
|
arch: CS_ARCH_TRICORE
|
|
options: [ CS_MODE_TRICORE_162, CS_OPT_DETAIL ]
|
|
expected:
|
|
insns:
|
|
- asm_text: "ld.w d15, [sp]#0"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
- type: TRICORE_OP_REG
|
|
reg: d15
|
|
access: CS_AC_WRITE
|
|
- type: TRICORE_OP_MEM
|
|
mem_base: sp
|
|
mem_disp: 0
|
|
access: CS_AC_READ
|
|
- input:
|
|
bytes: [ 0x48, 0x0 ]
|
|
arch: CS_ARCH_TRICORE
|
|
options: [ CS_MODE_TRICORE_162, CS_OPT_DETAIL ]
|
|
expected:
|
|
insns:
|
|
- asm_text: "ld.w d0, [a15]#0"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
- type: TRICORE_OP_REG
|
|
reg: d0
|
|
access: CS_AC_WRITE
|
|
- type: TRICORE_OP_MEM
|
|
mem_base: a15
|
|
mem_disp: 0
|
|
access: CS_AC_READ
|
|
- input:
|
|
bytes: [ 0x4c, 0x0 ]
|
|
arch: CS_ARCH_TRICORE
|
|
options: [ CS_MODE_TRICORE_162, CS_OPT_DETAIL ]
|
|
expected:
|
|
insns:
|
|
- asm_text: "ld.w d15, [a0]#0"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
- type: TRICORE_OP_REG
|
|
reg: d15
|
|
access: CS_AC_WRITE
|
|
- type: TRICORE_OP_MEM
|
|
mem_base: a0
|
|
mem_disp: 0
|
|
access: CS_AC_READ
|
|
- input:
|
|
bytes: [ 0xf8, 0x0 ]
|
|
arch: CS_ARCH_TRICORE
|
|
options: [ CS_MODE_TRICORE_162, CS_OPT_DETAIL ]
|
|
expected:
|
|
insns:
|
|
- asm_text: "st.a [sp]#0, a15"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
- type: TRICORE_OP_MEM
|
|
mem_base: sp
|
|
mem_disp: 0
|
|
access: CS_AC_READ # fixme: should be write
|
|
- type: TRICORE_OP_REG
|
|
reg: a15
|
|
access: CS_AC_READ
|
|
- input:
|
|
bytes: [ 0xec, 0x0 ]
|
|
arch: CS_ARCH_TRICORE
|
|
options: [ CS_MODE_TRICORE_162, CS_OPT_DETAIL ]
|
|
expected:
|
|
insns:
|
|
- asm_text: "st.a [a0]#0, a15"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
- type: TRICORE_OP_MEM
|
|
mem_base: a0
|
|
mem_disp: 0
|
|
access: CS_AC_READ # fixme: should be write
|
|
- type: TRICORE_OP_REG
|
|
reg: a15
|
|
access: CS_AC_READ
|
|
- input:
|
|
bytes: [ 0xe8, 0x0 ]
|
|
arch: CS_ARCH_TRICORE
|
|
options: [ CS_MODE_TRICORE_162, CS_OPT_DETAIL ]
|
|
expected:
|
|
insns:
|
|
- asm_text: "st.a [a15]#0, a0"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
- type: TRICORE_OP_MEM
|
|
mem_base: a15
|
|
mem_disp: 0
|
|
access: CS_AC_READ # fixme: should be write
|
|
- type: TRICORE_OP_REG
|
|
reg: a0
|
|
access: CS_AC_READ
|
|
- input:
|
|
bytes: [ 0x2c, 0x0 ]
|
|
arch: CS_ARCH_TRICORE
|
|
options: [ CS_MODE_TRICORE_162, CS_OPT_DETAIL ]
|
|
expected:
|
|
insns:
|
|
- asm_text: "st.b [a0]#0, d15"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
- type: TRICORE_OP_MEM
|
|
mem_base: a0
|
|
mem_disp: 0
|
|
access: CS_AC_READ # fixme: should be write
|
|
- type: TRICORE_OP_REG
|
|
reg: d15
|
|
access: CS_AC_READ
|
|
- input:
|
|
bytes: [ 0x28, 0x0 ]
|
|
arch: CS_ARCH_TRICORE
|
|
options: [ CS_MODE_TRICORE_162, CS_OPT_DETAIL ]
|
|
expected:
|
|
insns:
|
|
- asm_text: "st.b [a15]#0, d0"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
- type: TRICORE_OP_MEM
|
|
mem_base: a15
|
|
mem_disp: 0
|
|
access: CS_AC_READ # fixme: should be write
|
|
- type: TRICORE_OP_REG
|
|
reg: d0
|
|
access: CS_AC_READ
|
|
- input:
|
|
bytes: [ 0xac, 0x0 ]
|
|
arch: CS_ARCH_TRICORE
|
|
options: [ CS_MODE_TRICORE_162, CS_OPT_DETAIL ]
|
|
expected:
|
|
insns:
|
|
- asm_text: "st.h [a0]#0, d15"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
- type: TRICORE_OP_MEM
|
|
mem_base: a0
|
|
mem_disp: 0
|
|
access: CS_AC_READ # fixme: should be write
|
|
- type: TRICORE_OP_REG
|
|
reg: d15
|
|
access: CS_AC_READ
|
|
- input:
|
|
bytes: [ 0xa8, 0x0 ]
|
|
arch: CS_ARCH_TRICORE
|
|
options: [ CS_MODE_TRICORE_162, CS_OPT_DETAIL ]
|
|
expected:
|
|
insns:
|
|
- asm_text: "st.h [a15]#0, d0"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
- type: TRICORE_OP_MEM
|
|
mem_base: a15
|
|
mem_disp: 0
|
|
access: CS_AC_READ # fixme: should be write
|
|
- type: TRICORE_OP_REG
|
|
reg: d0
|
|
access: CS_AC_READ
|
|
- input:
|
|
bytes: [ 0x78, 0x0 ]
|
|
arch: CS_ARCH_TRICORE
|
|
options: [ CS_MODE_TRICORE_162, CS_OPT_DETAIL ]
|
|
expected:
|
|
insns:
|
|
- asm_text: "st.w [sp]#0, d15"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
- type: TRICORE_OP_MEM
|
|
mem_base: sp
|
|
mem_disp: 0
|
|
access: CS_AC_READ # fixme: should be write
|
|
- type: TRICORE_OP_REG
|
|
reg: d15
|
|
access: CS_AC_READ
|
|
- input:
|
|
bytes: [ 0x6c, 0x0 ]
|
|
arch: CS_ARCH_TRICORE
|
|
options: [ CS_MODE_TRICORE_162, CS_OPT_DETAIL ]
|
|
expected:
|
|
insns:
|
|
- asm_text: "st.w [a0]#0, d15"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
- type: TRICORE_OP_MEM
|
|
mem_base: a0
|
|
mem_disp: 0
|
|
access: CS_AC_READ # fixme: should be write
|
|
- type: TRICORE_OP_REG
|
|
reg: d15
|
|
access: CS_AC_READ
|
|
- input:
|
|
bytes: [ 0x68, 0x0 ]
|
|
arch: CS_ARCH_TRICORE
|
|
options: [ CS_MODE_TRICORE_162, CS_OPT_DETAIL ]
|
|
expected:
|
|
insns:
|
|
- asm_text: "st.w [a15]#0, d0"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
- type: TRICORE_OP_MEM
|
|
mem_base: a15
|
|
mem_disp: 0
|
|
access: CS_AC_READ # fixme: should be write
|
|
- type: TRICORE_OP_REG
|
|
reg: d0
|
|
access: CS_AC_READ
|
|
- input:
|
|
bytes: [ 0x52, 0x0 ]
|
|
arch: CS_ARCH_TRICORE
|
|
options: [ CS_MODE_TRICORE_162, CS_OPT_DETAIL ]
|
|
expected:
|
|
insns:
|
|
- asm_text: "sub d0, d15, d0"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
- type: TRICORE_OP_REG
|
|
reg: d0
|
|
access: CS_AC_WRITE
|
|
- type: TRICORE_OP_REG
|
|
reg: d15
|
|
access: CS_AC_READ
|
|
- type: TRICORE_OP_REG
|
|
reg: d0
|
|
access: CS_AC_READ
|
|
- input:
|
|
bytes: [ 0x5a, 0x0 ]
|
|
arch: CS_ARCH_TRICORE
|
|
options: [ CS_MODE_TRICORE_162, CS_OPT_DETAIL ]
|
|
expected:
|
|
insns:
|
|
- asm_text: "sub d15, d0, d0"
|
|
details:
|
|
tricore:
|
|
operands:
|
|
- type: TRICORE_OP_REG
|
|
reg: d15
|
|
access: CS_AC_WRITE
|
|
- type: TRICORE_OP_REG
|
|
reg: d0
|
|
access: CS_AC_READ
|
|
- type: TRICORE_OP_REG
|
|
reg: d0
|
|
access: CS_AC_READ |