diff options
Diffstat (limited to 'src/arch/x86/isa/microasm.isa')
-rw-r--r-- | src/arch/x86/isa/microasm.isa | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/arch/x86/isa/microasm.isa b/src/arch/x86/isa/microasm.isa index 040bb2036..8c499eeed 100644 --- a/src/arch/x86/isa/microasm.isa +++ b/src/arch/x86/isa/microasm.isa @@ -80,6 +80,10 @@ let {{ # Add in symbols for the segment descriptor registers for letter in ("C", "D", "E", "F", "G", "S"): assembler.symbols["%ss" % letter.lower()] = "SEGMENT_REG_%sS" % letter + + for reg in ("LDTR", "TR", "GDTR", "IDTR"): + assembler.symbols[reg.lower()] = "SYS_SEGMENT_REG_%s" % reg + # Miscellaneous symbols symbols = { "reg" : "env.reg", @@ -138,6 +142,13 @@ let {{ env.dataSize = 8; ''' + assembler.symbols["oszForPseudoDesc"] = ''' + if (machInst.mode.submode == SixtyFourBitMode) + env.dataSize = 8; + else + env.dataSize = 4; + ''' + def trimImm(width): return "adjustedImm = adjustedImm & mask(%s);" % width |