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

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

?? irq.c

?? 一個兩碟控制的VCD的代碼,兩碟之間的轉動及連續播放,已大量生產的CODE.
?? C
字號:
/* SCCSID @(#)irq.c	1.9 7/9/98 */ /************************************************************************** * * Copyright 1996, ESS Technology, Inc.					 *	Module: irq.c * *************************************************************************/ #include "../mvd.h"#include "../common.h"#include "../dsc.h"#include "util.h"#include "../timedef.h"#ifdef IRQSHARE#include "../irqshare.h"extern unsigned int dbgirq ;#endif IRQSHARE/* Globals */#define PSW_ENABLE_IRQ          0x1FC3          /* EEEEevVsS all on */extern int pcring;/* * Since we are not saving all the registers, there is no point to * reserve 32*4 bytes in stack for registers. Following macros define * where each register is saved. */#define _REG_1          0#define _REG_2          1#define _REG_3          2#define _REG_4          3#define _REG_5          4#define _REG_6          5#define _REG_7          6#define _REG_8          7#define _REG_9          8#define _REG_10         9#define _REG_11         10#define _REG_12         11#define _REG_13         12#define _REG_14         13#define _REG_15         14#define _REG_16         15#define _REG_17         16#define _REG_18         17#define _REG_19         18#define _REG_22         19#define _REG_23         20#define _REG_24         21#define _REG_26         22#define _REG_28         23#define _REG_32         24 #define _REG_33         25 #define _REG_34         26 #define _TOTAL_REG      (_REG_34 + 1)#define INTERVAL        500     /* In msec (i.e. timer will be .5 sec)  *//************************************************************************ * Imported routines.							* ************************************************************************/IMPORT void EXTIRQ_interrupt_service(void);/* * Real-time clock is always at DRAM location 0x12. The format is: 00hhmmss * where hh is hour (0-23), mm is minute (0-59), ss is half second (0-119) * * Since this variable is always changing, I'll make sure the cache copy * is consistent with the DRAM version even though we only use the DRAM * version (otherwise, old cache data may destroy DRAM data by accident) */extern unsigned int *RISC_ptr_realtime;extern unsigned int *RISC_cache_realtime;/* Set timer2 interrupt period */int   vcx_timer_val = (0x0 - (INTERVAL * CPUCLK * 100));/*------------------------------------------------------------------------  Description:      This function is called on every video vertical sync and to increase      the glbTimer variable. If the output mode is PAL, we will add two      to the glbTimer. Thus, we only have one the glbTimer which is 1/60      second if the output mode is NTSC, or roughly 1/60 if the output      mode is PAL.------------------------------------------------------------------------*//* No need to save R23, R24 , which are code base register . Min*//* * Interrupt service routine when ucos is not used. */EVD_Interrupt(){    register unsigned pc0 asm("r20"), pc1 asm("r21"), pc2 asm("r22");    unsigned utemp;    int interupt_enabled;    int savepsw;    int irqmask_save;    int rdmadonemask_save;    int regtable[_TOTAL_REG];    /* Save registers */    asm("st     %0,r1"  : : "m" (regtable[_REG_1]));    asm("st     %0,r2"  : : "m" (regtable[_REG_2]));    asm("st     %0,r3"  : : "m" (regtable[_REG_3]));    asm("st     %0,r4"  : : "m" (regtable[_REG_4]));    asm("st     %0,r5"  : : "m" (regtable[_REG_5]));    asm("st     %0,r6"  : : "m" (regtable[_REG_6]));    asm("st     %0,r7"  : : "m" (regtable[_REG_7]));    asm("st     %0,r8"  : : "m" (regtable[_REG_8]));    asm("st     %0,r9"  : : "m" (regtable[_REG_9]));    asm("st     %0,r10" : : "m" (regtable[_REG_10]));    asm("st     %0,r11" : : "m" (regtable[_REG_11]));    asm("st     %0,r12" : : "m" (regtable[_REG_12]));    asm("st     %0,r13" : : "m" (regtable[_REG_13]));    asm("st     %0,r14" : : "m" (regtable[_REG_14]));    asm("st     %0,r15" : : "m" (regtable[_REG_15]));    asm("st     %0,r16" : : "m" (regtable[_REG_16]));    asm("st     %0,r17" : : "m" (regtable[_REG_17]));    asm("st     %0,r18" : : "m" (regtable[_REG_18]));    asm("st     %0,r19" : : "m" (regtable[_REG_19]));    asm("st     %0,r22" : : "m" (regtable[_REG_22]));    asm("st     %0,r26" : : "m" (regtable[_REG_26]));    asm("st     %0,r28" : : "m" (regtable[_REG_28]));     /* Save the PC chain */    asm volatile("movfrs pcm4,%0" :  "=r" (pc0));    asm volatile("movfrs pcm4,%0" :  "=r" (pc1));    asm volatile("movfrs pcm4,%0" :  "=r" (pc2));        /* For debugging only */    asm volatile("movfrs psw,%0" :  "=r" (utemp));    interupt_enabled = 0;    /* The S bit (PC chain shifting enable) must be 0. */    if (utemp & 1) DSC_dead(0xbad1);    /* Alignment error. */    if (utemp & 0x8000000) DSC_dead(0xbad2);    pcring=pc0<<2;    utemp=*((unsigned *)pcring);    if ((utemp>>28)==9)      pc0 = 0;                         /* Store */    if (!pc0&&!pc1) {                  /* Squashed branch */	utemp = *((int *)((pc2-2)<<2));	if (!(utemp & 0xc0000000))	  pc2++;    }    asm("st  %0,r20" : : "m" (regtable[_REG_32]));    asm("st  %0,r21" : : "m" (regtable[_REG_33]));    asm("st  %0,r22" : : "m" (regtable[_REG_34]));#if 1   /* Interrupt dispatcher */    if (mvd[riface_irqstatus] & buscon_irq) {#if 1        /* enabling interupt in audio, might cause 2 levels */        /* enable interrupt */        if (!interupt_enabled) {            interupt_enabled = 1;            asm volatile("movfrs psw,%0" :  "=r" (utemp) );            savepsw = utemp;            rdmadonemask_save = mvd[rdma_donemask];            mvd[rdma_donemask] = rdma_audiow_enable;            irqmask_save = mvd[riface_irqmask];#ifdef IR            mvd[riface_irqmask] = RIFACE_LD_IRQSUPRESS | vout_irq | debug_irq;#else            mvd[riface_irqmask] = RIFACE_LD_IRQSUPRESS | vout_irq;#endif            asm("addi r0,#8,r2");         /* disable interrupts */            asm("st %0,r2" : : "m" (mvd[riface_irqsuppress]));            asm("nop");            asm("addi   r0,#(%0),r2"  : : "I" (PSW_ENABLE_IRQ));                                          /* reenable IRQs */            asm("movtos r2,psw");         /* and PC Chain shifting */        }#endif        EVD_BUSCON_interrupt_service();#if 1        mvd[riface_irqsuppress] =0;     asm("nop"); asm("nop");        if (interupt_enabled) {          asm volatile("movtos %0,psw" : : "r" (savepsw));          mvd[riface_irqmask] = irqmask_save;          mvd[rdma_donemask] = rdmadonemask_save;        }#endif    }#endif#ifdef CD_LOAD    if (mvd[riface_irqstatus] & xport_irq) {	XPORT_interrupt_service();    }    if (mvd[riface_irqstatus] & tdm_irq) {        TDM_interrupt_service();    }#endif    if (mvd[riface_irqstatus] & vout_irq) {        if (mvd[vid_scn_status] & 0x10)            update_glbTimer();	EVD_DISP_interrupt_service();    }    if (mvd[riface_irqstatus] & tim2_irq) {	RISC_timer2_interrupt_service();    }#ifdef SERVO2545    if (mvd[riface_irqstatus] & tim1_irq) {	RISC_timer1_interrupt_service();    }#endif#ifdef IR    if (mvd[riface_irqstatus] & debug_irq)       EXTIRQ_interrupt_service();#endif /* IR */    /*InterruptLevel--;*/    /* restore PC chain */    asm("ld  %0,r20" : : "m" (regtable[_REG_32]));    asm("ld  %0,r21" : : "m" (regtable[_REG_33]));    asm("ld  %0,r22" : : "m" (regtable[_REG_34]));    asm volatile("movtos %0,pcm1" :  : "r" (pc0));    asm volatile("movtos %0,pcm1" :  : "r" (pc1));    asm volatile("movtos %0,pcm1" :  : "r" (pc2));    asm("ld     16[r29],r2");   /* load r31 return address to r2 */    asm("st     0[r30],r2");    /* store it somewhere in prev stack frame */    /* asm("addi r24,#_hack_leave,r2"); /* put it the new return address */    asm("ld     ret_addr[r25],r2");     /* put it the new return address */    asm("st     16[r29],r2");    /* restore registers */    asm("ld     %0,r1"  : : "m" (regtable[_REG_1]));    asm("ld     %0,r2"  : : "m" (regtable[_REG_2]));    asm("ld     %0,r3"  : : "m" (regtable[_REG_3]));    asm("ld     %0,r4"  : : "m" (regtable[_REG_4]));    asm("ld     %0,r5"  : : "m" (regtable[_REG_5]));    asm("ld     %0,r6"  : : "m" (regtable[_REG_6]));    asm("ld     %0,r7"  : : "m" (regtable[_REG_7]));    asm("ld     %0,r8"  : : "m" (regtable[_REG_8]));    asm("ld     %0,r9"  : : "m" (regtable[_REG_9]));    asm("ld     %0,r10" : : "m" (regtable[_REG_10]));    asm("ld     %0,r11" : : "m" (regtable[_REG_11]));    asm("ld     %0,r12" : : "m" (regtable[_REG_12]));    asm("ld     %0,r13" : : "m" (regtable[_REG_13]));    asm("ld     %0,r14" : : "m" (regtable[_REG_14]));    asm("ld     %0,r15" : : "m" (regtable[_REG_15]));    asm("ld     %0,r16" : : "m" (regtable[_REG_16]));    asm("ld     %0,r17" : : "m" (regtable[_REG_17]));    asm("ld     %0,r18" : : "m" (regtable[_REG_18]));    asm("ld     %0,r19" : : "m" (regtable[_REG_19]));    asm("ld     %0,r22" : : "m" (regtable[_REG_22]));    asm("ld     %0,r26" : : "m" (regtable[_REG_26]));    asm("ld     %0,r28" : : "m" (regtable[_REG_28]));}asm("\n.data");asm("\nret_addr:");asm("\n.word _hack_leave");asm("\n.text");/* ******** Interrupt return routine ******** */asm("\n.noreorg");asm("\n_hack_leave:");asm("st 0x4028[r27],r0");asm("ld 0[r29],r31");                   /* put back r31 */asm("nop");asm("jpcrs");                           /* jump pc/restore states */asm("jpc");                             /* jump pc */asm("jpc");                             /* jump pc */asm(".reorgon");/*   Interrupt startup code */    asm("\n.globl    _evd_trap0");    asm("\n_evd_trap0:");    asm("\n.noreorg");    asm("nop");    asm("jspci    r24,#_EVD_Interrupt,r0");    asm("nop");    asm("nop");    asm("nop");    asm("nop");    asm("nop");    asm("nop");    asm("\n.end");

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久欧美一区二区| 91精品久久久久久久99蜜桃| 午夜精品久久久久久久蜜桃app| 精品区一区二区| 在线精品亚洲一区二区不卡| 国产精品系列在线观看| 婷婷久久综合九色综合伊人色| 国产精品欧美一区喷水| 欧美一区二区久久| 在线观看av一区| 丁香激情综合国产| 久久不见久久见中文字幕免费| 一区二区三区国产精华| 国产精品传媒在线| 久久久久99精品国产片| 日韩欧美一级二级三级久久久| 色综合天天在线| 福利一区福利二区| 免费高清不卡av| 亚洲成人动漫在线免费观看| 亚洲美女免费视频| 国产精品久久久久影院老司| 久久噜噜亚洲综合| 久久亚洲影视婷婷| 日韩视频免费观看高清完整版| 欧美色电影在线| 欧美无砖砖区免费| 99久久精品一区| 99精品欧美一区二区三区小说 | 亚洲第一主播视频| 亚洲欧美日韩中文播放| 中文字幕+乱码+中文字幕一区| 久久久精品免费免费| 精品国产伦一区二区三区免费| 日韩视频免费观看高清完整版在线观看| 欧美日韩激情一区| 欧美日韩1区2区| 91精品国产高清一区二区三区| 欧美日韩一区高清| 欧美三级乱人伦电影| 欧美色成人综合| 制服丝袜亚洲色图| 9191精品国产综合久久久久久 | 欧美日韩免费观看一区二区三区| 99精品视频一区二区三区| 99re视频精品| 欧美性xxxxx极品少妇| 欧美日本乱大交xxxxx| 欧美日韩mp4| 日韩三级在线观看| xfplay精品久久| 国产精品色眯眯| 亚洲丝袜另类动漫二区| 一区二区三区美女| 亚洲午夜免费电影| 麻豆91精品视频| 国产呦精品一区二区三区网站| 国产成人免费在线| 一本色道综合亚洲| 欧美疯狂性受xxxxx喷水图片| 日韩欧美一区中文| 欧美激情一区不卡| 亚洲国产另类av| 另类综合日韩欧美亚洲| 国产黑丝在线一区二区三区| 91视频精品在这里| 欧美精品亚洲一区二区在线播放| 日韩一区二区三| 国产精品视频免费| 亚洲电影视频在线| 国产一区二区日韩精品| 91视频一区二区三区| 欧美一区二区三区视频免费播放| 久久―日本道色综合久久| 1024成人网| 日本亚洲视频在线| 99久免费精品视频在线观看| 在线观看亚洲精品| 精品欧美一区二区在线观看| 国产精品亲子乱子伦xxxx裸| 天天综合网天天综合色| 福利一区在线观看| 欧美日韩成人高清| 国产精品国产三级国产专播品爱网 | 日韩不卡免费视频| 东方aⅴ免费观看久久av| 欧美三级乱人伦电影| 久久精品免视看| 亚洲国产欧美另类丝袜| 成人自拍视频在线| 88在线观看91蜜桃国自产| 国产网红主播福利一区二区| 亚洲超碰精品一区二区| 国产91色综合久久免费分享| 欧美日韩亚洲综合一区二区三区| 欧美经典一区二区| 日日骚欧美日韩| 99久久99久久综合| 精品成人一区二区| 午夜精品福利一区二区蜜股av| 成人中文字幕合集| 欧美精品一区二区蜜臀亚洲| 午夜精品久久久久| 91丨porny丨首页| 亚洲国产精品v| 黄色日韩网站视频| 欧美一区二区三区四区五区| 亚洲乱码国产乱码精品精的特点| 国产精品一二三四五| 欧美一卡2卡三卡4卡5免费| 一区二区三区在线观看国产| 福利电影一区二区三区| 精品电影一区二区| 麻豆精品在线播放| 7777精品伊人久久久大香线蕉的| 亚洲一区二区在线免费观看视频| 99精品国产一区二区三区不卡| 久久久99精品久久| 国产一区二区在线免费观看| 欧美一级精品大片| 亚洲成av人片一区二区三区| 在线国产亚洲欧美| 伊人色综合久久天天人手人婷| 成人18视频在线播放| 欧美精品一区二区在线观看| 美国三级日本三级久久99| 777亚洲妇女| 蜜臀国产一区二区三区在线播放| 欧美另类z0zxhd电影| 无吗不卡中文字幕| 欧美美女网站色| 日韩电影在线看| 日韩三级视频中文字幕| 免费在线看成人av| 欧美xxxxxxxxx| 国产一区二区在线影院| 久久久天堂av| 国产成人鲁色资源国产91色综| 国产性做久久久久久| 国产不卡视频在线播放| 日本一二三不卡| 91小视频在线免费看| 亚洲柠檬福利资源导航| 91福利视频网站| 日韩国产精品久久久久久亚洲| 91精品黄色片免费大全| 精品一区在线看| 天天色图综合网| 在线不卡中文字幕播放| 免费国产亚洲视频| 久久久九九九九| 北条麻妃一区二区三区| 亚洲欧美日韩国产一区二区三区| 91小视频免费看| 肉肉av福利一精品导航| 欧美va在线播放| 国产成人福利片| 亚洲精品日韩专区silk| 777xxx欧美| 国产.欧美.日韩| 亚洲欧美日本韩国| 日韩一区二区视频| 国产成人av网站| 亚洲精品国产第一综合99久久| 欧美三级电影在线观看| 极品少妇xxxx偷拍精品少妇| 国产精品乱人伦一区二区| 在线亚洲免费视频| 美女免费视频一区二区| 国产拍揄自揄精品视频麻豆 | 精品少妇一区二区三区免费观看| 国产永久精品大片wwwapp| 亚洲乱码日产精品bd| 日韩一区二区在线观看视频| 懂色中文一区二区在线播放| 亚洲成人免费av| 中文一区二区完整视频在线观看| 日本丰满少妇一区二区三区| 男男gaygay亚洲| 亚洲免费观看在线视频| 日韩免费观看高清完整版在线观看| 国产成人三级在线观看| 亚洲午夜电影在线| 国产丝袜欧美中文另类| 欧美日韩国产成人在线91| 国产成人精品亚洲777人妖| 一区二区三区在线影院| 欧美精品一区二区三区蜜桃视频| 91国产福利在线| 国产一区二区三区| 亚洲第一搞黄网站| 欧美激情一区二区三区蜜桃视频| 欧美日本国产视频| 成人av先锋影音| 激情国产一区二区| 日韩精品乱码av一区二区| 中文字幕日韩一区| 久久久亚洲精品一区二区三区| 欧美日韩免费观看一区三区| av亚洲产国偷v产偷v自拍|