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

📄 menu.lst

📁 Philips LPC2138 Demo Application with Keil C
💻 LST
📖 第 1 页 / 共 2 页
字号:
ARM COMPILER V2.42,  menu                                                                  27/03/06  10:43:15  PAGE 1   


ARM COMPILER V2.42, COMPILATION OF MODULE menu
OBJECT MODULE PLACED IN .\obj\menu.obj
COMPILER INVOKED BY: C:\Keil\ARM\BIN\CA.exe src\menu.c THUMB DEBUG PRINT(.\LST\MENU.LST) TABS(4) OBJECT(.\obj\menu.obj) 

stmt  level    source

    1          /***************************************************************
    2           *
    3           *  Graphical User Interface with GLCD for LPC2000 ARM7TDMI
    4           *  
    5           *  by Martin THOMAS <eversmith@heizung-thomas.de>
    6           *
    7           ***************************************************************/
    8          
    9          #include "types.h"
   10          #include "main.h"
   11          #include "fonts.h"
   12          #include "menu.h"
   13          
   14          #define MENUYOFFS               11
   15          #define MENUXOFFS               3
   16          
   17          const char main1[] = "DCF77";
   18          const char main2[] = "Real Time Clock";
   19          const char main3[] = "Display Options";
   20          const char main4[] = "Show Clock";
   21          const char* const mainmenutxt[] = {main1, main2, main3, main4};
   22          #define mainentries         4
   23          #define mainexit            (mainentries-1)
   24          #define maindcf             0
   25          #define mainrtc             1
   26          #define maindisplay         2
   27          
   28          const char display1[] = "Contrast";
   29          const char display2[] = "Brightness";
   30          const char display3[] = "Store Defaults";
   31          const char display4[] = "Main Menu";
   32          const char* const displaymenutxt[] = {display1, display2, display3, display4};
   33          
   34          #define displayentries      (sizeof(displaymenutxt)/sizeof(const char*))
   35          #define displayexit         (displayentries-1)
   36          #define displaycontrast     0
   37          #define displaybrightness   1
   38          #define displaystore        2
   39          
   40          static void do_menu(const char* title, const char* const ms[], const BYTE n, BYTE* menutop, BYTE *menusel
             -, BYTE *mstate)
   41          {
   42   1          BYTE i;
   43   1          
   44   1          if (*mstate) 
   45   1          {
   46   2              glcd_ClrScr(GLCD_CLEAR_BUFFER);
   47   2              glcd_Text(MENUXOFFS+1,2,FONT_SIX_DOT,title);
   48   2              glcd_Line(0,9,128,9,GLCD_MODE_SET);
   49   2              for (i=0;i<n;i++) 
   50   2              {
   51   3                  glcd_Text(MENUXOFFS,MENUYOFFS+1+i*13,FONT_NINE_DOT,ms[i]);
   52   3              }
   53   2              glcd_Box(1,(*menusel*13)+MENUYOFFS,126,13,GLCD_MODE_XOR);
   54   2              glcd_UpdateAll();
   55   2              *mstate = 0;
   56   2          }
   57   1      }
*** WARNING C47 IN LINE 40 OF SRC\MENU.C: 'menutop': unreferenced parameter
ARM COMPILER V2.42,  menu                                                                  27/03/06  10:43:15  PAGE 2   

   58          
   59          void ui_main_menu(BYTE *mainstate)
   60          {
   61   1          static BYTE state=0;
   62   1          static BYTE menutop=0;
   63   1          static BYTE menusel=0;
   64   1          BYTE mstate=1;
   65   1          
   66   1          if (state == 0) 
   67   1          {
   68   2              mstate=1;
   69   2              state=1;
   70   2          }
   71   1          
   72   1          do_menu("Main Menu",mainmenutxt,mainentries,&menutop,&menusel,&mstate);
   73   1          
   74   1          if ( 1 ) 
   75   1          {
   76   2              glcd_ClrScr(GLCD_CLEAR_BUFFER);
   77   2              switch (menusel) 
   78   2              {
   79   3                  case maindcf:
   80   3                      state = 0;
   81   3                      *mainstate = STATE_MAIN_DCF;
   82   3                      break;
   83   3                  case mainrtc:
   84   3                      state = 0;
   85   3                      *mainstate = STATE_MAIN_RTC;
   86   3                      break;
   87   3                  case maindisplay:
   88   3                      state = 0;
   89   3                      *mainstate = STATE_MAIN_DISPLAY;
   90   3                      break;
   91   3                  case mainexit:
   92   3                      state = 0;
   93   3                      menutop = 0;
   94   3                      menusel = 0;
   95   3                      *mainstate = STATE_SHOW_CLOCK;
   96   3                      break;
   97   3              }
   98   2          }
   99   1      }
ARM COMPILER V2.42,  menu                                                                  27/03/06  10:43:15  PAGE 3   

ASSEMBLY LISTING OF GENERATED OBJECT CODE



*** EXTERNALS:
 EXTERN CODE16 (glcd_Line?T)
 EXTERN CODE16 (glcd_Box?T)
 EXTERN CODE16 (glcd_ClrScr?T)
 EXTERN CODE16 (glcd_Update?T)
 EXTERN CODE16 (glcd_Text?T)



*** PUBLICS:
 PUBLIC         main1
 PUBLIC         main2
 PUBLIC         main3
 PUBLIC         main4
 PUBLIC         mainmenutxt
 PUBLIC         display1
 PUBLIC         display2
 PUBLIC         display3
 PUBLIC         display4
 PUBLIC         displaymenutxt
 PUBLIC         ui_main_menu?T



*** DATA SEGMENT '?CON?menu':
 00000000          mainmenutxt:
 00000000           BEGIN_INIT
 00000000  00000000  DD          main1
 00000004  00000000  DD          main2
 00000008  00000000  DD          main3
 0000000C  00000000  DD          main4
 00000010           END_INIT
 00000010          displaymenutxt:
 00000010           BEGIN_INIT
 00000010  00000000  DD          display1
 00000014  00000000  DD          display2
 00000018  00000000  DD          display3
 0000001C  00000000  DD          display4
 00000020           END_INIT
 00000020          ??S_8:
 00000020            DB          'Main Menu',0x00
 0000002A          main1:
 0000002A           BEGIN_INIT
 0000002A            DB          'DCF77',0x00
 00000030           END_INIT
 00000030          main2:
 00000030           BEGIN_INIT
 00000030            DB          'Real Time Clock',0x00
 00000040           END_INIT
 00000040          main3:
 00000040           BEGIN_INIT
 00000040            DB          'Display Options',0x00
 00000050           END_INIT
 00000050          main4:
 00000050           BEGIN_INIT
 00000050            DB          'Show Clock',0x00
 0000005B           END_INIT
 0000005B          display1:
 0000005B           BEGIN_INIT
 0000005B            DB          'Contrast',0x00
 00000064           END_INIT
 00000064          display2:
 00000064           BEGIN_INIT
 00000064            DB          'Brightness',0x00
 0000006F           END_INIT
 0000006F          display3:
 0000006F           BEGIN_INIT
ARM COMPILER V2.42,  menu                                                                  27/03/06  10:43:15  PAGE 4   

 0000006F            DB          'Store Defaults',0x00
 0000007E           END_INIT
 0000007E          display4:
 0000007E           BEGIN_INIT
 0000007E            DB          'Main Menu',0x00
 00000088           END_INIT

*** DATA SEGMENT '?DT0?menu':
 00000000          state:
 00000000           BEGIN_INIT
 00000000  00        DB          0x0
 00000001           END_INIT
 00000001          menutop:
 00000001           BEGIN_INIT
 00000001  00        DB          0x0
 00000002           END_INIT
 00000002          menusel:
 00000002           BEGIN_INIT
 00000002  00        DB          0x0
 00000003           END_INIT



*** CODE SEGMENT '?PR?do_menu?T?menu':
   40: static void do_menu(const char* title, const char* const ms[], const BYTE n, BYTE* menutop, BYTE *menusel, BYTE *
             -mstate)
 00000000  B570      PUSH        {R4-R6,LR}
 00000002  1C16      MOV         R6,R2 ; n
 00000004  ---- Variable 'n' assigned to Register 'R6' ----
 00000004  1C0D      MOV         R5,R1 ; ms
 00000006  ---- Variable 'ms' assigned to Register 'R5' ----
 00000006  1C04      MOV         R4,R0 ; title
 00000008  ---- Variable 'title' assigned to Register 'R4' ----
   41: {
 00000008            ; SCOPE-START
   44:     if (*mstate) 
 00000008  9801      LDR         R0,[R13,#0x4] ; mstate
 0000000A  7800      LDRB        R0,[R0,#0x0]
 0000000C  2800      CMP         R0,#0x0

⌨️ 快捷键说明

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