📄 stm32f10x_exti.s
字号:
///////////////////////////////////////////////////////////////////////////////
// /
// 30/Jul/2008 14:37:39 /
// 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_exti.c /
// Command line = E:\library\src\stm32f10x_exti.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_exti.s /
// /
// /
///////////////////////////////////////////////////////////////////////////////
NAME stm32f10x_exti
PUBLIC EXTI_ClearFlag
PUBLIC EXTI_ClearITPendingBit
PUBLIC EXTI_DeInit
PUBLIC EXTI_GenerateSWInterrupt
PUBLIC EXTI_GetFlagStatus
PUBLIC EXTI_GetITStatus
PUBLIC EXTI_Init
PUBLIC EXTI_StructInit
SECTION `.XML`:CODE:NOROOT(2)
THUMB
EXTI_DeInit:
LDR.N R0,??DataTable20 ;; 0x40010400
MOVS R1,#+0
STR R1,[R0, #+0]
LDR.N R0,??EXTI_DeInit_0 ;; 0x40010404
MOVS R1,#+0
STR R1,[R0, #+0]
LDR.N R0,??DataTable11 ;; 0x40010408
MOVS R1,#+0
STR R1,[R0, #+0]
LDR.N R0,??DataTable13 ;; 0x4001040c
MOVS R1,#+0
STR R1,[R0, #+0]
LDR.N R0,??DataTable22 ;; 0x40010414
LDR.N R1,??EXTI_DeInit_0+0x4 ;; 0x7ffff
STR R1,[R0, #+0]
BX LR ;; return
DATA
??EXTI_DeInit_0:
DC32 0x40010404
DC32 0x7ffff
SECTION `.XML`:CODE:NOROOT(2)
THUMB
EXTI_Init:
LDRB R1,[R0, #+6]
CMP R1,#+0
BEQ.N ??EXTI_Init_0
LDRB R1,[R0, #+4]
LDR.N R2,??DataTable20 ;; 0x40010400
LDR R1,[R1, R2]
LDR R2,[R0, #+0]
ORRS R2,R2,R1
LDRB R1,[R0, #+4]
LDR.N R3,??DataTable20 ;; 0x40010400
STR R2,[R1, R3]
LDR.N R1,??DataTable11 ;; 0x40010408
LDR R1,[R1, #+0]
LDR R2,[R0, #+0]
BICS R1,R1,R2
LDR.N R2,??DataTable11 ;; 0x40010408
STR R1,[R2, #+0]
LDR.N R1,??DataTable13 ;; 0x4001040c
LDR R1,[R1, #+0]
LDR R2,[R0, #+0]
BICS R1,R1,R2
LDR.N R2,??DataTable13 ;; 0x4001040c
STR R1,[R2, #+0]
LDRB R1,[R0, #+5]
CMP R1,#+16
BNE.N ??EXTI_Init_1
LDR.N R1,??DataTable11 ;; 0x40010408
LDR R1,[R1, #+0]
LDR R2,[R0, #+0]
ORRS R2,R2,R1
LDR.N R1,??DataTable11 ;; 0x40010408
STR R2,[R1, #+0]
LDR.N R1,??DataTable13 ;; 0x4001040c
LDR R1,[R1, #+0]
LDR R2,[R0, #+0]
ORRS R2,R2,R1
LDR.N R1,??DataTable13 ;; 0x4001040c
STR R2,[R1, #+0]
B.N ??EXTI_Init_2
??EXTI_Init_1:
LDRB R1,[R0, #+5]
LDR.N R2,??DataTable20 ;; 0x40010400
LDR R1,[R1, R2]
LDR R2,[R0, #+0]
ORRS R2,R2,R1
LDRB R1,[R0, #+5]
LDR.N R3,??DataTable20 ;; 0x40010400
STR R2,[R1, R3]
B.N ??EXTI_Init_2
??EXTI_Init_0:
LDRB R1,[R0, #+4]
LDR.N R2,??DataTable20 ;; 0x40010400
LDR R1,[R1, R2]
LDR R2,[R0, #+0]
BICS R1,R1,R2
LDRB R2,[R0, #+4]
LDR.N R3,??DataTable20 ;; 0x40010400
STR R1,[R2, R3]
??EXTI_Init_2:
BX LR ;; return
SECTION `.XML`:CODE:NOROOT(2)
DATA
??DataTable11:
DC32 0x40010408
SECTION `.XML`:CODE:NOROOT(2)
DATA
??DataTable13:
DC32 0x4001040c
SECTION `.XML`:CODE:NOROOT(2)
THUMB
EXTI_StructInit:
MOVS R1,#+0
STR R1,[R0, #+0]
MOVS R1,#+0
STRB R1,[R0, #+4]
MOVS R1,#+12
STRB R1,[R0, #+5]
MOVS R1,#+0
STRB R1,[R0, #+6]
BX LR ;; return
SECTION `.XML`:CODE:NOROOT(2)
THUMB
EXTI_GenerateSWInterrupt:
LDR.N R1,??EXTI_GenerateSWInterrupt_0 ;; 0x40010410
LDR R1,[R1, #+0]
ORRS R1,R1,R0
LDR.N R2,??EXTI_GenerateSWInterrupt_0 ;; 0x40010410
STR R1,[R2, #+0]
BX LR ;; return
DATA
??EXTI_GenerateSWInterrupt_0:
DC32 0x40010410
SECTION `.XML`:CODE:NOROOT(2)
THUMB
EXTI_GetFlagStatus:
MOVS R1,R0
MOVS R2,#+0
MOVS R0,R2
LDR.N R2,??DataTable22 ;; 0x40010414
LDR R2,[R2, #+0]
ANDS R2,R2,R1
SUBS R2,R2,#+1
SBCS R2,R2,R2
MVNS R2,R2
LSRS R2,R2,#+31
MOVS R0,R2
UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
BX LR ;; return
SECTION `.XML`:CODE:NOROOT(2)
THUMB
EXTI_ClearFlag:
LDR.N R1,??DataTable22 ;; 0x40010414
STR R0,[R1, #+0]
BX LR ;; return
SECTION `.XML`:CODE:NOROOT(2)
THUMB
EXTI_GetITStatus:
MOVS R1,R0
MOVS R3,#+0
MOVS R0,R3
MOVS R3,#+0
MOVS R2,R3
LDR.N R3,??DataTable20 ;; 0x40010400
LDR R3,[R3, #+0]
ANDS R3,R3,R1
MOVS R2,R3
LDR.N R3,??DataTable22 ;; 0x40010414
LDR R3,[R3, #+0]
ANDS R3,R3,R1
CMP R3,#+0
BEQ.N ??EXTI_GetITStatus_0
MOVS R0,R2
SUBS R0,R0,#+1
SBCS R0,R0,R0
MVNS R0,R0
LSRS R0,R0,#+31
B.N ??EXTI_GetITStatus_1
??EXTI_GetITStatus_0:
MOVS R3,#+0
MOVS R0,R3
??EXTI_GetITStatus_1:
UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
BX LR ;; return
SECTION `.XML`:CODE:NOROOT(2)
DATA
??DataTable20:
DC32 0x40010400
SECTION `.XML`:CODE:NOROOT(2)
THUMB
EXTI_ClearITPendingBit:
LDR.N R1,??DataTable22 ;; 0x40010414
STR R0,[R1, #+0]
BX LR ;; return
SECTION `.XML`:CODE:NOROOT(2)
DATA
??DataTable22:
DC32 0x40010414
END
//
// 290 bytes in section .XML
//
// 290 bytes of CODE memory
//
//Errors: none
//Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -