Gabe Black
30e777a5d3
X86: Implement microops and instructions that manipulate the flags register.
...
--HG--
extra : convert_revision : 566841577bf4a98cac0b65292fe0f7daf89a9203
2007-08-04 20:24:18 -07:00
Gabe Black
fc6b2cceb4
X86: Make fixed register operands ignore register index extensions from the REX prefix.
...
The only cases where this was the correct behavior are now handled with the
"B" operand type, and doing things this way was breaking some instructions,
notably a shift.
--HG--
extra : convert_revision : 072346d4f541edaceba7aecc26ba8d2cd756e481
2007-08-04 20:17:31 -07:00
Gabe Black
74fcf117dd
X86: Allow RIP relative decode on -all- memory forms of operands.
...
--HG--
extra : convert_revision : 8af62cda2ce1c4acfa26a028a4f7506647bc27f7
2007-07-30 15:39:25 -07:00
Gabe Black
85f9415a67
Make the operand size reflect the size specifier on the operand tags, and implement NEG
...
--HG--
extra : convert_revision : da73ed6820d57f083c18f44b2fa868fc0976dd16
2007-07-23 01:07:49 +00:00
Gabe Black
dcfaa348b1
Add a parameter type to read a register index from the opcode itself.
...
--HG--
extra : convert_revision : d2b5468ebf5df5a6ccadb57a30c52c8d16417b9a
2007-07-20 14:55:16 -07: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
4ae284282e
Get rid of unnecessary output.
...
--HG--
extra : convert_revision : 0df9a12788b8ce3225c113c095d5f13e49a7c544
2007-06-18 14:15:47 +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
640ab1d2e7
Get rid of an unnecessary debug statement.
...
--HG--
extra : convert_revision : 0b306dd96f5358474ad6a8bf4a949c12bcd139cd
2007-06-14 13:49:23 +00:00
Gabe Black
5fd567425d
Fix the operand type tag parser to recognize multi character register names.
...
--HG--
extra : convert_revision : e025620e29f2515d51240e96c4a05a4f74bdf72e
2007-06-13 18:08:06 +00:00
Gabe Black
4e7786d971
Minor comment fix up.
...
--HG--
extra : convert_revision : 20d517c4bc2aae54e53368c708b5abb27ed3a469
2007-06-12 17:35:11 +00:00
Gabe Black
0d8d3f988f
Make use of some of the REX prefix.
...
--HG--
extra : convert_revision : 948eceb59a1cd9b02ad9355dd5894af0bbec4e83
2007-06-12 16:47:10 +00:00
Gabe Black
7a52faa39b
Use objects to pass around output code, and fix/implement a few things.
...
src/arch/x86/isa/formats/multi.isa:
Make the formats use objects to pass around output code.
--HG--
extra : convert_revision : 428915bda22e848befac15097f56375c1818426e
2007-06-12 16:25:47 +00:00
Gabe Black
658df56bf3
Clean things up a little.
...
--HG--
extra : convert_revision : 62ad0839847db85738054da6f7da8a956b24143e
2007-06-08 17:06:34 +00:00
Gabe Black
1f7ed5b7b4
Big changes to use the new microcode assembler.
...
--HG--
extra : convert_revision : 7d1a43c5791a2e7e30533746da3dd7036a5b8799
2007-06-08 16:09:43 +00:00
Gabe Black
9f4ebf9156
Reworked x86 a bit
...
--HG--
extra : convert_revision : def1a30e54b59c718c451a631a1be6f8e787e843
2007-04-10 17:25:15 +00:00
Gabe Black
5d52cd6409
Move the instruction specialization stuff out of the microassembler file, and added some comments to main.isa
...
--HG--
extra : convert_revision : 1534ae7d5a9e95bf662d79a04f9286c227541c6c
2007-04-06 16:55:56 +00:00