microasm.isa (5291:5d38610cff05) microasm.isa (5294:7222bdaed33b)
1// -*- mode:c++ -*-
2
3// Copyright (c) 2007 The Hewlett-Packard Development Company
4// All rights reserved.
5//
6// Redistribution and use of this software in source and binary forms,
7// with or without modification, are permitted provided that the
8// following conditions are met:

--- 67 unchanged lines hidden (view full) ---

76 for num in range(15):
77 assembler.symbols["t%d" % num] = "NUM_INTREGS+%d" % num
78 for num in range(7):
79 assembler.symbols["ufp%d" % num] = "FLOATREG_MICROFP(%d)" % num
80 # Add in symbols for the segment descriptor registers
81 for letter in ("C", "D", "E", "F", "G", "S"):
82 assembler.symbols["%ss" % letter.lower()] = "SEGMENT_REG_%sS" % letter
83
1// -*- mode:c++ -*-
2
3// Copyright (c) 2007 The Hewlett-Packard Development Company
4// All rights reserved.
5//
6// Redistribution and use of this software in source and binary forms,
7// with or without modification, are permitted provided that the
8// following conditions are met:

--- 67 unchanged lines hidden (view full) ---

76 for num in range(15):
77 assembler.symbols["t%d" % num] = "NUM_INTREGS+%d" % num
78 for num in range(7):
79 assembler.symbols["ufp%d" % num] = "FLOATREG_MICROFP(%d)" % num
80 # Add in symbols for the segment descriptor registers
81 for letter in ("C", "D", "E", "F", "G", "S"):
82 assembler.symbols["%ss" % letter.lower()] = "SEGMENT_REG_%sS" % letter
83
84 for reg in ("LDTR", "TR", "GDTR", "IDTR"):
84 for reg in ("TR", "IDTR"):
85 assembler.symbols[reg.lower()] = "SYS_SEGMENT_REG_%s" % reg
86
85 assembler.symbols[reg.lower()] = "SYS_SEGMENT_REG_%s" % reg
86
87 for reg in ("TSL", "TSG"):
88 assembler.symbols[reg.lower()] = "SEGMENT_REG_%s" % reg
89
87 # Miscellaneous symbols
88 symbols = {
89 "reg" : "env.reg",
90 "xmml" : "FLOATREG_XMM_LOW(env.reg)",
91 "xmmh" : "FLOATREG_XMM_HIGH(env.reg)",
92 "regm" : "env.regm",
93 "xmmlm" : "FLOATREG_XMM_LOW(env.regm)",
94 "xmmhm" : "FLOATREG_XMM_HIGH(env.regm)",

--- 12 unchanged lines hidden (view full) ---

107 # Short hand for common scale-index-base combinations.
108 assembler.symbols["sib"] = \
109 [symbols["scale"], symbols["index"], symbols["base"]]
110 assembler.symbols["riprel"] = \
111 ["1", assembler.symbols["t0"], assembler.symbols["t7"]]
112
113 # This segment selects an internal address space mapped to MSRs,
114 # CPUID info, etc.
90 # Miscellaneous symbols
91 symbols = {
92 "reg" : "env.reg",
93 "xmml" : "FLOATREG_XMM_LOW(env.reg)",
94 "xmmh" : "FLOATREG_XMM_HIGH(env.reg)",
95 "regm" : "env.regm",
96 "xmmlm" : "FLOATREG_XMM_LOW(env.regm)",
97 "xmmhm" : "FLOATREG_XMM_HIGH(env.regm)",

--- 12 unchanged lines hidden (view full) ---

110 # Short hand for common scale-index-base combinations.
111 assembler.symbols["sib"] = \
112 [symbols["scale"], symbols["index"], symbols["base"]]
113 assembler.symbols["riprel"] = \
114 ["1", assembler.symbols["t0"], assembler.symbols["t7"]]
115
116 # This segment selects an internal address space mapped to MSRs,
117 # CPUID info, etc.
115 assembler.symbols["intseg"] = "SEGMENT_REG_INT"
118 assembler.symbols["intseg"] = "SEGMENT_REG_MS"
119 # This segment always has base 0, and doesn't imply any special handling
120 # like the internal segment above
121 assembler.symbols["flatseg"] = "SEGMENT_REG_LS"
116
117 for reg in ('ax', 'bx', 'cx', 'dx', 'sp', 'bp', 'si', 'di'):
118 assembler.symbols["r%s" % reg] = "INTREG_R%s" % reg.upper()
119
120 for reg in range(15):
121 assembler.symbols["cr%d" % reg] = "MISCREG_CR%d" % reg
122
123 for flag in ('CF', 'PF', 'ECF', 'AF', 'EZF', 'ZF', 'SF', 'OF'):

--- 45 unchanged lines hidden ---
122
123 for reg in ('ax', 'bx', 'cx', 'dx', 'sp', 'bp', 'si', 'di'):
124 assembler.symbols["r%s" % reg] = "INTREG_R%s" % reg.upper()
125
126 for reg in range(15):
127 assembler.symbols["cr%d" % reg] = "MISCREG_CR%d" % reg
128
129 for flag in ('CF', 'PF', 'ECF', 'AF', 'EZF', 'ZF', 'SF', 'OF'):

--- 45 unchanged lines hidden ---