📄 main.s
字号:
///////////////////////////////////////////////////////////////////////////////
// /
// 06/Dec/2008 17:12:52 /
// IAR ARM ANSI C/C++ Compiler V5.11.0.20622/W32 EVALUATION /
// Copyright 1999-2007 IAR Systems. All rights reserved. /
// /
// Cpu mode = thumb /
// Endian = little /
// Source file = E:\ELE\yten\pro\app\main.c /
// Command line = E:\ELE\yten\pro\app\main.c -D EMB_FLASH -lCN /
// E:\ELE\yten\pro\Debug\List\ -lb /
// E:\ELE\yten\pro\Debug\List\ -o /
// E:\ELE\yten\pro\Debug\Obj\ --no_cse --no_unroll /
// --no_inline --no_code_motion --no_tbaa --no_clustering /
// --no_scheduling --debug --endian little --cpu /
// Cortex-M3 -e --fpu None --dlib_config "C:\Program /
// Files\IAR Systems\Embedded Workbench 5.0 /
// Evaluation\ARM\INC\DLib_Config_Normal.h" -I /
// E:\ELE\yten\pro\ -I E:\ELE\yten\pro\..\LIBRARY\INC\ -I /
// "C:\Program Files\IAR Systems\Embedded Workbench 5.0 /
// Evaluation\ARM\INC\" --section .text=.XML -On /
// List file = E:\ELE\yten\pro\Debug\List\main.s /
// /
// /
///////////////////////////////////////////////////////////////////////////////
NAME main
EXTERN ADC_Cmd
EXTERN ADC_DeInit
EXTERN ADC_GetCalibrationStatus
EXTERN ADC_GetConversionValue
EXTERN ADC_GetFlagStatus
EXTERN ADC_GetResetCalibrationStatus
EXTERN ADC_Init
EXTERN ADC_RegularChannelConfig
EXTERN ADC_ResetCalibration
EXTERN ADC_SoftwareStartConvCmd
EXTERN ADC_StartCalibration
EXTERN ADC_StructInit
EXTERN ALAMCREGISTER
EXTERN AlamcFault
EXTERN CHK_BELL
EXTERN CHK_RF
EXTERN FLASH_HalfCycleAccessCmd
EXTERN FLASH_PrefetchBufferCmd
EXTERN FLASH_SetLatency
EXTERN Fast_TEM_NOTS
EXTERN GPIO_DeInit
EXTERN GPIO_Init
EXTERN GPIO_Write
EXTERN I2C_Cmd
EXTERN I2C_DeInit
EXTERN I2C_Init
EXTERN Init2515
EXTERN InitYear
EXTERN NOTS_Store
EXTERN NVIC_Init
EXTERN NVIC_PriorityGroupConfig
EXTERN NVIC_SetVectorTable
EXTERN RCC_ADCCLKConfig
EXTERN RCC_APB1PeriphClockCmd
EXTERN RCC_APB2PeriphClockCmd
EXTERN RCC_GetFlagStatus
EXTERN RCC_HCLKConfig
EXTERN RCC_HSEConfig
EXTERN RCC_HSICmd
EXTERN RCC_PCLK1Config
EXTERN RCC_PCLK2Config
EXTERN RCC_PLLCmd
EXTERN RCC_PLLConfig
EXTERN RCC_SYSCLKConfig
EXTERN RCC_USBCLKConfig
EXTERN RTS
EXTERN ReadCAN
EXTERN ReadFM24C04
EXTERN ReadYear
EXTERN TIM1_ClearITPendingBit
EXTERN TIM1_Cmd
EXTERN TIM1_ITConfig
EXTERN TIM1_TimeBaseInit
EXTERN TIM_ClearITPendingBit
EXTERN TIM_Cmd
EXTERN TIM_DeInit
EXTERN TIM_ITConfig
EXTERN TIM_TimeBaseInit
EXTERN Uart1Init
EXTERN UsartRXD
EXTERN UsartTXD
EXTERN WWDG_ClearFlag
EXTERN display
EXTERN initLCDM
EXTERN keyserver
EXTERN scankey
PUBLIC ADC_TEMP
PUBLIC ALAMCREG_History
PUBLIC B_CANMode
PUBLIC B_Disp
PUBLIC B_TimerOneSec
PUBLIC B_Txd
PUBLIC B_unit
PUBLIC CANR
PUBLIC CANT
PUBLIC Clk_Init
PUBLIC CriticalSecCntr
PUBWEAK EntrCritSection
PUBWEAK ExtCritSection
PUBLIC GetADC1Channel
PUBLIC History
PUBLIC I2CInit
PUBLIC InitADC1
PUBLIC InitGPIO
PUBLIC InitI2CFALSE
PUBLIC InitTemperature
PUBLIC LCD
PUBLIC NVICInit
PUBLIC RF
PUBLIC TEMP_TAB
PUBLIC TemRHA
PUBLIC TimInit
PUBLIC Uart1LineEvents
PUBLIC Uart1RxFifo
PUBLIC Uart1TxFifo
PUBLIC Year
PUBLIC _YT
PUBLIC delay
PUBLIC delay_nop
PUBLIC key
PUBLIC main
PUBLIC pUart1RxFifo
PUBLIC pUart1TxFifo
SECTION `.XML`:CODE:NOROOT(2)
THUMB
// __??Code16?? __code __interwork void EntrCritSection(void)
EntrCritSection:
LDR.N R0,??EntrCritSection_0 ;; CriticalSecCntr
LDR R0,[R0, #+0]
CMP R0,#+0
BNE.N ??EntrCritSection_1
CPSID i
??EntrCritSection_1:
LDR.N R0,??EntrCritSection_0 ;; CriticalSecCntr
LDR R0,[R0, #+0]
ADDS R0,R0,#+1
LDR.N R1,??EntrCritSection_0 ;; CriticalSecCntr
STR R0,[R1, #+0]
BX LR ;; return
Nop
DATA
??EntrCritSection_0:
DC32 CriticalSecCntr
SECTION `.XML`:CODE:NOROOT(2)
THUMB
// __??Code16?? __code __interwork void ExtCritSection(void)
ExtCritSection:
LDR.N R0,??ExtCritSection_0 ;; CriticalSecCntr
LDR R0,[R0, #+0]
SUBS R0,R0,#+1
LDR.N R1,??ExtCritSection_0 ;; CriticalSecCntr
STR R0,[R1, #+0]
CMP R0,#+0
BNE.N ??ExtCritSection_1
CPSIE i
??ExtCritSection_1:
BX LR ;; return
Nop
DATA
??ExtCritSection_0:
DC32 CriticalSecCntr
SECTION `.bss`:DATA:NOROOT(0)
// Boolean __data B_unit
B_unit:
DS8 1
SECTION `.bss`:DATA:NOROOT(0)
// Boolean __data B_Disp
B_Disp:
DS8 1
SECTION `.bss`:DATA:NOROOT(0)
// Boolean __data B_TimerOneSec
B_TimerOneSec:
DS8 1
SECTION `.bss`:DATA:NOROOT(0)
// Boolean __data B_CANMode
B_CANMode:
DS8 1
SECTION `.bss`:DATA:NOROOT(0)
// Boolean __data B_Txd
B_Txd:
DS8 1
SECTION `.bss`:DATA:NOROOT(2)
// Int32U __data CriticalSecCntr
CriticalSecCntr:
DS8 4
SECTION `.bss`:DATA:NOROOT(2)
// Int8U __data Year[16]
Year:
DS8 16
SECTION `.bss`:DATA:NOROOT(2)
// TIMNOTS __data ALAMCREG_History
ALAMCREG_History:
DS8 112
SECTION `.bss`:DATA:NOROOT(2)
// Tem __data TemRHA
TemRHA:
DS8 20
SECTION `.bss`:DATA:NOROOT(2)
// REC __data RF
RF:
DS8 28
SECTION `.bss`:DATA:NOROOT(2)
// KEY __data key
key:
DS8 4
SECTION `.bss`:DATA:NOROOT(2)
// _LCD __data LCD
LCD:
DS8 8
SECTION `.bss`:DATA:NOROOT(2)
// NOTS __data History[5]
History:
DS8 1512
SECTION `.bss`:DATA:NOROOT(2)
// _yt __data _YT
_YT:
DS8 420
SECTION `.bss`:DATA:NOROOT(2)
// CAN_BUS __data CANR
CANR:
DS8 16
SECTION `.bss`:DATA:NOROOT(2)
// CAN_BUS __data CANT
CANT:
DS8 16
SECTION `.bss`:DATA:NOROOT(2)
// pUartFifo_t __data pUart1RxFifo
pUart1RxFifo:
DS8 4
SECTION `.bss`:DATA:NOROOT(2)
// pUartFifo_t __data pUart1TxFifo
pUart1TxFifo:
DS8 4
SECTION `.bss`:DATA:NOROOT(2)
// UartFifo_t __data Uart1RxFifo
Uart1RxFifo:
DS8 108
SECTION `.bss`:DATA:NOROOT(2)
// UartFifo_t __data Uart1TxFifo
Uart1TxFifo:
DS8 108
SECTION `.bss`:DATA:NOROOT(2)
// UartLineEvents_t __data Uart1LineEvents
Uart1LineEvents:
DS8 4
SECTION `.rodata`:CONST:NOROOT(2)
TEMP_TAB:
DATA
DC16 239, 238, 237, 236, 235, 234, 233, 232, 230, 229, 228, 226, 225
DC16 223, 221, 220, 218, 216, 214, 212, 210, 208, 206, 204, 202, 199
DC16 197, 195, 192, 190, 187, 185, 182, 179, 176, 174, 171, 168, 165
DC16 162, 159, 157, 154, 151, 148, 145, 142, 139, 136, 133, 130, 127
DC16 124, 121, 118, 116, 113, 110, 107, 104, 102, 99, 97, 94, 91, 89
DC16 87, 84, 82, 80, 77, 75, 73, 71, 69, 67, 65, 63, 61, 59, 58, 56, 54
DC16 53, 51, 49, 48, 47, 45, 44, 42, 41, 40, 39, 37, 36, 35, 34, 33, 32
DC16 31, 30, 29, 28, 27, 27, 26, 25, 24, 24, 23, 22, 21, 21, 20, 20, 19
DC16 18, 18, 17, 17, 16, 16, 15, 15, 15, 14, 14, 13, 13, 13, 12, 12, 11
DC16 11
DC8 0, 0
SECTION `.XML`:CODE:NOROOT(2)
THUMB
Clk_Init:
PUSH {R0,LR}
MOVS R0,#+1
BL RCC_HSICmd
??Clk_Init_0:
MOVS R0,#+32
BL RCC_GetFlagStatus
CMP R0,#+0
BEQ.N ??Clk_Init_0
MOVS R0,#+0
BL RCC_SYSCLKConfig
MOVS R0,#+65536
BL RCC_HSEConfig
??Clk_Init_1:
MOVS R0,#+49
BL RCC_GetFlagStatus
CMP R0,#+0
BEQ.N ??Clk_Init_1
MOVS R1,#+1835008
MOVS R0,#+65536
BL RCC_PLLConfig
MOVS R0,#+1
BL RCC_PLLCmd
??Clk_Init_2:
MOVS R0,#+57
BL RCC_GetFlagStatus
CMP R0,#+0
BEQ.N ??Clk_Init_2
MOVS R0,#+0
BL RCC_USBCLKConfig
MOVS R0,#+49152
BL RCC_ADCCLKConfig
MOVS R0,#+0
BL RCC_PCLK2Config
MOVS R0,#+1024
BL RCC_PCLK1Config
MOVS R0,#+0
BL RCC_HCLKConfig
MOVS R0,#+2
BL FLASH_SetLatency
MOVS R0,#+0
BL FLASH_HalfCycleAccessCmd
MOVS R0,#+16
BL FLASH_PrefetchBufferCmd
MOVS R0,#+2
BL RCC_SYSCLKConfig
ADD SP,SP,#+4
POP {PC} ;; return
SECTION `.XML`:CODE:NOROOT(2)
THUMB
GetADC1Channel:
PUSH {R4,LR}
MOVS R4,R0
MOVS R3,#+5
MOVS R2,#+1
MOVS R1,R4
UXTB R1,R1 ;; ZeroExtS R1,R1,#+24,#+24
LDR.N R0,??DataTable11 ;; 0x40012400
BL ADC_RegularChannelConfig
MOVS R1,#+1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -