📄 0001.lst
字号:
0000001C 6001 STR R1,[R0,#0x0]
82: T0CON |= 0x80; //T0 run
0000001E 2280 MOV R2,#0x80
00000020 4800 LDR R0,=0xFFFF0308
00000022 6801 LDR R1,[R0,#0x0]
00000024 4311 ORR R1,R2
00000026 6001 STR R1,[R0,#0x0]
83: while(1){
00000028 L_10:
84: uco2tem = ADCChannel(1);
00000028 2001 MOV R0,#0x1
0000002A F7FF BL ADCChannel?T ; T=0x0001 (1)
0000002C FFE9 BL ADCChannel?T ; T=0x0001 (2)
0000002E 4800 LDR R1,=uco2tem ; uco2tem
00000030 6008 STR R0,[R1,#0x0] ; uco2tem
85: ureftem = ADCChannel(2);
00000032 2002 MOV R0,#0x2
00000034 F7FF BL ADCChannel?T ; T=0x0001 (1)
00000036 FFE4 BL ADCChannel?T ; T=0x0001 (2)
00000038 4800 LDR R1,=ureftem ; ureftem
0000003A 6008 STR R0,[R1,#0x0] ; ureftem
86: utem = ADCChannel(3);
0000003C 2003 MOV R0,#0x3
0000003E F7FF BL ADCChannel?T ; T=0x0001 (1)
00000040 FFDF BL ADCChannel?T ; T=0x0001 (2)
00000042 4800 LDR R1,=utem ; utem
00000044 6008 STR R0,[R1,#0x0] ; utem
87: DataProc();
00000046 F7FF BL DataProc?T ; T=0x0001 (1)
00000048 FFDB BL DataProc?T ; T=0x0001 (2)
88: }
0000004A E7ED B L_10 ; T=0x00000028
92: }
0000004C BC08 POP {R3}
0000004E 4718 BX R3
00000050 ENDP ; 'main'
*** CODE SEGMENT '?PR?SystemInit?T?0001':
97: void SystemInit()
00000000 B500 PUSH {LR}
100: PLLKEY1 = 0xAA;
00000002 21AA MOV R1,#0xAA
00000004 4800 LDR R0,=0xFFFF0410
00000006 6001 STR R1,[R0,#0x0]
101: PLLCON = 0x01; //PLL + 32kHz oscillator – default configuration
00000008 2101 MOV R1,#0x1
0000000A 4800 LDR R0,=0xFFFF0414
0000000C 6001 STR R1,[R0,#0x0]
102: PLLKEY2 = 0x55;
0000000E 2255 MOV R2,#0x55
00000010 4800 LDR R0,=0xFFFF0418
00000012 6002 STR R2,[R0,#0x0]
103: POWKEY1 = 0x01;
00000014 4800 LDR R0,=0xFFFF0404
ARM COMPILER V2.42, 0001 17/01/09 22:24:15 PAGE 9
00000016 6001 STR R1,[R0,#0x0]
104: POWCON = 0x00; //the clock configured as 45.088M
00000018 2100 MOV R1,#0x0
0000001A 4800 LDR R0,=0xFFFF0408
0000001C 6001 STR R1,[R0,#0x0]
105: POWKEY2 = 0xF4;
0000001E 21F4 MOV R1,#0xF4
00000020 4800 LDR R0,=0xFFFF040C
00000022 6001 STR R1,[R0,#0x0]
111: ADCInit();
00000024 F7FF BL ADCInit?T ; T=0x0001 (1)
00000026 FFEC BL ADCInit?T ; T=0x0001 (2)
114: UartInit();
00000028 F7FF BL UartInit?T ; T=0x0001 (1)
0000002A FFEA BL UartInit?T ; T=0x0001 (2)
117: Timer0Init();
0000002C F7FF BL Timer0Init?T ; T=0x0001 (1)
0000002E FFE8 BL Timer0Init?T ; T=0x0001 (2)
118: }
00000030 BC08 POP {R3}
00000032 4718 BX R3
00000034 ENDP ; 'SystemInit?T'
*** CODE SEGMENT '?PR?Hand?T?0001':
126: void Hand()
00000000 B530 PUSH {R4-R5,LR}
127: {
00000002 ; SCOPE-START
128: unsigned char v2 = 0;
00000002 2400 MOV R4,#0x0
00000004 1C25 MOV R5,R4 ; v2
00000006 ---- Variable 'v2' assigned to Register 'R5' ----
129: unsigned char tmpv = 0;
00000006 ---- Variable 'tmpv' assigned to Register 'R4' ----
133: v2 = GetData();
00000006 F7FF BL GetData?T ; T=0x0001 (1)
00000008 FFFB BL GetData?T ; T=0x0001 (2)
0000000A 1C05 MOV R5,R0 ; v2
134: if(0xa7 == v2){
0000000C 0600 LSL R0,R0,#0x18 ; v2
0000000E 0E00 LSR R0,R0,#0x18
00000010 28A7 CMP R0,#0xA7
00000012 D117 BNE L_16 ; T=0x00000044
135: tmpv = GetData(); //输入factor数值
00000014 F7FF BL GetData?T ; T=0x0001 (1)
00000016 FFF4 BL GetData?T ; T=0x0001 (2)
00000018 1C04 MOV R4,R0 ; tmpv
136: FlashWriteByte(FACTADDR,tmpv);
0000001A 0601 LSL R1,R0,#0x18 ; tmpv
0000001C 0E09 LSR R1,R1,#0x18
0000001E 4800 LDR R0,=0x88000
00000020 F7FF BL FlashWriteByte?T ; T=0x0001 (1)
00000022 FFEE BL FlashWriteByte?T ; T=0x0001 (2)
137: factor = FlashReadByte(FACTADDR); //factor
00000024 4800 LDR R0,=0x88000
00000026 F7FF BL FlashReadByte?T ; T=0x0001 (1)
00000028 FFEB BL FlashReadByte?T ; T=0x0001 (2)
0000002A 0601 LSL R1,R0,#0x18 ; FlashReadByte?T
0000002C 0E09 LSR R1,R1,#0x18
0000002E 4800 LDR R0,=factor ; factor
00000030 7001 STRB R1,[R0,#0x0] ; factor
138: SendHex(factor);
00000032 4800 LDR R0,=factor ; factor
00000034 7800 LDRB R0,[R0,#0x0] ; factor
00000036 F7FF BL SendHex?T ; T=0x0001 (1)
00000038 FFE3 BL SendHex?T ; T=0x0001 (2)
140: FlashWriteByte(FACTADDR+1,0x01); // default factor = 0x01 write to flash
ARM COMPILER V2.42, 0001 17/01/09 22:24:15 PAGE 10
0000003A 4800 LDR R0,=0x88001
0000003C 2101 MOV R1,#0x1
0000003E F7FF BL FlashWriteByte?T ; T=0x0001 (1)
00000040 FFDF BL FlashWriteByte?T ; T=0x0001 (2)
141: }else{
00000042 E006 B L_21 ; T=0x00000052
00000044 L_16:
142: factor = FlashReadByte(FACTADDR);
00000044 4800 LDR R0,=0x88000
00000046 F7FF BL FlashReadByte?T ; T=0x0001 (1)
00000048 FFDB BL FlashReadByte?T ; T=0x0001 (2)
0000004A 0601 LSL R1,R0,#0x18 ; FlashReadByte?T
0000004C 0E09 LSR R1,R1,#0x18
0000004E 4800 LDR R0,=factor ; factor
00000050 7001 STRB R1,[R0,#0x0] ; factor
144: while(1){
00000052 L_21:
00000052 L_20:
145: tmpv = GetData();
00000052 F7FF BL GetData?T ; T=0x0001 (1)
00000054 FFD5 BL GetData?T ; T=0x0001 (2)
00000056 1C04 MOV R4,R0 ; tmpv
146: if((0xCC == tmpv) || (0x80 == tmpv)){
00000058 0600 LSL R0,R0,#0x18 ; tmpv
0000005A 0E00 LSR R0,R0,#0x18
0000005C 28CC CMP R0,#0xCC
0000005E D004 BEQ L_23 ; T=0x0000006A
00000060 1C20 MOV R0,R4 ; tmpv
00000062 0600 LSL R0,R0,#0x18 ; tmpv
00000064 0E00 LSR R0,R0,#0x18
00000066 2880 CMP R0,#0x80
00000068 D1F3 BNE L_20 ; T=0x00000052
0000006A L_23:
147: SendHex(0xCC);
0000006A 20CC MOV R0,#0xCC
0000006C F7FF BL SendHex?T ; T=0x0001 (1)
0000006E FFC8 BL SendHex?T ; T=0x0001 (2)
148: SendByte(' ');
00000070 2020 MOV R0,#0x20
00000072 F7FF BL SendByte?T ; T=0x0001 (1)
00000074 FFC5 BL SendByte?T ; T=0x0001 (2)
149: SendHex(0x01);
00000076 2001 MOV R0,#0x1
00000078 F7FF BL SendHex?T ; T=0x0001 (1)
0000007A FFC2 BL SendHex?T ; T=0x0001 (2)
150: SendByte(' ');
0000007C 2020 MOV R0,#0x20
0000007E F7FF BL SendByte?T ; T=0x0001 (1)
00000080 FFBF BL SendByte?T ; T=0x0001 (2)
151: SendHex(0x33);
00000082 2033 MOV R0,#0x33
00000084 F7FF BL SendHex?T ; T=0x0001 (1)
00000086 FFBC BL SendHex?T ; T=0x0001 (2)
152: NewLine();
00000088 F7FF BL NewLine?T ; T=0x0001 (1)
0000008A FFBA BL NewLine?T ; T=0x0001 (2)
154: tmpv = FlashReadByte(FACTADDR+1);
0000008C 4800 LDR R0,=0x88001
0000008E F7FF BL FlashReadByte?T ; T=0x0001 (1)
00000090 FFB7 BL FlashReadByte?T ; T=0x0001 (2)
00000092 0604 LSL R4,R0,#0x18 ; FlashReadByte?T
00000094 0E24 LSR R4,R4,#0x18
155: if (tmpv < 4){
00000096 1C20 MOV R0,R4 ; tmpv
00000098 0600 LSL R0,R0,#0x18 ; tmpv
0000009A 0E00 LSR R0,R0,#0x18
ARM COMPILER V2.42, 0001 17/01/09 22:24:15 PAGE 11
0000009C 2804 CMP R0,#0x4
0000009E DA08 BGE L_24 ; T=0x000000B2
156: tmpv += 1;
000000A0 3401 ADD R4,#0x1
000000A2 0624 LSL R4,R4,#0x18
000000A4 0E24 LSR R4,R4,#0x18
157: FlashWriteByte(FACTADDR+1,tmpv);
000000A6 1C20 MOV R0,R4 ; tmpv
000000A8 0601 LSL R1,R0,#0x18 ; tmpv
000000AA 0E09 LSR R1,R1,#0x18
000000AC 4800 LDR R0,=0x88001
000000AE F7FF BL FlashWriteByte?T ; T=0x0001 (1)
000000B0 FFA7 BL FlashWriteByte?T ; T=0x0001 (2)
158: }
000000B2 L_24:
159: ttflag = 0;
000000B2 2100 MOV R1,#0x0
000000B4 4800 LDR R0,=ttflag ; ttflag
000000B6 7001 STRB R1,[R0,#0x0] ; ttflag
162: }
000000B8 ; SCOPE-END
164: }
000000B8 BC30 POP {R4-R5}
000000BA BC08 POP {R3}
000000BC 4718 BX R3
000000BE ENDP ; 'Hand?T'
Module Information Static
----------------------------------
code size = ------
data size = ------
const size = 34
End of Module Information.
ARM COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -