📄 stone.txt
字号:
; generated by ARM C Compiler, ADS1.2 [Build 805]
; commandline [-errors .\err\stone.err -O0 -asm -g+ -cpu ARM920T -fs "-IC:\Program Files\ARM\ADSv1_2\INCLUDE"]
CODE32
AREA ||.text||, CODE, READONLY
Test_ISram PROC
;;;19 void Test_ISram(void)
;;;20 {
|L1.0|
000000 e92d41ff STMFD sp!,{r0-r8,lr}
;;;21 U32 i, j, error=0, loop;
000004 e3a06000 MOV r6,#0
;;;22 U32 test_pattern[4] = {0x0, 0x55555555, 0xaaaaaaaa, 0xffffffff};
000008 e59f10e0 LDR r1,|L1.240|
00000c e1a0000d MOV r0,sp
000010 e89100ac LDMIA r1,{r2,r3,r5,r7}
000014 e88000ac STMIA r0,{r2,r3,r5,r7}
;;;23 U32 *Stone_Addr = (void *)STONE_ADDR;
000018 e3a07440 MOV r7,#0x40000000
;;;24
;;;25 Uart_Printf("[Internal Stepping Stone test (%dbyte)]\n", STONE_SIZE);
00001c e3a01d40 MOV r1,#0x1000
000020 e28f00cc ADR r0,|L1.244|
000024 ebfffffe BL Uart_Printf
;;;26 Uart_Printf("\nTest Pattern : 0x0 , 0x55555555 , 0xaaaaaaaa , 0xffffffff\n\n");
000028 e28f00f0 ADR r0,|L1.288|
00002c ebfffffe BL Uart_Printf
;;;27
;;;28
;;;29 for(loop=0; loop<4; loop++) {
000030 e3a05000 MOV r5,#0
|L1.52|
000034 e3550004 CMP r5,#4
000038 2a00002b BCS |L1.236|
00003c ea000001 B |L1.72|
|L1.64|
000040 e2855001 ADD r5,r5,#1
000044 eafffffa B |L1.52|
;;;30 // write data.
;;;31 Uart_Printf("Write [%x]...", test_pattern[loop]);
|L1.72|
000048 e79d1105 LDR r1,[sp,r5,LSL #2]
00004c e28f0f43 ADR r0,|L1.352|
000050 ebfffffe BL Uart_Printf
;;;32 for(i=0; i<STONE_SIZE/4; i++) *(Stone_Addr+i)=test_pattern[loop];
000054 e3a04000 MOV r4,#0
|L1.88|
000058 e3540e40 CMP r4,#0x400
00005c 2a000005 BCS |L1.120|
000060 ea000001 B |L1.108|
|L1.100|
000064 e2844001 ADD r4,r4,#1
000068 eafffffa B |L1.88|
|L1.108|
00006c e79d0105 LDR r0,[sp,r5,LSL #2]
000070 e7870104 STR r0,[r7,r4,LSL #2]
000074 eafffffa B |L1.100|
;;;33
;;;34 // Read data.
;;;35 Uart_Printf("Read...");
|L1.120|
000078 e28f00f0 ADR r0,|L1.368|
00007c ebfffffe BL Uart_Printf
;;;36 for(error=0, i=0; i<STONE_SIZE/4; i+=4) {
000080 e3a06000 MOV r6,#0
000084 e3a04000 MOV r4,#0
|L1.136|
000088 e3540e40 CMP r4,#0x400
00008c 2a00000d BCS |L1.200|
000090 ea000001 B |L1.156|
|L1.148|
000094 e2844004 ADD r4,r4,#4
000098 eafffffa B |L1.136|
;;;37 j=*(Stone_Addr+i);
|L1.156|
00009c e7978104 LDR r8,[r7,r4,LSL #2]
;;;38 if(j!=test_pattern[loop]) {
0000a0 e79d0105 LDR r0,[sp,r5,LSL #2]
0000a4 e1500008 CMP r0,r8
0000a8 0a000005 BEQ |L1.196|
;;;39 Uart_Printf("Error[AD:%x,Wr:%x,Rd:%x\n",(Stone_Addr+i),test_pattern[loop], j);
0000ac e79d2105 LDR r2,[sp,r5,LSL #2]
0000b0 e0871104 ADD r1,r7,r4,LSL #2
0000b4 e1a03008 MOV r3,r8
0000b8 e28f00b8 ADR r0,|L1.376|
0000bc ebfffffe BL Uart_Printf
;;;40 error++;
0000c0 e2866001 ADD r6,r6,#1
;;;41 }
;;;42 }
|L1.196|
0000c4 eafffff2 B |L1.148|
;;;43 if(error==0) Uart_Printf("OK!\n");
|L1.200|
0000c8 e3560000 CMP r6,#0
0000cc 1a000002 BNE |L1.220|
0000d0 e28f00bc ADR r0,|L1.404|
0000d4 ebfffffe BL Uart_Printf
0000d8 ea000002 B |L1.232|
;;;44 else Uart_Printf("Error(%d)!\n", error);
|L1.220|
0000dc e1a01006 MOV r1,r6
0000e0 e28f00b4 ADR r0,|L1.412|
0000e4 ebfffffe BL Uart_Printf
;;;45 }
|L1.232|
0000e8 eaffffd4 B |L1.64|
;;;46
;;;47
;;;48 } |L1.236|
0000ec e8bd81ff LDMFD sp!,{r0-r8,pc}
|L1.240|
0000f0 00000000 DCD ||.constdata$1||
|L1.244|
0000f4 746e495b DCB "[Int"
0000f8 616e7265 DCB "erna"
0000fc 7453206c DCB "l St"
000100 69707065 DCB "eppi"
000104 5320676e DCB "ng S"
000108 656e6f74 DCB "tone"
00010c 73657420 DCB " tes"
000110 25282074 DCB "t (%"
000114 74796264 DCB "dbyt"
000118 0a5d2965 DCB "e)]\n"
00011c 00000000 DCB "\0\0\0\0"
|L1.288|
000120 7365540a DCB "\nTes"
000124 61502074 DCB "t Pa"
000128 72657474 DCB "tter"
00012c 203a206e DCB "n : "
000130 20307830 DCB "0x0 "
000134 7830202c DCB ", 0x"
000138 35353535 DCB "5555"
00013c 35353535 DCB "5555"
000140 30202c20 DCB " , 0"
000144 61616178 DCB "xaaa"
000148 61616161 DCB "aaaa"
00014c 202c2061 DCB "a , "
000150 66667830 DCB "0xff"
000154 66666666 DCB "ffff"
000158 0a0a6666 DCB "ff\n\n"
00015c 00000000 DCB "\0\0\0\0"
|L1.352|
000160 74697257 DCB "Writ"
000164 255b2065 DCB "e [%"
000168 2e2e5d78 DCB "x].."
00016c 0000002e DCB ".\0\0\0"
|L1.368|
000170 64616552 DCB "Read"
000174 002e2e2e DCB "...\0"
|L1.376|
000178 6f727245 DCB "Erro"
00017c 44415b72 DCB "r[AD"
000180 2c78253a DCB ":%x,"
000184 253a7257 DCB "Wr:%"
000188 64522c78 DCB "x,Rd"
00018c 0a78253a DCB ":%x\n"
000190 00000000 DCB "\0\0\0\0"
|L1.404|
000194 0a214b4f DCB "OK!\n"
000198 00000000 DCB "\0\0\0\0"
|L1.412|
00019c 6f727245 DCB "Erro"
0001a0 64252872 DCB "r(%d"
0001a4 000a2129 DCB ")!\n\0"
ENDP
AREA ||.constdata||, DATA, READONLY, ALIGN=2
||.constdata$1||
DCD 0x00000000
DCD 0x55555555
DCD 0xaaaaaaaa
DCD 0xffffffff
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -