📄 main.s
字号:
InitI2CFALSE:
PUSH {R0,LR}
MOVS R0,#+192
STRH R0,[SP, #+0]
MOVS R0,#+3
STRB R0,[SP, #+2]
MOVS R0,#+16
STRB R0,[SP, #+3]
MOV R1,SP
LDR.N R0,??InitI2CFALSE_0 ;; 0x40010c00
BL GPIO_Init
ADD SP,SP,#+4
POP {PC} ;; return
DATA
??InitI2CFALSE_0:
DC32 0x40010c00
SECTION `.XML`:CODE:NOROOT(2)
THUMB
TimInit:
PUSH {LR}
SUB SP,SP,#+20
MOVS R1,#+1
MOVS R0,#+2048
BL RCC_APB2PeriphClockCmd
MOVS R0,#+720
STRH R0,[SP, #+8]
MOVS R0,#+0
STRH R0,[SP, #+10]
MOVS R0,#+250
STRH R0,[SP, #+12]
MOVS R0,#+0
STRH R0,[SP, #+14]
MOVS R0,#+0
STRB R0,[SP, #+16]
ADD R0,SP,#+8
BL TIM1_TimeBaseInit
MOVS R0,#+1
BL TIM1_ClearITPendingBit
MOVS R1,#+1
MOVS R0,#+1
BL TIM1_ITConfig
MOVS R0,#+1
BL TIM1_Cmd
MOVS R0,#+1073741824
BL TIM_DeInit
MOVS R1,#+1
MOVS R0,#+1
BL RCC_APB1PeriphClockCmd
MOVS R0,#+17
STRH R0,[SP, #+2]
MOVS R0,#+0
STRH R0,[SP, #+6]
MOVS R0,#+250
STRH R0,[SP, #+0]
MOVS R0,#+0
STRH R0,[SP, #+4]
MOV R1,SP
MOVS R0,#+1073741824
BL TIM_TimeBaseInit
MOVS R1,#+4
MOVS R0,#+1073741824
BL TIM_ClearITPendingBit
MOVS R2,#+1
MOVS R1,#+4
MOVS R0,#+1073741824
BL TIM_ITConfig
MOVS R1,#+1
MOVS R0,#+1073741824
BL TIM_Cmd
ADD SP,SP,#+20
POP {PC} ;; return
SECTION `.XML`:CODE:NOROOT(2)
THUMB
NVICInit:
PUSH {R0,LR}
MOVS R0,#+25
STRB R0,[SP, #+0]
MOVS R0,#+9
STRB R0,[SP, #+1]
MOVS R0,#+0
STRB R0,[SP, #+2]
MOVS R0,#+1
STRB R0,[SP, #+3]
MOV R0,SP
BL NVIC_Init
MOVS R0,#+28
STRB R0,[SP, #+0]
MOVS R0,#+8
STRB R0,[SP, #+1]
MOVS R0,#+0
STRB R0,[SP, #+2]
MOVS R0,#+1
STRB R0,[SP, #+3]
MOV R0,SP
BL NVIC_Init
ADD SP,SP,#+4
POP {PC} ;; return
SECTION `.XML`:CODE:NOROOT(2)
THUMB
I2CInit:
PUSH {LR}
SUB SP,SP,#+20
MOVS R1,#+1
MOVS R0,#+9
BL RCC_APB2PeriphClockCmd
MOVS R1,#+1
MOVS R0,#+2097152
BL RCC_APB1PeriphClockCmd
MOVS R0,#+192
STRH R0,[SP, #+0]
MOVS R0,#+3
STRB R0,[SP, #+2]
MOVS R0,#+28
STRB R0,[SP, #+3]
MOV R1,SP
LDR.N R0,??I2CInit_0 ;; 0x40010c00
BL GPIO_Init
LDR.N R0,??I2CInit_0+0x4 ;; 0x40005400
BL I2C_DeInit
MOVS R0,#+0
STRH R0,[SP, #+4]
MOVS R0,#+16384
STRH R0,[SP, #+6]
MOVS R0,#+160
STRH R0,[SP, #+8]
MOVS R0,#+1024
STRH R0,[SP, #+10]
MOVS R0,#+16384
STRH R0,[SP, #+12]
LDR.N R0,??I2CInit_0+0x8 ;; 0x13880
STR R0,[SP, #+16]
ADD R1,SP,#+4
LDR.N R0,??I2CInit_0+0x4 ;; 0x40005400
BL I2C_Init
MOVS R1,#+1
LDR.N R0,??I2CInit_0+0x4 ;; 0x40005400
BL I2C_Cmd
ADD SP,SP,#+20
POP {PC} ;; return
Nop
DATA
??I2CInit_0:
DC32 0x40010c00
DC32 0x40005400
DC32 0x13880
SECTION `.XML`:CODE:NOROOT(2)
THUMB
main:
PUSH {R0,LR}
MOVS R0,#+0
STRH R0,[SP, #+0]
BL EntrCritSection
BL Clk_Init
MOVS R1,#+0
MOVS R0,#+134217728
BL NVIC_SetVectorTable
MOVS R0,#+768
BL NVIC_PriorityGroupConfig
BL InitGPIO
BL TimInit
BL Uart1Init
BL InitI2CFALSE
BL InitTemperature
BL NVICInit
BL initLCDM
LDR.N R0,??main_0 ;; 0x1388
BL delay_nop
BL InitADC1
LDR.N R0,??main_0+0x4 ;; Year
BL InitYear
LDR.N R0,??main_0+0x8 ;; _YT
BL ReadFM24C04
LDR.N R0,??main_0+0xC ;; _YT + 2
LDRH R0,[R0, #+0]
LSLS R0,R0,#+30 ;; ZeroExtS R0,R0,#+30,#+30
LSRS R0,R0,#+30
BL Init2515
LDR.N R0,??main_0 ;; 0x1388
BL delay_nop
BL ExtCritSection
LDR.N R0,??main_0+0x10 ;; LCD + 1
MOVS R1,#+9
STRB R1,[R0, #+0]
LDR.N R0,??main_0+0x14 ;; ALAMCREG_History
MOVS R1,#+5
STRH R1,[R0, #+0]
??main_1:
LDR.N R0,??main_0+0x18 ;; B_unit
LDRB R0,[R0, #+0]
CMP R0,#+0
BEQ.N ??main_2
LDR.N R0,??main_0+0x18 ;; B_unit
MOVS R1,#+0
STRB R1,[R0, #+0]
LDR.N R0,??main_0+0x1C ;; B_CANMode
LDRB R0,[R0, #+0]
CMP R0,#+0
BNE.N ??main_3
LDR.N R0,??main_0+0x8 ;; _YT
LDRH R2,[R0, #+0]
UXTB R2,R2 ;; ZeroExtS R2,R2,#+24,#+24
LDR.N R0,??main_0+0x1C ;; B_CANMode
LDRB R1,[R0, #+0]
LDR.N R0,??main_0+0x20 ;; CANR
BL ReadCAN
LDR.N R1,??main_0+0x1C ;; B_CANMode
STRB R0,[R1, #+0]
??main_3:
LDR.N R0,??main_0+0x1C ;; B_CANMode
LDRB R0,[R0, #+0]
CMP R0,#+0
BEQ.N ??main_4
LDR.N R2,??main_0+0x8 ;; _YT
LDR.N R1,??main_0+0x24 ;; CANT
LDR.N R0,??main_0+0x20 ;; CANR
BL RTS
LDR.N R1,??main_0+0x1C ;; B_CANMode
STRB R0,[R1, #+0]
??main_4:
LDR.N R0,??main_0+0x28 ;; B_Txd
LDRB R0,[R0, #+0]
CMP R0,#+0
BEQ.N ??main_5
LDR.N R2,??main_0+0x8 ;; _YT
LDR.N R0,??main_0+0x2C ;; pUart1RxFifo
LDR R1,[R0, #+0]
LDR.N R0,??main_0+0x30 ;; pUart1TxFifo
LDR R0,[R0, #+0]
BL UsartTXD
LDR.N R1,??main_0+0x28 ;; B_Txd
STRB R0,[R1, #+0]
B.N ??main_6
??main_5:
LDR.N R0,??main_0+0x30 ;; pUart1TxFifo
LDR R1,[R0, #+0]
LDR.N R0,??main_0+0x2C ;; pUart1RxFifo
LDR R0,[R0, #+0]
BL UsartRXD
LDR.N R1,??main_0+0x28 ;; B_Txd
STRB R0,[R1, #+0]
??main_6:
LDR.N R0,??main_0+0x34 ;; key
BL scankey
LDR.N R2,??main_0+0x8 ;; _YT
LDR.N R1,??main_0+0x38 ;; LCD
LDR.N R0,??main_0+0x34 ;; key
BL keyserver
??main_2:
LDR.N R0,??main_0+0x3C ;; B_Disp
LDRB R0,[R0, #+0]
CMP R0,#+0
BEQ.N ??main_7
LDR.N R0,??main_0+0x3C ;; B_Disp
MOVS R1,#+0
STRB R1,[R0, #+0]
LDR.N R1,??main_0+0x40 ;; _YT + 50
LDR.N R0,??main_0+0x44 ;; RF
BL CHK_RF
LDR.N R2,??main_0+0x48 ;; History
LDR.N R1,??main_0+0x8 ;; _YT
LDR.N R0,??main_0+0x38 ;; LCD
BL display
LDR.N R0,??main_0+0x4C ;; _YT + 34
LDRH R0,[R0, #+0]
MOVS R1,#+1
ANDS R1,R1,R0
LDR.N R0,??main_0+0x50 ;; _YT + 14
BL CHK_BELL
LDR.N R0,??main_0+0x54 ;; _YT + 6
BL ADC_TEMP
??main_7:
LDR.N R0,??main_0+0x58 ;; B_TimerOneSec
LDRB R0,[R0, #+0]
CMP R0,#+0
BEQ.N ??main_1
LDR.N R0,??main_0+0x58 ;; B_TimerOneSec
MOVS R1,#+0
STRB R1,[R0, #+0]
LDR.N R0,??main_0+0x5C ;; 0x4001080c
LDR R0,[R0, #+0]
EORS R0,R0,#0x4
LDR.N R1,??main_0+0x5C ;; 0x4001080c
STR R0,[R1, #+0]
LDR.N R2,??main_0+0x40 ;; _YT + 50
MOVS R1,#+0
LDR.N R0,??main_0+0x48 ;; History
BL NOTS_Store
LDR.N R3,??main_0+0x40 ;; _YT + 50
LDR.N R2,??main_0+0x60 ;; _YT + 20
LDR.N R0,??main_0+0x64 ;; _YT + 30
LDRH R1,[R0, #+0]
LDR.N R0,??main_0+0x68 ;; _YT + 28
LDRH R0,[R0, #+0]
BL Fast_TEM_NOTS
LDR.N R2,??main_0+0x6C ;; Year + 1
LDR.N R1,??main_0+0x8 ;; _YT
LDR.N R0,??main_0+0x40 ;; _YT + 50
BL AlamcFault
LDR.N R3,??main_0+0x50 ;; _YT + 14
LDR.N R2,??main_0+0x70 ;; _YT + 180
LDR.N R1,??main_0+0x40 ;; _YT + 50
LDR.N R0,??main_0+0x6C ;; Year + 1
BL ALAMCREGISTER
LDR.N R0,??main_0+0x4 ;; Year
BL ReadYear
B.N ??main_1
DATA
??main_0:
DC32 0x1388
DC32 Year
DC32 _YT
DC32 _YT + 2
DC32 LCD + 1
DC32 ALAMCREG_History
DC32 B_unit
DC32 B_CANMode
DC32 CANR
DC32 CANT
DC32 B_Txd
DC32 pUart1RxFifo
DC32 pUart1TxFifo
DC32 key
DC32 LCD
DC32 B_Disp
DC32 _YT + 50
DC32 RF
DC32 History
DC32 _YT + 34
DC32 _YT + 14
DC32 _YT + 6
DC32 B_TimerOneSec
DC32 0x4001080c
DC32 _YT + 20
DC32 _YT + 30
DC32 _YT + 28
DC32 Year + 1
DC32 _YT + 180
END
//
// 1 816 bytes in section .XML
// 2 407 bytes in section .bss
// 272 bytes in section .rodata
//
// 1 764 bytes of CODE memory (+ 52 bytes shared)
// 272 bytes of CONST memory
// 2 407 bytes of DATA memory
//
//Errors: none
//Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -