📄 main.lst
字号:
\ 0000008E 0CD2 BCS.N ??ADC_TEMP_5
\ 00000090 B6B2 UXTH R6,R6 ;; ZeroExtS R6,R6,#+16,#+16
\ 00000092 B742 CMP R7,R6
\ 00000094 09D2 BCS.N ??ADC_TEMP_5
318 c=TEMP_TAB[++a];
\ 00000096 6D1C ADDS R5,R5,#+1
\ 00000098 2800 MOVS R0,R5
\ 0000009A 0500 MOVS R5,R0
\ 0000009C 80B2 UXTH R0,R0 ;; ZeroExtS R0,R0,#+16,#+16
\ 0000009E 0221 MOVS R1,#+2
\ 000000A0 4843 MULS R0,R1,R0
\ 000000A2 0E49 LDR.N R1,??ADC_TEMP_0+0x24 ;; TEMP_TAB
\ 000000A4 085A LDRH R0,[R1, R0]
\ 000000A6 0600 MOVS R6,R0
\ 000000A8 EFE7 B.N ??ADC_TEMP_4
319 *p=a;
\ ??ADC_TEMP_5:
\ 000000AA 2580 STRH R5,[R4, #+0]
320 if(b>=0xfa)*p=0xff;
\ 000000AC FA2F CMP R7,#+250
\ 000000AE 01D3 BCC.N ??ADC_TEMP_1
\ 000000B0 FF20 MOVS R0,#+255
\ 000000B2 2080 STRH R0,[R4, #+0]
321 }
322 }
\ ??ADC_TEMP_1:
\ 000000B4 01B0 ADD SP,SP,#+4
\ 000000B6 F0BD POP {R4-R7,PC} ;; return
\ ??ADC_TEMP_0:
\ 000000B8 ........ DC32 ??TAD + 14
\ 000000BC ........ DC32 ??TAD + 12
\ 000000C0 ........ DC32 ??TAD + 10
\ 000000C4 ........ DC32 ??TAD + 8
\ 000000C8 ........ DC32 ??TAD + 6
\ 000000CC ........ DC32 ??TAD + 4
\ 000000D0 ........ DC32 ??TAD + 2
\ 000000D4 ........ DC32 ??TAD
\ 000000D8 ........ DC32 ??ADC_COUNT
\ 000000DC ........ DC32 TEMP_TAB
\ In section .bss, align 2
\ ??ADC_COUNT:
\ 00000000 DS8 2
\ In section .bss, align 4
\ ??TAD:
\ 00000000 DS8 16
323 /*************************************************************************
324 * Function Name: Dly100us
325 * Parameters: Int32U Dly
326 *
327 * Return: none
328 *
329 * Description: Delay Dly * 100us
330 *
331 *************************************************************************/
\ In section .XML, align 4, keep-with-next
332 void delay(Int16U Dly)
333 {
334 Int16U i=0;
\ delay:
\ 00000000 0022 MOVS R2,#+0
\ 00000002 1100 MOVS R1,R2
335 for(;i<Dly;i++);
\ ??delay_0:
\ 00000004 89B2 UXTH R1,R1 ;; ZeroExtS R1,R1,#+16,#+16
\ 00000006 80B2 UXTH R0,R0 ;; ZeroExtS R0,R0,#+16,#+16
\ 00000008 8142 CMP R1,R0
\ 0000000A 01D2 BCS.N ??delay_1
\ 0000000C 491C ADDS R1,R1,#+1
\ 0000000E F9E7 B.N ??delay_0
336 }
\ ??delay_1:
\ 00000010 7047 BX LR ;; return
\ In section .XML, align 4, keep-with-next
337 void delay_nop(Int16U Dly)
338 {
\ delay_nop:
\ 00000000 31B5 PUSH {R0,R4,R5,LR}
\ 00000002 0400 MOVS R4,R0
339 Int16U i;
340 while(Dly--)
\ ??delay_nop_0:
\ 00000004 2000 MOVS R0,R4
\ 00000006 441E SUBS R4,R0,#+1
\ 00000008 80B2 UXTH R0,R0 ;; ZeroExtS R0,R0,#+16,#+16
\ 0000000A 0028 CMP R0,#+0
\ 0000000C 08D0 BEQ.N ??delay_nop_1
341 {
342 for(i=LOOP_DLY_100US; i; i--)WWDG_ClearFlag();
\ 0000000E C820 MOVS R0,#+200
\ 00000010 0500 MOVS R5,R0
\ ??delay_nop_2:
\ 00000012 ADB2 UXTH R5,R5 ;; ZeroExtS R5,R5,#+16,#+16
\ 00000014 002D CMP R5,#+0
\ 00000016 F5D0 BEQ.N ??delay_nop_0
\ 00000018 ........ BL WWDG_ClearFlag
\ 0000001C 6D1E SUBS R5,R5,#+1
\ 0000001E F8E7 B.N ??delay_nop_2
343 }
344 }
\ ??delay_nop_1:
\ 00000020 01B0 ADD SP,SP,#+4
\ 00000022 30BD POP {R4,R5,PC} ;; return
345
346 /*************************************************************************
347 * Function Name: InitADC1
348 * Parameters: none
349 * Return: none
350 *
351 * Description: ADC Init subroutine
352 *
353 *************************************************************************/
\ In section .XML, align 4, keep-with-next
354 void InitGPIO(void)
355 {
\ InitGPIO:
\ 00000000 01B5 PUSH {R0,LR}
356 GPIO_InitTypeDef GPIO_InitStructure;
357 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOD|
358 RCC_APB2Periph_GPIOA,ENABLE);
\ 00000002 0121 MOVS R1,#+1
\ 00000004 3C20 MOVS R0,#+60
\ 00000006 ........ BL RCC_APB2PeriphClockCmd
359 GPIO_DeInit(GPIOA);
\ 0000000A 3048 LDR.N R0,??InitGPIO_0 ;; 0x40010800
\ 0000000C ........ BL GPIO_DeInit
360 GPIO_DeInit(GPIOB);
\ 00000010 .... LDR.N R0,??DataTable17 ;; 0x40010c00
\ 00000012 ........ BL GPIO_DeInit
361 GPIO_DeInit(GPIOC);
\ 00000016 .... LDR.N R0,??DataTable19 ;; 0x40011000
\ 00000018 ........ BL GPIO_DeInit
362 GPIO_DeInit(GPIOD);
\ 0000001C .... LDR.N R0,??DataTable14 ;; 0x40011400
\ 0000001E ........ BL GPIO_DeInit
363 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_2|GPIO_Pin_3|
364 GPIO_Pin_4|
365 GPIO_Pin_8|GPIO_Pin_11|GPIO_Pin_12;
\ 00000022 2B48 LDR.N R0,??InitGPIO_0+0x4 ;; 0x191d
\ 00000024 ADF80000 STRH R0,[SP, #+0]
366 GPIO_InitStructure.GPIO_Speed = (GPIOSpeed_TypeDef)3;
\ 00000028 0320 MOVS R0,#+3
\ 0000002A 8DF80200 STRB R0,[SP, #+2]
367 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
\ 0000002E 1020 MOVS R0,#+16
\ 00000030 8DF80300 STRB R0,[SP, #+3]
368 GPIO_Init (GPIOA, &GPIO_InitStructure); //setion output
\ 00000034 6946 MOV R1,SP
\ 00000036 2548 LDR.N R0,??InitGPIO_0 ;; 0x40010800
\ 00000038 ........ BL GPIO_Init
369
370
371
372 GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1|GPIO_Pin_4|GPIO_Pin_5|
373 GPIO_Pin_6|GPIO_Pin_7;
\ 0000003C F220 MOVS R0,#+242
\ 0000003E ADF80000 STRH R0,[SP, #+0]
374
375 GPIO_InitStructure.GPIO_Speed = (GPIOSpeed_TypeDef)0;
\ 00000042 0020 MOVS R0,#+0
\ 00000044 8DF80200 STRB R0,[SP, #+2]
376 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
\ 00000048 0420 MOVS R0,#+4
\ 0000004A 8DF80300 STRB R0,[SP, #+3]
377 GPIO_Init (GPIOA, &GPIO_InitStructure); //setion pull-up input
\ 0000004E 6946 MOV R1,SP
\ 00000050 1E48 LDR.N R0,??InitGPIO_0 ;; 0x40010800
\ 00000052 ........ BL GPIO_Init
378
379 GPIO_InitStructure.GPIO_Pin =GPIO_Pin_0|GPIO_Pin_5|GPIO_Pin_11|GPIO_Pin_2|GPIO_Pin_9| GPIO_Pin_11;
\ 00000056 1F48 LDR.N R0,??InitGPIO_0+0x8 ;; 0xa25
\ 00000058 ADF80000 STRH R0,[SP, #+0]
380 GPIO_InitStructure.GPIO_Speed = (GPIOSpeed_TypeDef)0;
\ 0000005C 0020 MOVS R0,#+0
\ 0000005E 8DF80200 STRB R0,[SP, #+2]
381 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
\ 00000062 0420 MOVS R0,#+4
\ 00000064 8DF80300 STRB R0,[SP, #+3]
382 GPIO_Init (GPIOB, &GPIO_InitStructure);
\ 00000068 6946 MOV R1,SP
\ 0000006A .... LDR.N R0,??DataTable17 ;; 0x40010c00
\ 0000006C ........ BL GPIO_Init
383 GPIO_InitStructure.GPIO_Pin =GPIO_Pin_1|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_8|
384 GPIO_Pin_7|GPIO_Pin_10|
385 GPIO_Pin_12|GPIO_Pin_13|
386 GPIO_Pin_14|GPIO_Pin_15;
\ 00000070 1948 LDR.N R0,??InitGPIO_0+0xC ;; 0xf5e2
\ 00000072 ADF80000 STRH R0,[SP, #+0]
387 GPIO_InitStructure.GPIO_Speed = (GPIOSpeed_TypeDef)3;
\ 00000076 0320 MOVS R0,#+3
\ 00000078 8DF80200 STRB R0,[SP, #+2]
388 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
\ 0000007C 1020 MOVS R0,#+16
\ 0000007E 8DF80300 STRB R0,[SP, #+3]
389 GPIO_Init (GPIOB, &GPIO_InitStructure);
\ 00000082 6946 MOV R1,SP
\ 00000084 .... LDR.N R0,??DataTable17 ;; 0x40010c00
\ 00000086 ........ BL GPIO_Init
390 GPIO_Write(GPIOB,0xFE00);
\ 0000008A 5FF47E41 MOVS R1,#+65024
\ 0000008E .... LDR.N R0,??DataTable17 ;; 0x40010c00
\ 00000090 ........ BL GPIO_Write
391
392 GPIO_InitStructure.GPIO_Pin =GPIO_Pin_0|GPIO_Pin_3|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|
393 GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|
394 GPIO_Pin_12|GPIO_Pin_11 ;
\ 00000094 1148 LDR.N R0,??InitGPIO_0+0x10 ;; 0x1fe9
\ 00000096 ADF80000 STRH R0,[SP, #+0]
395 GPIO_InitStructure.GPIO_Speed = (GPIOSpeed_TypeDef)3;
\ 0000009A 0320 MOVS R0,#+3
\ 0000009C 8DF80200 STRB R0,[SP, #+2]
396 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
\ 000000A0 1020 MOVS R0,#+16
\ 000000A2 8DF80300 STRB R0,[SP, #+3]
397 GPIO_Init (GPIOC, &GPIO_InitStructure);
\ 000000A6 6946 MOV R1,SP
\ 000000A8 .... LDR.N R0,??DataTable19 ;; 0x40011000
\ 000000AA ........ BL GPIO_Init
398
399 GPIO_InitStructure.GPIO_Pin =GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_4;
\ 000000AE 1620 MOVS R0,#+22
\ 000000B0 ADF80000 STRH R0,[SP, #+0]
400 GPIO_InitStructure.GPIO_Speed = (GPIOSpeed_TypeDef)0;
\ 000000B4 0020 MOVS R0,#+0
\ 000000B6 8DF80200 STRB R0,[SP, #+2]
401 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
\ 000000BA 0420 MOVS R0,#+4
\ 000000BC 8DF80300 STRB R0,[SP, #+3]
402 GPIO_Init (GPIOC, &GPIO_InitStructure);
\ 000000C0 6946 MOV R1,SP
\ 000000C2 .... LDR.N R0,??DataTable19 ;; 0x40011000
\ 000000C4 ........ BL GPIO_Init
403
404
405 }
\ 000000C8 01B0 ADD SP,SP,#+4
\ 000000CA 00BD POP {PC} ;; return
\ ??InitGPIO_0:
\ 000000CC 00080140 DC32 0x40010800
\ 000000D0 1D190000 DC32 0x191d
\ 000000D4 250A0000 DC32 0xa25
\ 000000D8 E2F50000 DC32 0xf5e2
\ 000000DC E91F0000 DC32 0x1fe9
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -