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 |