summaryrefslogtreecommitdiff
path: root/src/arch/x86/isa
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2009-02-27 09:25:16 -0800
committerGabe Black <gblack@eecs.umich.edu>2009-02-27 09:25:16 -0800
commit8a1eb7e8bec41d41daf3e35b30a11e04f6285f66 (patch)
tree72259acdd2428d6e401dd48e847bc55959910299 /src/arch/x86/isa
parent1d18eb9043d5d2e69d3885be8dd59695ad80a92d (diff)
downloadgem5-8a1eb7e8bec41d41daf3e35b30a11e04f6285f66.tar.xz
X86: Take address size into account when computing an effective address.
Diffstat (limited to 'src/arch/x86/isa')
-rw-r--r--src/arch/x86/isa/microops/ldstop.isa4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/arch/x86/isa/microops/ldstop.isa b/src/arch/x86/isa/microops/ldstop.isa
index 834b3947f..af94cf31e 100644
--- a/src/arch/x86/isa/microops/ldstop.isa
+++ b/src/arch/x86/isa/microops/ldstop.isa
@@ -402,7 +402,9 @@ let {{
decoder_output = ""
exec_output = ""
- calculateEA = "EA = SegBase + scale * Index + Base + disp;"
+ calculateEA = '''
+ EA = bits(SegBase + scale * Index + Base + disp, addressSize * 8 - 1, 0);
+ '''
def defineMicroLoadOp(mnemonic, code, mem_flags="0"):
global header_output