summaryrefslogtreecommitdiffstats
path: root/src/micro/picinfo16bit.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/micro/picinfo16bit.h')
-rw-r--r--src/micro/picinfo16bit.h266
1 files changed, 266 insertions, 0 deletions
diff --git a/src/micro/picinfo16bit.h b/src/micro/picinfo16bit.h
new file mode 100644
index 0000000..975c23c
--- /dev/null
+++ b/src/micro/picinfo16bit.h
@@ -0,0 +1,266 @@
+/***************************************************************************
+ * Copyright (C) 2003-2004 by David Saxton *
+ * david@bluehaze.org *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ ***************************************************************************/
+
+#ifndef PICINFO16BIT_H
+#define PICINFO16BIT_H
+
+#include "picinfo.h"
+#include "asminfo.h"
+
+/**
+@short 16 Bit PIC Instructions
+@author David Saxton
+ */
+class PicAsm16bit : public AsmInfo
+{
+ public:
+ static PicAsm16bit *self();
+ virtual Set set() const { return AsmInfo::PIC16; }
+
+ protected:
+ static PicAsm16bit *m_self;
+
+ private:
+ PicAsm16bit();
+};
+
+/**
+@author David Saxton
+ */
+class PicInfo16bit : public PicInfo
+{
+ public:
+ PicInfo16bit();
+ ~PicInfo16bit();
+
+ virtual AsmInfo * instructionSet() { return PicAsm16bit::self(); }
+};
+
+/**
+@author David Saxton
+ */
+class PicInfo17C7xx : public PicInfo16bit
+{
+ public:
+ PicInfo17C7xx();
+ ~PicInfo17C7xx();
+ virtual Support gpsimSupport() const { return NoSupport; }
+};
+
+/**
+@author David Saxton
+ */
+class PicInfo17C75x : public PicInfo17C7xx
+{
+ public:
+ PicInfo17C75x();
+ ~PicInfo17C75x();
+ virtual Support gpsimSupport() const { return NoSupport; }
+};
+
+/**
+@author David Saxton
+ */
+class PicInfo17C752 : public PicInfo17C75x
+{
+ public:
+ PicInfo17C752();
+ ~PicInfo17C752();
+ virtual Support gpsimSupport() const { return PartialSupport; }
+};
+
+/**
+@author David Saxton
+ */
+class PicInfo17C756 : public PicInfo17C75x
+{
+ public:
+ PicInfo17C756();
+ ~PicInfo17C756();
+ virtual Support gpsimSupport() const { return PartialSupport; }
+};
+
+/**
+@author David Saxton
+ */
+class PicInfo17C756A : public PicInfo17C75x
+{
+ public:
+ PicInfo17C756A();
+ ~PicInfo17C756A();
+ virtual Support gpsimSupport() const { return NoSupport; }
+};
+
+/**
+@author David Saxton
+ */
+class PicInfo17C762 : public PicInfo17C75x
+{
+ public:
+ PicInfo17C762();
+ ~PicInfo17C762();
+ virtual Support gpsimSupport() const { return PartialSupport; }
+};
+
+/**
+@author David Saxton
+ */
+class PicInfo17C766 : public PicInfo17C75x
+{
+ public:
+ PicInfo17C766();
+ ~PicInfo17C766();
+ virtual Support gpsimSupport() const { return PartialSupport; }
+};
+
+/**
+@author David Saxton
+ */
+class PicInfo18Cxx2 : public PicInfo16bit
+{
+ public:
+ PicInfo18Cxx2();
+ ~PicInfo18Cxx2();
+ virtual Support gpsimSupport() const { return NoSupport; }
+};
+
+/**
+@author David Saxton
+ */
+class PicInfo18C2x2 : public PicInfo16bit
+{
+ public:
+ PicInfo18C2x2();
+ ~PicInfo18C2x2();
+ virtual Support gpsimSupport() const { return NoSupport; }
+};
+
+/**
+@author David Saxton
+ */
+class PicInfo18C242 : public PicInfo18C2x2
+{
+ public:
+ PicInfo18C242();
+ ~PicInfo18C242();
+ virtual Support gpsimSupport() const { return PartialSupport; }
+};
+
+/**
+@author David Saxton
+ */
+class PicInfo18C252 : public PicInfo18C242
+{
+ public:
+ PicInfo18C252();
+ ~PicInfo18C252();
+ virtual Support gpsimSupport() const { return PartialSupport; }
+};
+
+/**
+@author David Saxton
+ */
+class PicInfo18C4x2 : public PicInfo16bit
+{
+ public:
+ PicInfo18C4x2();
+ ~PicInfo18C4x2();
+ virtual Support gpsimSupport() const { return NoSupport; }
+};
+
+/**
+@author David Saxton
+ */
+class PicInfo18C442 : public PicInfo18C4x2
+{
+ public:
+ PicInfo18C442();
+ ~PicInfo18C442();
+ virtual Support gpsimSupport() const { return PartialSupport; }
+};
+
+/**
+@author David Saxton
+ */
+class PicInfo18C452 : public PicInfo18C442
+{
+ public:
+ PicInfo18C452();
+ ~PicInfo18C452();
+ virtual Support gpsimSupport() const { return PartialSupport; }
+};
+
+/**
+@author David Saxton
+ */
+class PicInfo18F442 : public PicInfo18C442
+{
+ public:
+ PicInfo18F442();
+ ~PicInfo18F442();
+ virtual Support gpsimSupport() const { return PartialSupport; }
+};
+
+/**
+@author David Saxton
+ */
+class PicInfo18F248 : public PicInfo18F442
+{
+ public:
+ PicInfo18F248();
+ ~PicInfo18F248();
+ virtual Support gpsimSupport() const { return NoSupport; }
+};
+
+/**
+@author David Saxton
+ */
+class PicInfo18F452 : public PicInfo18F442
+{
+ public:
+ PicInfo18F452();
+ ~PicInfo18F452();
+ virtual Support gpsimSupport() const { return PartialSupport; }
+};
+
+/**
+@author David Saxton
+ */
+class PicInfo18Fxx20 : public PicInfo16bit
+{
+ public:
+ PicInfo18Fxx20();
+ ~PicInfo18Fxx20();
+ virtual Support gpsimSupport() const { return NoSupport; }
+};
+
+/**
+@author David Saxton
+ */
+class PicInfo18F1220 : public PicInfo18Fxx20
+{
+ public:
+ PicInfo18F1220();
+ ~PicInfo18F1220();
+ virtual Support gpsimSupport() const { return NoSupport; }
+};
+
+/**
+@author David Saxton
+ */
+class PicInfo18F1320 : public PicInfo18F1220
+{
+ public:
+ PicInfo18F1320();
+ ~PicInfo18F1320();
+ virtual Support gpsimSupport() const { return NoSupport; }
+};
+
+#endif