⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 key.lst

📁 KIT RTC按键设置闹钟程序!
💻 LST
字号:
ARM COMPILER V2.53,  key                                                                   02/08/06  16:25:35  PAGE 1   


ARM COMPILER V2.53, COMPILATION OF MODULE key
OBJECT MODULE PLACED IN .\Obj\key.obj
COMPILER INVOKED BY: C:\Keil\ARM\BIN\CA.exe key.c THUMB BROWSE DEBUG PRINT(.\LST\KEY.LST) TABS(4) OBJECT(.\Obj\key.obj) 

stmt  level    source

    1               
    2          #include <lpc214x.h>     
    3               
    4          #include  "code.h"
    5          
    6          
    7          #define  fun   13
    8          #define  add   15
    9          #define  dec   7
   10          #define  ok    6
   11          
   12          
   13               
   14           unsigned char   Scan_Key(void)
   15          {
   16   1          unsigned int k;
   17   1          unsigned char key;
   18   1      
   19   1          key=0;
   20   1      
   21   1          k=IOPIN0;
   22   1          if((k&1<<fun)==0)key=fun;
   23   1      //  key=key<<1;
   24   1          if((k&1<<add)==0)key=add;
   25   1      //  key=key<<1;
   26   1          if((k&1<<dec)==0)key=dec;
   27   1      //  key=key<<1;
   28   1          if((k&1<<ok)==0)key=ok;
   29   1      /*  switch(key)
   30   1          {
   31   1          case 0x00:
   32   1              i=0; 
   33   1              break;
   34   1          case 0x08:
   35   1              i=4; 
   36   1              break;
   37   1          
   38   1          case 0x04:
   39   1              i=3; 
   40   1              break;
   41   1          
   42   1          case 0x02:
   43   1              i=2; 
   44   1              break;
   45   1          
   46   1          case 0x01:
   47   1              i=1; 
   48   1              break;
   49   1      
   50   1          case 0x0F:    //复合键
   51   1              i=0XF; 
   52   1              break;
   53   1          
   54   1          case 0x0E:
   55   1              i=0X0E; 
   56   1              break;
   57   1          default:
   58   1              i=0;
   59   1              break;
ARM COMPILER V2.53,  key                                                                   02/08/06  16:25:35  PAGE 2   

   60   1          }             */
   61   1          return key;
   62   1      }
ARM COMPILER V2.53,  key                                                                   02/08/06  16:25:35  PAGE 3   

ASSEMBLY LISTING OF GENERATED OBJECT CODE



*** PUBLICS:
 PUBLIC         Scan_Key?T



*** CODE SEGMENT '?PR?Scan_Key?T?key':
   15: {
 00000000            ; SCOPE-START
   19:     key=0;
 00000000  2100      MOV         R1,#0x0
 00000002  ---- Variable 'key' assigned to Register 'R1' ----
   21:     k=IOPIN0;
 00000002  4800      LDR         R0,=0xE0028000
 00000004  6803      LDR         R3,[R0,#0x0]
 00000006  ---- Variable 'k' assigned to Register 'R3' ----
   22:     if((k&1<<fun)==0)key=fun;
 00000006  1C18      MOV         R0,R3 ; k
 00000008  4800      LDR         R2,=0x2000
 0000000A  4210      TST         R0,R2 ; k
 0000000C  D100      BNE         L_1  ; T=0x00000010
 0000000E  210D      MOV         R1,#0xD
 00000010          L_1:
   24:     if((k&1<<add)==0)key=add;
 00000010  1C18      MOV         R0,R3 ; k
 00000012  4800      LDR         R2,=0x8000
 00000014  4210      TST         R0,R2 ; k
 00000016  D100      BNE         L_2  ; T=0x0000001A
 00000018  210F      MOV         R1,#0xF
 0000001A          L_2:
   26:     if((k&1<<dec)==0)key=dec;
 0000001A  1C18      MOV         R0,R3 ; k
 0000001C  2280      MOV         R2,#0x80
 0000001E  4210      TST         R0,R2 ; k
 00000020  D100      BNE         L_3  ; T=0x00000024
 00000022  2107      MOV         R1,#0x7
 00000024          L_3:
   28:     if((k&1<<ok)==0)key=ok;
 00000024  1C18      MOV         R0,R3 ; k
 00000026  2240      MOV         R2,#0x40
 00000028  4210      TST         R0,R2 ; k
 0000002A  D100      BNE         L_4  ; T=0x0000002E
 0000002C  2106      MOV         R1,#0x6
 0000002E          L_4:
   61:     return key;
 0000002E  1C08      MOV         R0,R1 ; key
 00000030  0600      LSL         R0,R0,#0x18 ; key
 00000032  0E00      LSR         R0,R0,#0x18
 00000034            ; SCOPE-END
 00000034  4770      BX          R14
 00000036          ENDP ; 'Scan_Key?T'



Module Information          Static
----------------------------------
  code size            =    ------
  data size            =    ------
  const size           =    ------
End of Module Information.


ARM COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -