Fix analysis tests
This commit is contained in:
parent
2f6f2cfdce
commit
5f14d0e0b5
4 changed files with 854 additions and 914 deletions
|
|
@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)))))
|
||||
|
|
|
|||
Loading…
Reference in a new issue