mirror of
https://github.com/radareorg/r2ghidra.git
synced 2026-11-07 06:25:57 -10:00
Update tests
This commit is contained in:
1 parent
167d00ba37
commit
d714a907b5
4 files changed
+132
-126
No files matched your search
@@ -1,5 +1,7 @@
|
||||
6502
|
||||
8051
|
||||
BPF
|
||||
eBPF
|
||||
Atmel
|
||||
AARCH64
|
||||
ARM
|
||||
|
||||
+16
-18
@@ -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
@@ -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
@@ -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
|
||||
|
||||
Reference in new issue
Block a user