📄 main.lst
字号:
0000000C FFF9 BL init_serial?T ; T=0x0001 (2)
51: init_timer(); // init timer 0
00000010 F7FF BL init_timer?T ; T=0x0001 (1)
00000012 FFF6 BL init_timer?T ; T=0x0001 (2)
ARM COMPILER V2.00d, main 23/10/05 18:16:18 PAGE 4
52: init_timer_1(); // init timer 1
00000016 F7FF BL init_timer_1?T ; T=0x0001 (1)
00000018 FFF3 BL init_timer_1?T ; T=0x0001 (2)
53: init_clock(); // init real-time clock
0000001C F7FF BL init_clock?T ; T=0x0001 (1)
0000001E FFF0 BL init_clock?T ; T=0x0001 (2)
55: printf("\n"); // clear displar
00000022 4800 LDR R0,=??S_1 ; ??S_1
00000024 F7FF BL printf?T ; T=0x0001 (1)
00000026 FFEC BL printf?T ; T=0x0001 (2)
56: while (ON) { // while microprocess is on, Loop forever
0000002A L_3:
57: if ( ((task_active)&(0x80)) == 0x80 ) { // test for active
0000002A 0620 LSL R0,R4,#0x18 ; task_active
0000002C 0E00 LSR R0,R0,#0x18 ; task_active
0000002E 2180 MOV R1,#0x80
00000030 4208 TST R0,R1 ; task_active
00000032 D000 BEQ L_5 ; T=0x00000036
58: set_LED(ZERO,ON); // indicate active
00000034 2000 MOV R0,#0x0
00000036 2101 MOV R1,#0x1
00000038 F7FF BL set_LED?T ; T=0x0001 (1)
0000003A FFE2 BL set_LED?T ; T=0x0001 (2)
59: task_active &= 0x7F; // clear active bit (preserve all others)
0000003E 207F MOV R0,#0x7F
00000040 4004 AND R4,R0
60: }
00000042 E7FE B L_6 ; T=0x00000042
00000044 L_5:
62: set_LED(ZERO,OFF); // indicate inactive
00000044 2000 MOV R0,#0x0
00000046 2100 MOV R1,#0x0
00000048 F7FF BL set_LED?T ; T=0x0001 (1)
0000004A FFDA BL set_LED?T ; T=0x0001 (2)
63: task_active |= 0x80; // set active bit
0000004E 2080 MOV R0,#0x80
00000050 4304 ORR R4,R0
64: }
00000052 L_6:
65: disp_lum(1); // display lighting (0=off, 1=20%...,5=100%
00000052 2001 MOV R0,#0x1
00000054 F7FF BL disp_lum?T ; T=0x0001 (1)
00000056 FFD4 BL disp_lum?T ; T=0x0001 (2)
66: disp_set_cursor(0,0);
0000005A 2000 MOV R0,#0x0
0000005C 2100 MOV R1,#0x0
0000005E F7FF BL disp_set_cursor?T ; T=0x0001 (1)
00000060 FFCF BL disp_set_cursor?T ; T=0x0001 (2)
67: wind_dir_char();
00000064 F7FF BL wind_dir_char?T ; T=0x0001 (1)
00000066 FFCC BL wind_dir_char?T ; T=0x0001 (2)
68: speed=wind_speed(timer_0_capture);
0000006A 4800 LDR R0,=timer_0_capture ; timer_0_capture
0000006C 6800 LDR R0,[R0,#0x0] ; timer_0_capture
0000006E F7FF BL wind_speed?T ; T=0x0001 (1)
00000070 FFC7 BL wind_speed?T ; T=0x0001 (2)
00000074 4800 LDR R1,=speed ; speed
00000076 6008 STR R0,[R1,#0x0] ; speed
69: printf(" Wind %s",wind_dir_str);
00000078 4800 LDR R0,=??S_2 ; ??S_2
0000007A 4800 LDR R1,=wind_dir_str ; wind_dir_str
0000007C F7FF BL printf?T ; T=0x0001 (1)
0000007E FFC0 BL printf?T ; T=0x0001 (2)
70: printf(" %2.1f MPH ",speed);
00000082 4800 LDR R0,=??S_3 ; ??S_3
00000084 4800 LDR R1,=speed ; speed
ARM COMPILER V2.00d, main 23/10/05 18:16:18 PAGE 5
00000086 6809 LDR R1,[R1,#0x0] ; speed
00000088 F7FF BL printf?T ; T=0x0001 (1)
0000008A FFBA BL printf?T ; T=0x0001 (2)
71: disp_set_cursor(1,0);
0000008E 2001 MOV R0,#0x1
00000090 2100 MOV R1,#0x0
00000092 F7FF BL disp_set_cursor?T ; T=0x0001 (1)
00000094 FFB5 BL disp_set_cursor?T ; T=0x0001 (2)
72: printf("Temp %3.0f",air_temp_F(air_temp(tval)));
00000098 4800 LDR R0,=tval ; tval
0000009A 6800 LDR R0,[R0,#0x0] ; tval
0000009C F7FF BL air_temp?T ; T=0x0001 (1)
0000009E FFB0 BL air_temp?T ; T=0x0001 (2)
000000A2 F7FF BL air_temp_F?T ; T=0x0001 (1)
000000A4 FFAD BL air_temp_F?T ; T=0x0001 (2)
000000A8 1C01 MOV R1,R0
000000AA 4800 LDR R0,=??S_4 ; ??S_4
000000AC F7FF BL printf?T ; T=0x0001 (1)
000000AE FFA8 BL printf?T ; T=0x0001 (2)
73: putchar(0xDF); printf("F");
000000B2 20DF MOV R0,#0xDF
000000B4 F7FF BL putchar?T ; T=0x0001 (1)
000000B6 FFA4 BL putchar?T ; T=0x0001 (2)
000000BA 4800 LDR R0,=??S_5 ; ??S_5
000000BC F7FF BL printf?T ; T=0x0001 (1)
000000BE FFA0 BL printf?T ; T=0x0001 (2)
74: printf(" "); wr_byte(2,HOUR);
000000C2 4800 LDR R0,=??S_6 ; ??S_6
000000C4 F7FF BL printf?T ; T=0x0001 (1)
000000C6 FF9C BL printf?T ; T=0x0001 (2)
000000CA 4800 LDR R0,=0xE0024028
000000CC 7800 LDRB R0,[R0,#0x0]
000000CE 1C01 MOV R1,R0
000000D0 2002 MOV R0,#0x2
000000D2 F7FF BL wr_byte?T ; T=0x0001 (1)
000000D4 FF95 BL wr_byte?T ; T=0x0001 (2)
75: printf(":"); wr_byte(2,MIN);
000000D8 4800 LDR R0,=??S_7 ; ??S_7
000000DA F7FF BL printf?T ; T=0x0001 (1)
000000DC FF91 BL printf?T ; T=0x0001 (2)
000000E0 4800 LDR R0,=0xE0024024
000000E2 7800 LDRB R0,[R0,#0x0]
000000E4 1C01 MOV R1,R0
000000E6 2002 MOV R0,#0x2
000000E8 F7FF BL wr_byte?T ; T=0x0001 (1)
000000EA FF8A BL wr_byte?T ; T=0x0001 (2)
76: printf(":"); wr_byte(2,SEC);
000000EE 4800 LDR R0,=??S_7 ; ??S_7
000000F0 F7FF BL printf?T ; T=0x0001 (1)
000000F2 FF86 BL printf?T ; T=0x0001 (2)
000000F6 4800 LDR R0,=0xE0024020
000000F8 7800 LDRB R0,[R0,#0x0]
000000FA 1C01 MOV R1,R0
000000FC 2002 MOV R0,#0x2
000000FE F7FF BL wr_byte?T ; T=0x0001 (1)
00000100 FF7F BL wr_byte?T ; T=0x0001 (2)
78: last_sec = SEC;
00000104 4800 LDR R0,=0xE0024020
00000106 7801 LDRB R1,[R0,#0x0]
00000108 4800 LDR R0,=last_sec ; last_sec
0000010A 7001 STRB R1,[R0,#0x0] ; last_sec
79: while (last_sec == SEC);
0000010C L_7:
0000010C 4800 LDR R0,=0xE0024020
0000010E 7800 LDRB R0,[R0,#0x0]
00000110 1C01 MOV R1,R0
ARM COMPILER V2.00d, main 23/10/05 18:16:18 PAGE 6
00000112 4800 LDR R0,=last_sec ; last_sec
00000114 7800 LDRB R0,[R0,#0x0] ; last_sec
00000116 4288 CMP R0,R1
00000118 D0F8 BEQ L_7 ; T=0x0000010C
80: }
0000011A E786 B L_3 ; T=0x0000002A
0000011C ; SCOPE-END
0000011C BC08 POP {R3}
0000011E 4718 BX R3
00000120 ENDP ; 'main'
Module Information Static
----------------------------------
code size = ------
data size = 5
const size = 44
End of Module Information.
ARM COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -