00001 /*************************************************************************** 00002 * Copyright (C) 2003-2004 by David Saxton * 00003 * david@bluehaze.org * 00004 * * 00005 * This program is free software; you can redistribute it and/or modify * 00006 * it under the terms of the GNU General Public License as published by * 00007 * the Free Software Foundation; either version 2 of the License, or * 00008 * (at your option) any later version. * 00009 ***************************************************************************/ 00010 00011 #ifndef PICINFO14BIT_H 00012 #define PICINFO14BIT_H 00013 00014 #include "picinfo.h" 00015 #include "asminfo.h" 00016 00021 class PicAsm14bit : public AsmInfo 00022 { 00023 public: 00024 static PicAsm14bit *self(); 00025 virtual Set set() const { return AsmInfo::PIC14; } 00026 00027 protected: 00028 static PicAsm14bit *m_self; 00029 00030 private: 00031 PicAsm14bit(); 00032 }; 00033 00037 class PicInfo14bit : public PicInfo 00038 { 00039 public: 00040 PicInfo14bit(); 00041 ~PicInfo14bit(); 00042 00043 virtual AsmInfo* instructionSet() { return PicAsm14bit::self(); } 00044 }; 00045 00049 class PicInfo16C8x : public PicInfo14bit 00050 { 00051 public: 00052 PicInfo16C8x(); 00053 ~PicInfo16C8x(); 00054 }; 00055 00059 class PicInfo16C84 : public PicInfo16C8x 00060 { 00061 public: 00062 PicInfo16C84(); 00063 ~PicInfo16C84(); 00064 virtual Support gpsimSupport() const { return FullSupport; } 00065 virtual Support microbeSupport() const { return FullSupport; } 00066 }; 00067 00071 class PicInfo16F84 : public PicInfo16C8x 00072 { 00073 public: 00074 PicInfo16F84(); 00075 ~PicInfo16F84(); 00076 virtual Support gpsimSupport() const { return FullSupport; } 00077 virtual Support flowcodeSupport() const { return FullSupport; } 00078 virtual Support microbeSupport() const { return FullSupport; } 00079 }; 00080 00084 class PicInfo16CR84 : public PicInfo16F84 00085 { 00086 public: 00087 PicInfo16CR84(); 00088 ~PicInfo16CR84(); 00089 virtual Support gpsimSupport() const { return FullSupport; } 00090 virtual Support flowcodeSupport() const { return NoSupport; } 00091 virtual Support microbeSupport() const { return NoSupport; } 00092 }; 00093 00097 class PicInfo16F83 : public PicInfo16C8x 00098 { 00099 public: 00100 PicInfo16F83(); 00101 ~PicInfo16F83(); 00102 virtual Support gpsimSupport() const { return FullSupport; } 00103 }; 00104 00108 class PicInfo16CR83 : public PicInfo16F83 00109 { 00110 public: 00111 PicInfo16CR83(); 00112 ~PicInfo16CR83(); 00113 virtual Support gpsimSupport() const { return FullSupport; } 00114 }; 00115 00119 class PicInfo16C61 : public PicInfo16C8x 00120 { 00121 public: 00122 PicInfo16C61(); 00123 ~PicInfo16C61(); 00124 virtual Support gpsimSupport() const { return FullSupport; } 00125 }; 00126 00127 00131 class PicInfo16X6X : public PicInfo14bit 00132 { 00133 public: 00134 PicInfo16X6X(); 00135 ~PicInfo16X6X(); 00136 virtual Support gpsimSupport() const { return NoSupport; } 00137 }; 00138 00142 class PicInfo16C62 : public PicInfo16X6X 00143 { 00144 public: 00145 PicInfo16C62(); 00146 ~PicInfo16C62(); 00147 virtual Support gpsimSupport() const { return FullSupport; } 00148 }; 00149 00153 class PicInfo16C63 : public PicInfo16C62 00154 { 00155 public: 00156 PicInfo16C63(); 00157 ~PicInfo16C63(); 00158 virtual Support gpsimSupport() const { return FullSupport; } 00159 }; 00160 00164 class PicInfo16C64 : public PicInfo16X6X 00165 { 00166 public: 00167 PicInfo16C64(); 00168 ~PicInfo16C64(); 00169 virtual Support gpsimSupport() const { return PartialSupport; } 00170 }; 00171 00175 class PicInfo16C65 : public PicInfo16C64 00176 { 00177 public: 00178 PicInfo16C65(); 00179 ~PicInfo16C65(); 00180 virtual Support gpsimSupport() const { return PartialSupport; } 00181 }; 00182 00186 class PicInfo16F62x : public PicInfo16X6X 00187 { 00188 public: 00189 PicInfo16F62x(); 00190 ~PicInfo16F62x(); 00191 virtual Support gpsimSupport() const { return NoSupport; } 00192 }; 00193 00197 class PicInfo16F627 : public PicInfo16F62x 00198 { 00199 public: 00200 PicInfo16F627(); 00201 ~PicInfo16F627(); 00202 virtual Support gpsimSupport() const { return FullSupport; } 00203 virtual Support flowcodeSupport() const { return PartialSupport; } 00204 virtual Support microbeSupport() const { return FullSupport; } 00205 }; 00206 00210 class PicInfo16F628 : public PicInfo16F627 00211 { 00212 public: 00213 PicInfo16F628(); 00214 ~PicInfo16F628(); 00215 virtual Support gpsimSupport() const { return FullSupport; } 00216 virtual Support flowcodeSupport() const { return PartialSupport; } 00217 virtual Support microbeSupport() const { return FullSupport; } 00218 }; 00219 00223 class PicInfo16F648 : public PicInfo16F628 00224 { 00225 public: 00226 PicInfo16F648(); 00227 ~PicInfo16F648(); 00228 virtual Support gpsimSupport() const { return NoSupport; } 00229 }; 00230 00234 class PicInfo16C71 : public PicInfo16C61 00235 { 00236 public: 00237 PicInfo16C71(); 00238 ~PicInfo16C71(); 00239 virtual Support gpsimSupport() const { return FullSupport; } 00240 }; 00241 00245 class PicInfo16C712 : public PicInfo16C62 00246 { 00247 public: 00248 PicInfo16C712(); 00249 ~PicInfo16C712(); 00250 virtual Support gpsimSupport() const { return FullSupport; } 00251 }; 00252 00256 class PicInfo16C716 : public PicInfo16C712 00257 { 00258 public: 00259 PicInfo16C716(); 00260 ~PicInfo16C716(); 00261 virtual Support gpsimSupport() const { return FullSupport; } 00262 }; 00263 00267 class PicInfo16C72 : public PicInfo16C62 00268 { 00269 public: 00270 PicInfo16C72(); 00271 ~PicInfo16C72(); 00272 virtual Support gpsimSupport() const { return PartialSupport; } 00273 }; 00274 00278 class PicInfo16C73 : public PicInfo16C63 00279 { 00280 public: 00281 PicInfo16C73(); 00282 ~PicInfo16C73(); 00283 virtual Support gpsimSupport() const { return PartialSupport; } 00284 }; 00285 00289 class PicInfo16C74 : public PicInfo16C65 00290 { 00291 public: 00292 PicInfo16C74(); 00293 ~PicInfo16C74(); 00294 virtual Support gpsimSupport() const { return PartialSupport; } 00295 }; 00296 00300 class PicInfo16F873 : public PicInfo16C73 00301 { 00302 public: 00303 PicInfo16F873(); 00304 ~PicInfo16F873(); 00305 virtual Support gpsimSupport() const { return PartialSupport; } 00306 }; 00307 00311 class PicInfo16F874 : public PicInfo16C74 00312 { 00313 public: 00314 PicInfo16F874(); 00315 ~PicInfo16F874(); 00316 virtual Support gpsimSupport() const { return PartialSupport; } 00317 }; 00318 00322 class PicInfo16F877 : public PicInfo16F874 00323 { 00324 public: 00325 PicInfo16F877(); 00326 ~PicInfo16F877(); 00327 virtual Support gpsimSupport() const { return PartialSupport; } 00328 }; 00329 00330 #endif
1.5.1