Mano pdp8 counter.cc
counter.cc -- The program counter.
// counter class #ifndef COUNTER_CC #define COUNTER_CC #include <iostream.h> class counter; ostream& operator << (ostream& os, const counter& M ); class counter { unsigned short us_range; unsigned short us_data; friend ostream& operator << (ostream& os, const counter& M ) { os << M.us_data; return os; } public: counter(short s_Range = 15) { us_range = s_Range; us_data = 0; } counter(const counter &V) { us_data = V.us_data; us_range = V.us_range; } ~counter(){} void operator = (const counter &V) { us_data = V.us_data; us_range = V.us_range; } friend counter operator ++ ( counter &M, int ) { if( M.us_data == M.us_range) M.us_data = 0; else M.us_data++; return M; } friend counter operator -- (counter &M, int) { if( M.us_data == 0) M.us_data = M.us_range; else M.us_data--; return M; } void clear() { us_data = 0; } short getcount() { return us_data; } }; #endif // COUNTER_CC
Internal Links
Parent Article: Mano PDP-8 Simulation Project Source Code