stm32f10x_wwdg.s

来自「完成数据的采集」· S 代码 · 共 158 行

S
158
字号
///////////////////////////////////////////////////////////////////////////////
//                                                                            /
//                                                      30/Jul/2008  14:37:36 /
// 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:\library\src\stm32f10x_wwdg.c                         /
//    Command line =  E:\library\src\stm32f10x_wwdg.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\stm32f10x_wwdg.s             /
//                                                                            /
//                                                                            /
///////////////////////////////////////////////////////////////////////////////

        NAME stm32f10x_wwdg

        EXTERN RCC_APB1PeriphResetCmd

        PUBLIC WWDG_ClearFlag
        PUBLIC WWDG_DeInit
        PUBLIC WWDG_Enable
        PUBLIC WWDG_EnableIT
        PUBLIC WWDG_GetFlagStatus
        PUBLIC WWDG_SetCounter
        PUBLIC WWDG_SetPrescaler
        PUBLIC WWDG_SetWindowValue


        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
WWDG_DeInit:
        PUSH     {R0,LR}
        MOVS     R1,#+1
        MOVS     R0,#+2048
        BL       RCC_APB1PeriphResetCmd
        MOVS     R1,#+0
        MOVS     R0,#+2048
        BL       RCC_APB1PeriphResetCmd
        ADD      SP,SP,#+4
        POP      {PC}             ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
WWDG_SetPrescaler:
        MOVS     R2,#+0
        MOVS     R1,R2
        LDR.N    R2,??DataTable3  ;; 0x40002c04
        LDR      R2,[R2, #+0]
        MVNS     R3,#+384
        ANDS     R3,R3,R2
        MOVS     R1,R3
        ORRS     R1,R1,R0
        LDR.N    R2,??DataTable3  ;; 0x40002c04
        STR      R1,[R2, #+0]
        BX       LR               ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
WWDG_SetWindowValue:
        MOVS     R2,#+0
        MOVS     R1,R2
        LDR.N    R2,??DataTable3  ;; 0x40002c04
        LDR      R2,[R2, #+0]
        MOVS     R3,#+127
        BICS     R2,R2,R3
        MOVS     R1,R2
        MOVS     R2,R1
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        LSLS     R1,R0,#+25       ;; ZeroExtS R1,R0,#+25,#+25
        LSRS     R1,R1,#+25
        ORRS     R1,R1,R2
        LDR.N    R2,??DataTable3  ;; 0x40002c04
        STR      R1,[R2, #+0]
        BX       LR               ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        DATA
??DataTable3:
        DC32     0x40002c04

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
WWDG_EnableIT:
        LDR.N    R0,??WWDG_EnableIT_0  ;; 0x420580a4
        MOVS     R1,#+1
        STR      R1,[R0, #+0]
        BX       LR               ;; return
        DATA
??WWDG_EnableIT_0:
        DC32     0x420580a4

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
WWDG_SetCounter:
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        LSLS     R1,R0,#+25       ;; ZeroExtS R1,R0,#+25,#+25
        LSRS     R1,R1,#+25
        LDR.N    R2,??DataTable5  ;; 0x40002c00
        STR      R1,[R2, #+0]
        BX       LR               ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
WWDG_Enable:
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        ORRS     R1,R0,#0x80
        LDR.N    R2,??DataTable5  ;; 0x40002c00
        STR      R1,[R2, #+0]
        BX       LR               ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        DATA
??DataTable5:
        DC32     0x40002c00

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
WWDG_GetFlagStatus:
        LDR.N    R0,??WWDG_GetFlagStatus_0  ;; 0x42058100
        LDR      R0,[R0, #+0]
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        BX       LR               ;; return
        DATA
??WWDG_GetFlagStatus_0:
        DC32     0x42058100

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
WWDG_ClearFlag:
        LDR.N    R0,??WWDG_ClearFlag_0  ;; 0x40002c08
        MOVS     R1,#+0
        STR      R1,[R0, #+0]
        BX       LR               ;; return
        DATA
??WWDG_ClearFlag_0:
        DC32     0x40002c08

        END
// 
// 148 bytes in section .XML
// 
// 148 bytes of CODE memory
//
//Errors: none
//Warnings: none

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?