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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? irq.lst

?? hitex公司的ARM7培訓(xùn)資料源碼
?? LST
?? 第 1 頁 / 共 2 頁
字號:
ARM COMPILER V2.50a,  irq                                                                  08/03/06  18:03:56  PAGE 1   


ARM COMPILER V2.50a, COMPILATION OF MODULE irq
OBJECT MODULE PLACED IN .\Obj\irq.obj
COMPILER INVOKED BY: C:\Keil\ARM\BIN\CA.exe ..\Common\src\irq.c THUMB INCDIR(..\Common\inc) DEBUG PRINT(.\LST\IRQ.LST) T
                    -ABS(4) OBJECT(.\Obj\irq.obj) 

stmt  level    source

    1          /*****************************************************************************
    2           *   irq.c: Interrupt handler C file for Philips LPC214x Family Microprocessors
    3           *
    4           *   Copyright(C) 2006, Philips Semiconductor
    5           *   All rights reserved.
    6           *
    7           *   History
    8           *   2005.10.01  ver 1.00    Prelimnary version, first Release
    9           *
   10          ******************************************************************************/
   11          #include "LPC214x.h"            /* LPC23XX Peripheral Registers */
   12          #include "type.h"
   13          #include "irq.h"
   14          
   15          /******************************************************************************
   16          ** Function name:       DefaultVICHandler
   17          **
   18          ** Descriptions:        Default VIC interrupt handler.
   19          **              This handler is set to deal with spurious 
   20          **              interrupt.
   21          **              If the IRQ service routine reads the VIC
   22          **              address register, and no IRQ slot responses
   23          **              as described above, this address is returned.
   24          ** parameters:          None
   25          ** Returned value:      None
   26          ** 
   27          ******************************************************************************/
   28          void DefaultVICHandler (void) __irq
   29          {
   30   1          /* if the IRQ is not installed into the VIC, and interrupt occurs, the
   31   1          default interrupt VIC address will be used. This could happen in a race 
   32   1          condition. For debugging, use this endless loop to trace back. */
   33   1          /* For more details, see Philips appnote AN10414 */
   34   1          VICVectAddr = 0;        /* Acknowledge Interrupt */ 
   35   1          while ( 1 );
   36   1      }
   37          
   38          /* Initialize the interrupt controller */
   39          /******************************************************************************
   40          ** Function name:       init_VIC
   41          **
   42          ** Descriptions:        Initialize VIC interrupt controller.
   43          ** parameters:          None
   44          ** Returned value:      None
   45          ** 
   46          ******************************************************************************/
   47          void init_VIC(void) 
   48          {
   49   1          DWORD i = 0;
   50   1          DWORD *vect_addr, *vect_cntl;
   51   1          
   52   1          /* initialize VIC*/
   53   1          VICIntEnClr = 0xffffffff;
   54   1          VICVectAddr = 0;
   55   1          VICIntSelect = 0;
   56   1      
   57   1          /* set all the vector and vector control register to 0 */
   58   1          for ( i = 0; i < VIC_SIZE; i++ )
ARM COMPILER V2.50a,  irq                                                                  08/03/06  18:03:56  PAGE 2   

   59   1          {
   60   2          vect_addr = (DWORD *)(VIC_BASE_ADDR + VECT_ADDR_INDEX + i*4);
   61   2          vect_cntl = (DWORD *)(VIC_BASE_ADDR + VECT_CNTL_INDEX + i*4);
   62   2          *vect_addr = 0; 
   63   2          *vect_cntl = 0;
   64   2          }
   65   1      
   66   1          /* Install the default VIC handler here */
   67   1          VICDefVectAddr = (DWORD)DefaultVICHandler;   
   68   1          return;
   69   1      }
   70          
   71          /******************************************************************************
   72          ** Function name:       install_irq
   73          **
   74          ** Descriptions:        Install interrupt handler
   75          **              The max VIC size is 16, but, there are 32 interrupt
   76          **              request inputs. Not all of them can be installed into
   77          **              VIC table at the same time.
   78          **              The order of the interrupt request installation is
   79          **              first come first serve.
   80          ** parameters:          Interrupt number and interrupt handler address
   81          ** Returned value:      true or false, when the table is full, return false
   82          ** 
   83          ******************************************************************************/
   84          DWORD install_irq( DWORD IntNumber, void *HandlerAddr )
   85          {
   86   1          DWORD i;
   87   1          DWORD *vect_addr;
   88   1          DWORD *vect_cntl;
   89   1            
   90   1          VICIntEnClr = 1 << IntNumber;   /* Disable Interrupt */
   91   1          
   92   1          for ( i = 0; i < VIC_SIZE; i++ )
   93   1          {
   94   2          /* find first un-assigned VIC address for the handler */
   95   2      
   96   2          vect_addr = (DWORD *)(VIC_BASE_ADDR + VECT_ADDR_INDEX + i*4);
   97   2          vect_cntl = (DWORD *)(VIC_BASE_ADDR + VECT_CNTL_INDEX + i*4);
   98   2          if ( *vect_addr == (DWORD)NULL )
   99   2          {
  100   3              *vect_addr = (DWORD)HandlerAddr;    /* set interrupt vector */
  101   3              *vect_cntl = (DWORD)(IRQ_SLOT_EN | IntNumber);
  102   3              break;
  103   3          }
  104   2          }
  105   1          if ( i == VIC_SIZE )
  106   1          {
  107   2          return( FALSE );        /* fatal error, can't find empty vector slot */
  108   2          }
  109   1          VICIntEnable = 1 << IntNumber;  /* Enable Interrupt */
  110   1          return( TRUE );
  111   1      }
  112          
  113          /******************************************************************************
  114          ** Function name:       uninstall_irq
  115          **
  116          ** Descriptions:        Uninstall interrupt handler
  117          **              Find the interrupt handler installed in the VIC
  118          **              based on the interrupt number, set the location
  119          **              back to NULL to uninstall it.
  120          ** parameters:          Interrupt number
  121          ** Returned value:      true or false, when the interrupt number is not found, 
  122          **              return false
  123          ** 
  124          ******************************************************************************/
ARM COMPILER V2.50a,  irq                                                                  08/03/06  18:03:56  PAGE 3   

  125          DWORD uninstall_irq( DWORD IntNumber )
  126          {
  127   1          DWORD i;
  128   1          DWORD *vect_addr;
  129   1          DWORD *vect_cntl;
  130   1            
  131   1          VICIntEnClr = 1 << IntNumber;   /* Disable Interrupt */
  132   1          
  133   1          for ( i = 0; i < VIC_SIZE; i++ )
  134   1          {
  135   2          /* find first un-assigned VIC address for the handler */
  136   2          vect_addr = (DWORD *)(VIC_BASE_ADDR + VECT_ADDR_INDEX + i*4);
  137   2          vect_cntl = (DWORD *)(VIC_BASE_ADDR + VECT_CNTL_INDEX + i*4);
  138   2          if ( (*vect_cntl & ~IRQ_SLOT_EN ) == IntNumber )
  139   2          {
  140   3              *vect_addr = (DWORD)NULL;   /* clear the VIC entry in the VIC table */
  141   3              *vect_cntl &= ~IRQ_SLOT_EN; /* disable SLOT_EN bit */   
  142   3              break;
  143   3          }
  144   2          }
  145   1          if ( i == VIC_SIZE )
  146   1          {
  147   2          return( FALSE );        /* fatal error, can't find interrupt number 
  148   2                          in vector slot */
  149   2          }
  150   1          VICIntEnable = 1 << IntNumber;  /* Enable Interrupt */
  151   1          return( TRUE );
  152   1      }
  153          
  154          /******************************************************************************
  155          **                            End Of File
  156          ******************************************************************************/
ARM COMPILER V2.50a,  irq                                                                  08/03/06  18:03:56  PAGE 4   

ASSEMBLY LISTING OF GENERATED OBJECT CODE



*** PUBLICS:
 PUBLIC         init_VIC?T
 PUBLIC         install_irq?T
 PUBLIC         uninstall_irq?T
 PUBLIC         DefaultVICHandler?A



*** CODE SEGMENT '?PR?DefaultVICHandler?A?irq':
   28: void DefaultVICHandler (void) __irq
 00000000  E92D0003  STMDB       R13!,{R0-R1}
   34:     VICVectAddr = 0;        /* Acknowledge Interrupt */ 
 00000004  E3A01000  MOV         R1,#0x0
 00000008  E5100000  LDR         R0,=0xFFFFF030
 0000000C  E5801000  STR         R1,[R0,#0x0]
   35:     while ( 1 );
 00000010          L_1:
 00000010  EAFFFFFE  B           L_1  ; Targ=0x10
   36: }
 00000014  E8BD0003  LDMIA       R13!,{R0-R1}
 00000018  E25EF004  SUBS        R15,R14,#0x0004
 0000001C          ENDP ; 'DefaultVICHandler?A'


*** CODE SEGMENT '?PR?init_VIC?T?irq':
   47: void init_VIC(void) 
 00000000  B410      PUSH        {R4}
   48: {
 00000002            ; SCOPE-START
   49:     DWORD i = 0;
 00000002  2100      MOV         R1,#0x0
 00000004  1C08      MOV         R0,R1 ; i
 00000006  ---- Variable 'i' assigned to Register 'R0' ----
   53:     VICIntEnClr = 0xffffffff;
 00000006  4800      LDR         R2,=0xFFFFFFFF
 00000008  4800      LDR         R0,=0xFFFFF014
 0000000A  6002      STR         R2,[R0,#0x0]
   54:     VICVectAddr = 0;
 0000000C  4800      LDR         R0,=0xFFFFF030
 0000000E  6001      STR         R1,[R0,#0x0]

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩av网站在线观看| 一二三四社区欧美黄| 亚洲欧美另类小说视频| 美女视频免费一区| 91丨九色丨国产丨porny| 精品三级av在线| 亚洲第一久久影院| 成人午夜在线免费| 欧美一级黄色片| 亚洲午夜一区二区| 91久久精品一区二区三区| 久久综合国产精品| 日韩av电影天堂| 欧美亚洲综合在线| 国产精品不卡在线观看| 国产酒店精品激情| 日韩欧美在线网站| 日韩精品国产精品| 欧美亚洲日本国产| 有码一区二区三区| 成人黄色电影在线| 国产欧美视频在线观看| 国模一区二区三区白浆| 精品久久久久久久久久久院品网| 亚洲激情校园春色| 色噜噜狠狠成人中文综合| 国产精品萝li| 成人久久18免费网站麻豆 | 99re这里只有精品视频首页| 日韩欧美成人一区| 琪琪久久久久日韩精品| 欧美人狂配大交3d怪物一区| 亚洲成在线观看| 欧美区一区二区三区| 亚洲电影你懂得| 欧美情侣在线播放| 婷婷久久综合九色综合绿巨人 | 欧美日韩另类一区| 亚洲第一电影网| 欧美精品 国产精品| 日韩国产一二三区| 日韩女优av电影| 精品一区在线看| 久久久99免费| 成人手机电影网| 中文字幕一区在线观看视频| 91美女视频网站| 亚州成人在线电影| 欧美一区二区精品| 国产精品一线二线三线| 欧美经典一区二区三区| 91一区二区在线观看| 夜夜夜精品看看| 国产精品久久久久婷婷二区次| 成人美女视频在线看| 亚洲欧美日韩人成在线播放| 欧美在线999| 蜜臀av一区二区在线观看| 国产午夜精品久久久久久久 | 亚洲高清在线精品| 日韩女优电影在线观看| 不卡一区二区三区四区| 一区二区国产盗摄色噜噜| 欧美一区二区三区视频在线观看| 精东粉嫩av免费一区二区三区| 中文幕一区二区三区久久蜜桃| 日本韩国欧美在线| 久久精品国产秦先生| 国产精品不卡在线观看| 91精选在线观看| av在线播放一区二区三区| 亚洲国产精品久久久男人的天堂| 精品奇米国产一区二区三区| 99re热这里只有精品视频| 免费成人在线影院| 亚洲卡通欧美制服中文| 久久综合色播五月| 欧美色倩网站大全免费| 国产精品18久久久久久久久久久久| 亚洲色图欧美偷拍| 精品久久国产字幕高潮| 在线影院国内精品| 国产成人免费在线观看不卡| 亚洲va韩国va欧美va精品| 国产欧美一区二区精品秋霞影院| 久久九九影视网| 欧美日韩激情一区二区三区| 国产成人精品免费看| 免费成人在线影院| 亚洲成人午夜电影| 亚洲品质自拍视频网站| 国产午夜久久久久| 日韩美女视频一区二区在线观看| 色94色欧美sute亚洲13| 成人av网站在线观看| 国产一区二区三区免费看| 丝瓜av网站精品一区二区 | 欧美不卡一区二区三区| 欧美曰成人黄网| 99久久精品免费看| 国产精一区二区三区| 日韩福利电影在线| 亚洲综合成人在线| 亚洲欧美另类图片小说| 国产精品无遮挡| 国产夜色精品一区二区av| 日韩欧美一区二区久久婷婷| 欧美精品vⅰdeose4hd| 色久综合一二码| 色综合激情五月| 色婷婷亚洲综合| 91麻豆成人久久精品二区三区| 国产成人av网站| 国产999精品久久久久久| 国产乱码精品一区二区三区av| 日本中文在线一区| 男男视频亚洲欧美| 免费看黄色91| 狠狠色狠狠色综合| 国产精品自拍毛片| 大桥未久av一区二区三区中文| 国产成人99久久亚洲综合精品| 国产精品一区二区三区99| 国产精品69毛片高清亚洲| 色婷婷综合久久| 91国产福利在线| 欧美狂野另类xxxxoooo| 欧美一区二区私人影院日本| 日韩一区二区三区视频在线观看| 欧美乱熟臀69xxxxxx| 日韩一级黄色大片| 久久综合99re88久久爱| 国产精品五月天| 一区二区高清在线| 日韩高清不卡一区二区| 九色|91porny| 成人在线综合网站| 日本韩国欧美在线| 3atv一区二区三区| 久久免费视频色| 日韩理论片网站| 日本中文字幕一区| 成人午夜视频网站| 在线精品观看国产| 精品福利一二区| 亚洲欧洲成人自拍| 视频在线观看国产精品| 国产一区二区三区在线观看精品| 99久久夜色精品国产网站| 欧美日韩视频第一区| 337p粉嫩大胆色噜噜噜噜亚洲| 国产精品入口麻豆原神| 天堂久久一区二区三区| 国产999精品久久| 欧美无人高清视频在线观看| 精品成人a区在线观看| 亚洲精品高清在线观看| 精品一区二区三区免费| 99riav久久精品riav| 日韩欧美中文字幕精品| 18成人在线观看| 精品一区二区三区免费| 在线观看日韩毛片| 国产色91在线| 日本不卡123| 色哟哟国产精品| 久久久午夜精品| 日韩国产精品91| 91麻豆精品秘密| 欧美国产1区2区| 麻豆免费精品视频| 欧美怡红院视频| 国产精品你懂的| 国产一区欧美日韩| 制服丝袜日韩国产| 一区二区三区四区在线| 国产福利电影一区二区三区| 欧美精品在欧美一区二区少妇| 国产精品久久久久桃色tv| 欧美写真视频网站| 国产精品高潮呻吟久久| 九色综合国产一区二区三区| 在线播放国产精品二区一二区四区| 亚洲国产精品二十页| 激情亚洲综合在线| 日韩精品一区二区三区视频在线观看 | 精品国产91亚洲一区二区三区婷婷| 一区二区成人在线| av亚洲精华国产精华精| 国产人成亚洲第一网站在线播放| 免费高清视频精品| 欧美一区三区四区| 日韩电影在线观看一区| 欧美精品在线观看播放| 亚洲成人动漫在线观看| 欧美日韩在线不卡| 午夜私人影院久久久久| 欧美区在线观看| 日韩精品欧美成人高清一区二区| 欧美日韩美女一区二区|