decoder.isa (4275:8a37341c7507) | decoder.isa (4276:f0030662ee2a) |
---|---|
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 --- 44 unchanged lines hidden (view full) --- 53// 54// Authors: Gabe Black 55 56//////////////////////////////////////////////////////////////////// 57// 58// The actual decoder specification 59// 60 | 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 --- 44 unchanged lines hidden (view full) --- 53// 54// Authors: Gabe Black 55 56//////////////////////////////////////////////////////////////////// 57// 58// The actual decoder specification 59// 60 |
61decode EXAMPLE default Unknown::unknown() | 61decode OPCODE_NUM default Unknown::unknown() |
62{ | 62{ |
63 0x0: Unknown::unknown2(); | 63 0x0: M5InternalError::error( 64 {{"Saw an ExtMachInst with zero opcode bytes!"}}); 65 //1 byte opcodes 66 ##include "one_byte_opcodes.isa" 67 //2 byte opcodes 68 ##include "two_byte_opcodes.isa" 69 //3 byte opcodes 70 0x3: decode OPCODE_PREFIXA { 71 0xF0: decode OPCODE_PREFIXB { 72 //We don't handle these properly in the predecoder yet, so there's 73 //no reason to implement them for now. 74 0x38: decode OPCODE_OP { 75 default: FailUnimpl::sseThreeEight(); 76 } 77 0x3A: decode OPCODE_OP { 78 default: FailUnimpl::sseThreeA(); 79 } 80 0xF0: decode OPCODE_OP { 81 default: FailUnimpl::threednow(); 82 } 83 default: M5InternalError::error( 84 {{"Unexpected second opcode byte in three byte opcode!"}}); 85 } 86 default: M5InternalError::error( 87 {{"Unexpected first opcode byte in three byte opcode!"}}); 88 } |
64} | 89} |