microasm.isa (5149:356e00996637) | microasm.isa (5161:e7334f2d7bef) |
---|---|
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: --- 74 unchanged lines hidden (view full) --- 83 # Miscellaneous symbols 84 symbols = { 85 "reg" : "env.reg", 86 "xmml" : "FLOATREG_XMM_LOW(env.reg)", 87 "xmmh" : "FLOATREG_XMM_HIGH(env.reg)", 88 "regm" : "env.regm", 89 "xmmlm" : "FLOATREG_XMM_LOW(env.regm)", 90 "xmmhm" : "FLOATREG_XMM_HIGH(env.regm)", | 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: --- 74 unchanged lines hidden (view full) --- 83 # Miscellaneous symbols 84 symbols = { 85 "reg" : "env.reg", 86 "xmml" : "FLOATREG_XMM_LOW(env.reg)", 87 "xmmh" : "FLOATREG_XMM_HIGH(env.reg)", 88 "regm" : "env.regm", 89 "xmmlm" : "FLOATREG_XMM_LOW(env.regm)", 90 "xmmhm" : "FLOATREG_XMM_HIGH(env.regm)", |
91 "imm" : "IMMEDIATE", 92 "disp" : "DISPLACEMENT", | 91 "imm" : "adjustedImm", 92 "disp" : "adjustedDisp", |
93 "seg" : "env.seg", 94 "scale" : "env.scale", 95 "index" : "env.index", 96 "base" : "env.base", 97 "dsz" : "env.dataSize", 98 "asz" : "env.addressSize", 99 "ssz" : "env.stackSize" 100 } --- 29 unchanged lines hidden (view full) --- 130 131 # Code literal which forces a default 64 bit operand size in 64 bit mode. 132 assembler.symbols["oszIn64Override"] = ''' 133 if (machInst.mode.submode == SixtyFourBitMode && 134 env.dataSize == 4) 135 env.dataSize = 8; 136 ''' 137 | 93 "seg" : "env.seg", 94 "scale" : "env.scale", 95 "index" : "env.index", 96 "base" : "env.base", 97 "dsz" : "env.dataSize", 98 "asz" : "env.addressSize", 99 "ssz" : "env.stackSize" 100 } --- 29 unchanged lines hidden (view full) --- 130 131 # Code literal which forces a default 64 bit operand size in 64 bit mode. 132 assembler.symbols["oszIn64Override"] = ''' 133 if (machInst.mode.submode == SixtyFourBitMode && 134 env.dataSize == 4) 135 env.dataSize = 8; 136 ''' 137 |
138 def trimImm(width): 139 return "adjustedImm = adjustedImm & mask(%s);" % width 140 141 assembler.symbols["trimImm"] = trimImm 142 |
|
138 def labeler(labelStr): 139 return "label_%s" % labelStr 140 141 assembler.symbols["label"] = labeler 142 143 def stack_index(index): 144 return "(NUM_FLOATREGS + (((%s) + 8) %% 8))" % index 145 146 assembler.symbols["st"] = stack_index 147 148 macroopDict = assembler.assemble(microcode) 149}}; | 143 def labeler(labelStr): 144 return "label_%s" % labelStr 145 146 assembler.symbols["label"] = labeler 147 148 def stack_index(index): 149 return "(NUM_FLOATREGS + (((%s) + 8) %% 8))" % index 150 151 assembler.symbols["st"] = stack_index 152 153 macroopDict = assembler.assemble(microcode) 154}}; |