Squashed 'external/capstone/' content from commit e46f64fa
git-subtree-dir: external/capstone git-subtree-split: e46f64fadb351e9ecd05264fab26f2772feb0994
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
## Test instruction details
|
||||
|
||||
This directory contains test cases for the `cs_detail` struct.
|
||||
Test files are consumed by the `cstest` tool (see: `suite/cstest`).
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,146 @@
|
||||
test_cases:
|
||||
-
|
||||
input:
|
||||
bytes: [ 0x02, 0x00, 0xbb, 0x27, 0x50, 0x7a, 0xbd, 0x23, 0xd0, 0xff, 0xde, 0x23, 0x00, 0x00, 0x5e, 0xb7 ]
|
||||
arch: "alpha"
|
||||
options: [ CS_OPT_DETAIL ]
|
||||
address: 0x0
|
||||
expected:
|
||||
insns:
|
||||
-
|
||||
asm_text: "ldah $15,2($13)"
|
||||
details:
|
||||
alpha:
|
||||
operands:
|
||||
-
|
||||
type: ALPHA_OP_REG
|
||||
reg: $15
|
||||
-
|
||||
type: ALPHA_OP_IMM
|
||||
imm: 0x2
|
||||
-
|
||||
type: ALPHA_OP_REG
|
||||
reg: $13
|
||||
regs_read: [ $13 ]
|
||||
regs_write: [ $28, $15 ]
|
||||
-
|
||||
asm_text: "lda $15,0x7a50($15)"
|
||||
details:
|
||||
alpha:
|
||||
operands:
|
||||
-
|
||||
type: ALPHA_OP_REG
|
||||
reg: $15
|
||||
-
|
||||
type: ALPHA_OP_IMM
|
||||
imm: 0x7a50
|
||||
-
|
||||
type: ALPHA_OP_REG
|
||||
reg: $15
|
||||
regs_read: [ $15 ]
|
||||
regs_write: [ $28, $15 ]
|
||||
-
|
||||
asm_text: "lda $30,0xffd0($30)"
|
||||
details:
|
||||
alpha:
|
||||
operands:
|
||||
-
|
||||
type: ALPHA_OP_REG
|
||||
reg: $30
|
||||
-
|
||||
type: ALPHA_OP_IMM
|
||||
imm: 0xffd0
|
||||
-
|
||||
type: ALPHA_OP_REG
|
||||
reg: $30
|
||||
regs_read: [ $30 ]
|
||||
regs_write: [ $28, $30 ]
|
||||
-
|
||||
asm_text: "stq $12,0($30)"
|
||||
details:
|
||||
alpha:
|
||||
operands:
|
||||
-
|
||||
type: ALPHA_OP_REG
|
||||
reg: $12
|
||||
-
|
||||
type: ALPHA_OP_IMM
|
||||
imm: 0x0
|
||||
-
|
||||
type: ALPHA_OP_REG
|
||||
reg: $30
|
||||
regs_read: [ $12, $30 ]
|
||||
regs_write: [ $28 ]
|
||||
-
|
||||
input:
|
||||
bytes: [ 0x27, 0xbb, 0x00, 0x02, 0x23, 0xbd, 0x7a, 0x50, 0x23, 0xde, 0xff, 0xd0, 0xb7, 0x5e, 0x00, 0x00 ]
|
||||
arch: "alpha"
|
||||
options: [ CS_MODE_BIG_ENDIAN, CS_OPT_DETAIL ]
|
||||
address: 0x0
|
||||
expected:
|
||||
insns:
|
||||
-
|
||||
asm_text: "ldah $15,2($13)"
|
||||
details:
|
||||
alpha:
|
||||
operands:
|
||||
-
|
||||
type: ALPHA_OP_REG
|
||||
reg: $15
|
||||
-
|
||||
type: ALPHA_OP_IMM
|
||||
imm: 0x2
|
||||
-
|
||||
type: ALPHA_OP_REG
|
||||
reg: $13
|
||||
regs_read: [ $13 ]
|
||||
regs_write: [ $28, $15 ]
|
||||
-
|
||||
asm_text: "lda $15,0x7a50($15)"
|
||||
details:
|
||||
alpha:
|
||||
operands:
|
||||
-
|
||||
type: ALPHA_OP_REG
|
||||
reg: $15
|
||||
-
|
||||
type: ALPHA_OP_IMM
|
||||
imm: 0x7a50
|
||||
-
|
||||
type: ALPHA_OP_REG
|
||||
reg: $15
|
||||
regs_read: [ $15 ]
|
||||
regs_write: [ $28, $15 ]
|
||||
-
|
||||
asm_text: "lda $30,0xffd0($30)"
|
||||
details:
|
||||
alpha:
|
||||
operands:
|
||||
-
|
||||
type: ALPHA_OP_REG
|
||||
reg: $30
|
||||
-
|
||||
type: ALPHA_OP_IMM
|
||||
imm: 0xffd0
|
||||
-
|
||||
type: ALPHA_OP_REG
|
||||
reg: $30
|
||||
regs_read: [ $30 ]
|
||||
regs_write: [ $28, $30 ]
|
||||
-
|
||||
asm_text: "stq $12,0($30)"
|
||||
details:
|
||||
alpha:
|
||||
operands:
|
||||
-
|
||||
type: ALPHA_OP_REG
|
||||
reg: $12
|
||||
-
|
||||
type: ALPHA_OP_IMM
|
||||
imm: 0x0
|
||||
-
|
||||
type: ALPHA_OP_REG
|
||||
reg: $30
|
||||
regs_read: [ $12, $30 ]
|
||||
regs_write: [ $28 ]
|
||||
|
||||
@@ -0,0 +1,204 @@
|
||||
test_cases:
|
||||
-
|
||||
input:
|
||||
bytes: [ 0x04, 0x11, 0x00, 0x00, 0x04, 0x11, 0x00, 0x02, 0x04, 0x11, 0x00, 0x04, 0x04, 0x11, 0x00, 0x01, 0x04, 0x11, 0x00, 0x03, 0x04, 0x11, 0x00, 0x05, 0x04, 0x11, 0x80, 0x00, 0x04, 0x11, 0x80, 0x02, 0x04, 0x11, 0x80, 0x04, 0x2d, 0x0a, 0x40, 0x00, 0xca, 0x22, 0x81, 0x01 ]
|
||||
arch: "arc"
|
||||
options: [ CS_OPT_DETAIL, CS_MODE_LITTLE_ENDIAN ]
|
||||
address: 0x0
|
||||
expected:
|
||||
insns:
|
||||
-
|
||||
asm_text: "ld %r0, [%r1,4]"
|
||||
details:
|
||||
arc:
|
||||
operands:
|
||||
-
|
||||
type: ARC_OP_REG
|
||||
reg: "%r0"
|
||||
access: CS_AC_WRITE
|
||||
-
|
||||
type: ARC_OP_REG
|
||||
reg: "%r1"
|
||||
access: CS_AC_READ
|
||||
-
|
||||
type: ARC_OP_IMM
|
||||
imm: 4
|
||||
access: CS_AC_READ
|
||||
-
|
||||
asm_text: "ld.aw %r0, [%r1,4]"
|
||||
details:
|
||||
arc:
|
||||
operands:
|
||||
-
|
||||
type: ARC_OP_REG
|
||||
reg: "%r0"
|
||||
access: CS_AC_WRITE
|
||||
-
|
||||
type: ARC_OP_REG
|
||||
reg: "%r1"
|
||||
access: CS_AC_READ
|
||||
-
|
||||
type: ARC_OP_IMM
|
||||
imm: 4
|
||||
access: CS_AC_READ
|
||||
-
|
||||
asm_text: "ld.ab %r0, [%r1,4]"
|
||||
details:
|
||||
arc:
|
||||
operands:
|
||||
-
|
||||
type: ARC_OP_REG
|
||||
reg: "%r0"
|
||||
access: CS_AC_WRITE
|
||||
-
|
||||
type: ARC_OP_REG
|
||||
reg: "%r1"
|
||||
access: CS_AC_READ
|
||||
-
|
||||
type: ARC_OP_IMM
|
||||
imm: 4
|
||||
access: CS_AC_READ
|
||||
-
|
||||
asm_text: "ldh %r0, [%r1,4]"
|
||||
details:
|
||||
arc:
|
||||
operands:
|
||||
-
|
||||
type: ARC_OP_REG
|
||||
reg: "%r0"
|
||||
access: CS_AC_WRITE
|
||||
-
|
||||
type: ARC_OP_REG
|
||||
reg: "%r1"
|
||||
access: CS_AC_READ
|
||||
-
|
||||
type: ARC_OP_IMM
|
||||
imm: 4
|
||||
access: CS_AC_READ
|
||||
-
|
||||
asm_text: "ldh.aw %r0, [%r1,4]"
|
||||
details:
|
||||
arc:
|
||||
operands:
|
||||
-
|
||||
type: ARC_OP_REG
|
||||
reg: "%r0"
|
||||
access: CS_AC_WRITE
|
||||
-
|
||||
type: ARC_OP_REG
|
||||
reg: "%r1"
|
||||
access: CS_AC_READ
|
||||
-
|
||||
type: ARC_OP_IMM
|
||||
imm: 4
|
||||
access: CS_AC_READ
|
||||
-
|
||||
asm_text: "ldh.ab %r0, [%r1,4]"
|
||||
details:
|
||||
arc:
|
||||
operands:
|
||||
-
|
||||
type: ARC_OP_REG
|
||||
reg: "%r0"
|
||||
access: CS_AC_WRITE
|
||||
-
|
||||
type: ARC_OP_REG
|
||||
reg: "%r1"
|
||||
access: CS_AC_READ
|
||||
-
|
||||
type: ARC_OP_IMM
|
||||
imm: 4
|
||||
access: CS_AC_READ
|
||||
-
|
||||
asm_text: "ldb %r0, [%r1,4]"
|
||||
details:
|
||||
arc:
|
||||
operands:
|
||||
-
|
||||
type: ARC_OP_REG
|
||||
reg: "%r0"
|
||||
access: CS_AC_WRITE
|
||||
-
|
||||
type: ARC_OP_REG
|
||||
reg: "%r1"
|
||||
access: CS_AC_READ
|
||||
-
|
||||
type: ARC_OP_IMM
|
||||
imm: 4
|
||||
access: CS_AC_READ
|
||||
-
|
||||
asm_text: "ldb.aw %r0, [%r1,4]"
|
||||
details:
|
||||
arc:
|
||||
operands:
|
||||
-
|
||||
type: ARC_OP_REG
|
||||
reg: "%r0"
|
||||
access: CS_AC_WRITE
|
||||
-
|
||||
type: ARC_OP_REG
|
||||
reg: "%r1"
|
||||
access: CS_AC_READ
|
||||
-
|
||||
type: ARC_OP_IMM
|
||||
imm: 4
|
||||
access: CS_AC_READ
|
||||
-
|
||||
asm_text: "ldb.ab %r0, [%r1,4]"
|
||||
details:
|
||||
arc:
|
||||
operands:
|
||||
-
|
||||
type: ARC_OP_REG
|
||||
reg: "%r0"
|
||||
access: CS_AC_WRITE
|
||||
-
|
||||
type: ARC_OP_REG
|
||||
reg: "%r1"
|
||||
access: CS_AC_READ
|
||||
-
|
||||
type: ARC_OP_IMM
|
||||
imm: 4
|
||||
access: CS_AC_READ
|
||||
-
|
||||
asm_text: "breq %r2, %r1, 80"
|
||||
details:
|
||||
arc:
|
||||
operands:
|
||||
-
|
||||
type: ARC_OP_IMM
|
||||
imm: 0
|
||||
access: CS_AC_READ
|
||||
-
|
||||
type: ARC_OP_REG
|
||||
reg: "%r2"
|
||||
access: CS_AC_READ
|
||||
-
|
||||
type: ARC_OP_REG
|
||||
reg: "%r1"
|
||||
access: CS_AC_READ
|
||||
-
|
||||
type: ARC_OP_IMM
|
||||
imm: 0x50
|
||||
access: CS_AC_READ
|
||||
regs_read: [ "%r2", "%r1" ]
|
||||
groups: [ jump, branch_relative ]
|
||||
-
|
||||
asm_text: "mov.eq %r2, %r6"
|
||||
details:
|
||||
arc:
|
||||
operands:
|
||||
-
|
||||
type: ARC_OP_IMM
|
||||
imm: 1
|
||||
access: CS_AC_READ
|
||||
-
|
||||
type: ARC_OP_REG
|
||||
reg: "%r2"
|
||||
access: CS_AC_WRITE
|
||||
-
|
||||
type: ARC_OP_REG
|
||||
reg: "%r6"
|
||||
access: CS_AC_READ
|
||||
regs_read: [ "status32", "%r6" ]
|
||||
regs_write: [ "%r2" ]
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,180 @@
|
||||
test_cases:
|
||||
-
|
||||
input:
|
||||
bytes: [ 0x94, 0x09, 0x00, 0x00, 0x37, 0x13, 0x03, 0x00, 0x87, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ]
|
||||
arch: "bpf"
|
||||
options: [ CS_OPT_DETAIL, CS_MODE_BPF_CLASSIC ]
|
||||
address: 0x0
|
||||
expected:
|
||||
insns:
|
||||
-
|
||||
asm_text: "mod 0x31337"
|
||||
details:
|
||||
groups: [ BPF_GRP_ALU ]
|
||||
bpf:
|
||||
operands:
|
||||
-
|
||||
type: BPF_OP_IMM
|
||||
imm: 0x31337
|
||||
regs_read: [ a ]
|
||||
regs_write: [ a ]
|
||||
-
|
||||
asm_text: "txa"
|
||||
details:
|
||||
regs_read: [ x ]
|
||||
groups: [ BPF_GRP_MISC ]
|
||||
regs_write: [ a ]
|
||||
-
|
||||
asm_text: "tax"
|
||||
details:
|
||||
regs_read: [ a ]
|
||||
groups: [ BPF_GRP_MISC ]
|
||||
regs_write: [ x ]
|
||||
-
|
||||
asm_text: "ret a"
|
||||
details:
|
||||
groups: [ BPF_GRP_RETURN ]
|
||||
bpf:
|
||||
operands:
|
||||
-
|
||||
type: BPF_OP_REG
|
||||
reg: a
|
||||
regs_read: [ a ]
|
||||
-
|
||||
asm_text: "ld #len"
|
||||
details:
|
||||
groups: [ BPF_GRP_LOAD ]
|
||||
bpf:
|
||||
operands:
|
||||
-
|
||||
type: BPF_OP_EXT
|
||||
ext: BPF_EXT_LEN
|
||||
regs_write: [ a ]
|
||||
-
|
||||
input:
|
||||
bytes: [ 0x97, 0x09, 0x00, 0x00, 0x37, 0x13, 0x03, 0x00, 0xdc, 0x02, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x3a, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x84, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6d, 0x33, 0x17, 0x02, 0x00, 0x00, 0x00, 0x00 ]
|
||||
arch: "bpf"
|
||||
options: [ CS_OPT_DETAIL, CS_MODE_BPF_EXTENDED ]
|
||||
address: 0x0
|
||||
expected:
|
||||
insns:
|
||||
-
|
||||
asm_text: "mod64 r9, 0x31337"
|
||||
details:
|
||||
groups: [ BPF_GRP_ALU ]
|
||||
bpf:
|
||||
operands:
|
||||
-
|
||||
type: BPF_OP_REG
|
||||
reg: r9
|
||||
-
|
||||
type: BPF_OP_IMM
|
||||
imm: 0x31337
|
||||
regs_read: [ r9 ]
|
||||
regs_write: [ r9 ]
|
||||
-
|
||||
asm_text: "be32 r2"
|
||||
details:
|
||||
groups: [ BPF_GRP_ALU ]
|
||||
bpf:
|
||||
operands:
|
||||
-
|
||||
type: BPF_OP_REG
|
||||
reg: r2
|
||||
regs_read: [ r2 ]
|
||||
regs_write: [ r2 ]
|
||||
-
|
||||
asm_text: "ldabsb [skb+0x0]"
|
||||
details:
|
||||
groups: [ BPF_GRP_LOAD ]
|
||||
bpf:
|
||||
operands:
|
||||
-
|
||||
type: BPF_OP_MEM
|
||||
mem_disp: 0x0
|
||||
regs_write: [ r0 ]
|
||||
-
|
||||
asm_text: "aadd64 [r10+0x100], r3"
|
||||
details:
|
||||
groups: [ BPF_GRP_STORE ]
|
||||
bpf:
|
||||
operands:
|
||||
-
|
||||
type: BPF_OP_MEM
|
||||
mem_base: r10
|
||||
mem_disp: 0x100
|
||||
-
|
||||
type: BPF_OP_REG
|
||||
reg: r3
|
||||
regs_read: [ r3, r10 ]
|
||||
-
|
||||
asm_text: "neg r2"
|
||||
details:
|
||||
groups: [ BPF_GRP_ALU ]
|
||||
bpf:
|
||||
operands:
|
||||
-
|
||||
type: BPF_OP_REG
|
||||
reg: r2
|
||||
regs_read: [ r2 ]
|
||||
regs_write: [ r2 ]
|
||||
-
|
||||
asm_text: "jsgt r3, r3, +0x217"
|
||||
details:
|
||||
groups: [ BPF_GRP_JUMP ]
|
||||
bpf:
|
||||
operands:
|
||||
-
|
||||
type: BPF_OP_REG
|
||||
reg: r3
|
||||
-
|
||||
type: BPF_OP_REG
|
||||
reg: r3
|
||||
-
|
||||
type: BPF_OP_OFF
|
||||
off: 0x217
|
||||
regs_read: [ r3 ]
|
||||
-
|
||||
input:
|
||||
bytes: [ 0x28, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xfa, 0x07, 0x76, 0x01, 0x28, 0xff, 0xff, 0xff, 0xff, 0x85, 0xd3, 0xa5, 0xe2, 0xff, 0xff, 0xff, 0xff ]
|
||||
arch: "bpf"
|
||||
options: [ CS_OPT_DETAIL, CS_MODE_BPF_EXTENDED ]
|
||||
address: 0x0
|
||||
expected:
|
||||
insns:
|
||||
-
|
||||
asm_text: "ldabsh [skb-0x5ffff01]"
|
||||
details:
|
||||
groups: [ BPF_GRP_LOAD ]
|
||||
bpf:
|
||||
operands:
|
||||
-
|
||||
type: BPF_OP_MEM
|
||||
mem_disp: 0xfa0000ff
|
||||
is_pkt: 1
|
||||
is_signed: 1
|
||||
-
|
||||
asm_text: "add64 r6, 0xffffffff"
|
||||
details:
|
||||
groups: [ BPF_GRP_ALU ]
|
||||
bpf:
|
||||
operands:
|
||||
-
|
||||
type: BPF_OP_REG
|
||||
reg: r6
|
||||
-
|
||||
type: BPF_OP_IMM
|
||||
imm: 0xffffffff
|
||||
is_signed: -1
|
||||
-
|
||||
asm_text: "call -0x1"
|
||||
details:
|
||||
groups: [ BPF_GRP_CALL ]
|
||||
bpf:
|
||||
operands:
|
||||
-
|
||||
type: BPF_OP_IMM
|
||||
imm: 0xffffffff
|
||||
is_signed: 1
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,217 @@
|
||||
test_cases:
|
||||
-
|
||||
input:
|
||||
bytes: [ 0x60, 0x61, 0x50 ]
|
||||
arch: "evm"
|
||||
options: [ CS_OPT_DETAIL ]
|
||||
address: 0x0
|
||||
expected:
|
||||
insns:
|
||||
-
|
||||
asm_text: "push1 61"
|
||||
details:
|
||||
evm:
|
||||
push: 1
|
||||
fee: 3
|
||||
groups: [ EVM_GRP_STACK_WRITE ]
|
||||
-
|
||||
asm_text: "pop"
|
||||
details:
|
||||
evm:
|
||||
pop: 1
|
||||
fee: 2
|
||||
groups: [ EVM_GRP_STACK_READ ]
|
||||
-
|
||||
input:
|
||||
bytes: [ 0x60, 0x80, 0x60, 0x40, 0x52, 0x60, 0x04, 0x36, 0x10, 0x61, 0x00, 0x2c, 0x57, 0x5f, 0x35 ]
|
||||
arch: "evm"
|
||||
options: [ CS_OPT_DETAIL ]
|
||||
address: 0x0
|
||||
expected:
|
||||
insns:
|
||||
-
|
||||
asm_text: "push1 80"
|
||||
details:
|
||||
evm:
|
||||
push: 1
|
||||
fee: 3
|
||||
groups: [ EVM_GRP_STACK_WRITE ]
|
||||
-
|
||||
asm_text: "push1 40"
|
||||
details:
|
||||
evm:
|
||||
push: 1
|
||||
fee: 3
|
||||
groups: [ EVM_GRP_STACK_WRITE ]
|
||||
-
|
||||
asm_text: "mstore"
|
||||
details:
|
||||
evm:
|
||||
pop: 2
|
||||
fee: 3
|
||||
groups: [ EVM_GRP_STACK_READ, EVM_GRP_MEM_WRITE ]
|
||||
-
|
||||
asm_text: "push1 04"
|
||||
details:
|
||||
evm:
|
||||
push: 1
|
||||
fee: 3
|
||||
groups: [ EVM_GRP_STACK_WRITE ]
|
||||
-
|
||||
asm_text: "calldatasize"
|
||||
details:
|
||||
evm:
|
||||
push: 1
|
||||
fee: 2
|
||||
groups: [ EVM_GRP_STACK_WRITE ]
|
||||
-
|
||||
asm_text: "lt"
|
||||
details:
|
||||
evm:
|
||||
pop: 2
|
||||
push: 1
|
||||
fee: 3
|
||||
groups: [ EVM_GRP_STACK_READ, EVM_GRP_STACK_WRITE ]
|
||||
-
|
||||
asm_text: "push2 002c"
|
||||
details:
|
||||
evm:
|
||||
push: 1
|
||||
fee: 3
|
||||
groups: [ EVM_GRP_STACK_WRITE ]
|
||||
-
|
||||
asm_text: "jumpi"
|
||||
details:
|
||||
evm:
|
||||
pop: 2
|
||||
fee: 10
|
||||
groups: [ EVM_GRP_STACK_READ, EVM_GRP_JUMP ]
|
||||
-
|
||||
asm_text: "push0"
|
||||
details:
|
||||
evm:
|
||||
push: 1
|
||||
fee: 3
|
||||
groups: [ EVM_GRP_STACK_WRITE ]
|
||||
-
|
||||
asm_text: "calldataload"
|
||||
details:
|
||||
evm:
|
||||
pop: 1
|
||||
push: 1
|
||||
fee: 3
|
||||
groups: [ EVM_GRP_STACK_READ, EVM_GRP_STACK_WRITE ]
|
||||
-
|
||||
input:
|
||||
bytes: [ 0x5b, 0x5f, 0x1c, 0x47, 0x46, 0x15, 0x90, 0x20, 0x54, 0x42, 0x1a, 0x6d, 0x15, 0xc1, 0xfd, 0xdc, 0xd5, 0x55, 0x64, 0x73, 0x6f, 0x6c, 0x63, 0x43, 0x00, 0x08, 0x00, 0x33, 0xff ]
|
||||
arch: "evm"
|
||||
options: [ CS_OPT_DETAIL ]
|
||||
address: 0x0
|
||||
expected:
|
||||
insns:
|
||||
-
|
||||
asm_text: "jumpdest"
|
||||
details:
|
||||
evm:
|
||||
fee: 1
|
||||
-
|
||||
asm_text: "push0"
|
||||
details:
|
||||
evm:
|
||||
push: 1
|
||||
fee: 3
|
||||
groups: [ EVM_GRP_STACK_WRITE ]
|
||||
-
|
||||
asm_text: "shr"
|
||||
details:
|
||||
evm:
|
||||
pop: 2
|
||||
push: 1
|
||||
fee: 3
|
||||
groups: [ EVM_GRP_STACK_READ, EVM_GRP_STACK_WRITE, EVM_GRP_MATH ]
|
||||
-
|
||||
asm_text: "selfbalance"
|
||||
details:
|
||||
evm:
|
||||
push: 1
|
||||
fee: 5
|
||||
groups: [ EVM_GRP_STACK_WRITE ]
|
||||
-
|
||||
asm_text: "chainid"
|
||||
details:
|
||||
evm:
|
||||
push: 1
|
||||
fee: 2
|
||||
groups: [ EVM_GRP_STACK_WRITE ]
|
||||
-
|
||||
asm_text: "iszero"
|
||||
details:
|
||||
evm:
|
||||
pop: 1
|
||||
push: 1
|
||||
fee: 3
|
||||
groups: [ EVM_GRP_STACK_READ, EVM_GRP_STACK_WRITE ]
|
||||
-
|
||||
asm_text: "swap1"
|
||||
details:
|
||||
evm:
|
||||
pop: 2
|
||||
push: 2
|
||||
fee: 3
|
||||
groups: [ EVM_GRP_STACK_READ, EVM_GRP_STACK_WRITE ]
|
||||
-
|
||||
asm_text: "sha3"
|
||||
details:
|
||||
evm:
|
||||
pop: 2
|
||||
push: 1
|
||||
fee: 30
|
||||
groups: [ EVM_GRP_STACK_READ, EVM_GRP_STACK_WRITE ]
|
||||
-
|
||||
asm_text: "sload"
|
||||
details:
|
||||
evm:
|
||||
pop: 1
|
||||
push: 1
|
||||
fee: 50
|
||||
groups: [ EVM_GRP_STACK_READ, EVM_GRP_STACK_WRITE, EVM_GRP_STORE_READ ]
|
||||
-
|
||||
asm_text: "timestamp"
|
||||
details:
|
||||
evm:
|
||||
push: 1
|
||||
fee: 2
|
||||
groups: [ EVM_GRP_STACK_WRITE ]
|
||||
-
|
||||
asm_text: "byte"
|
||||
details:
|
||||
evm:
|
||||
pop: 2
|
||||
push: 1
|
||||
fee: 3
|
||||
groups: [ EVM_GRP_STACK_READ, EVM_GRP_STACK_WRITE ]
|
||||
-
|
||||
asm_text: "push14 15c1fddcd55564736f6c63430008"
|
||||
details:
|
||||
evm:
|
||||
push: 1
|
||||
fee: 3
|
||||
groups: [ EVM_GRP_STACK_WRITE ]
|
||||
-
|
||||
asm_text: "stop"
|
||||
details:
|
||||
groups: [ EVM_GRP_HALT ]
|
||||
-
|
||||
asm_text: "caller"
|
||||
details:
|
||||
evm:
|
||||
push: 1
|
||||
fee: 2
|
||||
groups: [ EVM_GRP_STACK_WRITE ]
|
||||
-
|
||||
asm_text: "selfdestruct"
|
||||
details:
|
||||
evm:
|
||||
pop: 1
|
||||
fee: 5000
|
||||
groups: [ EVM_GRP_STACK_READ, EVM_GRP_HALT ]
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,167 @@
|
||||
test_cases:
|
||||
-
|
||||
input:
|
||||
bytes: [ 0x0c, 0x00, 0x08, 0x14, 0x8c, 0xfd, 0xbf, 0x02 ]
|
||||
arch: "loongarch"
|
||||
options: [ CS_OPT_DETAIL, CS_MODE_LOONGARCH32 ]
|
||||
address: 0x0
|
||||
expected:
|
||||
insns:
|
||||
-
|
||||
asm_text: "lu12i.w $t0, 0x4000"
|
||||
details:
|
||||
loongarch:
|
||||
operands:
|
||||
-
|
||||
type: LOONGARCH_OP_REG
|
||||
reg: t0
|
||||
-
|
||||
type: LOONGARCH_OP_IMM
|
||||
imm: 0x4000
|
||||
-
|
||||
asm_text: "addi.w $t0, $t0, -1"
|
||||
details:
|
||||
loongarch:
|
||||
operands:
|
||||
-
|
||||
type: LOONGARCH_OP_REG
|
||||
reg: t0
|
||||
-
|
||||
type: LOONGARCH_OP_REG
|
||||
reg: t0
|
||||
-
|
||||
type: LOONGARCH_OP_IMM
|
||||
imm: -1
|
||||
-
|
||||
input:
|
||||
bytes: [ 0x80, 0x80, 0x00, 0x40, 0x63, 0x80, 0xff, 0x02, 0x78, 0x20, 0xc0, 0x29, 0x00, 0x84, 0x00, 0x01, 0x00, 0xa4, 0x14, 0x01, 0xed, 0x01, 0x00, 0x4c, 0x0c, 0xfe, 0x3f, 0x2a ]
|
||||
arch: "loongarch"
|
||||
options: [ CS_OPT_DETAIL, CS_MODE_LOONGARCH64]
|
||||
address: 0x0
|
||||
expected:
|
||||
insns:
|
||||
-
|
||||
asm_text: "beqz $a0, 0x80"
|
||||
details:
|
||||
loongarch:
|
||||
operands:
|
||||
-
|
||||
type: LOONGARCH_OP_REG
|
||||
reg: a0
|
||||
-
|
||||
type: LOONGARCH_OP_IMM
|
||||
imm: 0x80
|
||||
groups: [ LOONGARCH_GRP_JUMP, LOONGARCH_GRP_BRANCH_RELATIVE ]
|
||||
-
|
||||
asm_text: "addi.d $sp, $sp, -0x20"
|
||||
details:
|
||||
loongarch:
|
||||
operands:
|
||||
-
|
||||
type: LOONGARCH_OP_REG
|
||||
reg: sp
|
||||
-
|
||||
type: LOONGARCH_OP_REG
|
||||
reg: sp
|
||||
-
|
||||
type: LOONGARCH_OP_IMM
|
||||
imm: -0x20
|
||||
groups: [ LOONGARCH_FEATURE_ISLA64 ]
|
||||
-
|
||||
asm_text: "st.d $s1, $sp, 8"
|
||||
details:
|
||||
loongarch:
|
||||
operands:
|
||||
-
|
||||
type: LOONGARCH_OP_REG
|
||||
reg: s1
|
||||
-
|
||||
type: LOONGARCH_OP_MEM
|
||||
mem_base: sp
|
||||
mem_disp: 0x8
|
||||
groups: [ LOONGARCH_FEATURE_ISLA64 ]
|
||||
-
|
||||
asm_text: "fadd.s $fa0, $fa0, $fa1"
|
||||
details:
|
||||
loongarch:
|
||||
operands:
|
||||
-
|
||||
type: LOONGARCH_OP_REG
|
||||
reg: fa0
|
||||
-
|
||||
type: LOONGARCH_OP_REG
|
||||
reg: fa0
|
||||
-
|
||||
type: LOONGARCH_OP_REG
|
||||
reg: fa1
|
||||
-
|
||||
asm_text: "movgr2fr.w $fa0, $zero"
|
||||
details:
|
||||
loongarch:
|
||||
operands:
|
||||
-
|
||||
type: LOONGARCH_OP_REG
|
||||
reg: fa0
|
||||
-
|
||||
type: LOONGARCH_OP_REG
|
||||
reg: zero
|
||||
-
|
||||
asm_text: "jirl $t1, $t3, 0"
|
||||
details:
|
||||
loongarch:
|
||||
operands:
|
||||
-
|
||||
type: LOONGARCH_OP_REG
|
||||
reg: t1
|
||||
-
|
||||
type: LOONGARCH_OP_REG
|
||||
reg: t3
|
||||
-
|
||||
type: LOONGARCH_OP_IMM
|
||||
imm: 0x0
|
||||
groups: [ LOONGARCH_GRP_JUMP ]
|
||||
-
|
||||
asm_text: "ld.bu $t0, $t4, -1"
|
||||
details:
|
||||
loongarch:
|
||||
operands:
|
||||
-
|
||||
type: LOONGARCH_OP_REG
|
||||
reg: t0
|
||||
access: CS_AC_WRITE
|
||||
-
|
||||
type: LOONGARCH_OP_MEM
|
||||
mem_base: t4
|
||||
mem_disp: -1
|
||||
access: CS_AC_READ
|
||||
regs_read: [ t4 ]
|
||||
regs_write: [ t0 ]
|
||||
-
|
||||
input:
|
||||
bytes: [ 0x80, 0x0d, 0x00, 0x40, 0x00, 0xec, 0x0b, 0x54 ]
|
||||
arch: "loongarch"
|
||||
options: [ CS_OPT_DETAIL, CS_MODE_LOONGARCH64]
|
||||
address: 0x1000
|
||||
expected:
|
||||
insns:
|
||||
-
|
||||
asm_text: "beqz $t0, 0x100c"
|
||||
details:
|
||||
loongarch:
|
||||
operands:
|
||||
-
|
||||
type: LOONGARCH_OP_REG
|
||||
reg: t0
|
||||
-
|
||||
type: LOONGARCH_OP_IMM
|
||||
imm: 0x100c
|
||||
groups: [ LOONGARCH_GRP_JUMP, LOONGARCH_GRP_BRANCH_RELATIVE ]
|
||||
-
|
||||
asm_text: "bl 0x1bf0"
|
||||
details:
|
||||
loongarch:
|
||||
operands:
|
||||
-
|
||||
type: LOONGARCH_OP_IMM
|
||||
imm: 0x1bf0
|
||||
groups: [ LOONGARCH_GRP_CALL ]
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,326 @@
|
||||
test_cases:
|
||||
-
|
||||
input:
|
||||
bytes: [ 0x0c, 0x10, 0x00, 0x97, 0x00, 0x00, 0x00, 0x00, 0x24, 0x02, 0x00, 0x0c, 0x8f, 0xa2, 0x00, 0x00, 0x34, 0x21, 0x34, 0x56 ]
|
||||
arch: "CS_ARCH_MIPS"
|
||||
options: [ CS_OPT_DETAIL, CS_MODE_MIPS32R5, CS_MODE_BIG_ENDIAN ]
|
||||
address: 0x0
|
||||
expected:
|
||||
insns:
|
||||
-
|
||||
asm_text: "jal 0x40025c"
|
||||
details:
|
||||
mips:
|
||||
operands:
|
||||
-
|
||||
type: MIPS_OP_IMM
|
||||
imm: 0x40025c
|
||||
-
|
||||
asm_text: "nop"
|
||||
-
|
||||
asm_text: "addiu $v0, $zero, 0xc"
|
||||
details:
|
||||
mips:
|
||||
operands:
|
||||
-
|
||||
type: MIPS_OP_REG
|
||||
reg: v0
|
||||
-
|
||||
type: MIPS_OP_REG
|
||||
reg: zero
|
||||
-
|
||||
type: MIPS_OP_IMM
|
||||
imm: 0xc
|
||||
-
|
||||
asm_text: "lw $v0, 0($sp)"
|
||||
details:
|
||||
mips:
|
||||
operands:
|
||||
-
|
||||
type: MIPS_OP_REG
|
||||
reg: v0
|
||||
-
|
||||
type: MIPS_OP_MEM
|
||||
mem_base: sp
|
||||
-
|
||||
asm_text: "ori $at, $at, 0x3456"
|
||||
details:
|
||||
mips:
|
||||
operands:
|
||||
-
|
||||
type: MIPS_OP_REG
|
||||
reg: at
|
||||
-
|
||||
type: MIPS_OP_REG
|
||||
reg: at
|
||||
-
|
||||
type: MIPS_OP_IMM
|
||||
imm: 0x3456
|
||||
-
|
||||
input:
|
||||
bytes: [ 0x56, 0x34, 0x21, 0x34, 0xc2, 0x17, 0x01, 0x00 ]
|
||||
arch: "CS_ARCH_MIPS"
|
||||
options: [ CS_OPT_DETAIL, CS_MODE_MIPS64, CS_MODE_LITTLE_ENDIAN ]
|
||||
address: 0x0
|
||||
expected:
|
||||
insns:
|
||||
-
|
||||
asm_text: "ori $at, $at, 0x3456"
|
||||
details:
|
||||
mips:
|
||||
operands:
|
||||
-
|
||||
type: MIPS_OP_REG
|
||||
reg: at
|
||||
-
|
||||
type: MIPS_OP_REG
|
||||
reg: at
|
||||
-
|
||||
type: MIPS_OP_IMM
|
||||
imm: 0x3456
|
||||
-
|
||||
asm_text: "srl $v0, $at, 0x1f"
|
||||
details:
|
||||
mips:
|
||||
operands:
|
||||
-
|
||||
type: MIPS_OP_REG
|
||||
reg: v0
|
||||
-
|
||||
type: MIPS_OP_REG
|
||||
reg: at
|
||||
-
|
||||
type: MIPS_OP_IMM
|
||||
imm: 0x1f
|
||||
-
|
||||
input:
|
||||
bytes: [ 0x00, 0x07, 0x00, 0x07, 0x00, 0x11, 0x93, 0x7c, 0x01, 0x8c, 0x8b, 0x7c, 0x00, 0xc7, 0x48, 0xd0 ]
|
||||
arch: "CS_ARCH_MIPS"
|
||||
options: [ CS_OPT_DETAIL, CS_MODE_MIPS32R6, CS_MODE_MICRO, CS_MODE_BIG_ENDIAN ]
|
||||
address: 0x0
|
||||
expected:
|
||||
insns:
|
||||
-
|
||||
asm_text: "break 7, 0"
|
||||
details:
|
||||
mips:
|
||||
operands:
|
||||
-
|
||||
type: MIPS_OP_IMM
|
||||
imm: 0x7
|
||||
-
|
||||
type: MIPS_OP_IMM
|
||||
imm: 0x0
|
||||
-
|
||||
asm_text: "wait 0x11"
|
||||
details:
|
||||
mips:
|
||||
operands:
|
||||
-
|
||||
type: MIPS_OP_IMM
|
||||
imm: 0x11
|
||||
-
|
||||
asm_text: "syscall 0x18c"
|
||||
details:
|
||||
mips:
|
||||
operands:
|
||||
-
|
||||
type: MIPS_OP_IMM
|
||||
imm: 0x18c
|
||||
-
|
||||
asm_text: "rotrv $t1, $a2, $a3"
|
||||
details:
|
||||
mips:
|
||||
operands:
|
||||
-
|
||||
type: MIPS_OP_REG
|
||||
reg: t1
|
||||
-
|
||||
type: MIPS_OP_REG
|
||||
reg: a2
|
||||
-
|
||||
type: MIPS_OP_REG
|
||||
reg: a3
|
||||
-
|
||||
input:
|
||||
bytes: [ 0xec, 0x80, 0x00, 0x19, 0x7c, 0x43, 0x22, 0xa0 ]
|
||||
arch: "CS_ARCH_MIPS"
|
||||
options: [ CS_OPT_DETAIL, CS_MODE_MIPS32R6, CS_MODE_BIG_ENDIAN ]
|
||||
address: 0x0
|
||||
expected:
|
||||
insns:
|
||||
-
|
||||
asm_text: "lapc $a0, 0x64"
|
||||
details:
|
||||
mips:
|
||||
operands:
|
||||
-
|
||||
type: MIPS_OP_REG
|
||||
reg: a0
|
||||
-
|
||||
type: MIPS_OP_IMM
|
||||
imm: 0x64
|
||||
-
|
||||
asm_text: "align $a0, $v0, $v1, 2"
|
||||
details:
|
||||
mips:
|
||||
operands:
|
||||
-
|
||||
type: MIPS_OP_REG
|
||||
reg: a0
|
||||
-
|
||||
type: MIPS_OP_REG
|
||||
reg: v0
|
||||
-
|
||||
type: MIPS_OP_REG
|
||||
reg: v1
|
||||
-
|
||||
type: MIPS_OP_IMM
|
||||
imm: 0x2
|
||||
-
|
||||
input:
|
||||
bytes: [ 0x70, 0x00, 0xb2, 0xff ]
|
||||
arch: "CS_ARCH_MIPS"
|
||||
options: [ CS_MODE_MIPS2, CS_MODE_LITTLE_ENDIAN, CS_OPT_DETAIL ]
|
||||
address: 0x0
|
||||
expected:
|
||||
insns:
|
||||
-
|
||||
asm_text: "sdc3 $18, 0x70($sp)"
|
||||
details:
|
||||
mips:
|
||||
operands:
|
||||
-
|
||||
type: MIPS_OP_REG
|
||||
reg: "18"
|
||||
-
|
||||
type: MIPS_OP_MEM
|
||||
mem_base: sp
|
||||
mem_disp: 0x70
|
||||
-
|
||||
input:
|
||||
bytes: [ 0x70, 0x00, 0xb2, 0xff ]
|
||||
arch: "CS_ARCH_MIPS"
|
||||
options: [ CS_OPT_DETAIL, CS_MODE_MIPS64, CS_MODE_LITTLE_ENDIAN]
|
||||
address: 0x0
|
||||
expected:
|
||||
insns:
|
||||
-
|
||||
asm_text: "sd $s2, 0x70($sp)"
|
||||
details:
|
||||
mips:
|
||||
operands:
|
||||
-
|
||||
type: MIPS_OP_REG
|
||||
reg: s2
|
||||
-
|
||||
type: MIPS_OP_MEM
|
||||
mem_base: sp
|
||||
mem_disp: 0x70
|
||||
|
||||
-
|
||||
skip: true
|
||||
skip_reason: "Capstone python bindings do not handle CS_OPT_DETAIL_REAL."
|
||||
input:
|
||||
bytes: [ 0x00, 0x00, 0x00, 0x00 ]
|
||||
arch: "CS_ARCH_MIPS"
|
||||
options: [ CS_OPT_DETAIL, CS_OPT_DETAIL_REAL, CS_MODE_MIPS32R6, CS_MODE_BIG_ENDIAN ]
|
||||
address: 0x0
|
||||
expected:
|
||||
insns:
|
||||
-
|
||||
asm_text: "nop"
|
||||
details:
|
||||
mips:
|
||||
operands:
|
||||
-
|
||||
type: MIPS_OP_REG
|
||||
reg: zero
|
||||
-
|
||||
type: MIPS_OP_REG
|
||||
reg: zero
|
||||
-
|
||||
type: MIPS_OP_IMM
|
||||
imm: 0
|
||||
|
||||
-
|
||||
skip: true
|
||||
skip_reason: "Capstone python bindings do not handle CS_OPT_DETAIL_REAL."
|
||||
input:
|
||||
bytes: [ 0x38,0xf0,0x20,0x46 ]
|
||||
arch: "CS_ARCH_MIPS"
|
||||
options: [ CS_OPT_DETAIL, CS_OPT_DETAIL_REAL, CS_MODE_LITTLE_ENDIAN, CS_MODE_MIPS1 ]
|
||||
address: 0x0
|
||||
expected:
|
||||
insns:
|
||||
-
|
||||
asm_text: "c.sf.d $f30, $f0"
|
||||
details:
|
||||
mips:
|
||||
operands:
|
||||
-
|
||||
type: MIPS_OP_REG
|
||||
reg: fcc0
|
||||
-
|
||||
type: MIPS_OP_REG
|
||||
reg: f30
|
||||
-
|
||||
type: MIPS_OP_REG
|
||||
reg: f0
|
||||
-
|
||||
input:
|
||||
bytes: [ 0x23, 0x20, 0x5c, 0x6d ]
|
||||
arch: "CS_ARCH_MIPS"
|
||||
options: [ CS_OPT_DETAIL, CS_MODE_BIG_ENDIAN, CS_MODE_MICRO32R6 ]
|
||||
address: 0x0
|
||||
expected:
|
||||
insns:
|
||||
-
|
||||
asm_text: "lwm32 $s0, $s1, $s2, $s3, $s4, $s5, $s6, $s7, $fp, $ra, -0x393($zero)"
|
||||
details:
|
||||
mips:
|
||||
operands:
|
||||
-
|
||||
type: MIPS_OP_REG
|
||||
reg: s0
|
||||
is_reglist: 1
|
||||
-
|
||||
type: MIPS_OP_REG
|
||||
reg: s1
|
||||
is_reglist: 1
|
||||
-
|
||||
type: MIPS_OP_REG
|
||||
reg: s2
|
||||
is_reglist: 1
|
||||
-
|
||||
type: MIPS_OP_REG
|
||||
reg: s3
|
||||
is_reglist: 1
|
||||
-
|
||||
type: MIPS_OP_REG
|
||||
reg: s4
|
||||
is_reglist: 1
|
||||
-
|
||||
type: MIPS_OP_REG
|
||||
reg: s5
|
||||
is_reglist: 1
|
||||
-
|
||||
type: MIPS_OP_REG
|
||||
reg: s6
|
||||
is_reglist: 1
|
||||
-
|
||||
type: MIPS_OP_REG
|
||||
reg: s7
|
||||
is_reglist: 1
|
||||
-
|
||||
type: MIPS_OP_REG
|
||||
reg: fp
|
||||
is_reglist: 1
|
||||
-
|
||||
type: MIPS_OP_REG
|
||||
reg: ra
|
||||
is_reglist: 1
|
||||
-
|
||||
type: MIPS_OP_MEM
|
||||
mem_base: zero
|
||||
mem_disp: -0x393
|
||||
@@ -0,0 +1,520 @@
|
||||
test_cases:
|
||||
-
|
||||
input:
|
||||
bytes: [ 0xa1, 0x12, 0xa5, 0x12, 0xa9, 0x12, 0xad, 0x34, 0x12, 0xb1, 0x12, 0xb5, 0x12, 0xb9, 0x34, 0x12, 0xbd, 0x34, 0x12, 0x0d, 0x34, 0x12, 0x00, 0x81, 0x87, 0x6c, 0x01, 0x00, 0x85, 0xff, 0x10, 0x00, 0x19, 0x42, 0x42, 0x00, 0x49, 0x42 ]
|
||||
arch: "mos65xx"
|
||||
options: [ CS_OPT_DETAIL, CS_MODE_MOS65XX_6502, CS_OPT_SYNTAX_MOTOROLA ]
|
||||
address: 0x1000
|
||||
expected:
|
||||
insns:
|
||||
-
|
||||
asm_text: "lda ($12, x)"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_ZP_X_IND
|
||||
modifies_flags: 1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x12
|
||||
-
|
||||
asm_text: "lda $12"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_ZP
|
||||
modifies_flags: 1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x12
|
||||
-
|
||||
asm_text: "lda #$12"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_IMM
|
||||
modifies_flags: 1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_IMM
|
||||
imm: 0x12
|
||||
-
|
||||
asm_text: "lda $1234"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_ABS
|
||||
modifies_flags: 1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x1234
|
||||
-
|
||||
asm_text: "lda ($12), y"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_ZP_IND_Y
|
||||
modifies_flags: 1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x12
|
||||
-
|
||||
asm_text: "lda $12, x"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_ZP_X
|
||||
modifies_flags: 1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x12
|
||||
-
|
||||
asm_text: "lda $1234, y"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_ABS_Y
|
||||
modifies_flags: 1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x1234
|
||||
-
|
||||
asm_text: "lda $1234, x"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_ABS_X
|
||||
modifies_flags: 1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x1234
|
||||
-
|
||||
asm_text: "ora $1234"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_ABS
|
||||
modifies_flags: 1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x1234
|
||||
-
|
||||
asm_text: "brk $81"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_INT
|
||||
modifies_flags: -1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x81
|
||||
-
|
||||
input:
|
||||
bytes: [ 0x1a, 0x3a, 0x02, 0x12, 0x03, 0x5c, 0x34, 0x12 ]
|
||||
arch: "mos65xx"
|
||||
options: [ CS_OPT_DETAIL, CS_MODE_MOS65XX_65C02, CS_OPT_SYNTAX_MOTOROLA ]
|
||||
address: 0x1000
|
||||
expected:
|
||||
insns:
|
||||
-
|
||||
asm_text: "inc a"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_ACC
|
||||
modifies_flags: 1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_REG
|
||||
reg: A
|
||||
-
|
||||
asm_text: "dec a"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_ACC
|
||||
modifies_flags: 1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_REG
|
||||
reg: A
|
||||
-
|
||||
asm_text: "nop"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_IMP
|
||||
modifies_flags: -1
|
||||
-
|
||||
asm_text: "nop"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_IMP
|
||||
modifies_flags: -1
|
||||
-
|
||||
asm_text: "nop"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_IMP
|
||||
modifies_flags: -1
|
||||
-
|
||||
input:
|
||||
bytes: [ 0x07, 0x12, 0x27, 0x12, 0x47, 0x12, 0x67, 0x12, 0x87, 0x12, 0xa7, 0x12, 0xc7, 0x12, 0xe7, 0x12, 0x10, 0xfe, 0x0f, 0x12, 0xfd, 0x4f, 0x12, 0xfd, 0x8f, 0x12, 0xfd, 0xcf, 0x12, 0xfd ]
|
||||
arch: "mos65xx"
|
||||
options: [ CS_OPT_DETAIL, CS_MODE_MOS65XX_W65C02, CS_OPT_SYNTAX_MOTOROLA ]
|
||||
address: 0x1000
|
||||
expected:
|
||||
insns:
|
||||
-
|
||||
asm_text: "rmb0 $12"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_ZP
|
||||
modifies_flags: -1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x12
|
||||
-
|
||||
asm_text: "rmb2 $12"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_ZP
|
||||
modifies_flags: -1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x12
|
||||
-
|
||||
asm_text: "rmb4 $12"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_ZP
|
||||
modifies_flags: -1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x12
|
||||
-
|
||||
asm_text: "rmb6 $12"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_ZP
|
||||
modifies_flags: -1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x12
|
||||
-
|
||||
asm_text: "smb0 $12"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_ZP
|
||||
modifies_flags: -1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x12
|
||||
-
|
||||
asm_text: "smb2 $12"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_ZP
|
||||
modifies_flags: -1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x12
|
||||
-
|
||||
asm_text: "smb4 $12"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_ZP
|
||||
modifies_flags: -1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x12
|
||||
-
|
||||
asm_text: "smb6 $12"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_ZP
|
||||
modifies_flags: -1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x12
|
||||
-
|
||||
asm_text: "bpl $1010"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_REL
|
||||
modifies_flags: -1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x1010
|
||||
-
|
||||
asm_text: "bbr0 $12, $1012"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_ZP_REL
|
||||
modifies_flags: -1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x12
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x1012
|
||||
-
|
||||
asm_text: "bbr4 $12, $1015"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_ZP_REL
|
||||
modifies_flags: -1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x12
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x1015
|
||||
-
|
||||
asm_text: "bbs0 $12, $1018"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_ZP_REL
|
||||
modifies_flags: -1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x12
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x1018
|
||||
-
|
||||
asm_text: "bbs4 $12, $101b"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_ZP_REL
|
||||
modifies_flags: -1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x12
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x101b
|
||||
-
|
||||
input:
|
||||
bytes: [ 0xa9, 0x34, 0x12, 0xad, 0x34, 0x12, 0xbd, 0x34, 0x12, 0xb9, 0x34, 0x12, 0xaf, 0x56, 0x34, 0x12, 0xbf, 0x56, 0x34, 0x12, 0xa5, 0x12, 0xb5, 0x12, 0xb2, 0x12, 0xa1, 0x12, 0xb1, 0x12, 0xa7, 0x12, 0xb7, 0x12, 0xa3, 0x12, 0xb3, 0x12, 0xc2, 0x00, 0xe2, 0x00, 0x54, 0x34, 0x12, 0x44, 0x34, 0x12, 0x02, 0x12 ]
|
||||
arch: "mos65xx"
|
||||
options: [ CS_OPT_DETAIL, CS_MODE_MOS65XX_65816_LONG_MX, CS_OPT_SYNTAX_MOTOROLA ]
|
||||
address: 0x1000
|
||||
expected:
|
||||
insns:
|
||||
-
|
||||
asm_text: "lda #$1234"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_IMM
|
||||
modifies_flags: 1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_IMM
|
||||
imm: 0x1234
|
||||
-
|
||||
asm_text: "lda $1234"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_ABS
|
||||
modifies_flags: 1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x1234
|
||||
-
|
||||
asm_text: "lda $1234, x"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_ABS_X
|
||||
modifies_flags: 1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x1234
|
||||
-
|
||||
asm_text: "lda $1234, y"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_ABS_Y
|
||||
modifies_flags: 1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x1234
|
||||
-
|
||||
asm_text: "lda $123456"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_ABS_LONG
|
||||
modifies_flags: 1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x123456
|
||||
-
|
||||
asm_text: "lda $123456, x"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_ABS_LONG_X
|
||||
modifies_flags: 1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x123456
|
||||
-
|
||||
asm_text: "lda $12"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_ZP
|
||||
modifies_flags: 1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x12
|
||||
-
|
||||
asm_text: "lda $12, x"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_ZP_X
|
||||
modifies_flags: 1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x12
|
||||
-
|
||||
asm_text: "lda ($12)"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_ZP_IND
|
||||
modifies_flags: 1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x12
|
||||
-
|
||||
asm_text: "lda ($12, x)"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_ZP_X_IND
|
||||
modifies_flags: 1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x12
|
||||
-
|
||||
asm_text: "lda ($12), y"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_ZP_IND_Y
|
||||
modifies_flags: 1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x12
|
||||
-
|
||||
asm_text: "lda [$12]"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_ZP_IND_LONG
|
||||
modifies_flags: 1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x12
|
||||
-
|
||||
asm_text: "lda [$12], y"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_ZP_IND_LONG_Y
|
||||
modifies_flags: 1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x12
|
||||
-
|
||||
asm_text: "lda $12, s"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_SR
|
||||
modifies_flags: 1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x12
|
||||
-
|
||||
asm_text: "lda ($12, s), y"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_SR_IND_Y
|
||||
modifies_flags: 1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x12
|
||||
-
|
||||
asm_text: "rep #$00"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_IMM
|
||||
modifies_flags: 1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_IMM
|
||||
imm: 0x0
|
||||
-
|
||||
asm_text: "sep #$00"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_IMM
|
||||
modifies_flags: 1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_IMM
|
||||
imm: 0x0
|
||||
-
|
||||
asm_text: "mvn $12, $34"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_BLOCK
|
||||
modifies_flags: -1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x12
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x34
|
||||
-
|
||||
asm_text: "mvp $12, $34"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_BLOCK
|
||||
modifies_flags: -1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x12
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x34
|
||||
-
|
||||
asm_text: "cop $12"
|
||||
details:
|
||||
mos65xx:
|
||||
am: MOS65XX_AM_INT
|
||||
modifies_flags: -1
|
||||
operands:
|
||||
-
|
||||
type: MOS65XX_OP_MEM
|
||||
mem: 0x12
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,111 @@
|
||||
test_cases:
|
||||
-
|
||||
input:
|
||||
bytes: [ 0x0c, 0x31, 0x10, 0x20, 0x22, 0x21, 0x36, 0x64, 0x46, 0x25, 0x12, 0x12, 0x1c, 0x02, 0x08, 0xc1, 0x05, 0xc7, 0x0c, 0x71, 0x1f, 0x02, 0x22, 0xcf, 0x06, 0x89, 0x23, 0x00, 0x2b, 0x41, 0x0b, 0x00, 0x0e, 0x40, 0x32, 0x00, 0x0a, 0xf1, 0x09, 0x00 ]
|
||||
arch: "sh"
|
||||
options: [ CS_OPT_DETAIL, CS_MODE_SH4A, CS_MODE_SHFPU ]
|
||||
address: 0x80000000
|
||||
expected:
|
||||
insns:
|
||||
-
|
||||
asm_text: "add r0,r1"
|
||||
details:
|
||||
regs_read: [ r0 ]
|
||||
regs_write: [ r1 ]
|
||||
-
|
||||
asm_text: "mov.b r1,@r0"
|
||||
details:
|
||||
regs_read: [ r0, r1 ]
|
||||
-
|
||||
asm_text: "mov.l r2,@r1"
|
||||
details:
|
||||
regs_read: [ r1, r2 ]
|
||||
-
|
||||
asm_text: "mov.l @r3+,r4"
|
||||
details:
|
||||
regs_write: [ r3, r4 ]
|
||||
-
|
||||
asm_text: "mov.l r4,@-r5"
|
||||
details:
|
||||
regs_read: [ r4 ]
|
||||
regs_write: [ r5 ]
|
||||
-
|
||||
asm_text: "mov.l r1,@(8,r2)"
|
||||
details:
|
||||
regs_read: [ r2, r1 ]
|
||||
-
|
||||
asm_text: "mov.b @(r0,r1),r2"
|
||||
details:
|
||||
regs_read: [ r0, r1 ]
|
||||
regs_write: [ r2 ]
|
||||
-
|
||||
asm_text: "mov.w r0,@(16,gbr)"
|
||||
details:
|
||||
regs_read: [ gbr, r0 ]
|
||||
-
|
||||
asm_text: "mova 0x80000028,r0"
|
||||
details:
|
||||
regs_write: [ r0 ]
|
||||
-
|
||||
asm_text: "add #12,r1"
|
||||
details:
|
||||
regs_write: [ r1 ]
|
||||
-
|
||||
asm_text: "mac.l @r1+,@r2+"
|
||||
details:
|
||||
regs_write: [ r1, r2 ]
|
||||
-
|
||||
asm_text: "or.b #34,@(r0,gbr)"
|
||||
details:
|
||||
regs_read: [ gbr, r0 ]
|
||||
-
|
||||
asm_text: "bt 0x80000028"
|
||||
details:
|
||||
groups: [ SH_GRP_JUMP, SH_GRP_BRANCH_RELATIVE ]
|
||||
-
|
||||
asm_text: "braf r0"
|
||||
details:
|
||||
regs_read: [ r0 ]
|
||||
groups: [ SH_GRP_JUMP, SH_GRP_BRANCH_RELATIVE ]
|
||||
-
|
||||
asm_text: "jmp @r1"
|
||||
details:
|
||||
regs_read: [ r1 ]
|
||||
groups: [ SH_GRP_JUMP ]
|
||||
-
|
||||
asm_text: "rts"
|
||||
|
||||
-
|
||||
asm_text: "ldc r0,sr"
|
||||
details:
|
||||
regs_read: [ r0 ]
|
||||
regs_write: [ sr ]
|
||||
-
|
||||
asm_text: "stc ssr,r0"
|
||||
details:
|
||||
regs_read: [ ssr ]
|
||||
regs_write: [ r0 ]
|
||||
-
|
||||
asm_text: "fmov fr0,@r1"
|
||||
details:
|
||||
regs_read: [ r1, fr0 ]
|
||||
-
|
||||
asm_text: "nop"
|
||||
-
|
||||
input:
|
||||
bytes: [ 0x32, 0x11, 0x92, 0x00, 0x32, 0x49, 0x31, 0x00 ]
|
||||
arch: "sh"
|
||||
options: [ CS_OPT_DETAIL, CS_MODE_SH2A, CS_MODE_SHFPU, CS_MODE_BIG_ENDIAN ]
|
||||
address: 0x0
|
||||
expected:
|
||||
insns:
|
||||
-
|
||||
asm_text: "movu.w @(1024,r1),r2"
|
||||
details:
|
||||
regs_read: [ r1 ]
|
||||
regs_write: [ r2 ]
|
||||
-
|
||||
asm_text: "bld.b #4,@(256,r2)"
|
||||
details:
|
||||
regs_read: [ r2 ]
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,121 @@
|
||||
test_cases:
|
||||
-
|
||||
input:
|
||||
bytes: [ 0xed, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x5a, 0x0f, 0x1f, 0xff, 0xc2, 0x09, 0x80, 0x00, 0x00, 0x00, 0x07, 0xf7, 0xeb, 0x2a, 0xff, 0xff, 0x7f, 0x57, 0xe3, 0x01, 0xff, 0xff, 0x7f, 0x57, 0xeb, 0x00, 0xf0, 0x00, 0x00, 0x24, 0xb2, 0x4f, 0x00, 0x78, 0xec, 0x18, 0x00, 0x00, 0xc1, 0x7f ]
|
||||
arch: "CS_ARCH_SYSTEMZ"
|
||||
options: [ CS_OPT_DETAIL, CS_MODE_BIG_ENDIAN, CS_MODE_SYSTEMZ_ARCH14 ]
|
||||
address: 0x1000
|
||||
expected:
|
||||
insns:
|
||||
-
|
||||
asm_text: "adb %f0, 0"
|
||||
details:
|
||||
systemz:
|
||||
operands:
|
||||
-
|
||||
type: SYSTEMZ_OP_REG
|
||||
reg: f0
|
||||
-
|
||||
type: SYSTEMZ_OP_MEM
|
||||
mem_am: SYSTEMZ_AM_BDX
|
||||
mem_disp: 0x0
|
||||
-
|
||||
asm_text: "a %r0, 0xfff(%r15,%r1)"
|
||||
details:
|
||||
systemz:
|
||||
operands:
|
||||
-
|
||||
type: SYSTEMZ_OP_REG
|
||||
reg: "r0"
|
||||
-
|
||||
type: SYSTEMZ_OP_MEM
|
||||
mem_base: "r1"
|
||||
mem_index: "r15"
|
||||
mem_disp: 0xfff
|
||||
-
|
||||
asm_text: "afi %r0, -0x80000000"
|
||||
details:
|
||||
systemz:
|
||||
operands:
|
||||
-
|
||||
type: SYSTEMZ_OP_REG
|
||||
reg: "r0"
|
||||
-
|
||||
type: SYSTEMZ_OP_IMM
|
||||
imm_width: 32
|
||||
imm: -0x80000000
|
||||
-
|
||||
asm_text: "br %r7"
|
||||
details:
|
||||
systemz:
|
||||
operands:
|
||||
-
|
||||
type: SYSTEMZ_OP_REG
|
||||
reg: "r7"
|
||||
-
|
||||
asm_text: "xiy 0x7ffff(%r15), 0x2a"
|
||||
details:
|
||||
systemz:
|
||||
operands:
|
||||
-
|
||||
type: SYSTEMZ_OP_MEM
|
||||
mem_base: "r15"
|
||||
mem_disp: 0x7ffff
|
||||
-
|
||||
type: SYSTEMZ_OP_IMM
|
||||
imm_width: 8
|
||||
imm: 0x2a
|
||||
-
|
||||
asm_text: "xy %r0, 0x7ffff(%r1,%r15)"
|
||||
details:
|
||||
systemz:
|
||||
operands:
|
||||
-
|
||||
type: SYSTEMZ_OP_REG
|
||||
reg: "r0"
|
||||
-
|
||||
type: SYSTEMZ_OP_MEM
|
||||
mem_base: "r15"
|
||||
mem_index: "r1"
|
||||
mem_disp: 0x7ffff
|
||||
-
|
||||
asm_text: "stmg %r0, %r0, 0(%r15)"
|
||||
details:
|
||||
systemz:
|
||||
operands:
|
||||
-
|
||||
type: SYSTEMZ_OP_REG
|
||||
reg: "r0"
|
||||
-
|
||||
type: SYSTEMZ_OP_REG
|
||||
reg: "r0"
|
||||
-
|
||||
type: SYSTEMZ_OP_MEM
|
||||
mem_base: "r15"
|
||||
-
|
||||
asm_text: "ear %r7, %a8"
|
||||
details:
|
||||
systemz:
|
||||
operands:
|
||||
-
|
||||
type: SYSTEMZ_OP_REG
|
||||
reg: "r7"
|
||||
-
|
||||
type: SYSTEMZ_OP_REG
|
||||
reg: a8
|
||||
-
|
||||
asm_text: "clije %r1, 0xc1, 0x1028"
|
||||
details:
|
||||
systemz:
|
||||
operands:
|
||||
-
|
||||
type: SYSTEMZ_OP_REG
|
||||
reg: "r1"
|
||||
-
|
||||
type: SYSTEMZ_OP_IMM
|
||||
imm_width: 8
|
||||
imm: 0xc1
|
||||
-
|
||||
type: SYSTEMZ_OP_IMM
|
||||
imm_width: 0
|
||||
imm: 0x1028
|
||||
@@ -0,0 +1,191 @@
|
||||
test_cases:
|
||||
-
|
||||
input:
|
||||
bytes: [ 0x01, 0xac, 0x88, 0x40, 0x81, 0xac, 0x88, 0x43, 0x00, 0x00, 0x00, 0x00, 0x02, 0x90, 0x32, 0x96, 0x02, 0x80, 0x46, 0x9e, 0x05, 0x3c, 0x83, 0xe6, 0x0b, 0x0c, 0x8b, 0x24 ]
|
||||
arch: "tms320c64x"
|
||||
options: [ CS_OPT_DETAIL, CS_MODE_BIG_ENDIAN ]
|
||||
address: 0x1000
|
||||
expected:
|
||||
insns:
|
||||
-
|
||||
asm_text: "add.D1 a11, a4, a3"
|
||||
details:
|
||||
tms320c64x:
|
||||
operands:
|
||||
-
|
||||
type: TMS320C64X_OP_REG
|
||||
reg: a11
|
||||
-
|
||||
type: TMS320C64X_OP_REG
|
||||
reg: a4
|
||||
-
|
||||
type: TMS320C64X_OP_REG
|
||||
reg: a3
|
||||
funit_unit: TMS320C64X_FUNIT_D
|
||||
funit_side: 1
|
||||
funit_side_set: true
|
||||
parallel: 0
|
||||
parallel_set: true
|
||||
-
|
||||
asm_text: "[ a1] add.D2 b11, b4, b3 ||"
|
||||
details:
|
||||
tms320c64x:
|
||||
operands:
|
||||
-
|
||||
type: TMS320C64X_OP_REG
|
||||
reg: b11
|
||||
-
|
||||
type: TMS320C64X_OP_REG
|
||||
reg: b4
|
||||
-
|
||||
type: TMS320C64X_OP_REG
|
||||
reg: b3
|
||||
funit_unit: TMS320C64X_FUNIT_D
|
||||
funit_side: 2
|
||||
funit_side_set: true
|
||||
cond_reg: a1
|
||||
cond_zero: -1
|
||||
parallel: 1
|
||||
parallel_set: true
|
||||
-
|
||||
asm_text: "NOP"
|
||||
details:
|
||||
tms320c64x:
|
||||
funit_unit: TMS320C64X_FUNIT_NO
|
||||
parallel: 0
|
||||
parallel_set: true
|
||||
-
|
||||
asm_text: "ldbu.D1T2 *++a4[1], b5"
|
||||
details:
|
||||
tms320c64x:
|
||||
operands:
|
||||
-
|
||||
type: TMS320C64X_OP_MEM
|
||||
mem_base: a4
|
||||
mem_disptype: TMS320C64X_MEM_DISP_CONSTANT
|
||||
mem_disp_const: 0x1
|
||||
mem_unit: 2
|
||||
mem_direction: TMS320C64X_MEM_DIR_FW
|
||||
mem_modify: TMS320C64X_MEM_MOD_PRE
|
||||
mem_scaled: 1
|
||||
-
|
||||
type: TMS320C64X_OP_REG
|
||||
reg: b5
|
||||
funit_unit: TMS320C64X_FUNIT_D
|
||||
funit_side: 2
|
||||
funit_side_set: true
|
||||
parallel: 0
|
||||
parallel_set: true
|
||||
-
|
||||
asm_text: "ldbu.D2T2 *+b15[0x46], b5"
|
||||
details:
|
||||
tms320c64x:
|
||||
operands:
|
||||
-
|
||||
type: TMS320C64X_OP_MEM
|
||||
mem_base: b15
|
||||
mem_disptype: TMS320C64X_MEM_DISP_CONSTANT
|
||||
mem_disp_const: 0x46
|
||||
mem_unit: 2
|
||||
mem_direction: TMS320C64X_MEM_DIR_FW
|
||||
mem_modify: TMS320C64X_MEM_MOD_NO
|
||||
mem_scaled: -1
|
||||
-
|
||||
type: TMS320C64X_OP_REG
|
||||
reg: b5
|
||||
funit_unit: TMS320C64X_FUNIT_D
|
||||
funit_side: 2
|
||||
funit_side_set: true
|
||||
parallel: 0
|
||||
parallel_set: true
|
||||
-
|
||||
asm_text: "lddw.D1T2 *+a15[4], b11:b10"
|
||||
details:
|
||||
tms320c64x:
|
||||
operands:
|
||||
-
|
||||
type: TMS320C64X_OP_MEM
|
||||
mem_base: a15
|
||||
mem_disptype: TMS320C64X_MEM_DISP_CONSTANT
|
||||
mem_disp_const: 0x4
|
||||
mem_unit: 2
|
||||
mem_direction: TMS320C64X_MEM_DIR_FW
|
||||
mem_modify: TMS320C64X_MEM_MOD_NO
|
||||
mem_scaled: 1
|
||||
-
|
||||
type: TMS320C64X_OP_REGPAIR
|
||||
reg_pair_0: b11
|
||||
reg_pair_1: b10
|
||||
funit_unit: TMS320C64X_FUNIT_D
|
||||
funit_side: 2
|
||||
funit_side_set: true
|
||||
parallel: 0
|
||||
parallel_set: true
|
||||
-
|
||||
asm_text: "ldndw.D1T1 *+a3(a4), a23:a22"
|
||||
details:
|
||||
tms320c64x:
|
||||
operands:
|
||||
-
|
||||
type: TMS320C64X_OP_MEM
|
||||
mem_base: a3
|
||||
mem_disptype: TMS320C64X_MEM_DISP_REGISTER
|
||||
mem_disp_reg: a4
|
||||
mem_unit: 1
|
||||
mem_direction: TMS320C64X_MEM_DIR_FW
|
||||
mem_modify: TMS320C64X_MEM_MOD_NO
|
||||
mem_scaled: -1
|
||||
-
|
||||
type: TMS320C64X_OP_REGPAIR
|
||||
reg_pair_0: a23
|
||||
reg_pair_1: a22
|
||||
funit_unit: TMS320C64X_FUNIT_D
|
||||
funit_side: 1
|
||||
funit_side_set: true
|
||||
parallel: 0
|
||||
parallel_set: true
|
||||
-
|
||||
input:
|
||||
bytes: [ 0xa9, 0xff, 0x7f, 0x02 ]
|
||||
name: "Little/big endian test"
|
||||
arch: "tms320c64x"
|
||||
options: [ CS_OPT_DETAIL, CS_MODE_LITTLE_ENDIAN ]
|
||||
address: 0x1000
|
||||
expected:
|
||||
insns:
|
||||
-
|
||||
asm_text: "mvk.S1 -1, a4 ||"
|
||||
-
|
||||
input:
|
||||
bytes: [ 0x02, 0x7f, 0xff, 0xa9 ]
|
||||
name: "Little/big endian test"
|
||||
arch: "tms320c64x"
|
||||
options: [ CS_OPT_DETAIL, CS_MODE_BIG_ENDIAN ]
|
||||
address: 0x1000
|
||||
expected:
|
||||
insns:
|
||||
-
|
||||
asm_text: "mvk.S1 -1, a4 ||"
|
||||
-
|
||||
input:
|
||||
bytes: [ 0xa9, 0xff, 0x7f, 0x02 ]
|
||||
name: "Little/big endian test no detail fixup."
|
||||
arch: "tms320c64x"
|
||||
options: [ CS_MODE_LITTLE_ENDIAN ]
|
||||
address: 0x1000
|
||||
expected:
|
||||
insns:
|
||||
-
|
||||
asm_text: "mvk -1, a4"
|
||||
-
|
||||
input:
|
||||
bytes: [ 0x02, 0x7f, 0xff, 0xa9 ]
|
||||
name: "Little/big endian test no detail fixup"
|
||||
arch: "tms320c64x"
|
||||
options: [ CS_MODE_BIG_ENDIAN ]
|
||||
address: 0x1000
|
||||
expected:
|
||||
insns:
|
||||
-
|
||||
asm_text: "mvk -1, a4"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,58 @@
|
||||
test_cases:
|
||||
-
|
||||
input:
|
||||
bytes: [ 0x20, 0x00, 0x20, 0x01, 0x41, 0x20, 0x10, 0xc9, 0x01, 0x45, 0x0b ]
|
||||
arch: "wasm"
|
||||
options: [ CS_OPT_DETAIL ]
|
||||
address: 0x0
|
||||
expected:
|
||||
insns:
|
||||
-
|
||||
asm_text: "get_local 0x0"
|
||||
details:
|
||||
groups: [ WASM_GRP_VARIABLE ]
|
||||
wasm:
|
||||
operands:
|
||||
-
|
||||
type: WASM_OP_VARUINT32
|
||||
varuint32: 0x0
|
||||
size: 1
|
||||
-
|
||||
asm_text: "get_local 0x1"
|
||||
details:
|
||||
groups: [ WASM_GRP_VARIABLE ]
|
||||
wasm:
|
||||
operands:
|
||||
-
|
||||
type: WASM_OP_VARUINT32
|
||||
varuint32: 0x1
|
||||
size: 1
|
||||
-
|
||||
asm_text: "i32.const 0x20"
|
||||
details:
|
||||
groups: [ WASM_GRP_NUMBERIC ]
|
||||
wasm:
|
||||
operands:
|
||||
-
|
||||
type: WASM_OP_VARUINT32
|
||||
varuint32: 0x20
|
||||
size: 1
|
||||
-
|
||||
asm_text: "call 0xc9"
|
||||
details:
|
||||
groups: [ WASM_GRP_CONTROL ]
|
||||
wasm:
|
||||
operands:
|
||||
-
|
||||
type: WASM_OP_VARUINT32
|
||||
varuint32: 0xc9
|
||||
size: 2
|
||||
-
|
||||
asm_text: "i32.eqz"
|
||||
details:
|
||||
groups: [ WASM_GRP_NUMBERIC ]
|
||||
-
|
||||
asm_text: "end"
|
||||
details:
|
||||
groups: [ WASM_GRP_CONTROL ]
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,128 @@
|
||||
test_cases:
|
||||
-
|
||||
input:
|
||||
bytes: [ 0xfe, 0x0f, 0xfe, 0x17, 0x13, 0x17, 0xc6, 0xfe, 0xec, 0x17, 0x97, 0xf8, 0xec, 0x4f, 0x1f, 0xfd, 0xec, 0x37, 0x07, 0xf2, 0x45, 0x5b, 0xf9, 0xfa, 0x02, 0x06, 0x1b, 0x10, 0x09, 0xfd, 0xec, 0xa7 ]
|
||||
arch: "xcore"
|
||||
options: [ CS_OPT_DETAIL ]
|
||||
address: 0x0
|
||||
expected:
|
||||
insns:
|
||||
-
|
||||
asm_text: "get r11, ed"
|
||||
details:
|
||||
xcore:
|
||||
operands:
|
||||
-
|
||||
type: XCORE_OP_REG
|
||||
reg: r11
|
||||
-
|
||||
type: XCORE_OP_REG
|
||||
reg: ed
|
||||
-
|
||||
asm_text: "ldw et, sp[4]"
|
||||
details:
|
||||
xcore:
|
||||
operands:
|
||||
-
|
||||
type: XCORE_OP_REG
|
||||
reg: et
|
||||
-
|
||||
type: XCORE_OP_MEM
|
||||
mem_base: sp
|
||||
mem_disp: 0x4
|
||||
-
|
||||
asm_text: "setd res[r3], r4"
|
||||
details:
|
||||
xcore:
|
||||
operands:
|
||||
-
|
||||
type: XCORE_OP_REG
|
||||
reg: r4
|
||||
-
|
||||
asm_text: "init t[r2]:lr, r1"
|
||||
details:
|
||||
xcore:
|
||||
operands:
|
||||
-
|
||||
type: XCORE_OP_MEM
|
||||
mem_base: r2
|
||||
mem_index: lr
|
||||
-
|
||||
type: XCORE_OP_REG
|
||||
reg: r1
|
||||
-
|
||||
asm_text: "divu r9, r1, r3"
|
||||
details:
|
||||
xcore:
|
||||
operands:
|
||||
-
|
||||
type: XCORE_OP_REG
|
||||
reg: r9
|
||||
-
|
||||
type: XCORE_OP_REG
|
||||
reg: r1
|
||||
-
|
||||
type: XCORE_OP_REG
|
||||
reg: r3
|
||||
-
|
||||
asm_text: "lda16 r9, r3[-r11]"
|
||||
details:
|
||||
xcore:
|
||||
operands:
|
||||
-
|
||||
type: XCORE_OP_REG
|
||||
reg: r9
|
||||
-
|
||||
asm_text: "ldw dp, dp[0x81c5]"
|
||||
details:
|
||||
xcore:
|
||||
operands:
|
||||
-
|
||||
type: XCORE_OP_REG
|
||||
reg: dp
|
||||
-
|
||||
asm_text: "lmul r11, r0, r2, r5, r8, r10"
|
||||
details:
|
||||
xcore:
|
||||
operands:
|
||||
-
|
||||
type: XCORE_OP_REG
|
||||
reg: r11
|
||||
-
|
||||
type: XCORE_OP_REG
|
||||
reg: r0
|
||||
-
|
||||
type: XCORE_OP_REG
|
||||
reg: r2
|
||||
-
|
||||
type: XCORE_OP_REG
|
||||
reg: r5
|
||||
-
|
||||
type: XCORE_OP_REG
|
||||
reg: r8
|
||||
-
|
||||
type: XCORE_OP_REG
|
||||
reg: r10
|
||||
-
|
||||
asm_text: "add r1, r2, r3"
|
||||
details:
|
||||
xcore:
|
||||
operands:
|
||||
-
|
||||
type: XCORE_OP_REG
|
||||
reg: r1
|
||||
-
|
||||
type: XCORE_OP_REG
|
||||
reg: r2
|
||||
-
|
||||
type: XCORE_OP_REG
|
||||
reg: r3
|
||||
-
|
||||
asm_text: "ldaw r8, r2[-9]"
|
||||
details:
|
||||
xcore:
|
||||
operands:
|
||||
-
|
||||
type: XCORE_OP_REG
|
||||
reg: r8
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
test_cases:
|
||||
- input:
|
||||
bytes: [ 0x60, 0x51, 0x60, 0x1a, 0x23 ]
|
||||
arch: "CS_ARCH_XTENSA"
|
||||
options: [ CS_OPT_DETAIL ]
|
||||
expected:
|
||||
insns:
|
||||
- asm_text: "abs a5, a6"
|
||||
details:
|
||||
xtensa:
|
||||
format: XTENSA_INSN_FORM_RRR
|
||||
operands:
|
||||
- type: XTENSA_OP_REG
|
||||
reg: a5
|
||||
access: CS_AC_WRITE
|
||||
- type: XTENSA_OP_REG
|
||||
reg: a6
|
||||
access: CS_AC_READ
|
||||
- asm_text: "add.n a2, a3, a1"
|
||||
details:
|
||||
xtensa:
|
||||
format: XTENSA_INSN_FORM_RRRN
|
||||
operands:
|
||||
- type: XTENSA_OP_REG
|
||||
reg: a2
|
||||
access: CS_AC_WRITE
|
||||
- type: XTENSA_OP_REG
|
||||
reg: a3
|
||||
access: CS_AC_READ
|
||||
- type: XTENSA_OP_REG
|
||||
reg: a1
|
||||
access: CS_AC_READ
|
||||
- input:
|
||||
bytes: [ 0x18, 0x23 ]
|
||||
arch: "CS_ARCH_XTENSA"
|
||||
options: [ CS_OPT_DETAIL ]
|
||||
expected:
|
||||
insns:
|
||||
- asm_text: "l32i.n a1, a3, 8"
|
||||
details:
|
||||
xtensa:
|
||||
format: XTENSA_INSN_FORM_RRRN
|
||||
operands:
|
||||
- type: XTENSA_OP_REG
|
||||
reg: a1
|
||||
access: CS_AC_WRITE
|
||||
- type: XTENSA_OP_MEM
|
||||
mem_base: a3
|
||||
mem_disp: 8
|
||||
access: CS_AC_READ
|
||||
- input:
|
||||
bytes: [ 0x12, 0xaf, 0xff ]
|
||||
arch: "CS_ARCH_XTENSA"
|
||||
options: [ CS_OPT_DETAIL ]
|
||||
expected:
|
||||
insns:
|
||||
- asm_text: "movi a1, -1"
|
||||
details:
|
||||
xtensa:
|
||||
format: XTENSA_INSN_FORM_RRI8
|
||||
operands:
|
||||
- type: XTENSA_OP_REG
|
||||
reg: a1
|
||||
access: CS_AC_WRITE
|
||||
- type: XTENSA_OP_IMM
|
||||
imm: -1
|
||||
access: CS_AC_READ
|
||||
Reference in New Issue
Block a user