Gabe Black
|
c4004482a5
|
Make "test" set some condition codes.
It still needs to zero the overflow and carry flags to be correct.
--HG--
extra : convert_revision : 73cb3a55f7b4234389d9355f5ad45da6aaaa6c60
|
2007-07-17 15:35:34 -07:00 |
|
Gabe Black
|
70d6044527
|
Make symbols for regular registers.
--HG--
extra : convert_revision : 28a6df1efe4298877dc2b20179caeb25dfdc4622
|
2007-06-21 20:35:27 +00:00 |
|
Gabe Black
|
25e385e0cf
|
Use the new symbols to clean up the assembler.
--HG--
extra : convert_revision : 005464e875ede1e37dfe0e0482c29fd793ca52be
|
2007-06-21 15:30:05 +00:00 |
|
Gabe Black
|
77aa98d0f8
|
Implement rip relative addressing and put in some missing loads and stores.
--HG--
extra : convert_revision : 99053414cef40f13c5226871a72909b2622d8c26
|
2007-06-20 19:08:04 +00:00 |
|
Gabe Black
|
a68ddf685c
|
Make memory instructions work better, add more macroop implementations, add an lea microop, move EmulEnv into it's own .cc and .hh.
--HG--
extra : convert_revision : 1212b8463eab1c1dcba7182c487d1e9184cf9bea
|
2007-06-20 15:02:50 +00:00 |
|
Gabe Black
|
d2ccf5e509
|
More faithfulness to what instructions should work in what modes, and added the MOVSXD instruction.
--HG--
extra : convert_revision : 38b9bf6cd4bdec6355b1158967c7d3562715cacd
|
2007-06-19 22:40:10 +00:00 |
|
Gabe Black
|
d496492793
|
Make instructions that are illegal in 64 bit mode not do the wrong thing in 64 bit mode. Also add in more versions of PUSH and POP, and a version of near CALL.
--HG--
extra : convert_revision : 7d8266cdfa54ac25610466b3533d3e9e5433297b
|
2007-06-19 17:56:06 +00:00 |
|
Gabe Black
|
056cfc345b
|
Get rid of the commented out versions of macroops which have been reimplemented. The comments are basically functioning like a todo list.
--HG--
extra : convert_revision : cb07e3813f6cf882b4a5c77c498ffbca26adf586
|
2007-06-19 14:26:42 +00:00 |
|
Gabe Black
|
6e286cddfa
|
Get rid of the immediate and displacement components of the EmulEnv struct and use them directly out of the instruction. The extra copies are conceptually realistic but are just innefficient as implemented. Also don't use the zeroeth microcode register for general storage since it's now the zero register, and implement a load and a store microops.
--HG--
extra : convert_revision : 0686296ca8b72940d961ecc6051063bfda1e932d
|
2007-06-19 14:18:25 +00:00 |
|
Gabe Black
|
866cc8214b
|
Implement a handful more instructions and differentiate macroops based on the operand types they expect.
--HG--
extra : convert_revision : f9c8e694a8c0eb33b988657dca03ab495b65bee8
|
2007-06-14 20:52:22 +00:00 |
|
Gabe Black
|
752199f827
|
Make POP special case its dataSize to default to 64 bits in 64 bit mode.
--HG--
extra : convert_revision : 5c6251d962d9997676ffc795bb92eeb588caed39
|
2007-06-14 13:52:08 +00:00 |
|
Gabe Black
|
715efab3b9
|
Partially implement "POP"
--HG--
extra : convert_revision : ba454579a6a82ce4924102a633e5758fb2a30b2d
|
2007-06-13 18:06:34 +00:00 |
|
Gabe Black
|
ea3f7c9531
|
Add in MOV instructions.
--HG--
extra : convert_revision : 54a6b36dff3c15699faf2c767fc594359422c0ee
|
2007-06-12 16:31:42 +00:00 |
|
Gabe Black
|
8bd213b3b8
|
Move the microcode assembly to a python package instead of isa_parser files. Also, the code is now a single string which runs through the microcode assembler rather than docstrings associated with classes named after each architectural level instruction.
--HG--
extra : convert_revision : 20e6d6ac625dde8f1885acc445882096df562778
|
2007-06-08 16:13:20 +00:00 |
|