mem.isa (7131:ab3a70a37ca8) | mem.isa (7206:00494ff7ca71) |
---|---|
1// -*- mode:c++ -*- 2 3// Copyright (c) 2010 ARM Limited 4// All rights reserved 5// 6// The license below extends only to copyright in the software and shall 7// not be construed as granting a license to any other intellectual 8// property including but not limited to intellectual property relating --- 199 unchanged lines hidden (view full) --- 208 "ldrsb" : decodePuiw(True, False, size=1, sign=True), 209 "ldrd" : decodePuiw(True, True), 210 "ldrsh" : decodePuiw(True, False, size=2, sign=True), 211 "strd" : decodePuiw(False, True) 212 } 213 decode_block = decode % subs 214}}; 215 | 1// -*- mode:c++ -*- 2 3// Copyright (c) 2010 ARM Limited 4// All rights reserved 5// 6// The license below extends only to copyright in the software and shall 7// not be construed as granting a license to any other intellectual 8// property including but not limited to intellectual property relating --- 199 unchanged lines hidden (view full) --- 208 "ldrsb" : decodePuiw(True, False, size=1, sign=True), 209 "ldrd" : decodePuiw(True, True), 210 "ldrsh" : decodePuiw(True, False, size=2, sign=True), 211 "strd" : decodePuiw(False, True) 212 } 213 decode_block = decode % subs 214}}; 215 |
216def format ArmSyncMem() {{ 217 decode_block = ''' 218 { 219 const IntRegIndex rn = (IntRegIndex)(uint32_t)bits(machInst, 19, 16); 220 const IntRegIndex rt = (IntRegIndex)(uint32_t)bits(machInst, 15, 12); 221 const IntRegIndex rt2 = (IntRegIndex)(uint32_t)bits(machInst, 3, 0); 222 switch (PUBWL) { 223 case 0x10: 224 return new Swp(machInst, rt, rt2, rn); 225 case 0x14: 226 return new Swpb(machInst, rt, rt2, rn); 227 case 0x18: 228 return new WarnUnimplemented("strex", machInst); 229 case 0x19: 230 return new WarnUnimplemented("ldrex", machInst); 231 default: 232 return new Unknown(machInst); 233 } 234 } 235 ''' 236}}; 237 |
|
216def format Thumb32LoadWord() {{ 217 decode = ''' 218 { 219 uint32_t op1 = bits(machInst, 24, 23); 220 if (bits(op1, 1) == 0) { 221 uint32_t op2 = bits(machInst, 11, 6); 222 if (HTRN == 0xF) { 223 if (UP) { --- 249 unchanged lines hidden --- | 238def format Thumb32LoadWord() {{ 239 decode = ''' 240 { 241 uint32_t op1 = bits(machInst, 24, 23); 242 if (bits(op1, 1) == 0) { 243 uint32_t op2 = bits(machInst, 11, 6); 244 if (HTRN == 0xF) { 245 if (UP) { --- 249 unchanged lines hidden --- |