File indexing completed on 2024-04-21 05:43:48
0001 /*************************************************************************** 0002 * Copyright (C) 2003-2004 by David Saxton * 0003 * david@bluehaze.org * 0004 * * 0005 * This program is free software; you can redistribute it and/or modify * 0006 * it under the terms of the GNU General Public License as published by * 0007 * the Free Software Foundation; either version 2 of the License, or * 0008 * (at your option) any later version. * 0009 ***************************************************************************/ 0010 0011 #ifndef PICINFO12BIT_H 0012 #define PICINFO12BIT_H 0013 0014 #include "asminfo.h" 0015 #include "picinfo.h" 0016 0017 /** 0018 @short 12 Bit PIC Instructions 0019 @author David Saxton 0020 */ 0021 class PicAsm12bit : public AsmInfo 0022 { 0023 public: 0024 static PicAsm12bit *self(); 0025 Set set() const override 0026 { 0027 return AsmInfo::PIC12; 0028 } 0029 0030 // protected: 0031 // static PicAsm12bit *m_self; 0032 0033 PicAsm12bit(); 0034 }; 0035 0036 /** 0037 @author David Saxton 0038 */ 0039 class PicInfo12bit : public PicInfo 0040 { 0041 public: 0042 PicInfo12bit(); 0043 ~PicInfo12bit() override; 0044 0045 AsmInfo *instructionSet() override 0046 { 0047 return PicAsm12bit::self(); 0048 } 0049 }; 0050 0051 /** 0052 @author David Saxton 0053 */ 0054 class PicInfo16C54 : public PicInfo12bit 0055 { 0056 public: 0057 PicInfo16C54(); 0058 ~PicInfo16C54() override; 0059 Support gpsimSupport() const override 0060 { 0061 return FullSupport; 0062 } 0063 }; 0064 0065 /** 0066 @author David Saxton 0067 */ 0068 class PicInfo16C55 : public PicInfo12bit 0069 { 0070 public: 0071 PicInfo16C55(); 0072 ~PicInfo16C55() override; 0073 Support gpsimSupport() const override 0074 { 0075 return FullSupport; 0076 } 0077 }; 0078 0079 /** 0080 @author David Saxton 0081 */ 0082 class PicInfo12C508 : public PicInfo12bit 0083 { 0084 public: 0085 PicInfo12C508(); 0086 ~PicInfo12C508() override; 0087 Support gpsimSupport() const override 0088 { 0089 return FullSupport; 0090 } 0091 }; 0092 0093 /** 0094 @author David Saxton 0095 */ 0096 class PicInfo12C509 : public PicInfo12C508 0097 { 0098 public: 0099 PicInfo12C509(); 0100 ~PicInfo12C509() override; 0101 Support gpsimSupport() const override 0102 { 0103 return FullSupport; 0104 } 0105 }; 0106 0107 /** 0108 @author David Saxton 0109 */ 0110 class PicInfo12C671 : public PicInfo12C508 0111 { 0112 public: 0113 PicInfo12C671(); 0114 ~PicInfo12C671() override; 0115 Support gpsimSupport() const override 0116 { 0117 return NoSupport; 0118 } 0119 }; 0120 0121 /** 0122 @author David Saxton 0123 */ 0124 class PicInfo12C672 : public PicInfo12C508 0125 { 0126 public: 0127 PicInfo12C672(); 0128 ~PicInfo12C672() override; 0129 Support gpsimSupport() const override 0130 { 0131 return NoSupport; 0132 } 0133 }; 0134 0135 #endif