亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? intr.h

?? cpci程序 根據cpai協議編寫的測試程序
?? H
?? 第 1 頁 / 共 2 頁
字號:
/*----------------------------------------------------------------------------*/

/*----------------------------------------------------------------------------*/
/* INTR_GLOBAL_ENABLE - enables all masked interrupts by setting the GIE      */
/*              bit (bit 0) in the CSR                                        */
/*----------------------------------------------------------------------------*/
#define INTR_GLOBAL_ENABLE() \
        SET_REG_BIT(CSR, GIE)

/*----------------------------------------------------------------------------*/
/* INTR_GLOBAL_DISABLE - disables all masked interrupts by clearing the GIE   */
/*               (bit 0) in the CSR.                                          */
/*----------------------------------------------------------------------------*/
#define INTR_GLOBAL_DISABLE() \
        RESET_REG_BIT(CSR, GIE)

/*----------------------------------------------------------------------------*/
/* INTR_ENABLE - enable interrupt by setting flag in IER                      */
/*----------------------------------------------------------------------------*/
#define INTR_ENABLE(bit) \
        SET_REG_BIT(IER,bit) 

/*----------------------------------------------------------------------------*/
/* INTR_DISABLE - disable interrupt by clearing flag in IER                   */
/*----------------------------------------------------------------------------*/
#define INTR_DISABLE(bit) \
        RESET_REG_BIT(IER,bit) 

/*----------------------------------------------------------------------------*/
/* INTR_CHECK_FLAG - checks status of indicated interrupt bit in IFR          */
/*----------------------------------------------------------------------------*/
#define INTR_CHECK_FLAG(bit) \
        (IFR & MASK_BIT(bit) ? 1 : 0)

/*----------------------------------------------------------------------------*/
/* INTR_SET_FLAG - manually sets indicated interrupt by writing to ISR        */
/*----------------------------------------------------------------------------*/
#define INTR_SET_FLAG(bit) \
        (ISR = MASK_BIT(bit))

/*----------------------------------------------------------------------------*/
/* INTR_CLR_FLAG - manually clears indicated interrupt by writing 1 to ICR    */
/*----------------------------------------------------------------------------*/
#define INTR_CLR_FLAG(bit) \
        (ICR = MASK_BIT(bit))

/*----------------------------------------------------------------------------*/
/* INTR_SET_MAP  - maps a CPU interrupt specified by intr to the interrupt src*/
/*            specified by val.  Sel is used to select between the low and    */
/*            high interrupt_multiplexer registers.                           */
/*----------------------------------------------------------------------------*/
#define INTR_SET_MAP(intsel,val,sel) \
        (sel ? LOAD_FIELD(INTR_MULTIPLEX_HIGH_ADDR,val,intsel,INTSEL_SZ) : \
               LOAD_FIELD(INTR_MULTIPLEX_LOW_ADDR, val,intsel,INTSEL_SZ ))

/*----------------------------------------------------------------------------*/
/* INTR_GET_ISN - returns the ISN value in the selected Interrupt Multiplexer */
/*                register for the interrupt selected by intsel               */
/*----------------------------------------------------------------------------*/
#define INTR_GET_ISN(intsel,sel) \
        (sel ? GET_FIELD(INTR_MULTIPLEX_HIGH_ADDR,intsel,INTSEL_SZ) : \
               GET_FIELD(INTR_MULTIPLEX_LOW_ADDR, intsel, INTSEL_SZ))

/*----------------------------------------------------------------------------*/
/* INTR_MAP_RESET - resets the interrupt multiplexer maps to their default val*/
/*----------------------------------------------------------------------------*/
#define INTR_MAP_RESET() \
        { REG_WRITE (INTR_MULTIPLEX_HIGH_ADDR,IMH_RESET_VAL); \
          REG_WRITE (INTR_MULTIPLEX_LOW_ADDR, IML_RESET_VAL); }

/*----------------------------------------------------------------------------*/
/* INTR_EXT_POLARITY - assigns external interrupt external priority.          */
/*                    val = 0 (normal), val = 1 (inverted)                    */
/*----------------------------------------------------------------------------*/
#define INTR_EXT_POLARITY(bit,val) \
        (val ? SET_BIT(EXTERNAL_INTR_POL_ADDR,bit) : \
               RESET_BIT(EXTERNAL_INTR_POL_ADDR,bit))


/*----------------------------------------------------------------------------*/
/* GLOBAL VARIABLES                                                           */
/*----------------------------------------------------------------------------*/
extern unsigned int istb;
extern unsigned int NMI, RESV1, RESV2;
extern unsigned int unexp_int04, unexp_int05, unexp_int06, unexp_int07;
extern unsigned int unexp_int08, unexp_int09, unexp_int10, unexp_int11;
extern unsigned int unexp_int12, unexp_int13, unexp_int14, unexp_int15;

/*----------------------------------------------------------------------------*/
/* FUNCTIONS                                                                  */
/*----------------------------------------------------------------------------*/
extern void interrupt c_int00(void);

void intr_reset(void);
void intr_init(void);
void intr_hook(void (*fp)(void),int cpu_intr);

__INLINE void intr_map(int cpu_intr,int isn);
__INLINE int intr_isn(int cpu_intr);
__INLINE int intr_get_cpu_intr(int isn);


#if _INLINE
/* intr_map() - Place isn value in Interrupt Multiplexer Register in INTSEL   */
/*              field indicated by cpu_intr.                                  */
                                          
static inline void intr_map(int cpu_intr,int isn)
{
  int intsel;
  int sel;

  if (cpu_intr > CPU_INT9)
    sel=1;
  else
    sel= 0;

  intsel= ((cpu_intr - CPU_INT4) * 5) - (sel * 30);
  if (intsel > INTSEL6)
    intsel++;

  INTR_SET_MAP(intsel,isn,sel);
}


/* intr_isn() - return isn in interrupt selector corresponding to cpu_intr    */
static inline int intr_isn(int cpu_intr)
{

  int intsel;
  int sel;

  if (cpu_intr > CPU_INT9)
    sel= 1;
  else
    sel= 0;

  intsel= ((cpu_intr - CPU_INT4) * 5) - (sel * 30);
  if (intsel > INTSEL6)
    intsel++;

  return(INTR_GET_ISN(intsel,sel));
}

/* intr_get_cpu_intr() - return cpu interrupt corresponding to isn in         */
/*                       interrupt selector register.  If the isn is not      */
/*                       mapped, return -1                                    */
static inline int intr_get_cpu_intr(int isn)
{
  int i;
  for (i= CPU_INT4;i<=CPU_INT15;i++)
  {
    if (intr_isn(i) == isn)
      return(i);
  }
  return(-1);
}

#endif /* _INLINE */

#undef __INLINE    
#endif /* _INTR_H_ */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成a人亚洲精| 亚洲蜜桃精久久久久久久| 欧美日韩一区二区三区在线看| av爱爱亚洲一区| 91在线视频网址| 欧美三区在线观看| 欧美久久久一区| 日韩欧美国产电影| 久久久91精品国产一区二区三区| 国产亚洲欧美在线| 亚洲欧洲国产日本综合| 亚洲美女少妇撒尿| 天天色综合天天| 狠狠v欧美v日韩v亚洲ⅴ| 激情综合网天天干| 9i看片成人免费高清| 91久久精品一区二区三区| 欧美高清你懂得| 国产亚洲视频系列| 亚洲欧美另类久久久精品| 日韩精品三区四区| 国产精品91xxx| 在线精品视频免费观看| 欧美一级在线观看| 国产精品美女久久久久久久久 | 亚洲一区二区三区美女| 亚洲成a人片在线观看中文| 久久精品国产免费| 91在线观看美女| 日韩午夜三级在线| 亚洲男同1069视频| 日韩电影在线免费观看| 国产精品1区2区| 91久久精品一区二区三区| 精品久久久久一区二区国产| 国产清纯白嫩初高生在线观看91 | 欧美日韩一二区| 欧美变态tickling挠脚心| 国产亚洲福利社区一区| 国产精品久久久久久户外露出| 天堂午夜影视日韩欧美一区二区| 久久国产精品99精品国产| 色婷婷av一区二区三区之一色屋| 日韩精品一区二区三区四区| 国产精品久久久久久久蜜臀| 老司机精品视频导航| 欧美三级中文字幕在线观看| 国产精品网站在线观看| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产成人av影院| 日韩欧美国产精品| 亚洲国产精品久久久久婷婷884| 成人性生交大片免费看在线播放| 欧美一区二区三区影视| 一区二区三区高清| 91蜜桃婷婷狠狠久久综合9色| 国产三级精品在线| 激情五月婷婷综合| 欧美成人精品高清在线播放| 天堂av在线一区| 欧美丝袜第三区| 一区二区三区四区视频精品免费 | 亚洲男人电影天堂| 成人黄色综合网站| 日本一区二区三区高清不卡| 国产制服丝袜一区| 精品欧美久久久| 日韩高清不卡一区二区三区| 欧美性受xxxx| 亚洲成人精品在线观看| 欧亚洲嫩模精品一区三区| 一卡二卡欧美日韩| 色欧美片视频在线观看| 亚洲精品欧美综合四区| 色婷婷av久久久久久久| 亚洲欧美日韩电影| 欧美优质美女网站| 亚洲mv在线观看| 日韩三级视频中文字幕| 久久 天天综合| 久久人人97超碰com| 国产91精品精华液一区二区三区| 国产婷婷色一区二区三区四区 | 日韩欧美美女一区二区三区| 日本成人在线一区| 久久综合九色综合97婷婷| 国产激情一区二区三区四区| 国产亚洲精品中文字幕| 99久久久久久| 亚洲一区二区欧美激情| 日韩三级在线免费观看| 成人综合在线观看| 亚洲蜜桃精久久久久久久| 欧美乱妇23p| 国产一区不卡视频| 亚洲日本在线天堂| 欧美福利电影网| 国产福利一区二区| 一个色妞综合视频在线观看| 欧美一区二区视频在线观看2022| 国产一区二区免费看| 亚洲激情网站免费观看| 日韩精品中午字幕| 91在线精品一区二区| 日本美女视频一区二区| 中文字幕在线观看不卡| 69成人精品免费视频| 国产福利一区在线观看| 亚洲一级二级在线| 国产视频911| 91.xcao| 波多野结衣中文一区| 日本伊人色综合网| 中文字幕日韩精品一区 | 中文欧美字幕免费| 欧美日韩美女一区二区| 成人在线视频一区| 美日韩一级片在线观看| 伊人夜夜躁av伊人久久| 国产三级精品在线| 欧美一级搡bbbb搡bbbb| 一本久久a久久精品亚洲| 国产伦精品一区二区三区免费| 亚洲一二三四在线| 国产精品你懂的在线欣赏| 日韩免费福利电影在线观看| 91福利在线观看| 99国产精品久久久久| 国产一区二区精品久久99| 免费成人性网站| 亚洲风情在线资源站| 亚洲视频在线观看三级| 中文字幕精品一区二区精品绿巨人 | 精品国产乱码91久久久久久网站| 欧美三级三级三级| 91免费视频网| 成人免费黄色大片| 懂色av一区二区三区蜜臀| 久久99国产精品尤物| 蜜桃av噜噜一区二区三区小说| 亚洲一区二区精品视频| 亚洲激情av在线| 亚洲黄一区二区三区| 亚洲码国产岛国毛片在线| 国产精品久久久久影院色老大| 精品999在线播放| 久久蜜桃一区二区| www成人在线观看| 久久久久久久电影| 国产精品无圣光一区二区| 欧美国产一区二区| 国产精品传媒入口麻豆| 亚洲欧洲精品一区二区精品久久久| 欧美激情一区二区三区蜜桃视频 | 肉丝袜脚交视频一区二区| 99精品视频在线观看免费| 国产午夜精品美女毛片视频| 欧美一区日本一区韩国一区| 日韩一区二区三区电影| 日韩一区二区免费高清| 精品久久人人做人人爱| 精品免费视频.| 国产欧美日韩另类一区| 国产欧美精品日韩区二区麻豆天美| 国产午夜精品在线观看| 国产精品国产精品国产专区不蜜| 亚洲欧美经典视频| 亚洲国产日韩a在线播放性色| 日韩成人精品视频| 国产九九视频一区二区三区| 99久久99久久免费精品蜜臀| 欧美色综合久久| 精品国产露脸精彩对白| 自拍偷自拍亚洲精品播放| 亚洲国产一区二区三区青草影视| 日本aⅴ免费视频一区二区三区| 国产精品亚洲专一区二区三区 | 亚洲欧美激情一区二区| 亚洲国产精品久久人人爱| 久久成人18免费观看| 99热99精品| 日韩三级免费观看| 国产精品欧美综合在线| 午夜电影网亚洲视频| 国产精品资源站在线| 91黄色激情网站| 精品美女在线播放| 亚洲欧美日韩一区二区三区在线观看| 亚洲激情自拍偷拍| 国产精品一区二区男女羞羞无遮挡 | 免费精品99久久国产综合精品| 国产成人精品综合在线观看 | 欧美日韩视频第一区| 国产亚洲成年网址在线观看| 视频一区视频二区中文| 成人福利在线看| 精品国产第一区二区三区观看体验 | 国产ts人妖一区二区| 欧美二区三区91| 自拍偷拍亚洲综合|