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 |