ldstop.isa (5002:1b540e93ad34) ldstop.isa (5027:e96b8a4f4d96)
1// Copyright (c) 2007 The Hewlett-Packard Development Company
2// All rights reserved.
3//
4// Redistribution and use of this software in source and binary forms,
5// with or without modification, are permitted provided that the
6// following conditions are met:
7//
8// The software must be used only for Non-Commercial Use which means any

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

381 super(LoadOp, self).__init__(data, segment,
382 addr, disp, dataSize)
383 self.className = Name
384 self.mnemonic = name
385
386 microopClasses[name] = LoadOp
387
388 defineMicroLoadOp('Ld', 'Data = merge(Data, Mem, dataSize);')
1// Copyright (c) 2007 The Hewlett-Packard Development Company
2// All rights reserved.
3//
4// Redistribution and use of this software in source and binary forms,
5// with or without modification, are permitted provided that the
6// following conditions are met:
7//
8// The software must be used only for Non-Commercial Use which means any

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

381 super(LoadOp, self).__init__(data, segment,
382 addr, disp, dataSize)
383 self.className = Name
384 self.mnemonic = name
385
386 microopClasses[name] = LoadOp
387
388 defineMicroLoadOp('Ld', 'Data = merge(Data, Mem, dataSize);')
389 defineMicroLoadOp('Ldfp', 'FpData.uqw = Mem;')
389
390 def defineMicroStoreOp(mnemonic, code):
391 global header_output
392 global decoder_output
393 global exec_output
394 global microopClasses
395 Name = mnemonic
396 name = mnemonic.lower()

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

410 super(StoreOp, self).__init__(data, segment,
411 addr, disp, dataSize)
412 self.className = Name
413 self.mnemonic = name
414
415 microopClasses[name] = StoreOp
416
417 defineMicroStoreOp('St', 'Mem = Data;')
390
391 def defineMicroStoreOp(mnemonic, code):
392 global header_output
393 global decoder_output
394 global exec_output
395 global microopClasses
396 Name = mnemonic
397 name = mnemonic.lower()

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

411 super(StoreOp, self).__init__(data, segment,
412 addr, disp, dataSize)
413 self.className = Name
414 self.mnemonic = name
415
416 microopClasses[name] = StoreOp
417
418 defineMicroStoreOp('St', 'Mem = Data;')
419 defineMicroStoreOp('Stfp', 'Mem = FpData.uqw;')
418
419 iop = InstObjParams("lea", "Lea", 'X86ISA::LdStOp',
420 {"code": "Data = merge(Data, EA, dataSize);", "ea_code": calculateEA})
421 header_output += MicroLeaDeclare.subst(iop)
422 decoder_output += MicroLdStOpConstructor.subst(iop)
423 exec_output += MicroLeaExecute.subst(iop)
424
425 class LeaOp(LdStOp):
426 def __init__(self, data, segment, addr,
427 disp = 0, dataSize="env.dataSize"):
428 super(LeaOp, self).__init__(data, segment,
429 addr, disp, dataSize)
430 self.className = "Lea"
431 self.mnemonic = "lea"
432
433 microopClasses["lea"] = LeaOp
434}};
435
420
421 iop = InstObjParams("lea", "Lea", 'X86ISA::LdStOp',
422 {"code": "Data = merge(Data, EA, dataSize);", "ea_code": calculateEA})
423 header_output += MicroLeaDeclare.subst(iop)
424 decoder_output += MicroLdStOpConstructor.subst(iop)
425 exec_output += MicroLeaExecute.subst(iop)
426
427 class LeaOp(LdStOp):
428 def __init__(self, data, segment, addr,
429 disp = 0, dataSize="env.dataSize"):
430 super(LeaOp, self).__init__(data, segment,
431 addr, disp, dataSize)
432 self.className = "Lea"
433 self.mnemonic = "lea"
434
435 microopClasses["lea"] = LeaOp
436}};
437