Update tests

This commit is contained in:
pancake authored and pancake committed 2025-10-29 21:04:20 +01:00
1 parent 167d00ba37
commit d714a907b5
4 files changed
+132 -126

No files matched your search

+2
View File
@@ -1,5 +1,7 @@
6502
8051
BPF
eBPF
Atmel
AARCH64
ARM
+16 -18
View File
@@ -193,13 +193,22 @@ RUN
NAME=v850cmp
FILE=-
CMDS=<<EOF
e asm.cpu=v850
e asm.bits=32
e asm.arch=r2ghidra
pdga
e anal.arch
e anal.cpu
wx e731
ao 1~!pseudo
EOF
EXPECT=<<EOF
r2ghidra
address: 0x0
opcode: cmp r7, r6
esilcost: 0
disasm: cmp r7, r6
pseudo: v = r7 - r6
mnemonic: cmp
mask: ffff
id: 0
@@ -211,6 +220,10 @@ cycles: 0
esil: r7,NUM,r6,NUM,-,1,32,1,<<,-,&,4294967287,psw,NUM,&,1,32,1,<<,-,&,r7,NUM,r6,NUM,<,DUP,3,2,PICK,<<,1,32,1,<<,-,&,DUP,5,PICK,|,1,32,1,<<,-,&,psw,=,r6,NUM,r7,NUM,DUP,3,PICK,-,1,32,1,<<,-,&,31,4,PICK,>>,1,32,1,<<,-,&,DUP,0,SWAP,>>,1,8,1,<<,-,&,31,5,PICK,>>,1,32,1,<<,-,&,DUP,0,SWAP,>>,1,8,1,<<,-,&,31,6,PICK,>>,1,32,1,<<,-,&,DUP,0,SWAP,>>,1,8,1,<<,-,&,1,2,PICK,&,1,8,1,<<,-,&,4294967291,psw,NUM,&,1,32,1,<<,-,&,5,PICK,8,PICK,-,!,!,3,PICK,7,PICK,-,!,DUP,3,PICK,&,1,8,1,<<,-,&,DUP,2,2,PICK,<<,1,32,1,<<,-,&,DUP,7,PICK,|,1,32,1,<<,-,&,psw,=,4294967293,psw,NUM,&,1,32,1,<<,-,&,0,23,PICK,32,SWAP,~,SWAP,32,SWAP,~,SWAP,<,DUP,1,2,PICK,<<,1,32,1,<<,-,&,DUP,5,PICK,|,1,32,1,<<,-,&,psw,=,4294967294,psw,NUM,&,1,32,1,<<,-,&,0,27,PICK,-,!,DUP,DUP,4,PICK,|,1,32,1,<<,-,&,psw,=
family: cpu
EOF
RUN
NAME=v850load
FILE=-
CMDS=<<EOF
e asm.cpu=v850
e asm.bits=32
@@ -218,20 +231,15 @@ e asm.arch=r2ghidra
pdga
e anal.arch
e anal.cpu
wx e731
ao 1
wx 3d5f0500
ao 1~!pseudo
EOF
RUN
NAME=v850load
FILE=-
EXPECT=<<EOF
r2ghidra
address: 0x0
opcode: ld.w 0x4[r29], r11
esilcost: 4
disasm: ld.w 0x4[r29], r11
pseudo: ld.w 0x4[r29] r11
mnemonic: ld.w
mask: ffffffff
id: 0
@@ -243,14 +251,4 @@ cycles: 0
esil: 4,r29,NUM,+,1,32,1,<<,-,&,DUP,[4],r11,=
family: cpu
EOF
CMDS=<<EOF
e asm.cpu=v850
e asm.bits=32
e asm.arch=r2ghidra
pdga
e anal.arch
e anal.cpu
wx 3d5f0500
ao 1
EOF
RUN
+57 -54
View File
@@ -2299,6 +2299,7 @@ ARM:LE:32:v8-m
ARM:LE:32:v8T
ARM:LEBE:32:v7LEInstruction
ARM:LEBE:32:v8LEInstruction
BPF:LE:32:default
DATA:BE:64:default
DATA:LE:64:default
JVM:BE:32:default
@@ -2370,6 +2371,8 @@ avr8:LE:16:atmega256
avr8:LE:16:default
avr8:LE:16:extended
avr8:LE:24:xmega
eBPF:BE:64:default
eBPF:LE:64:default
hexagon:LE:32:default
sparc:BE:32:default
sparc:BE:64:default
@@ -2406,7 +2409,7 @@ add eax, 0xf
shr eax, 4
-----
0x08048540: PUSH EBP
(unique,0x9c00,4) = COPY EBP
(unique,0x20a80,4) = COPY EBP
ESP = INT_SUB ESP, 0x4
0x08048541: MOV EBP,ESP
EBP = COPY ESP
@@ -2416,20 +2419,20 @@ shr eax, 4
ESP = INT_SUB ESP, 0x88
SF = INT_SLESS ESP, 0x0
ZF = INT_EQUAL ESP, 0x0
(unique,0xdd80,4) = INT_AND ESP, 0xff
(unique,0xde00,1) = POPCOUNT (unique,0xdd80,4)
(unique,0xde80,1) = INT_AND (unique,0xde00,1), 0x1
PF = INT_EQUAL (unique,0xde80,1), 0x0
(unique,0x24c00,4) = INT_AND ESP, 0xff
(unique,0x24c80,1) = POPCOUNT (unique,0x24c00,4)
(unique,0x24d00,1) = INT_AND (unique,0x24c80,1), 0x1
PF = INT_EQUAL (unique,0x24d00,1), 0x0
0x08048549: AND ESP,0xfffffff0
CF = COPY 0x0
OF = COPY 0x0
ESP = INT_AND ESP, 0xfffffff0
SF = INT_SLESS ESP, 0x0
ZF = INT_EQUAL ESP, 0x0
(unique,0xdd80,4) = INT_AND ESP, 0xff
(unique,0xde00,1) = POPCOUNT (unique,0xdd80,4)
(unique,0xde80,1) = INT_AND (unique,0xde00,1), 0x1
PF = INT_EQUAL (unique,0xde80,1), 0x0
(unique,0x24c00,4) = INT_AND ESP, 0xff
(unique,0x24c80,1) = POPCOUNT (unique,0x24c00,4)
(unique,0x24d00,1) = INT_AND (unique,0x24c80,1), 0x1
PF = INT_EQUAL (unique,0x24d00,1), 0x0
0x0804854c: MOV EAX,0x0
EAX = COPY 0x0
0x08048551: ADD EAX,0xf
@@ -2438,58 +2441,58 @@ shr eax, 4
EAX = INT_ADD EAX, 0xf
SF = INT_SLESS EAX, 0x0
ZF = INT_EQUAL EAX, 0x0
(unique,0xdd80,4) = INT_AND EAX, 0xff
(unique,0xde00,1) = POPCOUNT (unique,0xdd80,4)
(unique,0xde80,1) = INT_AND (unique,0xde00,1), 0x1
PF = INT_EQUAL (unique,0xde80,1), 0x0
(unique,0x24c00,4) = INT_AND EAX, 0xff
(unique,0x24c80,1) = POPCOUNT (unique,0x24c00,4)
(unique,0x24d00,1) = INT_AND (unique,0x24c80,1), 0x1
PF = INT_EQUAL (unique,0x24d00,1), 0x0
0x08048554: ADD EAX,0xf
CF = INT_CARRY EAX, 0xf
OF = INT_SCARRY EAX, 0xf
EAX = INT_ADD EAX, 0xf
SF = INT_SLESS EAX, 0x0
ZF = INT_EQUAL EAX, 0x0
(unique,0xdd80,4) = INT_AND EAX, 0xff
(unique,0xde00,1) = POPCOUNT (unique,0xdd80,4)
(unique,0xde80,1) = INT_AND (unique,0xde00,1), 0x1
PF = INT_EQUAL (unique,0xde80,1), 0x0
(unique,0x24c00,4) = INT_AND EAX, 0xff
(unique,0x24c80,1) = POPCOUNT (unique,0x24c00,4)
(unique,0x24d00,1) = INT_AND (unique,0x24c80,1), 0x1
PF = INT_EQUAL (unique,0x24d00,1), 0x0
0x08048557: SHR EAX,0x4
(unique,0x3ec00,4) = INT_AND 0x4, 0x1f
(unique,0x3ec80,4) = COPY EAX
EAX = INT_RIGHT EAX, (unique,0x3ec00,4)
(unique,0x11280,1) = INT_NOTEQUAL (unique,0x3ec00,4), 0x0
(unique,0x11300,4) = INT_SUB (unique,0x3ec00,4), 0x1
(unique,0x11380,4) = INT_RIGHT (unique,0x3ec80,4), (unique,0x11300,4)
(unique,0x11400,4) = INT_AND (unique,0x11380,4), 0x1
(unique,0x11500,1) = INT_NOTEQUAL (unique,0x11400,4), 0x0
(unique,0x11580,1) = BOOL_NEGATE (unique,0x11280,1)
(unique,0x11600,1) = INT_AND (unique,0x11580,1), CF
(unique,0x11680,1) = INT_AND (unique,0x11280,1), (unique,0x11500,1)
CF = INT_OR (unique,0x11600,1), (unique,0x11680,1)
(unique,0x11800,1) = INT_EQUAL (unique,0x3ec00,4), 0x1
(unique,0x11900,1) = INT_SLESS (unique,0x3ec80,4), 0x0
(unique,0x11980,1) = BOOL_NEGATE (unique,0x11800,1)
(unique,0x11a00,1) = INT_AND (unique,0x11980,1), OF
(unique,0x11a80,1) = INT_AND (unique,0x11800,1), (unique,0x11900,1)
OF = INT_OR (unique,0x11a00,1), (unique,0x11a80,1)
(unique,0xe000,1) = INT_NOTEQUAL (unique,0x3ec00,4), 0x0
(unique,0xe100,1) = INT_SLESS EAX, 0x0
(unique,0xe180,1) = BOOL_NEGATE (unique,0xe000,1)
(unique,0xe200,1) = INT_AND (unique,0xe180,1), SF
(unique,0xe280,1) = INT_AND (unique,0xe000,1), (unique,0xe100,1)
SF = INT_OR (unique,0xe200,1), (unique,0xe280,1)
(unique,0xe400,1) = INT_EQUAL EAX, 0x0
(unique,0xe480,1) = BOOL_NEGATE (unique,0xe000,1)
(unique,0xe500,1) = INT_AND (unique,0xe480,1), ZF
(unique,0xe580,1) = INT_AND (unique,0xe000,1), (unique,0xe400,1)
ZF = INT_OR (unique,0xe500,1), (unique,0xe580,1)
(unique,0xe680,4) = INT_AND EAX, 0xff
(unique,0xe700,1) = POPCOUNT (unique,0xe680,4)
(unique,0xe780,1) = INT_AND (unique,0xe700,1), 0x1
(unique,0xe880,1) = INT_EQUAL (unique,0xe780,1), 0x0
(unique,0xe900,1) = BOOL_NEGATE (unique,0xe000,1)
(unique,0xe980,1) = INT_AND (unique,0xe900,1), PF
(unique,0xea00,1) = INT_AND (unique,0xe000,1), (unique,0xe880,1)
PF = INT_OR (unique,0xe980,1), (unique,0xea00,1)
(unique,0x55c80,4) = INT_AND 0x4, 0x1f
(unique,0x55d00,4) = COPY EAX
EAX = INT_RIGHT EAX, (unique,0x55c80,4)
(unique,0x28100,1) = INT_NOTEQUAL (unique,0x55c80,4), 0x0
(unique,0x28180,4) = INT_SUB (unique,0x55c80,4), 0x1
(unique,0x28200,4) = INT_RIGHT (unique,0x55d00,4), (unique,0x28180,4)
(unique,0x28280,4) = INT_AND (unique,0x28200,4), 0x1
(unique,0x28380,1) = INT_NOTEQUAL (unique,0x28280,4), 0x0
(unique,0x28400,1) = BOOL_NEGATE (unique,0x28100,1)
(unique,0x28480,1) = INT_AND (unique,0x28400,1), CF
(unique,0x28500,1) = INT_AND (unique,0x28100,1), (unique,0x28380,1)
CF = INT_OR (unique,0x28480,1), (unique,0x28500,1)
(unique,0x28680,1) = INT_EQUAL (unique,0x55c80,4), 0x1
(unique,0x28780,1) = INT_SLESS (unique,0x55d00,4), 0x0
(unique,0x28800,1) = BOOL_NEGATE (unique,0x28680,1)
(unique,0x28880,1) = INT_AND (unique,0x28800,1), OF
(unique,0x28900,1) = INT_AND (unique,0x28680,1), (unique,0x28780,1)
OF = INT_OR (unique,0x28880,1), (unique,0x28900,1)
(unique,0x24e80,1) = INT_NOTEQUAL (unique,0x55c80,4), 0x0
(unique,0x24f80,1) = INT_SLESS EAX, 0x0
(unique,0x25000,1) = BOOL_NEGATE (unique,0x24e80,1)
(unique,0x25080,1) = INT_AND (unique,0x25000,1), SF
(unique,0x25100,1) = INT_AND (unique,0x24e80,1), (unique,0x24f80,1)
SF = INT_OR (unique,0x25080,1), (unique,0x25100,1)
(unique,0x25280,1) = INT_EQUAL EAX, 0x0
(unique,0x25300,1) = BOOL_NEGATE (unique,0x24e80,1)
(unique,0x25380,1) = INT_AND (unique,0x25300,1), ZF
(unique,0x25400,1) = INT_AND (unique,0x24e80,1), (unique,0x25280,1)
ZF = INT_OR (unique,0x25380,1), (unique,0x25400,1)
(unique,0x25500,4) = INT_AND EAX, 0xff
(unique,0x25580,1) = POPCOUNT (unique,0x25500,4)
(unique,0x25600,1) = INT_AND (unique,0x25580,1), 0x1
(unique,0x25700,1) = INT_EQUAL (unique,0x25600,1), 0x0
(unique,0x25780,1) = BOOL_NEGATE (unique,0x24e80,1)
(unique,0x25800,1) = INT_AND (unique,0x25780,1), PF
(unique,0x25880,1) = INT_AND (unique,0x24e80,1), (unique,0x25700,1)
PF = INT_OR (unique,0x25800,1), (unique,0x25880,1)
EOF
CMDS=<<EOF
s main
+57 -54
View File
@@ -2297,6 +2297,7 @@ ARM:LE:32:v8-m
ARM:LE:32:v8T
ARM:LEBE:32:v7LEInstruction
ARM:LEBE:32:v8LEInstruction
BPF:LE:32:default
DATA:BE:64:default
DATA:LE:64:default
JVM:BE:32:default
@@ -2368,6 +2369,8 @@ avr8:LE:16:atmega256
avr8:LE:16:default
avr8:LE:16:extended
avr8:LE:24:xmega
eBPF:BE:64:default
eBPF:LE:64:default
hexagon:LE:32:default
sparc:BE:32:default
sparc:BE:64:default
@@ -2404,7 +2407,7 @@ add eax, 0xf
shr eax, 4
-----
0x08048540: PUSH EBP
(unique,0x9c00,4) = COPY EBP
(unique,0x20a80,4) = COPY EBP
ESP = INT_SUB ESP, 0x4
0x08048541: MOV EBP,ESP
EBP = COPY ESP
@@ -2414,20 +2417,20 @@ shr eax, 4
ESP = INT_SUB ESP, 0x88
SF = INT_SLESS ESP, 0x0
ZF = INT_EQUAL ESP, 0x0
(unique,0xdd80,4) = INT_AND ESP, 0xff
(unique,0xde00,1) = POPCOUNT (unique,0xdd80,4)
(unique,0xde80,1) = INT_AND (unique,0xde00,1), 0x1
PF = INT_EQUAL (unique,0xde80,1), 0x0
(unique,0x24c00,4) = INT_AND ESP, 0xff
(unique,0x24c80,1) = POPCOUNT (unique,0x24c00,4)
(unique,0x24d00,1) = INT_AND (unique,0x24c80,1), 0x1
PF = INT_EQUAL (unique,0x24d00,1), 0x0
0x08048549: AND ESP,0xfffffff0
CF = COPY 0x0
OF = COPY 0x0
ESP = INT_AND ESP, 0xfffffff0
SF = INT_SLESS ESP, 0x0
ZF = INT_EQUAL ESP, 0x0
(unique,0xdd80,4) = INT_AND ESP, 0xff
(unique,0xde00,1) = POPCOUNT (unique,0xdd80,4)
(unique,0xde80,1) = INT_AND (unique,0xde00,1), 0x1
PF = INT_EQUAL (unique,0xde80,1), 0x0
(unique,0x24c00,4) = INT_AND ESP, 0xff
(unique,0x24c80,1) = POPCOUNT (unique,0x24c00,4)
(unique,0x24d00,1) = INT_AND (unique,0x24c80,1), 0x1
PF = INT_EQUAL (unique,0x24d00,1), 0x0
0x0804854c: MOV EAX,0x0
EAX = COPY 0x0
0x08048551: ADD EAX,0xf
@@ -2436,58 +2439,58 @@ shr eax, 4
EAX = INT_ADD EAX, 0xf
SF = INT_SLESS EAX, 0x0
ZF = INT_EQUAL EAX, 0x0
(unique,0xdd80,4) = INT_AND EAX, 0xff
(unique,0xde00,1) = POPCOUNT (unique,0xdd80,4)
(unique,0xde80,1) = INT_AND (unique,0xde00,1), 0x1
PF = INT_EQUAL (unique,0xde80,1), 0x0
(unique,0x24c00,4) = INT_AND EAX, 0xff
(unique,0x24c80,1) = POPCOUNT (unique,0x24c00,4)
(unique,0x24d00,1) = INT_AND (unique,0x24c80,1), 0x1
PF = INT_EQUAL (unique,0x24d00,1), 0x0
0x08048554: ADD EAX,0xf
CF = INT_CARRY EAX, 0xf
OF = INT_SCARRY EAX, 0xf
EAX = INT_ADD EAX, 0xf
SF = INT_SLESS EAX, 0x0
ZF = INT_EQUAL EAX, 0x0
(unique,0xdd80,4) = INT_AND EAX, 0xff
(unique,0xde00,1) = POPCOUNT (unique,0xdd80,4)
(unique,0xde80,1) = INT_AND (unique,0xde00,1), 0x1
PF = INT_EQUAL (unique,0xde80,1), 0x0
(unique,0x24c00,4) = INT_AND EAX, 0xff
(unique,0x24c80,1) = POPCOUNT (unique,0x24c00,4)
(unique,0x24d00,1) = INT_AND (unique,0x24c80,1), 0x1
PF = INT_EQUAL (unique,0x24d00,1), 0x0
0x08048557: SHR EAX,0x4
(unique,0x3ec00,4) = INT_AND 0x4, 0x1f
(unique,0x3ec80,4) = COPY EAX
EAX = INT_RIGHT EAX, (unique,0x3ec00,4)
(unique,0x11280,1) = INT_NOTEQUAL (unique,0x3ec00,4), 0x0
(unique,0x11300,4) = INT_SUB (unique,0x3ec00,4), 0x1
(unique,0x11380,4) = INT_RIGHT (unique,0x3ec80,4), (unique,0x11300,4)
(unique,0x11400,4) = INT_AND (unique,0x11380,4), 0x1
(unique,0x11500,1) = INT_NOTEQUAL (unique,0x11400,4), 0x0
(unique,0x11580,1) = BOOL_NEGATE (unique,0x11280,1)
(unique,0x11600,1) = INT_AND (unique,0x11580,1), CF
(unique,0x11680,1) = INT_AND (unique,0x11280,1), (unique,0x11500,1)
CF = INT_OR (unique,0x11600,1), (unique,0x11680,1)
(unique,0x11800,1) = INT_EQUAL (unique,0x3ec00,4), 0x1
(unique,0x11900,1) = INT_SLESS (unique,0x3ec80,4), 0x0
(unique,0x11980,1) = BOOL_NEGATE (unique,0x11800,1)
(unique,0x11a00,1) = INT_AND (unique,0x11980,1), OF
(unique,0x11a80,1) = INT_AND (unique,0x11800,1), (unique,0x11900,1)
OF = INT_OR (unique,0x11a00,1), (unique,0x11a80,1)
(unique,0xe000,1) = INT_NOTEQUAL (unique,0x3ec00,4), 0x0
(unique,0xe100,1) = INT_SLESS EAX, 0x0
(unique,0xe180,1) = BOOL_NEGATE (unique,0xe000,1)
(unique,0xe200,1) = INT_AND (unique,0xe180,1), SF
(unique,0xe280,1) = INT_AND (unique,0xe000,1), (unique,0xe100,1)
SF = INT_OR (unique,0xe200,1), (unique,0xe280,1)
(unique,0xe400,1) = INT_EQUAL EAX, 0x0
(unique,0xe480,1) = BOOL_NEGATE (unique,0xe000,1)
(unique,0xe500,1) = INT_AND (unique,0xe480,1), ZF
(unique,0xe580,1) = INT_AND (unique,0xe000,1), (unique,0xe400,1)
ZF = INT_OR (unique,0xe500,1), (unique,0xe580,1)
(unique,0xe680,4) = INT_AND EAX, 0xff
(unique,0xe700,1) = POPCOUNT (unique,0xe680,4)
(unique,0xe780,1) = INT_AND (unique,0xe700,1), 0x1
(unique,0xe880,1) = INT_EQUAL (unique,0xe780,1), 0x0
(unique,0xe900,1) = BOOL_NEGATE (unique,0xe000,1)
(unique,0xe980,1) = INT_AND (unique,0xe900,1), PF
(unique,0xea00,1) = INT_AND (unique,0xe000,1), (unique,0xe880,1)
PF = INT_OR (unique,0xe980,1), (unique,0xea00,1)
(unique,0x55c80,4) = INT_AND 0x4, 0x1f
(unique,0x55d00,4) = COPY EAX
EAX = INT_RIGHT EAX, (unique,0x55c80,4)
(unique,0x28100,1) = INT_NOTEQUAL (unique,0x55c80,4), 0x0
(unique,0x28180,4) = INT_SUB (unique,0x55c80,4), 0x1
(unique,0x28200,4) = INT_RIGHT (unique,0x55d00,4), (unique,0x28180,4)
(unique,0x28280,4) = INT_AND (unique,0x28200,4), 0x1
(unique,0x28380,1) = INT_NOTEQUAL (unique,0x28280,4), 0x0
(unique,0x28400,1) = BOOL_NEGATE (unique,0x28100,1)
(unique,0x28480,1) = INT_AND (unique,0x28400,1), CF
(unique,0x28500,1) = INT_AND (unique,0x28100,1), (unique,0x28380,1)
CF = INT_OR (unique,0x28480,1), (unique,0x28500,1)
(unique,0x28680,1) = INT_EQUAL (unique,0x55c80,4), 0x1
(unique,0x28780,1) = INT_SLESS (unique,0x55d00,4), 0x0
(unique,0x28800,1) = BOOL_NEGATE (unique,0x28680,1)
(unique,0x28880,1) = INT_AND (unique,0x28800,1), OF
(unique,0x28900,1) = INT_AND (unique,0x28680,1), (unique,0x28780,1)
OF = INT_OR (unique,0x28880,1), (unique,0x28900,1)
(unique,0x24e80,1) = INT_NOTEQUAL (unique,0x55c80,4), 0x0
(unique,0x24f80,1) = INT_SLESS EAX, 0x0
(unique,0x25000,1) = BOOL_NEGATE (unique,0x24e80,1)
(unique,0x25080,1) = INT_AND (unique,0x25000,1), SF
(unique,0x25100,1) = INT_AND (unique,0x24e80,1), (unique,0x24f80,1)
SF = INT_OR (unique,0x25080,1), (unique,0x25100,1)
(unique,0x25280,1) = INT_EQUAL EAX, 0x0
(unique,0x25300,1) = BOOL_NEGATE (unique,0x24e80,1)
(unique,0x25380,1) = INT_AND (unique,0x25300,1), ZF
(unique,0x25400,1) = INT_AND (unique,0x24e80,1), (unique,0x25280,1)
ZF = INT_OR (unique,0x25380,1), (unique,0x25400,1)
(unique,0x25500,4) = INT_AND EAX, 0xff
(unique,0x25580,1) = POPCOUNT (unique,0x25500,4)
(unique,0x25600,1) = INT_AND (unique,0x25580,1), 0x1
(unique,0x25700,1) = INT_EQUAL (unique,0x25600,1), 0x0
(unique,0x25780,1) = BOOL_NEGATE (unique,0x24e80,1)
(unique,0x25800,1) = INT_AND (unique,0x25780,1), PF
(unique,0x25880,1) = INT_AND (unique,0x24e80,1), (unique,0x25700,1)
PF = INT_OR (unique,0x25800,1), (unique,0x25880,1)
EOF
CMDS=<<EOF
s main