File indexing completed on 2024-03-24 05:46:39
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 PICINFO16BIT_H 0012 #define PICINFO16BIT_H 0013 0014 #include "asminfo.h" 0015 #include "picinfo.h" 0016 0017 /** 0018 @short 16 Bit PIC Instructions 0019 @author David Saxton 0020 */ 0021 class PicAsm16bit : public AsmInfo 0022 { 0023 public: 0024 static PicAsm16bit *self(); 0025 Set set() const override 0026 { 0027 return AsmInfo::PIC16; 0028 } 0029 0030 protected: 0031 // static PicAsm16bit *m_self; 0032 0033 public: 0034 PicAsm16bit(); 0035 }; 0036 0037 /** 0038 @author David Saxton 0039 */ 0040 class PicInfo16bit : public PicInfo 0041 { 0042 public: 0043 PicInfo16bit(); 0044 ~PicInfo16bit() override; 0045 0046 AsmInfo *instructionSet() override 0047 { 0048 return PicAsm16bit::self(); 0049 } 0050 }; 0051 0052 /** 0053 @author David Saxton 0054 */ 0055 class PicInfo17C7xx : public PicInfo16bit 0056 { 0057 public: 0058 PicInfo17C7xx(); 0059 ~PicInfo17C7xx() override; 0060 Support gpsimSupport() const override 0061 { 0062 return NoSupport; 0063 } 0064 }; 0065 0066 /** 0067 @author David Saxton 0068 */ 0069 class PicInfo17C75x : public PicInfo17C7xx 0070 { 0071 public: 0072 PicInfo17C75x(); 0073 ~PicInfo17C75x() override; 0074 Support gpsimSupport() const override 0075 { 0076 return NoSupport; 0077 } 0078 }; 0079 0080 /** 0081 Note: this PIC is not supported by SDCC 0082 @author David Saxton 0083 */ 0084 class PicInfo17C752 : public PicInfo17C75x 0085 { 0086 public: 0087 PicInfo17C752(); 0088 ~PicInfo17C752() override; 0089 Support gpsimSupport() const override 0090 { 0091 return NoSupport; 0092 } 0093 }; 0094 0095 /** 0096 Note: this PIC is not supported by SDCC 0097 @author David Saxton 0098 */ 0099 class PicInfo17C756 : public PicInfo17C75x 0100 { 0101 public: 0102 PicInfo17C756(); 0103 ~PicInfo17C756() override; 0104 Support gpsimSupport() const override 0105 { 0106 return NoSupport; 0107 } 0108 }; 0109 0110 /** 0111 Note: this PIC is not supported by SDCC 0112 @author David Saxton 0113 */ 0114 class PicInfo17C756A : public PicInfo17C75x 0115 { 0116 public: 0117 PicInfo17C756A(); 0118 ~PicInfo17C756A() override; 0119 Support gpsimSupport() const override 0120 { 0121 return NoSupport; 0122 } 0123 }; 0124 0125 /** 0126 Note: this PIC is not supported by SDCC 0127 @author David Saxton 0128 */ 0129 class PicInfo17C762 : public PicInfo17C75x 0130 { 0131 public: 0132 PicInfo17C762(); 0133 ~PicInfo17C762() override; 0134 Support gpsimSupport() const override 0135 { 0136 return NoSupport; 0137 } 0138 }; 0139 0140 /** 0141 Note: this PIC is not supported by SDCC 0142 @author David Saxton 0143 */ 0144 class PicInfo17C766 : public PicInfo17C75x 0145 { 0146 public: 0147 PicInfo17C766(); 0148 ~PicInfo17C766() override; 0149 Support gpsimSupport() const override 0150 { 0151 return NoSupport; 0152 } 0153 }; 0154 0155 /** 0156 @author David Saxton 0157 */ 0158 class PicInfo18Cxx2 : public PicInfo16bit 0159 { 0160 public: 0161 PicInfo18Cxx2(); 0162 ~PicInfo18Cxx2() override; 0163 Support gpsimSupport() const override 0164 { 0165 return NoSupport; 0166 } 0167 }; 0168 0169 /** 0170 @author David Saxton 0171 */ 0172 class PicInfo18C2x2 : public PicInfo16bit 0173 { 0174 public: 0175 PicInfo18C2x2(); 0176 ~PicInfo18C2x2() override; 0177 Support gpsimSupport() const override 0178 { 0179 return NoSupport; 0180 } 0181 }; 0182 0183 /** 0184 Note: this PIC is not supported by SDCC 0185 @author David Saxton 0186 */ 0187 class PicInfo18C242 : public PicInfo18C2x2 0188 { 0189 public: 0190 PicInfo18C242(); 0191 ~PicInfo18C242() override; 0192 Support gpsimSupport() const override 0193 { 0194 return FullSupport; 0195 } 0196 }; 0197 0198 /** 0199 Note: this PIC is not supported by SDCC 0200 @author David Saxton 0201 */ 0202 class PicInfo18C252 : public PicInfo18C242 0203 { 0204 public: 0205 PicInfo18C252(); 0206 ~PicInfo18C252() override; 0207 Support gpsimSupport() const override 0208 { 0209 return FullSupport; 0210 } 0211 }; 0212 0213 /** 0214 @author David Saxton 0215 */ 0216 class PicInfo18C4x2 : public PicInfo16bit 0217 { 0218 public: 0219 PicInfo18C4x2(); 0220 ~PicInfo18C4x2() override; 0221 Support gpsimSupport() const override 0222 { 0223 return NoSupport; 0224 } 0225 }; 0226 0227 /** 0228 Note: this PIC is not supported by SDCC 0229 @author David Saxton 0230 */ 0231 class PicInfo18C442 : public PicInfo18C4x2 0232 { 0233 public: 0234 PicInfo18C442(); 0235 ~PicInfo18C442() override; 0236 Support gpsimSupport() const override 0237 { 0238 return FullSupport; 0239 } 0240 }; 0241 0242 /** 0243 Note: this PIC is not supported by SDCC 0244 @author David Saxton 0245 */ 0246 class PicInfo18C452 : public PicInfo18C442 0247 { 0248 public: 0249 PicInfo18C452(); 0250 ~PicInfo18C452() override; 0251 Support gpsimSupport() const override 0252 { 0253 return FullSupport; 0254 } 0255 }; 0256 0257 /** 0258 @author David Saxton 0259 */ 0260 class PicInfo18F442 : public PicInfo18C442 0261 { 0262 public: 0263 PicInfo18F442(); 0264 ~PicInfo18F442() override; 0265 Support gpsimSupport() const override 0266 { 0267 return FullSupport; 0268 } 0269 }; 0270 0271 /** 0272 @author David Saxton 0273 */ 0274 class PicInfo18F248 : public PicInfo18F442 0275 { 0276 public: 0277 PicInfo18F248(); 0278 ~PicInfo18F248() override; 0279 Support gpsimSupport() const override 0280 { 0281 return FullSupport; 0282 } 0283 }; 0284 0285 /** 0286 @author David Saxton 0287 */ 0288 class PicInfo18F452 : public PicInfo18F442 0289 { 0290 public: 0291 PicInfo18F452(); 0292 ~PicInfo18F452() override; 0293 Support gpsimSupport() const override 0294 { 0295 return FullSupport; 0296 } 0297 }; 0298 0299 /** 0300 @author David Saxton 0301 */ 0302 class PicInfo18Fxx20 : public PicInfo16bit 0303 { 0304 public: 0305 PicInfo18Fxx20(); 0306 ~PicInfo18Fxx20() override; 0307 Support gpsimSupport() const override 0308 { 0309 return NoSupport; 0310 } 0311 }; 0312 0313 /** 0314 @author David Saxton 0315 */ 0316 class PicInfo18F1220 : public PicInfo18Fxx20 0317 { 0318 public: 0319 PicInfo18F1220(); 0320 ~PicInfo18F1220() override; 0321 Support gpsimSupport() const override 0322 { 0323 return FullSupport; 0324 } 0325 }; 0326 0327 /** 0328 @author David Saxton 0329 */ 0330 class PicInfo18F1320 : public PicInfo18F1220 0331 { 0332 public: 0333 PicInfo18F1320(); 0334 ~PicInfo18F1320() override; 0335 Support gpsimSupport() const override 0336 { 0337 return FullSupport; 0338 } 0339 }; 0340 0341 #endif