summaryrefslogtreecommitdiff
path: root/src/arch/x86/isa/microasm.isa
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2007-10-18 22:39:00 -0700
committerGabe Black <gblack@eecs.umich.edu>2007-10-18 22:39:00 -0700
commitdc2e887f238d48f15364d9937bc71940d3849c0a (patch)
tree66a15a82e0f159ecda21a03044debd00c8db5b02 /src/arch/x86/isa/microasm.isa
parent2bbc058c6c5e54c032106f804dd3084ed11f0f09 (diff)
downloadgem5-dc2e887f238d48f15364d9937bc71940d3849c0a.tar.xz
X86: Implement the in/out instructions. These will still need support from the TLB and memory system.
--HG-- extra : convert_revision : a9503248ea9efca7e5247e4f2830967f428b8215
Diffstat (limited to 'src/arch/x86/isa/microasm.isa')
-rw-r--r--src/arch/x86/isa/microasm.isa9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/arch/x86/isa/microasm.isa b/src/arch/x86/isa/microasm.isa
index 50135e30c..0c43d4c13 100644
--- a/src/arch/x86/isa/microasm.isa
+++ b/src/arch/x86/isa/microasm.isa
@@ -88,8 +88,8 @@ let {{
"regm" : "env.regm",
"xmmlm" : "FLOATREG_XMM_LOW(env.regm)",
"xmmhm" : "FLOATREG_XMM_HIGH(env.regm)",
- "imm" : "IMMEDIATE",
- "disp" : "DISPLACEMENT",
+ "imm" : "adjustedImm",
+ "disp" : "adjustedDisp",
"seg" : "env.seg",
"scale" : "env.scale",
"index" : "env.index",
@@ -135,6 +135,11 @@ let {{
env.dataSize = 8;
'''
+ def trimImm(width):
+ return "adjustedImm = adjustedImm & mask(%s);" % width
+
+ assembler.symbols["trimImm"] = trimImm
+
def labeler(labelStr):
return "label_%s" % labelStr