ldstop.isa (5788:6d4161a36ca1) | ldstop.isa (5890:bdef71accd68) |
---|---|
1// Copyright (c) 2008 The Regents of The University of Michigan 2// All rights reserved. 3// 4// Redistribution and use in source and binary forms, with or without 5// modification, are permitted provided that the following conditions are 6// met: redistributions of source code must retain the above copyright 7// notice, this list of conditions and the following disclaimer; 8// redistributions in binary form must reproduce the above copyright --- 440 unchanged lines hidden (view full) --- 449 microopClasses[name] = StoreOp 450 451 defineMicroStoreOp('St', 'Mem = Data;') 452 defineMicroStoreOp('Stfp', 'Mem = FpData.uqw;') 453 defineMicroStoreOp('Stupd', ''' 454 Mem = Data; 455 Base = merge(Base, EA - SegBase, addressSize); 456 '''); | 1// Copyright (c) 2008 The Regents of The University of Michigan 2// All rights reserved. 3// 4// Redistribution and use in source and binary forms, with or without 5// modification, are permitted provided that the following conditions are 6// met: redistributions of source code must retain the above copyright 7// notice, this list of conditions and the following disclaimer; 8// redistributions in binary form must reproduce the above copyright --- 440 unchanged lines hidden (view full) --- 449 microopClasses[name] = StoreOp 450 451 defineMicroStoreOp('St', 'Mem = Data;') 452 defineMicroStoreOp('Stfp', 'Mem = FpData.uqw;') 453 defineMicroStoreOp('Stupd', ''' 454 Mem = Data; 455 Base = merge(Base, EA - SegBase, addressSize); 456 '''); |
457 defineMicroStoreOp('Cda', 'Mem = 0;', "Request::NO_ACCESS") |
|
457 | 458 |
458 | |
459 iop = InstObjParams("lea", "Lea", 'X86ISA::LdStOp', 460 {"code": "Data = merge(Data, EA, dataSize);", 461 "ea_code": calculateEA, 462 "mem_flags": 0}) 463 header_output += MicroLeaDeclare.subst(iop) 464 decoder_output += MicroLdStOpConstructor.subst(iop) 465 exec_output += MicroLeaExecute.subst(iop) 466 --- 21 unchanged lines hidden (view full) --- 488 dataSize="env.dataSize", addressSize="env.addressSize"): 489 super(TiaOp, self).__init__("NUM_INTREGS", segment, 490 addr, disp, dataSize, addressSize) 491 self.className = "Tia" 492 self.mnemonic = "tia" 493 494 microopClasses["tia"] = TiaOp 495 | 459 iop = InstObjParams("lea", "Lea", 'X86ISA::LdStOp', 460 {"code": "Data = merge(Data, EA, dataSize);", 461 "ea_code": calculateEA, 462 "mem_flags": 0}) 463 header_output += MicroLeaDeclare.subst(iop) 464 decoder_output += MicroLdStOpConstructor.subst(iop) 465 exec_output += MicroLeaExecute.subst(iop) 466 --- 21 unchanged lines hidden (view full) --- 488 dataSize="env.dataSize", addressSize="env.addressSize"): 489 super(TiaOp, self).__init__("NUM_INTREGS", segment, 490 addr, disp, dataSize, addressSize) 491 self.className = "Tia" 492 self.mnemonic = "tia" 493 494 microopClasses["tia"] = TiaOp 495 |
496 iop = InstObjParams("cda", "Cda", 'X86ISA::LdStOp', 497 {"code": ''' 498 Addr paddr; 499 fault = xc->translateDataWriteAddr(EA, paddr, 500 dataSize, (1 << segment)); 501 ''', 502 "ea_code": calculateEA}) 503 header_output += MicroLeaDeclare.subst(iop) 504 decoder_output += MicroLdStOpConstructor.subst(iop) 505 exec_output += MicroLeaExecute.subst(iop) 506 | |
507 class CdaOp(LdStOp): 508 def __init__(self, segment, addr, disp = 0, 509 dataSize="env.dataSize", addressSize="env.addressSize"): 510 super(CdaOp, self).__init__("NUM_INTREGS", segment, 511 addr, disp, dataSize, addressSize) 512 self.className = "Cda" 513 self.mnemonic = "cda" 514 515 microopClasses["cda"] = CdaOp 516}}; 517 | 496 class CdaOp(LdStOp): 497 def __init__(self, segment, addr, disp = 0, 498 dataSize="env.dataSize", addressSize="env.addressSize"): 499 super(CdaOp, self).__init__("NUM_INTREGS", segment, 500 addr, disp, dataSize, addressSize) 501 self.className = "Cda" 502 self.mnemonic = "cda" 503 504 microopClasses["cda"] = CdaOp 505}}; 506 |