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

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

?? irq.lst

?? lpc2148-keil環(huá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]

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产黑色紧身裤美女| 韩国av一区二区三区在线观看| 91美女片黄在线观看91美女| 国产精品久久久久久久久免费相片| 国产精品99久| 亚洲欧洲成人自拍| 欧美三级欧美一级| 久久av中文字幕片| 中文字幕亚洲一区二区av在线| 91在线视频免费91| 亚洲成人免费影院| 精品欧美乱码久久久久久1区2区| 国产精品亚洲一区二区三区在线 | 国产曰批免费观看久久久| 久久综合色综合88| 91网站在线观看视频| 视频一区二区三区在线| 久久久久久夜精品精品免费| 99精品国产91久久久久久| 一区二区三区四区蜜桃| 欧美zozo另类异族| 91麻豆精东视频| 免费成人av在线| 欧美国产精品一区二区三区| 欧美亚洲另类激情小说| 久久99精品一区二区三区| 亚洲欧洲性图库| 日韩亚洲欧美一区二区三区| av一二三不卡影片| 日本不卡一区二区三区 | 中文字幕电影一区| 欧美人狂配大交3d怪物一区| 国产资源精品在线观看| 亚洲国产一区二区三区| 欧美激情中文不卡| 91精品国产乱码| 日本韩国欧美国产| 国产九色精品成人porny| 亚洲午夜久久久久中文字幕久| xf在线a精品一区二区视频网站| 色94色欧美sute亚洲线路二| 国产在线一区二区综合免费视频| 亚洲观看高清完整版在线观看| 国产亚洲制服色| 91精品国产全国免费观看| 一本大道久久a久久综合婷婷 | 国产凹凸在线观看一区二区| 午夜视频在线观看一区二区三区| 欧美经典三级视频一区二区三区| 91精品在线免费| 日本福利一区二区| 丁香婷婷综合色啪| 久久国产精品99精品国产| 午夜日韩在线电影| 亚洲精品一二三四区| 国产精品婷婷午夜在线观看| 精品久久久久久久久久久久久久久久久| 一本大道久久a久久综合| 成人免费看视频| 国产一区二区三区免费观看| 蜜臀久久久久久久| 亚洲成人你懂的| 亚洲精品国产视频| 亚洲日本电影在线| 日韩一区在线看| 一色屋精品亚洲香蕉网站| 欧美激情自拍偷拍| 国产欧美一区二区精品婷婷| 久久精品免视看| 久久一夜天堂av一区二区三区| 日韩一卡二卡三卡| 日韩亚洲欧美高清| 精品久久久久一区| 26uuu欧美日本| 久久精品亚洲精品国产欧美| 精品国免费一区二区三区| 精品国产成人系列| 亚洲精品乱码久久久久久日本蜜臀| 久久久99精品久久| 欧美国产国产综合| 中文字幕在线不卡国产视频| 最新高清无码专区| 亚洲女同女同女同女同女同69| 国产精品伦理一区二区| 国产精品久久久久影院色老大| 免费成人美女在线观看.| 久久99精品久久久久久国产越南 | 欧美激情一区二区三区不卡 | 精品国产乱码久久| 精品国一区二区三区| 日本一区二区三区久久久久久久久不| 国产欧美一区在线| 亚洲婷婷在线视频| 亚洲一区二区高清| 日韩av成人高清| 国产麻豆精品在线| 成人国产电影网| 欧美色电影在线| 91精品国产福利| 久久精品欧美一区二区三区不卡| 国产精品视频yy9299一区| 亚洲欧美国产高清| 蜜臀国产一区二区三区在线播放 | 91老师国产黑色丝袜在线| 欧美曰成人黄网| 26uuu欧美| 亚洲欧美另类久久久精品2019| 日韩黄色小视频| 国产精品一线二线三线精华| 91麻豆免费看| 精品久久久久香蕉网| 亚洲欧美电影院| 美女视频网站黄色亚洲| 成人动漫在线一区| 7777精品伊人久久久大香线蕉完整版 | 亚洲v日本v欧美v久久精品| 麻豆91精品视频| 成人av网站在线| 91精品国产综合久久久久久久久久 | 国产精品福利一区二区| 亚洲国产精品一区二区久久恐怖片 | 亚洲一区视频在线| 国内精品伊人久久久久av一坑 | 欧美日韩中文字幕一区二区| 欧美精品一区二区三区蜜桃视频| 中文字幕一区二区视频| 热久久一区二区| 色老汉一区二区三区| 日韩视频一区二区| 亚洲精品成人悠悠色影视| 全部av―极品视觉盛宴亚洲| 91亚洲资源网| 亚洲精品一区二区三区影院| 亚洲一二三四在线| 国产麻豆精品视频| 777奇米四色成人影色区| 亚洲欧美一区二区三区孕妇| 久久丁香综合五月国产三级网站 | 欧美一区二区三区播放老司机| 中文字幕一区二区三| 狠狠色狠狠色综合系列| 欧美日产国产精品| 亚洲色图一区二区三区| 国产成人免费视| 欧美mv日韩mv国产网站app| 亚洲一区电影777| av日韩在线网站| 中文字幕不卡一区| 国产一区二区福利| 欧美成人精精品一区二区频| 亚洲妇熟xx妇色黄| 91福利视频久久久久| 亚洲免费观看高清| 国v精品久久久网| 精品国产乱码久久久久久影片| 五月婷婷激情综合| 欧洲在线/亚洲| 怡红院av一区二区三区| 97精品电影院| 国产成人精品亚洲午夜麻豆| 26uuu国产日韩综合| 久久99国产精品尤物| 欧美成人video| 加勒比av一区二区| 26uuu国产日韩综合| 国产一区三区三区| 国产欧美日韩在线| 高清国产午夜精品久久久久久| 国产亚洲欧洲997久久综合| 国产经典欧美精品| 国产精品激情偷乱一区二区∴| 不卡的电影网站| 一区二区三区在线影院| 欧美专区亚洲专区| 午夜国产精品一区| 欧美电视剧在线观看完整版| 美女视频黄 久久| 精品久久免费看| 国产精品一区专区| 日韩理论片中文av| 欧美综合久久久| 污片在线观看一区二区| 日韩欧美国产麻豆| 日韩一区二区精品在线观看| 久久超级碰视频| 国产欧美一区二区精品婷婷| 99久久久免费精品国产一区二区 | 国产精品久久久久久久久久免费看 | 国产精品免费视频网站| 色吊一区二区三区| 日韩成人精品在线| 久久久亚洲高清| 色综合天天狠狠| 日韩福利电影在线| 国产偷国产偷精品高清尤物 | 91精品国产色综合久久ai换脸| 精品一区二区三区香蕉蜜桃| 国产精品色婷婷久久58| 欧美自拍丝袜亚洲| 精品亚洲欧美一区|