Logo Search packages:      
Sourcecode: ktechlab version File versions  Download package

picinfo14bit.h

/***************************************************************************
 *   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 PICINFO14BIT_H
#define PICINFO14BIT_H

#include "picinfo.h"
#include "asminfo.h"

/**
@short 14 Bit PIC Instructions
@author David Saxton
 */
00021 class PicAsm14bit : public AsmInfo
{
      public:
            static PicAsm14bit *self();
00025             virtual Set set() const { return AsmInfo::PIC14; }
      
      protected:
            static PicAsm14bit *m_self;
      
      private:
            PicAsm14bit();
};

/**
@author David Saxton
 */
00037 class PicInfo14bit : public PicInfo
{
      public:
            PicInfo14bit();
            ~PicInfo14bit();
      
            virtual AsmInfo* instructionSet() { return PicAsm14bit::self(); }
};

/**
@author David Saxton
 */
00049 class PicInfo16C8x : public PicInfo14bit
{
      public:
            PicInfo16C8x();
            ~PicInfo16C8x();
};

/**
@author David Saxton
 */
00059 class PicInfo16C84 : public PicInfo16C8x
{
      public:
            PicInfo16C84();
            ~PicInfo16C84();
00064             virtual Support gpsimSupport() const { return FullSupport; }
00065             virtual Support microbeSupport() const { return FullSupport; }
};

/**
@author David Saxton
 */
00071 class PicInfo16F84 : public PicInfo16C8x
{
      public:
            PicInfo16F84();
            ~PicInfo16F84();
00076             virtual Support gpsimSupport() const { return FullSupport; }
00077             virtual Support flowcodeSupport() const { return FullSupport; }
00078             virtual Support microbeSupport() const { return FullSupport; }
};

/**
@author David Saxton
 */
00084 class PicInfo16CR84 : public PicInfo16F84
{
      public:
            PicInfo16CR84();
            ~PicInfo16CR84();
00089             virtual Support gpsimSupport() const { return FullSupport; }
00090             virtual Support flowcodeSupport() const { return NoSupport; }
00091             virtual Support microbeSupport() const { return NoSupport; }
};

/**
@author David Saxton
 */
00097 class PicInfo16F83 : public PicInfo16C8x
{
      public:
            PicInfo16F83();
            ~PicInfo16F83();
00102             virtual Support gpsimSupport() const { return FullSupport; }
};

/**
@author David Saxton
 */
00108 class PicInfo16CR83 : public PicInfo16F83
{
      public:
            PicInfo16CR83();
            ~PicInfo16CR83();
00113             virtual Support gpsimSupport() const { return FullSupport; }
};

/**
@author David Saxton
 */
00119 class PicInfo16C61 : public PicInfo16C8x
{
      public:
            PicInfo16C61();
            ~PicInfo16C61();
00124             virtual Support gpsimSupport() const { return FullSupport; }
};


/**
@author David Saxton
 */
00131 class PicInfo16X6X : public PicInfo14bit
{
      public:
            PicInfo16X6X();
            ~PicInfo16X6X();
00136             virtual Support gpsimSupport() const { return NoSupport; }
};

/**
@author David Saxton
 */
00142 class PicInfo16C62 : public PicInfo16X6X
{
      public:
            PicInfo16C62();
            ~PicInfo16C62();
00147             virtual Support gpsimSupport() const { return FullSupport; }
};

/**
@author David Saxton
 */
00153 class PicInfo16C63 : public PicInfo16C62
{
      public:
            PicInfo16C63();
            ~PicInfo16C63();
00158             virtual Support gpsimSupport() const { return FullSupport; }
};

/**
@author David Saxton
 */
00164 class PicInfo16C64 : public PicInfo16X6X
{
      public:
            PicInfo16C64();
            ~PicInfo16C64();
00169             virtual Support gpsimSupport() const { return PartialSupport; }
};

/**
@author David Saxton
 */
00175 class PicInfo16C65 : public PicInfo16C64
{
      public:
            PicInfo16C65();
            ~PicInfo16C65();
00180             virtual Support gpsimSupport() const { return PartialSupport; }
};

/**
@author David Saxton
 */
00186 class PicInfo16F62x : public PicInfo16X6X
{
      public:
            PicInfo16F62x();
            ~PicInfo16F62x();
00191             virtual Support gpsimSupport() const { return NoSupport; }
};

/**
@author David Saxton
 */
00197 class PicInfo16F627 : public PicInfo16F62x
{
      public:
            PicInfo16F627();
            ~PicInfo16F627();
00202             virtual Support gpsimSupport() const { return FullSupport; }
00203             virtual Support flowcodeSupport() const { return PartialSupport; }
00204             virtual Support microbeSupport() const { return FullSupport; }
};

/**
@author David Saxton
 */
00210 class PicInfo16F628 : public PicInfo16F627
{
      public:
            PicInfo16F628();
            ~PicInfo16F628();
00215             virtual Support gpsimSupport() const { return FullSupport; }
00216             virtual Support flowcodeSupport() const { return PartialSupport; }
00217             virtual Support microbeSupport() const { return FullSupport; }
};

/**
@author David Saxton
 */
00223 class PicInfo16F648 : public PicInfo16F628
{
      public:
            PicInfo16F648();
            ~PicInfo16F648();
00228             virtual Support gpsimSupport() const { return NoSupport; }
};

/**
@author David Saxton
 */
00234 class PicInfo16C71 : public PicInfo16C61
{
      public:
            PicInfo16C71();
            ~PicInfo16C71();
00239             virtual Support gpsimSupport() const { return FullSupport; }
};

/**
@author David Saxton
 */
00245 class PicInfo16C712 : public PicInfo16C62
{
      public:
            PicInfo16C712();
            ~PicInfo16C712();
00250             virtual Support gpsimSupport() const { return FullSupport; }
};

/**
@author David Saxton
 */
00256 class PicInfo16C716 : public PicInfo16C712
{
      public:
            PicInfo16C716();
            ~PicInfo16C716();
00261             virtual Support gpsimSupport() const { return FullSupport; }
};

/**
@author David Saxton
 */
00267 class PicInfo16C72 : public PicInfo16C62
{
      public:
            PicInfo16C72();
            ~PicInfo16C72();
00272             virtual Support gpsimSupport() const { return PartialSupport; }
};

/**
@author David Saxton
 */
00278 class PicInfo16C73 : public PicInfo16C63
{
      public:
            PicInfo16C73();
            ~PicInfo16C73();
00283             virtual Support gpsimSupport() const { return PartialSupport; }
};

/**
@author David Saxton
 */
00289 class PicInfo16C74 : public PicInfo16C65
{
      public:
            PicInfo16C74();
            ~PicInfo16C74();
00294             virtual Support gpsimSupport() const { return PartialSupport; }
};

/**
@author David Saxton
 */
00300 class PicInfo16F873 : public PicInfo16C73
{
      public:
            PicInfo16F873();
            ~PicInfo16F873();
00305             virtual Support gpsimSupport() const { return PartialSupport; }
};

/**
@author David Saxton
 */
00311 class PicInfo16F874 : public PicInfo16C74
{
      public:
            PicInfo16F874();
            ~PicInfo16F874();
00316             virtual Support gpsimSupport() const { return PartialSupport; }
};

/**
@author David Saxton
 */
00322 class PicInfo16F877 : public PicInfo16F874
{
      public:
            PicInfo16F877();
            ~PicInfo16F877();
00327             virtual Support gpsimSupport() const { return PartialSupport; }
};

#endif

Generated by  Doxygen 1.6.0   Back to index