X86: Create a handy way to access labels from the ROM in microcode.
This commit is contained in:
parent
e5f8092467
commit
cefb768131
3 changed files with 6 additions and 3 deletions
|
@ -183,6 +183,11 @@ let {{
|
|||
|
||||
assembler.symbols["label"] = labeler
|
||||
|
||||
def rom_labeler(labelStr):
|
||||
return "romMicroPC(RomLabels::extern_label_%s)" % labelStr
|
||||
|
||||
assembler.symbols["rom_label"] = rom_labeler
|
||||
|
||||
def stack_index(index):
|
||||
return "(NUM_FLOATREGS + (((%s) + 8) %% 8))" % index
|
||||
|
||||
|
|
|
@ -88,6 +88,7 @@ let {{
|
|||
// env may not be used in the microop's constructor.
|
||||
RegIndex reg = env.reg;
|
||||
reg = reg;
|
||||
using namespace RomLabels;
|
||||
return %s;
|
||||
}
|
||||
'''
|
||||
|
|
|
@ -55,9 +55,6 @@ let {{
|
|||
|
||||
def getDeclaration(self):
|
||||
declareLabels = "namespace RomLabels {\n"
|
||||
for (label, microop) in self.labels.items():
|
||||
declareLabels += "const static uint64_t label_%s = %d;\n" \
|
||||
% (label, microop.micropc)
|
||||
for (label, microop) in self.externs.items():
|
||||
declareLabels += \
|
||||
"const static MicroPC extern_label_%s = %d;\n" \
|
||||
|
|
Loading…
Reference in a new issue