📄 main.lst
字号:
##############################################################################
# #
# IAR ARM ANSI C/C++ Compiler V4.30A/W32 KICKSTART 01/Nov/2005 11:29:20 #
# Copyright 1999-2005 IAR Systems. All rights reserved. #
# #
# Cpu mode = interwork #
# Endian = little #
# Stack alignment = 4 #
# Source file = E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
# 430A-1_2\BasicAES-SAM7X\src\main.c #
# Command line = E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
# 430A-1_2\BasicAES-SAM7X\src\main.c -lC #
# E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
# 430A-1_2\BasicAES-SAM7X\compil\FLASH_Debug\List\ -o #
# E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
# 430A-1_2\BasicAES-SAM7X\compil\FLASH_Debug\Obj\ -z2 #
# --no_cse --no_unroll --no_inline --no_code_motion #
# --no_tbaa --no_clustering --no_scheduling --debug #
# --cpu_mode thumb --endian little --cpu ARM7TDMI #
# --stack_align 4 --interwork -e --fpu None #
# --dlib_config "D:\Program Files\IAR #
# Systems\Embedded Workbench 4.0 #
# Kickstart\arm\LIB\dl4tptinl8f.h" -I #
# E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
# 430A-1_2\BasicAES-SAM7X\compil\srcIAR\ -I #
# E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
# 430A-1_2\BasicAES-SAM7X\compil\..\src\ -I #
# E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
# 430A-1_2\BasicAES-SAM7X\compil\..\..\ -I #
# "D:\Program Files\IAR Systems\Embedded Workbench #
# 4.0 Kickstart\arm\INC\" #
# List file = E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
# 430A-1_2\BasicAES-SAM7X\compil\FLASH_Debug\List\main #
# .lst #
# Object file = E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR #
# 430A-1_2\BasicAES-SAM7X\compil\FLASH_Debug\Obj\main. #
# r79 #
# #
# #
##############################################################################
E:\SAM7X\AT91_SAM7X256-IAR\AT91SAM7X256-BasicAES-IAR430A-1_2\BasicAES-SAM7X\src\main.c
1 // ----------------------------------------------------------------------------
2 // ATMEL Microcontroller Software Support - ROUSSET -
3 // ----------------------------------------------------------------------------
4 // DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
5 // IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
6 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
7 // DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
8 // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
9 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
10 // OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
11 // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
12 // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
13 // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
14 // ----------------------------------------------------------------------------
15 // File Name : main.c
16 // Object : main application written in C
17 // Creation : FBr 22-Aug-2005
18 // ----------------------------------------------------------------------------
19
20 #include "main.h"
\ In segment CODE, align 4, keep-with-next
\ __??Code16?? __code __interwork __atpcs unsigned int AT91F_AIC_ConfigureIt(AT91PS_AIC, unsigned int, unsigned int, unsigned int, void (*)())
\ AT91F_AIC_ConfigureIt:
\ 00000000 F4B4 PUSH {R2,R4-R7}
\ 00000002 021C MOV R2,R0
\ 00000004 059C LDR R4,[SP, #+0x14]
\ 00000006 0426 MOV R6,#+0x4
\ 00000008 4E43 MUL R6,R1
\ 0000000A 9619 ADD R6,R2,R6
\ 0000000C 8036 ADD R6,#+0x80
\ 0000000E 3668 LDR R6,[R6, #+0]
\ 00000010 301C MOV R0,R6
\ 00000012 0126 MOV R6,#+0x1
\ 00000014 8E40 LSL R6,R1
\ 00000016 351C MOV R5,R6
\ 00000018 9226 MOV R6,#+0x92
\ 0000001A 7600 LSL R6,R6,#+0x1 ;; #+0x124
\ 0000001C 9551 STR R5,[R2, R6]
\ 0000001E 0426 MOV R6,#+0x4
\ 00000020 4E43 MUL R6,R1
\ 00000022 9619 ADD R6,R2,R6
\ 00000024 8036 ADD R6,#+0x80
\ 00000026 3460 STR R4,[R6, #+0]
\ 00000028 0426 MOV R6,#+0x4
\ 0000002A 4E43 MUL R6,R1
\ 0000002C 009F LDR R7,[SP, #+0]
\ 0000002E 1F43 ORR R7,R3
\ 00000030 9751 STR R7,[R2, R6]
\ 00000032 9426 MOV R6,#+0x94
\ 00000034 7600 LSL R6,R6,#+0x1 ;; #+0x128
\ 00000036 9551 STR R5,[R2, R6]
\ 00000038 01B0 ADD SP,#+0x4
\ 0000003A F0BC POP {R4-R7}
\ 0000003C 7047 BX LR ;; return
\ In segment CODE, align 4, keep-with-next
\ __??Code16?? __code __interwork __atpcs void AT91F_AIC_EnableIt(AT91PS_AIC, unsigned int)
\ AT91F_AIC_EnableIt:
\ 00000000 9022 MOV R2,#+0x90
\ 00000002 5200 LSL R2,R2,#+0x1 ;; #+0x120
\ 00000004 0123 MOV R3,#+0x1
\ 00000006 8B40 LSL R3,R1
\ 00000008 8350 STR R3,[R0, R2]
\ 0000000A 7047 BX LR ;; return
\ In segment CODE, align 4, keep-with-next
\ __??Code16?? __code __interwork __atpcs void AT91F_PMC_EnablePeriphClock(AT91PS_PMC, unsigned int)
\ AT91F_PMC_EnablePeriphClock:
\ 00000000 0161 STR R1,[R0, #+0x10]
\ 00000002 7047 BX LR ;; return
\ In segment CODE, align 4, keep-with-next
\ __??Code16?? __code __interwork __atpcs void AT91F_AES_DisableIt(AT91PS_AES, unsigned int)
\ AT91F_AES_DisableIt:
\ 00000000 4161 STR R1,[R0, #+0x14]
\ 00000002 7047 BX LR ;; return
\ In segment CODE, align 4, keep-with-next
\ __??Code16?? __code __interwork __atpcs unsigned int AT91F_AES_GetStatus(AT91PS_AES)
\ AT91F_AES_GetStatus:
\ 00000000 C069 LDR R0,[R0, #+0x1C]
\ 00000002 7047 BX LR ;; return
\ In segment CODE, align 4, keep-with-next
\ __??Code16?? __code __interwork __atpcs unsigned int AT91F_AES_GetInterruptMaskStatus(AT91PS_AES)
\ AT91F_AES_GetInterruptMaskStatus:
\ 00000000 8069 LDR R0,[R0, #+0x18]
\ 00000002 7047 BX LR ;; return
\ In segment CODE, align 4, keep-with-next
\ __??Code16?? __code __interwork __atpcs void AT91F_AES_CfgPMC(void)
\ AT91F_AES_CfgPMC:
\ 00000000 00B5 PUSH {LR}
\ 00000002 8021 MOV R1,#+0x80
\ 00000004 C902 LSL R1,R1,#+0xB ;; #+0x40000
\ 00000006 0248 LDR R0,??AT91F_AES_CfgPMC_0 ;; 0xfffffc00
\ 00000008 ........ _BLF AT91F_PMC_EnablePeriphClock,AT91F_PMC_EnablePeriphClock??rT
\ 0000000C 01BC POP {R0}
\ 0000000E 0047 BX R0 ;; return
\ ??AT91F_AES_CfgPMC_0:
\ 00000010 00FCFFFF DC32 0xfffffc00
21
22 /* Global variables */
\ In segment DATA_Z, align 1, align-sorted
23 volatile char test = AT91C_TEST_NOK;
\ test:
\ 00000000 DS8 1
24
25 // function in dbgu.c
26 extern void AT91F_DBGU_Printk(char *buffer);
27 extern void Init_DBGU(void);
28
29 //*----------------------------------------------------------------------------
30 //* \fn AT91F_AES_Handler
31 //* \brief
32 //*----------------------------------------------------------------------------
\ In segment CODE, align 4, keep-with-next
33 void AT91F_AES_Handler(void)
34 {
\ AT91F_AES_Handler:
\ 00000000 10B5 PUSH {R4,LR}
\ 00000002 81B0 SUB SP,#+0x4
35 volatile unsigned int status;
36
37 status = AT91F_AES_GetStatus(AT91C_BASE_AES) & AT91F_AES_GetInterruptMaskStatus(AT91C_BASE_AES) ;
\ 00000004 0E48 LDR R0,??AT91F_AES_Handler_0 ;; 0xfffa4000
\ 00000006 ........ _BLF AT91F_AES_GetStatus,AT91F_AES_GetStatus??rT
\ 0000000A 041C MOV R4,R0
\ 0000000C 0C48 LDR R0,??AT91F_AES_Handler_0 ;; 0xfffa4000
\ 0000000E ........ _BLF AT91F_AES_GetInterruptMaskStatus,AT91F_AES_GetInterruptMaskStatus??rT
\ 00000012 2040 AND R0,R4
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -