microasm.isa (4519:f8da6b45573f) microasm.isa (4528:f0b19ee67a7b)
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:

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

50// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
51// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
52// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
53// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
54// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
55//
56// Authors: Gabe Black
57
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:

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

50// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
51// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
52// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
53// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
54// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
55//
56// Authors: Gabe Black
57
58//##include "microops/microops.isa"
59//##include "macroop.isa"
60
61let {{
62 import sys
63 sys.path[0:0] = ["src/arch/x86/isa/"]
64 from insts import microcode
65 print microcode
66 from micro_asm import MicroAssembler, Rom_Macroop, Rom
67 mainRom = Rom('main ROM')
68 assembler = MicroAssembler(X86Macroop, microopClasses, mainRom, Rom_Macroop)
69 macroopDict = assembler.assemble(microcode)
70}};
71
58////////////////////////////////////////////////////////////////////
59//
60// Microcode assembler specialization for x86
61//
62
63let {{
64 from micro_asm import MicroAssembler, Combinational_Macroop, Rom_Macroop, Rom
65 class X86Macroop(Combinational_Macroop):

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

83 for val in vals:
84 if val:
85 text += ", true"
86 else:
87 text += ", false"
88 return text
89
90 def getAllocator(self, mnemonic, *microFlags):
72////////////////////////////////////////////////////////////////////
73//
74// Microcode assembler specialization for x86
75//
76
77let {{
78 from micro_asm import MicroAssembler, Combinational_Macroop, Rom_Macroop, Rom
79 class X86Macroop(Combinational_Macroop):

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

97 for val in vals:
98 if val:
99 text += ", true"
100 else:
101 text += ", false"
102 return text
103
104 def getAllocator(self, mnemonic, *microFlags):
91 args = ''
92 return 'new %s(machInst, %s%s%s)' % (self.className, mnemonic, self.microFlagsText(microFlags), args)
105 return 'new %s(machInst, %s)' % (self.className, mnemonic, self.microFlagsText(microFlags))
93}};
106}};