Fix analysis tests

This commit is contained in:
Dhruv Maroo 2023-06-11 23:36:09 +08:00 committed by Anton Kochkov
parent 2f6f2cfdce
commit 5f14d0e0b5
4 changed files with 854 additions and 914 deletions

View file

@ -59,7 +59,7 @@ EXPECT=<<EOF
"opcode": "seq",
"x": {
"opcode": "set",
"dst": "sp",
"dst": "final",
"src": {
"opcode": "-",
"x": {
@ -74,110 +74,96 @@ EXPECT=<<EOF
}
},
"y": {
"opcode": "storew",
"mem": 0,
"key": {
"opcode": "+",
"x": {
"opcode": "+",
"x": {
"opcode": "cast",
"value": {
"opcode": "var",
"value": "sp"
},
"length": 16,
"fill": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
"opcode": "seq",
"x": {
"opcode": "storew",
"mem": 0,
"key": {
"opcode": "var",
"value": "final"
},
"y": {
"opcode": "<<",
"x": {
"opcode": "cast",
"value": {
"opcode": "var",
"value": "ss"
},
"length": 16,
"fill": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x4",
"len": 8
},
"fill_bit": {
"opcode": "bool",
"value": false
}
}
},
"value": {
"opcode": "cast",
"value": {
"opcode": "|",
"x": {
"opcode": "<<",
"opcode": "cast",
"value": {
"opcode": "|",
"x": {
"opcode": "|",
"opcode": "<<",
"x": {
"opcode": "<<",
"opcode": "|",
"x": {
"opcode": "|",
"opcode": "<<",
"x": {
"opcode": "<<",
"opcode": "|",
"x": {
"opcode": "|",
"opcode": "<<",
"x": {
"opcode": "<<",
"opcode": "|",
"x": {
"opcode": "|",
"opcode": "<<",
"x": {
"opcode": "<<",
"opcode": "|",
"x": {
"opcode": "|",
"opcode": "<<",
"x": {
"opcode": "<<",
"opcode": "|",
"x": {
"opcode": "|",
"opcode": "<<",
"x": {
"opcode": "<<",
"opcode": "|",
"x": {
"opcode": "|",
"opcode": "<<",
"x": {
"opcode": "<<",
"opcode": "|",
"x": {
"opcode": "|",
"opcode": "<<",
"x": {
"opcode": "<<",
"opcode": "|",
"x": {
"opcode": "|",
"opcode": "<<",
"x": {
"opcode": "<<",
"opcode": "|",
"x": {
"opcode": "|",
"opcode": "<<",
"x": {
"opcode": "<<",
"opcode": "|",
"x": {
"opcode": "|",
"opcode": "<<",
"x": {
"opcode": "<<",
"opcode": "|",
"x": {
"opcode": "ite",
"condition": {
"opcode": "<<",
"x": {
"opcode": "ite",
"condition": {
"opcode": "bool",
"value": false
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
},
"y": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "nt"
},
"x": {
"opcode": "bitv",
@ -189,323 +175,305 @@ EXPECT=<<EOF
"bits": "0x0",
"len": 16
}
},
"y": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "nt"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
"opcode": "bitv",
"bits": "0x2",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x2",
"bits": "0x3",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x3",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "of"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
}
},
"y": {
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "of"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "df"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
}
},
"y": {
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "df"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "if"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
}
},
"y": {
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "if"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "tf"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
}
},
"y": {
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "tf"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "zf"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
}
},
"y": {
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "zf"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "zf"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
}
},
"y": {
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "zf"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
"opcode": "bitv",
"bits": "0x2",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x2",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "af"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
}
},
"y": {
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "af"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
"opcode": "bitv",
"bits": "0x2",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x2",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "pf"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
}
},
"y": {
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "pf"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "cf"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
}
},
"y": {
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "cf"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
"length": 16,
"fill": {
"opcode": "bool",
"value": false
}
},
"length": 16,
"fill": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "set",
"dst": "sp",
"src": {
"opcode": "var",
"value": "final"
}
}
}

View file

@ -3334,7 +3334,7 @@ EXPECT=<<EOF
"opcode": "seq",
"x": {
"opcode": "set",
"dst": "esp",
"dst": "final",
"src": {
"opcode": "-",
"x": {
@ -3349,110 +3349,96 @@ EXPECT=<<EOF
}
},
"y": {
"opcode": "storew",
"mem": 0,
"key": {
"opcode": "+",
"x": {
"opcode": "+",
"x": {
"opcode": "cast",
"value": {
"opcode": "var",
"value": "esp"
},
"length": 32,
"fill": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 32
}
"opcode": "seq",
"x": {
"opcode": "storew",
"mem": 0,
"key": {
"opcode": "var",
"value": "final"
},
"y": {
"opcode": "<<",
"x": {
"opcode": "cast",
"value": {
"opcode": "var",
"value": "ss"
},
"length": 32,
"fill": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x4",
"len": 8
},
"fill_bit": {
"opcode": "bool",
"value": false
}
}
},
"value": {
"opcode": "cast",
"value": {
"opcode": "|",
"x": {
"opcode": "<<",
"opcode": "cast",
"value": {
"opcode": "|",
"x": {
"opcode": "|",
"opcode": "<<",
"x": {
"opcode": "<<",
"opcode": "|",
"x": {
"opcode": "|",
"opcode": "<<",
"x": {
"opcode": "<<",
"opcode": "|",
"x": {
"opcode": "|",
"opcode": "<<",
"x": {
"opcode": "<<",
"opcode": "|",
"x": {
"opcode": "|",
"opcode": "<<",
"x": {
"opcode": "<<",
"opcode": "|",
"x": {
"opcode": "|",
"opcode": "<<",
"x": {
"opcode": "<<",
"opcode": "|",
"x": {
"opcode": "|",
"opcode": "<<",
"x": {
"opcode": "<<",
"opcode": "|",
"x": {
"opcode": "|",
"opcode": "<<",
"x": {
"opcode": "<<",
"opcode": "|",
"x": {
"opcode": "|",
"opcode": "<<",
"x": {
"opcode": "<<",
"opcode": "|",
"x": {
"opcode": "|",
"opcode": "<<",
"x": {
"opcode": "<<",
"opcode": "|",
"x": {
"opcode": "|",
"opcode": "<<",
"x": {
"opcode": "<<",
"opcode": "|",
"x": {
"opcode": "|",
"opcode": "<<",
"x": {
"opcode": "<<",
"opcode": "|",
"x": {
"opcode": "ite",
"condition": {
"opcode": "<<",
"x": {
"opcode": "ite",
"condition": {
"opcode": "bool",
"value": false
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
},
"y": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "nt"
},
"x": {
"opcode": "bitv",
@ -3464,323 +3450,305 @@ EXPECT=<<EOF
"bits": "0x0",
"len": 16
}
},
"y": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "nt"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
"opcode": "bitv",
"bits": "0x2",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x2",
"bits": "0x3",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x3",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "of"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
}
},
"y": {
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "of"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "df"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
}
},
"y": {
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "df"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "if"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
}
},
"y": {
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "if"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "tf"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
}
},
"y": {
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "tf"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "zf"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
}
},
"y": {
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "zf"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "zf"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
}
},
"y": {
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "zf"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
"opcode": "bitv",
"bits": "0x2",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x2",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "af"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
}
},
"y": {
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "af"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
"opcode": "bitv",
"bits": "0x2",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x2",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "pf"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
}
},
"y": {
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "pf"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "cf"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
}
},
"y": {
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "cf"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
"length": 16,
"fill": {
"opcode": "bool",
"value": false
}
},
"length": 16,
"fill": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "set",
"dst": "esp",
"src": {
"opcode": "var",
"value": "final"
}
}
}

View file

@ -2038,7 +2038,7 @@ EXPECT=<<EOF
"opcode": "seq",
"x": {
"opcode": "set",
"dst": "rsp",
"dst": "final",
"src": {
"opcode": "-",
"x": {
@ -2053,75 +2053,96 @@ EXPECT=<<EOF
}
},
"y": {
"opcode": "storew",
"mem": 0,
"key": {
"opcode": "+",
"x": {
"opcode": "seq",
"x": {
"opcode": "storew",
"mem": 0,
"key": {
"opcode": "var",
"value": "rsp"
"value": "final"
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 64
}
},
"value": {
"opcode": "cast",
"value": {
"opcode": "|",
"x": {
"opcode": "<<",
"opcode": "cast",
"value": {
"opcode": "|",
"x": {
"opcode": "|",
"opcode": "<<",
"x": {
"opcode": "<<",
"opcode": "|",
"x": {
"opcode": "|",
"opcode": "<<",
"x": {
"opcode": "<<",
"opcode": "|",
"x": {
"opcode": "|",
"opcode": "<<",
"x": {
"opcode": "<<",
"opcode": "|",
"x": {
"opcode": "|",
"opcode": "<<",
"x": {
"opcode": "<<",
"opcode": "|",
"x": {
"opcode": "|",
"opcode": "<<",
"x": {
"opcode": "<<",
"opcode": "|",
"x": {
"opcode": "|",
"opcode": "<<",
"x": {
"opcode": "<<",
"opcode": "|",
"x": {
"opcode": "|",
"opcode": "<<",
"x": {
"opcode": "<<",
"opcode": "|",
"x": {
"opcode": "|",
"opcode": "<<",
"x": {
"opcode": "<<",
"opcode": "|",
"x": {
"opcode": "|",
"opcode": "<<",
"x": {
"opcode": "<<",
"opcode": "|",
"x": {
"opcode": "|",
"opcode": "<<",
"x": {
"opcode": "<<",
"opcode": "|",
"x": {
"opcode": "|",
"opcode": "<<",
"x": {
"opcode": "<<",
"opcode": "|",
"x": {
"opcode": "ite",
"condition": {
"opcode": "<<",
"x": {
"opcode": "ite",
"condition": {
"opcode": "bool",
"value": false
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
},
"y": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "nt"
},
"x": {
"opcode": "bitv",
@ -2133,323 +2154,305 @@ EXPECT=<<EOF
"bits": "0x0",
"len": 16
}
},
"y": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "nt"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
"opcode": "bitv",
"bits": "0x2",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x2",
"bits": "0x3",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x3",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "of"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
}
},
"y": {
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "of"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "df"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
}
},
"y": {
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "df"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "if"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
}
},
"y": {
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "if"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "tf"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
}
},
"y": {
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "tf"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "zf"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
}
},
"y": {
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "zf"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "zf"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
}
},
"y": {
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "zf"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
"opcode": "bitv",
"bits": "0x2",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x2",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "af"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
}
},
"y": {
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "af"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
"opcode": "bitv",
"bits": "0x2",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x2",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "pf"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
}
},
"y": {
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "pf"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"fill_bit": {
"opcode": "bool",
"value": false
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "cf"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
}
},
"y": {
"opcode": "ite",
"condition": {
"opcode": "var",
"value": "cf"
},
"x": {
"opcode": "bitv",
"bits": "0x1",
"len": 16
},
"y": {
"opcode": "bitv",
"bits": "0x0",
"len": 16
}
"length": 16,
"fill": {
"opcode": "bool",
"value": false
}
},
"length": 16,
"fill": {
"opcode": "bool",
"value": false
}
},
"y": {
"opcode": "set",
"dst": "rsp",
"src": {
"opcode": "var",
"value": "final"
}
}
}
@ -3383,7 +3386,7 @@ sign: false
type: rpush
cycles: 1
esil: rbp,8,rsp,-,=[8],8,rsp,-=
rzil: (seq (set rsp (- (var rsp) (bv 64 0x8))) (storew 0 (+ (var rsp) (bv 64 0x0)) (cast 64 false (var rbp))))
rzil: (seq (set final (- (var rsp) (bv 64 0x8))) (storew 0 (var final) (cast 64 false (var rbp))) (set rsp (var final)))
family: cpu
stackop: inc
stackptr: 8

View file

@ -15,7 +15,8 @@ a "jnz 0x94" 660f858d000000 0x0 (branch (! (var zf)) (jmp (bv 16 0x94)) nop)
a "jnz -0x94" 660f8565ffffff 0x0 (branch (! (var zf)) (jmp (bv 16 0xff6c)) nop)
a "jno -0x34" 71ca 0x0 (branch (! (var of)) (jmp (bv 16 0xffcc)) nop)
dB "jmp 0xfec50" e95bec
d "jmp 0xec50" e95bec 0x1ffff2 (jmp (cast 16 false (bv 16 0xec50)))
dB "jmp 0xec50" e95bec 0x1ffff2 (jmp (cast 16 false (bv 16 0xec50)))
d "jmp 0xec50" e95bec 0xfff2 (jmp (cast 16 false (bv 16 0xec50)))
ad "leave" c9 0x0 (seq (set sp (var bp)) (set sp (+ (var sp) (bv 16 0x2))) (set bp (loadw 0 16 (+ (+ (cast 16 false (var sp)) (bv 16 0x0)) (<< (cast 16 false (var ss)) (bv 8 0x4) false)))))
ad "loop 0xff92" e290 0x0 (seq (set cx (- (var cx) (bv 16 0x1))) (branch (! (is_zero (var cx))) (jmp (bv 16 0xff94)) nop))
a "mov al, [0xbeef]" a0efbe 0x0 (set ax (| (& (var ax) (~ (bv 16 0xff))) (cast 16 false (loadw 0 8 (bv 16 0xbeef)))))