diff options
Diffstat (limited to 'src/arch/x86/isa/specialize.isa')
-rw-r--r-- | src/arch/x86/isa/specialize.isa | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/arch/x86/isa/specialize.isa b/src/arch/x86/isa/specialize.isa index 3802d8949..abf734307 100644 --- a/src/arch/x86/isa/specialize.isa +++ b/src/arch/x86/isa/specialize.isa @@ -154,12 +154,18 @@ let {{ elif opType.tag == None or opType.size == None: raise Exception, "Problem parsing operand tag: %s" % opType.tag elif opType.tag == "C": + # A control register indexed by the "reg" field env.addReg(ModRMRegIndex) Name += "_C" elif opType.tag == "D": + # A debug register indexed by the "reg" field env.addReg(ModRMRegIndex) Name += "_D" - elif opType.tag in ("G", "P", "S", "T", "V"): + elif opType.tag == "S": + # A segment selector register indexed by the "reg" field + env.addReg(ModRMRegIndex) + Name += "_S" + elif opType.tag in ("G", "P", "T", "V"): # Use the "reg" field of the ModRM byte to select the register env.addReg(ModRMRegIndex) Name += "_R" |