#
04d2447f |
|
28-Dec-2017 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Add some SSE (streaming SIMD extensions) instructions to the x86-64 model.
|
#
e5325e0e |
|
21-Sep-2017 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Support x86 "bit test" instructions. Adds BT, BTS, BTR and BTC.
|
#
c09ecefa |
|
14-Aug-2017 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Minor improvements to x86 model and tools. The parser now checks for inconsistent use of byte registers.
|
#
539efbf2 |
|
18-Jul-2017 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Minor update to x86 model.
|
#
05b22a3d |
|
06-Jun-2017 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Remove reference to old BadMemAccess x86 exception.
|
#
dfb8c2ed |
|
05-Jun-2017 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Support a few more instruction in the x86-64 model. Now covers IDIV, IMUL and multi-byte NOPs.
|
#
b87b5c41 |
|
19-Apr-2017 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Update for latest version of L3.
|
#
705c001d |
|
09-Feb-2017 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Fix for x86 model. The RAX and RDX were swapped in the dividend.
|
#
f8ba39d7 |
|
04-Dec-2016 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Improve x86 encoding for SETcc.
|
#
20962d66 |
|
21-Nov-2016 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Add SETcc instruction to x86-64 model.
|
#
b07a0d61 |
|
05-Aug-2016 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Adapt x64 encoder to avoid use of ARB.
|
#
f52585dc |
|
22-Jun-2016 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Update x86 model for latest version of L3.
|
#
a4f5a6f1 |
|
20-May-2016 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Update x86 model to cover CLC, SMC and STC instructions.
|
#
6c49cd84 |
|
19-May-2016 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Update the ARMv7, ARM-M0, MIPS and x86-64 models. Exported from the latest version of L3.
|
#
fdeae967 |
|
29-Apr-2016 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Update for the latest version of L3. Changes have been made when exporting operations of the form: `f : args -> state -> value * state` If the state is not changed then this is now exported as `f : args -> state -> value` If the state is changed but the `value` type is `unit` then it this is now exported as `f : args -> state -> state`.
|
#
7afc41b1 |
|
11-Apr-2016 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Fix misspecification for x86 division. The divisor is register RDX not RAX.
|
#
02115b46 |
|
30-Mar-2016 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Minor updates for the x64 model. • The decoder has been tweaked (mainly for use under SML). Previously it would succeed in decoding an instruction even if there were too few bytes. • x64DisassembleLib has been removed. The function x64_disassemble has been implemented in x64AssemblerLib.
|
#
96edb9f3 |
|
20-Nov-2015 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Update for the latest version of L3, which has additional floating-point support. Cover IEEE754:1985 behaviour for "abs" and "neg". Also adds support for "compare", "toInt" and "fromInt" at the machine level.
|
#
f69520e1 |
|
16-Oct-2015 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Update model for latest version of L3.
|
#
b2f6c17e |
|
12-Jun-2015 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Simplify the x86-64 model under L3 examples. The instruction cache has been removed, together with the CPUID instruction. Also, the memory now has type ``: word64 -> word8`` instead of ``: word64 -> word8 option``.
|
#
e85dd310 |
|
30-Aug-2014 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Tweak to x86-64 instruction encoder.
|
#
4f16bf90 |
|
27-Aug-2014 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Update for x86-64 model and tools. - x64Theory now includes an instruction encoder. - The functions in x64_stepLib have been renamed, e.g. x64_step is now x64_step_hex.
|
#
05f7f073 |
|
13-Mar-2014 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Further refinements to x86-64 decoding. The decoder now fails when an "address override prefix" is present (the model only considers 64-bit addresses). Also make another attempt to fix the decoding issue addressed in checkin d69c0c9.
|
#
d69c0c93 |
|
04-Mar-2014 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Fix for x86 decoding of instructions with a SIB byte when there is no base register. Need to read a 32-bit displacement in these cases.
|
#
64cf73f2 |
|
27-Nov-2013 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Update ISA models. The new models are generated by the latest version of L3. This mostly results in just a few formatting (pretty-printing) changes. However, bit-patterns are now expanded out in a different manner. Specifically, applications of “word_extract” (over the match word) are replaced with applications of “v2w” (over the bits generated by “boolify”). Some minor updates were needed to accommodate this change.
|
#
156fbbfe |
|
23-Jul-2013 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Some minor formatting (printing) changes in the L3 instruction set models.
|
#
e5404c45 |
|
19-Jul-2013 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Add support for x86 instructions LEAVE and LOOP.
|
#
602ca563 |
|
17-Jul-2013 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Extend L3 x86 model with support for MOVSX instructions (move with sign extend).
|
#
73bf1a4d |
|
08-Jul-2013 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Reorganisation of files under examples/l3-machine-code.
|
#
1b7b89d9 |
|
10-May-2013 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Updates to l3-machine-code. Includes a monadic version of the ARM model, which includes data aborts.
|
#
bb9064c1 |
|
09-Jan-2013 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
New ARM and x86 instruction set models, with tool support for generating Hoare triples. The new models are generated using a domain specific language; see ITP 2012 paper: "Directions in ISA Specification" (LNCS 7406). The tools should be quite a bit faster than those found in examples/ARM/v7 and examples/machine-code. However, they are less extensive (this is work-in-progress).
|