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

📄 menu.lst

📁 Philips LPC2138 Demo Application with Keil C
💻 LST
📖 第 1 页 / 共 2 页
字号:
 0000000E  D042      BEQ         L_1  ; T=0x00000096
   46:         glcd_ClrScr(GLCD_CLEAR_BUFFER);
 00000010  2000      MOV         R0,#0x0
 00000012  F7FF      BL          glcd_ClrScr?T  ; T=0x0001  (1)
 00000014  FFF5      BL          glcd_ClrScr?T  ; T=0x0001  (2)
   47:         glcd_Text(MENUXOFFS+1,2,FONT_SIX_DOT,title);
 00000016  1C23      MOV         R3,R4 ; title
 00000018  2004      MOV         R0,#0x4
 0000001A  2102      MOV         R1,#0x2
 0000001C  2201      MOV         R2,#0x1
 0000001E  F7FF      BL          glcd_Text?T  ; T=0x0001  (1)
 00000020  FFEF      BL          glcd_Text?T  ; T=0x0001  (2)
   48:         glcd_Line(0,9,128,9,GLCD_MODE_SET);
 00000022  2001      MOV         R0,#0x1
 00000024  B401      PUSH        {R0}
 00000026  2000      MOV         R0,#0x0
 00000028  2309      MOV         R3,#0x9
 0000002A  1C19      MOV         R1,R3
 0000002C  2280      MOV         R2,#0x80
 0000002E  F7FF      BL          glcd_Line?T  ; T=0x0001  (1)
 00000030  FFE7      BL          glcd_Line?T  ; T=0x0001  (2)
 00000032  B001      ADD         R13,#0x4
   49:         for (i=0;i<n;i++) 
 00000034  2400      MOV         R4,#0x0
 00000036  ---- Variable 'i' assigned to Register 'R4' ----
 00000036  E012      B           L_4  ; T=0x0000005E
 00000038          L_5:
   51:             glcd_Text(MENUXOFFS,MENUYOFFS+1+i*13,FONT_NINE_DOT,ms[i]);
 00000038  1C20      MOV         R0,R4 ; i
 0000003A  0601      LSL         R1,R0,#0x18 ; i
ARM COMPILER V2.42,  menu                                                                  27/03/06  10:43:15  PAGE 5   

 0000003C  0E09      LSR         R1,R1,#0x18
 0000003E  200D      MOV         R0,#0xD
 00000040  4341      MUL         R1,R0
 00000042  310C      ADD         R1,#0xC
 00000044  1C20      MOV         R0,R4 ; i
 00000046  0602      LSL         R2,R0,#0x18 ; i
 00000048  0E12      LSR         R2,R2,#0x18
 0000004A  0092      LSL         R2,R2,#0x2
 0000004C  1C28      MOV         R0,R5 ; ms
 0000004E  5883      LDR         R3,[R0,R2]
 00000050  2203      MOV         R2,#0x3
 00000052  1C10      MOV         R0,R2
 00000054  F7FF      BL          glcd_Text?T  ; T=0x0001  (1)
 00000056  FFD4      BL          glcd_Text?T  ; T=0x0001  (2)
   52:         }
 00000058  3401      ADD         R4,#0x1
 0000005A  0624      LSL         R4,R4,#0x18
 0000005C  0E24      LSR         R4,R4,#0x18
 0000005E          L_4:
 0000005E  1C30      MOV         R0,R6 ; n
 00000060  0601      LSL         R1,R0,#0x18 ; n
 00000062  0E09      LSR         R1,R1,#0x18
 00000064  1C20      MOV         R0,R4 ; i
 00000066  0600      LSL         R0,R0,#0x18 ; i
 00000068  0E00      LSR         R0,R0,#0x18
 0000006A  4288      CMP         R0,R1
 0000006C  D3E4      BCC         L_5  ; T=0x00000038
   53:         glcd_Box(1,(*menusel*13)+MENUYOFFS,126,13,GLCD_MODE_XOR);
 0000006E  2002      MOV         R0,#0x2
 00000070  B401      PUSH        {R0}
 00000072  9801      LDR         R0,[R13,#0x4] ; menusel
 00000074  7801      LDRB        R1,[R0,#0x0]
 00000076  200D      MOV         R0,#0xD
 00000078  4341      MUL         R1,R0
 0000007A  310B      ADD         R1,#0xB
 0000007C  2001      MOV         R0,#0x1
 0000007E  227E      MOV         R2,#0x7E
 00000080  230D      MOV         R3,#0xD
 00000082  F7FF      BL          glcd_Box?T  ; T=0x0001  (1)
 00000084  FFBD      BL          glcd_Box?T  ; T=0x0001  (2)
 00000086  B001      ADD         R13,#0x4
   54:         glcd_UpdateAll();
 00000088  2000      MOV         R0,#0x0
 0000008A  213F      MOV         R1,#0x3F
 0000008C  F7FF      BL          glcd_Update?T  ; T=0x0001  (1)
 0000008E  FFB8      BL          glcd_Update?T  ; T=0x0001  (2)
   55:         *mstate = 0;
 00000090  2100      MOV         R1,#0x0
 00000092  9801      LDR         R0,[R13,#0x4] ; mstate
 00000094  7001      STRB        R1,[R0,#0x0]
   56:     }
 00000096          L_1:
 00000096            ; SCOPE-END
   57: }
 00000096  BC70      POP         {R4-R6}
 00000098  BC08      POP         {R3}
 0000009A  4718      BX          R3
 0000009C          ENDP ; 'do_menu?T'


*** CODE SEGMENT '?PR?ui_main_menu?T?menu':
   59: void ui_main_menu(BYTE *mainstate)
 00000000  B510      PUSH        {R4,LR}
 00000002  1C04      MOV         R4,R0 ; mainstate
 00000004  ---- Variable 'mainstate' assigned to Register 'R4' ----
 00000004  B081      SUB         R13,#0x4
   60: {
 00000006            ; SCOPE-START
ARM COMPILER V2.42,  menu                                                                  27/03/06  10:43:15  PAGE 6   

   64:     BYTE mstate=1;
 00000006  2101      MOV         R1,#0x1
 00000008  A800      ADD         R0,R13,#0x0
 0000000A  7001      STRB        R1,[R0,#0x0] ; mstate
   66:     if (state == 0) 
 0000000C  4800      LDR         R0,=state ; state
 0000000E  7800      LDRB        R0,[R0,#0x0] ; state
 00000010  2800      CMP         R0,#0x0
 00000012  D105      BNE         L_7  ; T=0x00000020
   68:         mstate=1;
 00000014  2101      MOV         R1,#0x1
 00000016  A800      ADD         R0,R13,#0x0
 00000018  7001      STRB        R1,[R0,#0x0] ; mstate
   69:         state=1;
 0000001A  2101      MOV         R1,#0x1
 0000001C  4800      LDR         R0,=state ; state
 0000001E  7001      STRB        R1,[R0,#0x0] ; state
   70:     }
 00000020          L_7:
   72:     do_menu("Main Menu",mainmenutxt,mainentries,&menutop,&menusel,&mstate);
 00000020  A800      ADD         R0,R13,#0x0
 00000022  B401      PUSH        {R0}
 00000024  4800      LDR         R0,=menusel ; menusel
 00000026  B401      PUSH        {R0}
 00000028  4800      LDR         R0,=??S_8 ; ??S_8
 0000002A  4800      LDR         R1,=mainmenutxt ; mainmenutxt
 0000002C  4800      LDR         R3,=menutop ; menutop
 0000002E  2204      MOV         R2,#0x4
 00000030  F7FF      BL          do_menu?T  ; T=0x0001  (1)
 00000032  FFE6      BL          do_menu?T  ; T=0x0001  (2)
 00000034  B002      ADD         R13,#0x8
   76:         glcd_ClrScr(GLCD_CLEAR_BUFFER);
 00000036  2000      MOV         R0,#0x0
 00000038  F7FF      BL          glcd_ClrScr?T  ; T=0x0001  (1)
 0000003A  FFE2      BL          glcd_ClrScr?T  ; T=0x0001  (2)
   77:         switch (menusel) 
 0000003C  4800      LDR         R0,=menusel ; menusel
 0000003E  7800      LDRB        R0,[R0,#0x0] ; menusel
 00000040  2801      CMP         R0,#0x1
 00000042  D00C      BEQ         L_11  ; T=0x0000005E
 00000044  2802      CMP         R0,#0x2
 00000046  D011      BEQ         L_12  ; T=0x0000006C
 00000048  2803      CMP         R0,#0x3
 0000004A  D016      BEQ         L_13  ; T=0x0000007A
 0000004C  2800      CMP         R0,#0x0
 0000004E  D11F      BNE         L_8  ; T=0x00000090
   79:             case maindcf:
 00000050          L_10:
   80:                 state = 0;
 00000050  2100      MOV         R1,#0x0
 00000052  4800      LDR         R0,=state ; state
 00000054  7001      STRB        R1,[R0,#0x0] ; state
   81:                 *mainstate = STATE_MAIN_DCF;
 00000056  210A      MOV         R1,#0xA
 00000058  1C20      MOV         R0,R4 ; mainstate
 0000005A  7001      STRB        R1,[R0,#0x0] ; mainstate
   82:                 break;
 0000005C  E018      B           L_8  ; T=0x00000090
   83:             case mainrtc:
 0000005E          L_11:
   84:                 state = 0;
 0000005E  2100      MOV         R1,#0x0
 00000060  4800      LDR         R0,=state ; state
 00000062  7001      STRB        R1,[R0,#0x0] ; state
   85:                 *mainstate = STATE_MAIN_RTC;
 00000064  2114      MOV         R1,#0x14
ARM COMPILER V2.42,  menu                                                                  27/03/06  10:43:15  PAGE 7   

 00000066  1C20      MOV         R0,R4 ; mainstate
 00000068  7001      STRB        R1,[R0,#0x0] ; mainstate
   86:                 break;
 0000006A  E011      B           L_8  ; T=0x00000090
   87:             case maindisplay:
 0000006C          L_12:
   88:                 state = 0;
 0000006C  2100      MOV         R1,#0x0
 0000006E  4800      LDR         R0,=state ; state
 00000070  7001      STRB        R1,[R0,#0x0] ; state
   89:                 *mainstate = STATE_MAIN_DISPLAY;
 00000072  211E      MOV         R1,#0x1E
 00000074  1C20      MOV         R0,R4 ; mainstate
 00000076  7001      STRB        R1,[R0,#0x0] ; mainstate
   90:                 break;
 00000078  E00A      B           L_8  ; T=0x00000090
   91:             case mainexit:
 0000007A          L_13:
   92:                 state = 0;
 0000007A  2100      MOV         R1,#0x0
 0000007C  4800      LDR         R0,=state ; state
 0000007E  7001      STRB        R1,[R0,#0x0] ; state
   93:                 menutop = 0;
 00000080  4800      LDR         R0,=menutop ; menutop
 00000082  7001      STRB        R1,[R0,#0x0] ; menutop
   94:                 menusel = 0;
 00000084  2100      MOV         R1,#0x0
 00000086  4800      LDR         R0,=menusel ; menusel
 00000088  7001      STRB        R1,[R0,#0x0] ; menusel
   95:                 *mainstate = STATE_SHOW_CLOCK;
 0000008A  2101      MOV         R1,#0x1
 0000008C  1C20      MOV         R0,R4 ; mainstate
 0000008E  7001      STRB        R1,[R0,#0x0] ; mainstate
   98:     }
 00000090          L_8:
 00000090            ; SCOPE-END
   99: }
 00000090  B001      ADD         R13,#0x4
 00000092  BC10      POP         {R4}
 00000094  BC08      POP         {R3}
 00000096  4718      BX          R3
 00000098          ENDP ; 'ui_main_menu?T'



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


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

⌨️ 快捷键说明

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