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

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

?? irq.lst

?? lpc2148-keil環境下的各個功能模塊的例程
?? 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]

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本在线高清不卡dvd| eeuss影院一区二区三区 | 26uuu国产一区二区三区| 亚洲精品你懂的| 国产高清在线精品| 日本一区二区三区国色天香| av成人免费在线观看| 欧美国产成人精品| 成人av在线一区二区三区| 亚洲欧洲精品天堂一级| 欧美精品一区二区在线播放 | 在线观看一区二区精品视频| 91丨porny丨首页| 亚洲h精品动漫在线观看| 亚洲精品一线二线三线| 欧美日韩一区二区不卡| 91国产成人在线| 精品综合久久久久久8888| 日本女人一区二区三区| 亚洲小说春色综合另类电影| 一区二区三区在线视频免费观看 | 97久久久精品综合88久久| 欧美羞羞免费网站| 在线精品视频一区二区三四| 91精品1区2区| 欧美色图激情小说| 91久久精品一区二区三区| 欧美这里有精品| 精品污污网站免费看| 日韩一区二区三区电影在线观看| 国产精品污污网站在线观看| 男女视频一区二区| 日韩欧美中文字幕一区| 欧美喷潮久久久xxxxx| 日韩一级片网站| 国产精品久久久一本精品| 亚洲国产视频一区| 国产美女在线观看一区| 在线一区二区视频| 欧美成人一区二区| 亚洲一区二区三区四区在线| 免费高清不卡av| 色婷婷激情综合| 久久婷婷久久一区二区三区| 亚洲日韩欧美一区二区在线| 免费欧美在线视频| 成人av电影在线| 欧美一级免费大片| 亚洲免费色视频| 国产伦精品一区二区三区在线观看| 91麻豆成人久久精品二区三区| 91精品国产色综合久久不卡电影| 最新成人av在线| 国产成人亚洲精品狼色在线| 777a∨成人精品桃花网| 亚洲码国产岛国毛片在线| 国产一区二区三区| 精品国产乱码久久久久久牛牛| 亚洲国产欧美在线| 欧美影院午夜播放| 亚洲黄色尤物视频| 不卡欧美aaaaa| 欧美国产精品中文字幕| 国产成人av福利| 久久亚洲一区二区三区明星换脸| 国产精品成人免费在线| 中文幕一区二区三区久久蜜桃| 亚洲蜜臀av乱码久久精品| 欧美精品一区二区三区在线| 看电视剧不卡顿的网站| 2017欧美狠狠色| 国产激情视频一区二区三区欧美| 国产亚洲视频系列| 国产福利不卡视频| 国产欧美va欧美不卡在线| 国产福利精品一区| 亚洲欧美日韩国产综合在线| 色综合久久久久久久久| 偷拍与自拍一区| 精品理论电影在线| 盗摄精品av一区二区三区| 国产精品电影一区二区三区| 97se亚洲国产综合自在线不卡| 欧美国产日本韩| 粉嫩一区二区三区性色av| 精品国产伦理网| 99re在线视频这里只有精品| 亚洲宅男天堂在线观看无病毒| 6080午夜不卡| 91在线无精精品入口| 午夜久久久影院| 国产亚洲制服色| 在线这里只有精品| 国产精选一区二区三区| 亚洲成人午夜电影| 久久理论电影网| 91麻豆精品国产91| 97成人超碰视| 国产一区二区不卡老阿姨| 亚洲成人资源在线| 综合av第一页| 久久久影视传媒| 欧美日韩mp4| 在线观看日韩av先锋影音电影院| 精品无人码麻豆乱码1区2区| 亚洲综合成人网| 亚洲日本在线天堂| 中文字幕一区二区三区不卡在线| 日韩亚洲欧美在线观看| 欧美日韩1234| 欧美日韩一二三区| 欧美日韩中文另类| 91福利小视频| 欧美偷拍一区二区| 色一区在线观看| 91行情网站电视在线观看高清版| 国产成人亚洲综合色影视| 国产一区三区三区| 国产又黄又大久久| 国产成人在线视频免费播放| 久久精品二区亚洲w码| 欧美aaa在线| 麻豆精品久久精品色综合| 日本人妖一区二区| 日韩激情在线观看| 日韩黄色在线观看| 毛片av中文字幕一区二区| 青娱乐精品在线视频| 国内久久精品视频| 国产精品亚洲视频| 本田岬高潮一区二区三区| 91亚洲资源网| 欧美影院一区二区三区| 日韩视频一区二区在线观看| 日韩视频免费直播| 欧美激情综合网| 亚洲最新视频在线播放| 男人的天堂亚洲一区| 国产一区二区三区免费在线观看| 成人免费观看av| 91成人免费网站| 欧美videos大乳护士334| 国产女人18毛片水真多成人如厕| 亚洲视频在线一区| 精品亚洲免费视频| 色婷婷综合久久久中文字幕| 精品日韩一区二区三区| 亚洲乱码日产精品bd| 国产一区二区三区免费看 | 亚洲影视资源网| 国内精品在线播放| 日本大香伊一区二区三区| 久久久综合网站| 午夜精品一区二区三区电影天堂 | 国内精品久久久久影院薰衣草| 成人app在线| 久久一二三国产| 日韩成人免费看| 日本高清成人免费播放| 久久综合色婷婷| 视频一区视频二区中文| 欧美亚洲另类激情小说| 中文字幕在线播放不卡一区| 国产精品自产自拍| 精品成人在线观看| 视频一区二区欧美| 欧美日韩在线亚洲一区蜜芽| 综合自拍亚洲综合图不卡区| 国产高清亚洲一区| 国产网站一区二区| 国产成人午夜高潮毛片| 精品理论电影在线| 国产在线精品免费| 久久久电影一区二区三区| 国产成人在线免费| ...中文天堂在线一区| 成人18视频在线播放| 综合精品久久久| 在线观看日韩av先锋影音电影院| 亚洲美女偷拍久久| 欧美精品一卡二卡| 狠狠v欧美v日韩v亚洲ⅴ| 中文欧美字幕免费| 色久综合一二码| 久久er精品视频| 国产日本亚洲高清| 91亚洲精品一区二区乱码| 一区二区三区四区不卡在线| 欧美日韩国产电影| 韩国欧美一区二区| 综合激情成人伊人| 欧美日韩国产首页| 国产精品123区| 亚洲午夜精品在线| 国产清纯白嫩初高生在线观看91 | 欧美在线视频你懂得| 青青草精品视频| 日本一区免费视频| 欧美日韩精品专区| 成人a级免费电影|