ldstop.isa (5149:356e00996637) ldstop.isa (5175:ee904e392de2)
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

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

417 addr, disp, dataSize, addressSize)
418 self.className = Name
419 self.mnemonic = name
420
421 microopClasses[name] = StoreOp
422
423 defineMicroStoreOp('St', 'Mem = Data;')
424 defineMicroStoreOp('Stfp', 'Mem = FpData.uqw;')
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

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

417 addr, disp, dataSize, addressSize)
418 self.className = Name
419 self.mnemonic = name
420
421 microopClasses[name] = StoreOp
422
423 defineMicroStoreOp('St', 'Mem = Data;')
424 defineMicroStoreOp('Stfp', 'Mem = FpData.uqw;')
425 defineMicroStoreOp('Stupd', '''
426 Mem = Data;
427 Base = merge(Base, EA - SegBase, addressSize);
428 ''');
425
429
430
426 iop = InstObjParams("lea", "Lea", 'X86ISA::LdStOp',
427 {"code": "Data = merge(Data, EA, dataSize);",
428 "ea_code": calculateEA,
429 "mem_flags": 0})
430 header_output += MicroLeaDeclare.subst(iop)
431 decoder_output += MicroLdStOpConstructor.subst(iop)
432 exec_output += MicroLeaExecute.subst(iop)
433
434 class LeaOp(LdStOp):
435 def __init__(self, data, segment, addr, disp = 0,
436 dataSize="env.dataSize", addressSize="env.addressSize"):
437 super(LeaOp, self).__init__(data, segment,
438 addr, disp, dataSize, addressSize)
439 self.className = "Lea"
440 self.mnemonic = "lea"
441
442 microopClasses["lea"] = LeaOp
443}};
444
431 iop = InstObjParams("lea", "Lea", 'X86ISA::LdStOp',
432 {"code": "Data = merge(Data, EA, dataSize);",
433 "ea_code": calculateEA,
434 "mem_flags": 0})
435 header_output += MicroLeaDeclare.subst(iop)
436 decoder_output += MicroLdStOpConstructor.subst(iop)
437 exec_output += MicroLeaExecute.subst(iop)
438
439 class LeaOp(LdStOp):
440 def __init__(self, data, segment, addr, disp = 0,
441 dataSize="env.dataSize", addressSize="env.addressSize"):
442 super(LeaOp, self).__init__(data, segment,
443 addr, disp, dataSize, addressSize)
444 self.className = "Lea"
445 self.mnemonic = "lea"
446
447 microopClasses["lea"] = LeaOp
448}};
449