📄 target.txt
字号:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.1 [Build 919] for uVision
; commandline ArmCC [--debug -c --asm --interleave -o.\debug_in_FLASH\target.o --depend=.\debug_in_FLASH\target.d --device=DARMP --apcs=interwork -O0 -IC:\Keil\ARM\INC\Philips --omf_browse=.\debug_in_FLASH\target.crf src\target.c]
ARM
AREA ||.text||, CODE, READONLY, ALIGN=2
IRQ_Exception PROC
;;;54 {
;;;55 while(1); // change it to your code 这一句替换为自己的代码
000000 e1a00000 MOV r0,r0
|L1.4|
000004 eafffffe B |L1.4|
;;;56 }
;;;57
ENDP
FIQ_Exception PROC
;;;78 {
;;;79 while(1); // change it to your code 这一句替换为自己的代码
000008 e1a00000 MOV r0,r0
|L1.12|
00000c eafffffe B |L1.12|
;;;80 }
;;;81
ENDP
TargetInit PROC
;;;104 /* Add your codes here */
;;;105 }
000010 e12fff1e BX lr
;;;106
ENDP
TargetResetInit PROC
;;;141 /* Set system timers for each component */
;;;142 PLLCON = 1;
000014 e3a00001 MOV r0,#1
000018 e59f1180 LDR r1,|L1.416|
00001c e5c10080 STRB r0,[r1,#0x80]
;;;143 #if (Fpclk / (Fcclk / 4)) == 1
;;;144 VPBDIV = 0;
000020 e3a00000 MOV r0,#0
000024 e5c10100 STRB r0,[r1,#0x100]
;;;145 #endif
;;;146 #if (Fpclk / (Fcclk / 4)) == 2
;;;147 VPBDIV = 2;
;;;148 #endif
;;;149 #if (Fpclk / (Fcclk / 4)) == 4
;;;150 VPBDIV = 1;
;;;151 #endif
;;;152
;;;153 #if (Fcco / Fcclk) == 2
;;;154 PLLCFG = ((Fcclk / Fosc) - 1) | (0 << 5);
;;;155 #endif
;;;156 #if (Fcco / Fcclk) == 4
;;;157 PLLCFG = ((Fcclk / Fosc) - 1) | (1 << 5);
000028 e3a00023 MOV r0,#0x23
00002c e5c10084 STRB r0,[r1,#0x84]
;;;158 #endif
;;;159 #if (Fcco / Fcclk) == 8
;;;160 PLLCFG = ((Fcclk / Fosc) - 1) | (2 << 5);
;;;161 #endif
;;;162 #if (Fcco / Fcclk) == 16
;;;163 PLLCFG = ((Fcclk / Fosc) - 1) | (3 << 5);
;;;164 #endif
;;;165 PLLFEED = 0xaa;
000030 e3a000aa MOV r0,#0xaa
000034 e5c1008c STRB r0,[r1,#0x8c]
;;;166 PLLFEED = 0x55;
000038 e3a00055 MOV r0,#0x55
00003c e5c1008c STRB r0,[r1,#0x8c]
;;;167 while((PLLSTAT & (1 << 10)) == 0);
000040 e1a00000 MOV r0,r0
|L1.68|
000044 e59f0154 LDR r0,|L1.416|
000048 e1d008b8 LDRH r0,[r0,#0x88]
00004c e3100b01 TST r0,#0x400
000050 0afffffb BEQ |L1.68|
;;;168 PLLCON = 3;
000054 e3a00003 MOV r0,#3
000058 e59f1140 LDR r1,|L1.416|
00005c e5c10080 STRB r0,[r1,#0x80]
;;;169 PLLFEED = 0xaa;
000060 e3a000aa MOV r0,#0xaa
000064 e5c1008c STRB r0,[r1,#0x8c]
;;;170 PLLFEED = 0x55;
000068 e3a00055 MOV r0,#0x55
00006c e5c1008c STRB r0,[r1,#0x8c]
;;;171
;;;172 /* 设置存储器加速模块 */
;;;173 /* Set memory accelerater module*/
;;;174 MAMCR = 0;
000070 e3a00000 MOV r0,#0
000074 e5c10000 STRB r0,[r1,#0]
;;;175 #if Fcclk < 20000000
;;;176 MAMTIM = 1;
;;;177 #else
;;;178 #if Fcclk < 40000000
;;;179 MAMTIM = 2;
;;;180 #else
;;;181 MAMTIM = 3;
000078 e3a00003 MOV r0,#3
00007c e5c10004 STRB r0,[r1,#4]
;;;182 #endif
;;;183 #endif
;;;184 MAMCR = 2;
000080 e3a00002 MOV r0,#2
000084 e5c10000 STRB r0,[r1,#0]
;;;185
;;;186 /* 初始化VIC */
;;;187 /* initialize VIC*/
;;;188 VICIntEnClr = 0xffffffff;
000088 e3e00000 MVN r0,#0
00008c e3a01000 MOV r1,#0
000090 e5010fec STR r0,[r1,#-0xfec]
;;;189 VICVectAddr = 0;
000094 e3a00000 MOV r0,#0
000098 e5000fd0 STR r0,[r0,#-0xfd0]
;;;190 VICIntSelect = 0;
00009c e3a00000 MOV r0,#0
0000a0 e5000ff4 STR r0,[r0,#-0xff4]
;;;191
;;;192 /* 添加自己的代码 */
;;;193 /* Add your codes here */
;;;194
;;;195 }
0000a4 e12fff1e BX lr
;;;196
ENDP
__rt_div0 PROC
;;;216 int __rt_div0(int a)
;;;217 {
0000a8 e1a01000 MOV r1,r0
;;;218 a = a;
0000ac e1a00000 MOV r0,r0
;;;219 return 0;
0000b0 e3a00000 MOV r0,#0
;;;220 }
0000b4 e12fff1e BX lr
;;;221
ENDP
fputc PROC
;;;222 int fputc(int ch,FILE *f)
;;;223 {
0000b8 e1a02000 MOV r2,r0
;;;224 ch = ch;
0000bc e1a00000 MOV r0,r0
;;;225 f = f;
0000c0 e1a00000 MOV r0,r0
;;;226 return 0;
0000c4 e3a00000 MOV r0,#0
;;;227 }
0000c8 e12fff1e BX lr
;;;228
ENDP
fgetc PROC
;;;229 int fgetc(FILE *f)
;;;230 {
0000cc e1a01000 MOV r1,r0
;;;231 f = f;
0000d0 e1a00000 MOV r0,r0
;;;232 return 0;
0000d4 e3a00000 MOV r0,#0
;;;233 }
0000d8 e12fff1e BX lr
;;;234
ENDP
_sys_close PROC
;;;236 int _sys_close(FILEHANDLE fh)
;;;237 {
0000dc e1a01000 MOV r1,r0
;;;238 fh = fh;
0000e0 e1a00000 MOV r0,r0
;;;239 return 0;
0000e4 e3a00000 MOV r0,#0
;;;240 }
0000e8 e12fff1e BX lr
;;;241
ENDP
_sys_write PROC
;;;243 unsigned len, int mode)
;;;244 {
0000ec e1a0c000 MOV r12,r0
;;;245 fh = fh;
0000f0 e1a00000 MOV r0,r0
;;;246 buf = buf;
0000f4 e1a00000 MOV r0,r0
;;;247 len =len;
0000f8 e1a00000 MOV r0,r0
;;;248 mode = mode;
0000fc e1a00000 MOV r0,r0
;;;249 return 0;
000100 e3a00000 MOV r0,#0
;;;250 }
000104 e12fff1e BX lr
;;;251 int _sys_read(FILEHANDLE fh, unsigned char * buf,
ENDP
_sys_read PROC
;;;252 unsigned len, int mode)
;;;253 {
000108 e1a0c000 MOV r12,r0
;;;254 fh = fh;
00010c e1a00000 MOV r0,r0
;;;255 buf = buf;
000110 e1a00000 MOV r0,r0
;;;256 len =len;
000114 e1a00000 MOV r0,r0
;;;257 mode = mode;
000118 e1a00000 MOV r0,r0
;;;258
;;;259 return 0;
00011c e3a00000 MOV r0,#0
;;;260 }
000120 e12fff1e BX lr
;;;261
ENDP
_ttywrch PROC
;;;263 {
;;;264 ch = ch;
000124 e1a00000 MOV r0,r0
;;;265 }
000128 e12fff1e BX lr
;;;266
ENDP
_sys_istty PROC
;;;267 int _sys_istty(FILEHANDLE fh)
;;;268 {
00012c e1a01000 MOV r1,r0
;;;269 fh = fh;
000130 e1a00000 MOV r0,r0
;;;270 return 0;
000134 e3a00000 MOV r0,#0
;;;271 }
000138 e12fff1e BX lr
;;;272 int _sys_seek(FILEHANDLE fh, long pos)
ENDP
_sys_seek PROC
;;;273 {
00013c e1a02000 MOV r2,r0
;;;274 fh = fh;
000140 e1a00000 MOV r0,r0
;;;275 return 0;
000144 e3a00000 MOV r0,#0
;;;276 }
000148 e12fff1e BX lr
;;;277 int _sys_ensure(FILEHANDLE fh)
ENDP
_sys_ensure PROC
;;;278 {
00014c e1a01000 MOV r1,r0
;;;279 fh = fh;
000150 e1a00000 MOV r0,r0
;;;280 return 0;
000154 e3a00000 MOV r0,#0
;;;281 }
000158 e12fff1e BX lr
;;;282
ENDP
_sys_flen PROC
;;;283 long _sys_flen(FILEHANDLE fh)
;;;284 {
00015c e1a01000 MOV r1,r0
;;;285 fh = fh;
000160 e1a00000 MOV r0,r0
;;;286 return 0;
000164 e3a00000 MOV r0,#0
;;;287 }
000168 e12fff1e BX lr
;;;288 int _sys_tmpnam(char * name, int sig, unsigned maxlen)
ENDP
_sys_tmpnam PROC
;;;289 {
00016c e1a03000 MOV r3,r0
;;;290 name = name;
000170 e1a00000 MOV r0,r0
;;;291 sig = sig;
000174 e1a00000 MOV r0,r0
;;;292 maxlen = maxlen;
000178 e1a00000 MOV r0,r0
;;;293 return 0;
00017c e3a00000 MOV r0,#0
;;;294 }
000180 e12fff1e BX lr
;;;295
ENDP
_sys_exit PROC
;;;297 {
;;;298 returncode = returncode;
000184 e1a00000 MOV r0,r0
;;;299 }
000188 e12fff1e BX lr
;;;300
ENDP
_sys_command_string PROC
;;;301 char *_sys_command_string(char * cmd, int len)
;;;302 {
00018c e1a02000 MOV r2,r0
;;;303 cmd = cmd;
000190 e1a00000 MOV r0,r0
;;;304 len = len;
000194 e1a00000 MOV r0,r0
;;;305 return 0;
000198 e3a00000 MOV r0,#0
;;;306 }
00019c e12fff1e BX lr
;;;307
ENDP
|L1.416|
0001a0 e01fc000 DCD 0xe01fc000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -