📄 menu.lst
字号:
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 + -