summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2007-06-12 16:31:42 +0000
committerGabe Black <gblack@eecs.umich.edu>2007-06-12 16:31:42 +0000
commitea3f7c9531f7dc3272733fe722df0b28e73183f9 (patch)
tree9e0779e1f76783a5d2e9462f81d6ba34653fa695 /src
parenteb68c9986ed72b7292673e7b2b06b02bf43dcc56 (diff)
downloadgem5-ea3f7c9531f7dc3272733fe722df0b28e73183f9.tar.xz
Add in MOV instructions.
--HG-- extra : convert_revision : 54a6b36dff3c15699faf2c767fc594359422c0ee
Diffstat (limited to 'src')
-rw-r--r--src/arch/x86/isa/decoder/one_byte_opcodes.isa8
-rw-r--r--src/arch/x86/isa/insts/data_transfer/move.py6
2 files changed, 9 insertions, 5 deletions
diff --git a/src/arch/x86/isa/decoder/one_byte_opcodes.isa b/src/arch/x86/isa/decoder/one_byte_opcodes.isa
index 8219d0ba8..c29133a5c 100644
--- a/src/arch/x86/isa/decoder/one_byte_opcodes.isa
+++ b/src/arch/x86/isa/decoder/one_byte_opcodes.isa
@@ -237,10 +237,10 @@
0x7: xchg_Ev_Gv();
}
0x11: decode OPCODE_OP_BOTTOM3 {
- 0x0: MOV();
- 0x1: MOV();
- 0x2: MOV();
- 0x3: MOV();
+ 0x0: Inst::MOV(Eb,Gb);
+ 0x1: Inst::MOV(Ev,Gv);
+ 0x2: Inst::MOV(Gb,Eb);
+ 0x3: Inst::MOV(Gv,Eb);
0x4: mov_MwRv_Sw(); //What to do with this one?
0x5: lea_Gv_M();
0x6: mov_Sw_MwRv();
diff --git a/src/arch/x86/isa/insts/data_transfer/move.py b/src/arch/x86/isa/insts/data_transfer/move.py
index d1d1c1f01..acfe2f516 100644
--- a/src/arch/x86/isa/insts/data_transfer/move.py
+++ b/src/arch/x86/isa/insts/data_transfer/move.py
@@ -53,7 +53,11 @@
#
# Authors: Gabe Black
-microcode = ""
+microcode = '''
+def macroop MOV{
+ mov "env.reg", "env.reg", "env.regm"
+};
+'''
#let {{
# class MOV(Inst):
# "Mov ^0 ^0 ^1"