1// -*- mode:c++ -*- 2 3// Copyright (c) 2007 MIPS Technologies, Inc. 4// All rights reserved. 5// 6// Redistribution and use in source and binary forms, with or without 7// modification, are permitted provided that the following conditions are 8// met: redistributions of source code must retain the above copyright --- 34 unchanged lines hidden (view full) --- 43 protected: 44 45 /// Constructor 46 IntOp(const char *mnem, MachInst _machInst, OpClass __opClass) : 47 MipsStaticInst(mnem, _machInst, __opClass) 48 { 49 } 50 |
51 std::string generateDisassembly( 52 Addr pc, const SymbolTable *symtab) const override; |
53 }; 54 55 56 class HiLoOp: public IntOp 57 { 58 protected: 59 60 /// Constructor 61 HiLoOp(const char *mnem, MachInst _machInst, OpClass __opClass) : 62 IntOp(mnem, _machInst, __opClass) 63 { 64 } 65 |
66 std::string generateDisassembly( 67 Addr pc, const SymbolTable *symtab) const override; |
68 }; 69 70 class HiLoRsSelOp: public HiLoOp 71 { 72 protected: 73 74 /// Constructor 75 HiLoRsSelOp(const char *mnem, MachInst _machInst, OpClass __opClass) : 76 HiLoOp(mnem, _machInst, __opClass) 77 { 78 } 79 |
80 std::string generateDisassembly( 81 Addr pc, const SymbolTable *symtab) const override; |
82 }; 83 84 class HiLoRdSelOp: public HiLoOp 85 { 86 protected: 87 88 /// Constructor 89 HiLoRdSelOp(const char *mnem, MachInst _machInst, OpClass __opClass) : 90 HiLoOp(mnem, _machInst, __opClass) 91 { 92 } 93 |
94 std::string generateDisassembly( 95 Addr pc, const SymbolTable *symtab) const override; |
96 }; 97 98 class HiLoRdSelValOp: public HiLoOp 99 { 100 protected: 101 102 /// Constructor 103 HiLoRdSelValOp(const char *mnem, MachInst _machInst, OpClass __opClass) : 104 HiLoOp(mnem, _machInst, __opClass) 105 { 106 } 107 |
108 std::string generateDisassembly( 109 Addr pc, const SymbolTable *symtab) const override; |
110 }; 111 112 class IntImmOp : public MipsStaticInst 113 { 114 protected: 115 116 int16_t imm; 117 int32_t sextImm; --- 6 unchanged lines hidden (view full) --- 124 { 125 //If Bit 15 is 1 then Sign Extend 126 int32_t temp = sextImm & 0x00008000; 127 if (temp > 0 && strcmp(mnemonic,"lui") != 0) { 128 sextImm |= 0xFFFF0000; 129 } 130 } 131 |
132 std::string generateDisassembly( 133 Addr pc, const SymbolTable *symtab) const override; |
134 }; 135 136}}; 137 138// HiLo instruction class execute method template. 139def template HiLoExecute {{ 140 Fault %(class_name)s::execute( 141 ExecContext *xc, Trace::InstRecord *traceData) const --- 247 unchanged lines hidden --- |