X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=sim%2Fucsim%2Fsim.src%2Fitsrccl.h;h=673a96e86c6cae18a85f0863b2c542952e0c3232;hb=34d14506fd0c12ee5434fec0f9dec27753e1aab5;hp=2e96279d0295069485ddc6582cb14bc5cae146e9;hpb=0ac34444ce2ccdcaa5fe722e2420f96c46224039;p=fw%2Fsdcc diff --git a/sim/ucsim/sim.src/itsrccl.h b/sim/ucsim/sim.src/itsrccl.h index 2e96279d..673a96e8 100644 --- a/sim/ucsim/sim.src/itsrccl.h +++ b/sim/ucsim/sim.src/itsrccl.h @@ -1,5 +1,5 @@ /* - * Simulator of microcontrollers (itsrccl.h) + * Simulator of microcontrollers (sim.src/itsrccl.h) * * Copyright (C) 1999,99 Drotos Daniel, Talker Bt. * @@ -25,8 +25,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /*@1@*/ -#ifndef ITSRCCL_HEADER -#define ITSRCCL_HEADER +#ifndef SIM_ITSRCCL_HEADER +#define SIM_ITSRCCL_HEADER #include "pobjcl.h" #include "stypes.h" @@ -39,12 +39,13 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA class cl_it_src: public cl_base { public: + int poll_priority; uchar ie_mask; // Mask in IE register uchar src_reg; // Register in SFR of source uchar src_mask; // Mask of source bit in src_reg uint addr; // Address of service routine bool clr_bit; // Request bit must be cleared when IT accepted - char *name; // For debug + //char *name; // For debug bool active; // Acceptance can be disabled cl_it_src(uchar Iie_mask, @@ -52,8 +53,9 @@ public: uchar Isrc_mask, uint Iaddr, bool Iclr_bit, - char *Iname); - ~cl_it_src(void); + const char *Iname, + int apoll_priority); + virtual ~cl_it_src(void); bool is_active(void); virtual void set_active_status(bool Aactive); @@ -62,6 +64,15 @@ public: }; +class cl_irqs: public cl_sorted_list +{ +public: + cl_irqs(t_index alimit, t_index adelta); + virtual const void *key_of(void *item); + virtual int compare(const void *key1, const void *key2); +}; + + /* * This class is used to follow levels of accepted interrupts * It used on a stack of active interrupt services (it_levels of cl_uc)