📄 startup.lst
字号:
ARM macroassembler Page:1
1 00000000 ;
2 00000000 ; Copyright (c) Microsoft Corporation. All rights reserved.
3 00000000 ;
4 00000000 ;
5 00000000 ; Use of this source code is subject to the terms of the Microsoft end-user
6 00000000 ; license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
7 00000000 ; If you did not accept the terms of the EULA, you are not authorized to use
8 00000000 ; this source code. For a copy of the EULA, please see the LICENSE.RTF on your
9 00000000 ; install media.
10 00000000 ;
11 00000000
12 00000000 INCLUDE kxarm.h
1 00000000 ;
2 00000000 ; Copyright (c) Microsoft Corporation. All rights reserved.
3 00000000 ;
4 00000000 ;
5 00000000 ; Use of this source code is subject to the terms of the Microsoft end-user
6 00000000 ; license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
7 00000000 ; If you did not accept the terms of the EULA, you are not authorized to use
8 00000000 ; this source code. For a copy of the EULA, please see the LICENSE.RTF on your
9 00000000 ; install media.
10 00000000 ;
11 00000000 ;++
12 00000000 ;
13 00000000 ;
14 00000000 ; Module Name:
15 00000000 ;
16 00000000 ; kxarm.h
17 00000000 ;
18 00000000 ; Abstract:
19 00000000 ;
20 00000000 ; This is an implementation of the WINCE/ARM Calling Sequence
21 00000000 ; Specification.
22 00000000 ;
23 00000000 ; Environment:
24 00000000 ; String Library
25 00000000 ;
26 00000000 ; Revision History:
27 00000000 ;--
28 00000000
29 00000000 GBLS VBar
30 00000000 VBar SETS "|"
31 00000000 GBLL HaveExceptHandler
32 00000000 GBLS AreaName
33 00000000 GBLS FuncName
34 00000000 GBLS PrologName
35 00000000 GBLS FuncEndName
36 00000000 GBLS ExceptHandler
37 00000000 GBLS ExceptData
38 00000000 AreaName SETS "|.text|"
39 00000000 HaveExceptHandler SETL {FALSE}
40 00000000
41 00000000 MACRO
42 00000000 TEXTAREA
43 00000000 AREA |.text|,ALIGN=2,CODE,READONLY
44 00000000 AreaName SETS "|.text|"
45 00000000 MEND
46 00000000
47 00000000 MACRO
48 00000000 THUMBAREA
49 00000000 AREA |.text|,ALIGN=2,CODE,READONLY,THUMB
50 00000000 AreaName SETS "|.text|"
51 00000000 MEND
52 00000000
53 00000000 MACRO
54 00000000 STARTUPTEXT
55 00000000 AREA |.astart|,ALIGN=2,CODE
56 00000000 AreaName SETS "|.astart|"
57 00000000 MEND
58 00000000
59 00000000 MACRO
60 00000000 START_REGION $NameBegin
61 00000000 LCLS TempName
62 00000000 TempName SETS VBar:CC:"$NameBegin":CC:VBar
63 00000000 EXPORT $TempName[DATA]
64 00000000 $TempName
65 00000000 MEND
66 00000000
67 00000000 MACRO
68 00000000 END_REGION $NameEnd
69 00000000 LCLS TempName
70 00000000 TempName SETS VBar:CC:"$NameEnd":CC:VBar
71 00000000 EXPORT $TempName[DATA]
72 00000000 $TempName
73 00000000 MEND
74 00000000
75 00000000 ;
76 00000000 ; This macro should be used if the assembly function is in ARM
77 00000000 ;
78 00000000
79 00000000 MACRO
80 00000000 NESTED_ARMENTRY $Name
81 00000000 FuncName SETS VBar:CC:"$Name":CC:VBar
82 00000000 PrologName SETS VBar:CC:"$Name":CC:"_Prolog":CC:VBar
83 00000000 FuncEndName SETS VBar:CC:"$Name":CC:"_end":CC:VBar
84 00000000 LCLS ExceptBit
85 00000000 IF HaveExceptHandler
86 00000000 ExceptBit SETS "0x80000000"
87 00000000 ELSE
88 00000000 ExceptBit SETS "0"
89 00000000 ENDIF
90 00000000
91 00000000 AREA |.pdata|,ALIGN=2,PDATA
92 00000000 DCD $FuncName
93 00000000 DCD (($PrologName-$FuncName)/4) :OR: ((($FuncEndName-$FuncName)/4):SHL:8) :OR: 0x40000000 :OR: $ExceptBit
94 00000000 AREA $AreaName,CODE,READONLY
95 00000000 ALIGN 2
96 00000000 EXPORT $FuncName
97 00000000 IF HaveExceptHandler
98 00000000 DCD $ExceptHandler
99 00000000 DCD $ExceptData
100 00000000 HaveExceptHandler SETL {FALSE}
101 00000000 ENDIF
102 00000000 $FuncName
103 00000000 ROUT
104 00000000 MEND
105 00000000
106 00000000 ;
107 00000000 ; This macro should be used if the assembly function is in THUMB
108 00000000 ;
109 00000000 MACRO
110 00000000 NESTED_THUMBENTRY $Name
111 00000000 FuncName SETS VBar:CC:"$Name":CC:VBar
112 00000000 PrologName SETS VBar:CC:"$Name":CC:"_Prolog":CC:VBar
113 00000000 FuncEndName SETS VBar:CC:"$Name":CC:"_end":CC:VBar
114 00000000 LCLS ExceptBit
115 00000000 IF HaveExceptHandler
116 00000000 ExceptBit SETS "0x80000000"
117 00000000 ELSE
118 00000000 ExceptBit SETS "0"
119 00000000 ENDIF
120 00000000
121 00000000 AREA |.pdata|,ALIGN=2,PDATA
122 00000000 DCD $FuncName
123 00000000 DCD (($PrologName-$FuncName)/2) :OR: ((($FuncEndName-$FuncName)/2):SHL:8) :OR: $ExceptBit
124 00000000 AREA $AreaName,CODE,READONLY
125 00000000 ALIGN 2
126 00000000 EXPORT $FuncName
127 00000000 IF HaveExceptHandler
128 00000000 DCD $ExceptHandler
129 00000000 DCD $ExceptData
130 00000000 HaveExceptHandler SETL {FALSE}
131 00000000 ENDIF
132 00000000 $FuncName
133 00000000 ROUT
134 00000000 MEND
135 00000000
136 00000000 ;
137 00000000 ; This macro should be used if the assembly function is in ARM
138 00000000 ;
139 00000000 MACRO
140 00000000 NESTED_ENTRY $Name
141 00000000 FuncName SETS VBar:CC:"$Name":CC:VBar
142 00000000 PrologName SETS VBar:CC:"$Name":CC:"_Prolog":CC:VBar
143 00000000 FuncEndName SETS VBar:CC:"$Name":CC:"_end":CC:VBar
144 00000000 LCLS ExceptBit
145 00000000 IF HaveExceptHandler
146 00000000 ExceptBit SETS "0x80000000"
147 00000000 ELSE
148 00000000 ExceptBit SETS "0"
149 00000000 ENDIF
150 00000000
151 00000000 AREA |.pdata|,ALIGN=2,PDATA
152 00000000 DCD $FuncName
153 00000000 DCD (($PrologName-$FuncName)/4) :OR: ((($FuncEndName-$FuncName)/4):SHL:8) :OR: 0x40000000 :OR: $ExceptBit
154 00000000 AREA $AreaName,CODE,READONLY
155 00000000 ALIGN 2
156 00000000 EXPORT $FuncName
157 00000000 IF HaveExceptHandler
158 00000000 DCD $ExceptHandler
159 00000000 DCD $ExceptData
160 00000000 HaveExceptHandler SETL {FALSE}
161 00000000 ENDIF
162 00000000 $FuncName
163 00000000 ROUT
164 00000000 MEND
165 00000000
166 00000000 MACRO
167 00000000 PROLOG_END
168 00000000 $PrologName
169 00000000 MEND
170 00000000
171 00000000 MACRO
172 00000000 LEAF_ENTRY $Name
173 00000000 FuncName SETS VBar:CC:"$Name":CC:VBar
174 00000000 PrologName SETS "Invalid Prolog"
175 00000000 FuncEndName SETS VBar:CC:"$Name":CC:"_end":CC:VBar
176 00000000 ALIGN 2
177 00000000 EXPORT $FuncName
178 00000000 $FuncName
179 00000000 ROUT
180 00000000 MEND
181 00000000
182 00000000 MACRO
183 00000000 ALTERNATE_ENTRY $Name
184 00000000 LCLS TempName
185 00000000 TempName SETS VBar:CC:"$Name":CC:VBar
186 00000000 EXPORT $TempName
187 00000000 $TempName
188 00000000 MEND
189 00000000
190 00000000 MACRO
191 00000000 ENTRY_END $Name
192 00000000 $FuncEndName
193 00000000 MEND
194 00000000
195 00000000 MACRO
196 00000000 EXCEPTION_HANDLER $Handler
197 00000000 ExceptHandler SETS VBar:CC:"$Handler":CC:VBar
198 00000000 ExceptData SETS "0"
199 00000000 HaveExceptHandler SETL {TRUE}
200 00000000 MEND
201 00000000
202 00000000 MACRO
203 00000000 EXCEPTION_HANDLER_DATA $Handler, $HandlerData
204 00000000 ExceptHandler SETS VBar:CC:"$Handler":CC:VBar
205 00000000 ExceptData SETS VBar:CC:"$HandlerData":CC:VBar
206 00000000 HaveExceptHandler SETL {TRUE}
207 00000000 MEND
208 00000000
209 00000000 MACRO
210 00000000 EXCEPTION_HANDLER_MILLICODE $Handler, $HandlerData
211 00000000 ExceptHandler SETS "$Handler"
212 00000000 ExceptData SETS "$HandlerData"
213 00000000 HaveExceptHandler SETL {TRUE}
214 00000000 MEND
215 00000000
216 00000000
217 00000000 END
13 00000000 INCLUDE bulverde.inc
1 00000000 ;
2 00000000 ; Copyright (c) Microsoft Corporation. All rights reserved.
3 00000000 ;
4 00000000 ;
5 00000000 ; Use of this source code is subject to the terms of the Microsoft end-user
6 00000000 ; license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
7 00000000 ; If you did not accept the terms of the EULA, you are not authorized to use
8 00000000 ; this source code. For a copy of the EULA, please see the LICENSE.RTF on your
9 00000000 ; install media.
10 00000000 ;
11 00000000 ;++
12 00000000 ;
13 00000000 ; Module Name:
14 00000000 ;
15 00000000 ; bulverde.inc
16 00000000 ;
17 00000000 ; Abstract:
18 00000000 ;
19 00000000 ; This header file defines only those registers required by the startup
20 00000000 ; code. All addresses are based off the physical addresses (PA) defined
21 00000000 ; in bulverde_base_reg.h (bulverde_base_reg.inc).
22 00000000 ;
23 00000000 ; Environment:
24 00000000 ;
25 00000000 ; Revision History:
26 00000000 ;
27 00000000 ;--
28 00000000 ;
29 00000000 ; Copyright
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -