📄 armmode.lst
字号:
ARM Macro Assembler Page 1
1 00000000 ;*******************************************************
**************************************
2 00000000 ; NAME: ARMmode.s *
3 00000000 ; Author: Wuhan R&D Center, Embest *
4 00000000 ; Desc: ARM instruction examples *
5 00000000 ; Example for ARM mode *
6 00000000 ; History: JianYing, Wang 2007.05.15 *
7 00000000 ; ******************************************************
***************************************
8 00000000
9 00000000 ;/*-----------------------------------------------------
------------------------------------------------------*/
10 00000000 ;/* constant define */
11 00000000 ;/*-----------------------------------------------------
------------------------------------------------------*/
12 00000000 EXPORT start
13 00000000
14 00000000 ;/*-----------------------------------------------------
------------------------------------------------------*/
15 00000000 ;/* code */
16 00000000 ;/*-----------------------------------------------------
------------------------------------------------------*/
17 00000000 AREA |.text|, CODE, READONLY
18 00000000 start
19 00000000 ;/*-----------------------------------------------------
------------------------------------------------------*/
20 00000000 ;/* Setup interrupt / exception vectors */
21 00000000 ;/*-----------------------------------------------------
------------------------------------------------------*/
22 00000000
23 00000000 EA000007 b Reset_Handler
24 00000004 Undefined_Handler
25 00000004 EAFFFFFE b Undefined_Handler
26 00000008 EA000004 b SWI_Handler
27 0000000C Prefetch_Handler
28 0000000C EAFFFFFE b Prefetch_Handler
29 00000010 Abort_Handler
30 00000010 EAFFFFFE b Abort_Handler
31 00000014 E1A00000 nop ;/* Reserved vector
*/
32 00000018 IRQ_Handler
33 00000018 EAFFFFFE b IRQ_Handler
34 0000001C FIQ_Handler
35 0000001C EAFFFFFE b FIQ_Handler
36 00000020
37 00000020 SWI_Handler
38 00000020 E12FFF1E bx lr
39 00000024
40 00000024 Reset_Handler
41 00000024
42 00000024
43 00000024
ARM Macro Assembler Page 2
44 00000024 ;/*-----------------------------------------------------
--------------------------------------------------------
---------*/
45 00000024 ;/* into System mode */
46 00000024 ;/*-----------------------------------------------------
--------------------------------------------------------
---------*/
47 00000024 E10F0000 mrs r0,cpsr ;/* read CPSR value
*/
48 00000028 E3C0001F bic r0,r0,#0x1f ;/* clear low 5 bit
*/
49 0000002C E380001F orr r0,r0,#0x1f ;/* set the mode as
System mode */
50 00000030 E12FF000 msr cpsr_cxfs,r0
51 00000034
52 00000034 E3A00001 mov r0, #1 ;/* initialization
the register in Sys
tem mode */
53 00000038 E3A01002 mov r1, #2
54 0000003C E3A02003 mov r2, #3
55 00000040 E3A03004 mov r3, #4
56 00000044 E3A04005 mov r4, #5
57 00000048 E3A05006 mov r5, #6
58 0000004C E3A06007 mov r6, #7
59 00000050 E3A07008 mov r7, #8
60 00000054 E3A08009 mov r8, #9
61 00000058 E3A0900A mov r9, #10
62 0000005C E3A0A00B mov r10, #11
63 00000060 E3A0B00C mov r11, #12
64 00000064 E3A0C00D mov r12, #13
65 00000068 E3A0D00E mov r13, #14
66 0000006C E3A0E00F mov r14, #15
67 00000070
68 00000070 ;/*-----------------------------------------------------
--------------------------------------------------------
---------*/
69 00000070 ;/* into FIQ mode */
70 00000070 ;/*-----------------------------------------------------
--------------------------------------------------------
---------*/
71 00000070 E10F0000 mrs r0,cpsr ;/* read CPSR value
*/
72 00000074 E3C0001F bic r0,r0,#0x1f ;/* clear low 5 bit
*/
73 00000078 E3800011 orr r0,r0,#0x11 ;/* set the mode as
FIQ mode */
74 0000007C E12FF000 msr cpsr_cxfs,r0
75 00000080
76 00000080 E3A08010 mov r8, #16 ;/* initialization
the register in FIQ
mode */
77 00000084 E3A09011 mov r9, #17
78 00000088 E3A0A012 mov r10, #18
79 0000008C E3A0B013 mov r11, #19
ARM Macro Assembler Page 3
80 00000090 E3A0C014 mov r12, #20
81 00000094 E3A0D015 mov r13, #21
82 00000098 E3A0E016 mov r14, #22
83 0000009C
84 0000009C ;/*-----------------------------------------------------
--------------------------------------------------------
---------*/
85 0000009C ;/* into SVC mode */
86 0000009C ;/*-----------------------------------------------------
--------------------------------------------------------
---------*/
87 0000009C E10F0000 mrs r0,cpsr ;/* read CPSR value
*/
88 000000A0 E3C0001F bic r0,r0,#0x1f ;/* clear low 5 bit
*/
89 000000A4 E3800013 orr r0,r0,#0x13 ;/* set the mode as
SVC mode */
90 000000A8 E12FF000 msr cpsr_cxfs,r0
91 000000AC
92 000000AC E3A0D017 mov r13, #23 ;/* initialization
the register in SVC
mode */
93 000000B0 E3A0E018 mov r14, #24
94 000000B4
95 000000B4 ;/*-----------------------------------------------------
--------------------------------------------------------
---------*/
96 000000B4 ;/* into Abort mode */
97 000000B4 ;/*-----------------------------------------------------
--------------------------------------------------------
---------*/
98 000000B4 E10F0000 mrs r0,cpsr ;/* read CPSR value
*/
99 000000B8 E3C0001F bic r0,r0,#0x1f ;/* clear low 5 bit
*/
100 000000BC E3800017 orr r0,r0,#0x17 ;/* set the mode as
Abort mode */
101 000000C0 E12FF000 msr cpsr_cxfs,r0
102 000000C4
103 000000C4 E3A0D019 mov r13, #25 ;/* initialization
the register in Abo
rt mode */
104 000000C8 E3A0E01A mov r14, #26
105 000000CC
106 000000CC ;/*-----------------------------------------------------
--------------------------------------------------------
---------*/
107 000000CC ;/* into IRQ mode */
108 000000CC ;/*-----------------------------------------------------
--------------------------------------------------------
---------*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -