📄 led_test.dis
字号:
obj/led_test.elf: file format elf32-bfin
Disassembly of section .text:
00000000 <Image_RO_Base>:
0: 80 61 R0=0x30(x);
2: 10 3e SYSCFG=R0;
4: 24 00 SSYNC;
6: 01 60 R1=0x0(x);
8: 02 60 R2=0x0(x);
a: 03 60 R3=0x0(x);
c: 04 60 R4=0x0(x);
e: 05 60 R5=0x0(x);
10: 06 60 R6=0x0(x);
12: 07 60 R7=0x0(x);
14: 00 68 P0=0x0;
16: 01 68 P1=0x0;
18: 02 68 P2=0x0;
1a: 03 68 P3=0x0;
1c: 04 68 P4=0x0;
1e: 05 68 P5=0x0;
20: 30 e1 00 00 I0=0x0 (X);
24: 31 e1 00 00 I1=0x0 (X);
28: 32 e1 00 00 I2=0x0 (X);
2c: 33 e1 00 00 I3=0x0 (X);
30: 34 e1 00 00 M0=0x0 (X);
34: 35 e1 00 00 M1=0x0 (X);
38: 37 e1 00 00 M3=0x0 (X);
3c: 37 e1 00 00 M3=0x0 (X);
40: 3c e1 00 00 L0=0x0 (X);
44: 3d e1 00 00 L1=0x0 (X);
48: 3e e1 00 00 L2=0x0 (X);
4c: 3f e1 00 00 L3=0x0 (X);
50: 38 e1 00 00 B0=0x0 (X);
54: 39 e1 00 00 B1=0x0 (X);
58: 3a e1 00 00 B2=0x0 (X);
5c: 3b e1 00 00 B3=0x0 (X);
60: 30 e1 00 00 I0=0x0 (X);
64: 33 e1 00 00 I3=0x0 (X);
68: 24 00 SSYNC;
6a: 48 e1 e0 ff P0.H=ffe0 <_ld_text_and_data_size+0xf988>;
6e: 08 e1 00 20 P0.L=2000 <_ld_text_and_data_size+0x19a8>;
72: 40 6c P0+=0x8;
74: 69 68 P1=0xd;
76: 01 60 R1=0x0(x);
78: a2 e0 02 10 LSETUP(7c <_ld_bss_size+0x7c>,7c <_ld_bss_size+0x7c>)LC0=P1;
7c: 01 92 [P0++]=R1;
7e: 4e e1 b0 ff SP.H=ffb0 <_ld_text_and_data_size+0xf958>;
82: 0e e1 00 04 SP.L=400 <_uart_sendstr+0x8>;
86: 08 e1 3c 20 P0.L=203c <_ld_text_and_data_size+0x19e4>;
8a: 48 e1 e0 ff P0.H=ffe0 <_ld_text_and_data_size+0xf988>;
8e: 09 e1 b4 01 P1.L=1b4 <_real_start>;
92: 49 e1 00 00 P1.H=0 <_ld_bss_size>;
96: 41 93 [P0]=P1;
98: 23 00 CSYNC;
9a: 08 e1 04 21 P0.L=2104 <_ld_text_and_data_size+0x1aac>;
9e: 48 e1 e0 ff P0.H=ffe0 <_ld_text_and_data_size+0xf988>;
a2: 20 e1 1f 90 R0=-28641 (X);
a6: 00 93 [P0]=R0;
a8: 23 00 CSYNC;
aa: 08 e1 00 0a P0.L=a00 <_ld_text_and_data_size+0x3a8>;
ae: 48 e1 c0 ff P0.H=ffc0 <_ld_text_and_data_size+0xf968>;
b2: 20 e1 ff 00 R0=0xff (X);
b6: 00 97 W[P0]=R0;
b8: 00 e3 31 00 CALL 11a <init_sdram>;
bc: 08 e1 58 06 P0.L=658 <_ld_text_and_data_size>;
c0: 48 e1 00 00 P0.H=0 <_ld_bss_size>;
c4: 09 e1 58 06 P1.L=658 <_ld_text_and_data_size>;
c8: 49 e1 00 00 P1.H=0 <_ld_bss_size>;
cc: 0a e1 58 06 P2.L=658 <_ld_text_and_data_size>;
d0: 4a e1 00 00 P2.H=0 <_ld_bss_size>;
d4: 48 08 CC=P0==P1;
d6: 0c 18 IF CC JUMP ee <clr_zi>;
d8: 22 e1 00 00 R2=0x0 (X);
dc: 02 0c CC=R2==0x0;
de: 08 18 IF CC JUMP ee <clr_zi>;
000000e0 <init_data>:
e0: 00 90 R0=[P0++];
e2: 08 92 [P1++]=R0;
e4: 23 00 CSYNC;
e6: 20 60 R0=0x4(x);
e8: 82 52 R2=R2-R0;
ea: 02 0c CC=R2==0x0;
ec: fa 13 IF ! CC JUMP e0 <init_data>;
000000ee <clr_zi>:
ee: 08 e1 58 06 P0.L=658 <_ld_text_and_data_size>;
f2: 48 e1 00 00 P0.H=0 <_ld_bss_size>;
f6: 01 60 R1=0x0(x);
f8: 22 e1 00 00 R2=0x0 (X);
fc: 02 0c CC=R2==0x0;
fe: 06 18 IF CC JUMP 10a <reset_rti>;
00000100 <clr_zi0>:
100: 11 92 [P2++]=R1;
102: 20 60 R0=0x4(x);
104: 82 52 R2=R2-R0;
106: 02 0c CC=R2==0x0;
108: fc 13 IF ! CC JUMP 100 <clr_zi0>;
0000010a <reset_rti>:
10a: 9f 00 RAISE 0xf;
10c: 08 e1 18 01 P0.L=118 <wait_here>;
110: 48 e1 00 00 P0.H=0 <_ld_bss_size>;
114: 58 3e RETI=P0;
116: 11 00 RTI;
00000118 <wait_here>:
118: 00 20 JUMP.S 118 <wait_here>;
0000011a <init_sdram>:
11a: 66 01 [--SP] = ASTAT;
11c: 67 01 [--SP] = RETS;
11e: 40 05 [--SP] = (R7:0);
120: c0 04 [--SP] = (P5:0);
122: f0 60 R0=0x1e(x);
124: 82 c6 48 80 R0=R0<<0x9;
128: 01 60 R1=0x0(x);
12a: 01 56 R0=R1|R0;
12c: 01 60 R1=0x0(x);
12e: 82 c6 41 82 R1=R1<<0x8;
132: 01 56 R0=R1|R0;
134: 48 e1 c0 ff P0.H=ffc0 <_ld_text_and_data_size+0xf968>;
138: 08 e1 00 00 P0.L=0 <_ld_bss_size>;
13c: 32 00 CLI R2;
13e: 00 97 W[P0]=R0;
140: 20 00 IDLE;
142: 42 00 STI R2;
144: 24 00 SSYNC;
146: d2 31 R2=SYSCFG;
148: 0a 4a BITSET (R2,0x1);
14a: 12 3e SYSCFG=R2;
14c: 28 60 R0=0x5(x);
14e: 48 e1 c0 ff P0.H=ffc0 <_ld_text_and_data_size+0xf968>;
152: 08 e1 04 00 P0.L=4 <_ld_bss_size+0x4>;
156: 00 97 W[P0]=R0;
158: 24 00 SSYNC;
0000015a <wait_for_pll_stab>:
15a: 48 e1 c0 ff P0.H=ffc0 <_ld_text_and_data_size+0xf968>;
15e: 08 e1 0c 00 P0.L=c <_ld_bss_size+0xc>;
162: 00 82 R0.L=W[P0];
164: 28 49 CC = BITTST (R0,0x5);
166: fa 13 IF ! CC JUMP 15a <wait_for_pll_stab>;
168: 08 e1 1c 0a P0.L=a1c <_ld_text_and_data_size+0x3c4>;
16c: 48 e1 c0 ff P0.H=ffc0 <_ld_text_and_data_size+0xf968>;
170: 00 82 R0.L=W[P0];
172: 18 49 CC = BITTST (R0,0x3);
174: 1a 10 IF ! CC JUMP 1a8 <skip_sdram_enable>;
176: 08 e1 10 0a P0.L=a10 <_ld_text_and_data_size+0x3b8>;
17a: 48 e1 c0 ff P0.H=ffc0 <_ld_text_and_data_size+0xf968>;
17e: 40 e1 90 00 R0.H=0x90;
182: 00 e1 0d 89 R0.L=-30451;
186: 00 93 [P0]=R0;
188: 24 00 SSYNC;
18a: 08 e1 14 0a P0.L=a14 <_ld_text_and_data_size+0x3bc>;
18e: 48 e1 c0 ff P0.H=ffc0 <_ld_text_and_data_size+0xf968>;
192: 98 60 R0=0x13(x);
194: 00 8a W[P0]=R0.L;
196: 24 00 SSYNC;
198: 08 e1 18 0a P0.L=a18 <_ld_text_and_data_size+0x3c0>;
19c: 48 e1 c0 ff P0.H=ffc0 <_ld_text_and_data_size+0xf968>;
1a0: 20 e1 02 02 R0=0x202 (X);
1a4: 00 8a W[P0]=R0.L;
1a6: 24 00 SSYNC;
000001a8 <skip_sdram_enable>:
1a8: 00 00 NOP;
1aa: 80 04 (P5:0) = [SP++];
1ac: 00 05 (R7:0) = [SP++];
1ae: 27 01 RETS = [SP++];
1b0: 26 01 ASTAT = [SP++];
1b2: 10 00 RTS;
000001b4 <_real_start>:
1b4: 7b 01 [--SP] = RETI;
1b6: a6 6f SP+=-12;
1b8: 00 e3 3a 02 CALL 62c <_main>;
1bc: 66 6c SP+=0xc;
000001be <end_here>:
1be: 00 20 JUMP.S 1be <end_here>;
000001c0 <_delay>:
1c0: 00 e8 03 00 LINK 0xc;
1c4: b8 b0 [FP+0x8]=R0;
1c6: 00 60 R0=0x0(x);
1c8: d0 bb [FP-12]=R0;
1ca: 00 60 R0=0x0(x);
1cc: f0 bb [FP-4]=R0;
1ce: f1 b9 R1=[FP-4];
1d0: b8 a0 R0=[FP+0x8];
1d2: 81 09 CC=R1<R0(IU);
1d4: 13 10 IF ! CC JUMP 1fa <_delay+0x3a>;
1d6: 00 60 R0=0x0(x);
1d8: e0 bb [FP-8]=R0;
1da: e0 b9 R0=[FP-8];
1dc: 21 e1 87 13 R1=0x1387 (X);
1e0: 08 0a CC=R0<=R1(IU);
1e2: 08 10 IF ! CC JUMP 1f2 <_delay+0x32>;
1e4: d0 b9 R0=[FP-12];
1e6: 08 64 R0+=0x1;
1e8: d0 bb [FP-12]=R0;
1ea: e0 b9 R0=[FP-8];
1ec: 08 64 R0+=0x1;
1ee: e0 bb [FP-8]=R0;
1f0: f5 2f JUMP.S 1da <_delay+0x1a>;
1f2: f0 b9 R0=[FP-4];
1f4: 08 64 R0+=0x1;
1f6: f0 bb [FP-4]=R0;
1f8: eb 2f JUMP.S 1ce <_delay+0xe>;
1fa: d0 b9 R0=[FP-12];
1fc: 01 e8 00 00 UNLINK;
200: 10 00 RTS;
...
00000204 <_uart_init>:
204: 00 e8 03 00 LINK 0xc;
208: b8 b0 [FP+0x8]=R0;
20a: 00 60 R0=0x0(x);
20c: f0 bb [FP-4]=R0;
20e: 18 61 R0=0x23(x);
210: e0 bb [FP-8]=R0;
212: b8 a0 R0=[FP+0x8];
214: d0 bb [FP-12]=R0;
216: d1 b9 R1=[FP-12];
218: 20 e1 80 25 R0=0x2580 (X);
21c: 01 08 CC=R1==R0;
21e: 30 18 IF CC JUMP 27e <_uart_init+0x7a>;
220: d1 b9 R1=[FP-12];
222: 20 e1 80 25 R0=0x2580 (X);
226: 01 09 CC=R1<=R0;
228: 0c 10 IF ! CC JUMP 240 <_uart_init+0x3c>;
22a: d1 b9 R1=[FP-12];
22c: 20 e1 60 09 R0=0x960 (X);
230: 01 08 CC=R1==R0;
232: 2c 18 IF CC JUMP 28a <_uart_init+0x86>;
234: d1 b9 R1=[FP-12];
236: 20 e1 c0 12 R0=0x12c0 (X);
23a: 01 08 CC=R1==R0;
23c: 24 18 IF CC JUMP 284 <_uart_init+0x80>;
23e: 28 20 JUMP.S 28e <_uart_init+0x8a>;
240: d1 b9 R1=[FP-12];
242: 80 e1 00 96 R0=9600 <_ld_text_and_data_size+0x8fa8>(Z);
246: 01 08 CC=R1==R0;
248: 15 18 IF CC JUMP 272 <_uart_init+0x6e>;
24a: d1 b9 R1=[FP-12];
24c: 80 e1 00 96 R0=9600 <_ld_text_and_data_size+0x8fa8>(Z);
250: 01 09 CC=R1<=R0;
252: 07 10 IF ! CC JUMP 260 <_uart_init+0x5c>;
254: d1 b9 R1=[FP-12];
256: 20 e1 00 4b R0=0x4b00 (X);
25a: 01 08 CC=R1==R0;
25c: 0e 18 IF CC JUMP 278 <_uart_init+0x74>;
25e: 18 20 JUMP.S 28e <_uart_init+0x8a>;
260: d1 b9 R1=[FP-12];
262: 80 e1 00 e1 R0=e100 <_ld_text_and_data_size+0xdaa8>(Z);
266: 01 08 CC=R1==R0;
268: 02 18 IF CC JUMP 26c <_uart_init+0x68>;
26a: 12 20 JUMP.S 28e <_uart_init+0x8a>;
26c: 08 60 R0=0x1(x);
26e: f0 bb [FP-4]=R0;
270: 0f 20 JUMP.S 28e <_uart_init+0x8a>;
272: 10 60 R0=0x2(x);
274: f0 bb [FP-4]=R0;
276: 0c 20 JUMP.S 28e <_uart_init+0x8a>;
278: 18 60 R0=0x3(x);
27a: f0 bb [FP-4]=R0;
27c: 09 20 JUMP.S 28e <_uart_init+0x8a>;
27e: 20 60 R0=0x4(x);
280: f0 bb [FP-4]=R0;
282: 06 20 JUMP.S 28e <_uart_init+0x8a>;
284: 28 60 R0=0x5(x);
286: f0 bb [FP-4]=R0;
288: 03 20 JUMP.S 28e <_uart_init+0x8a>;
28a: 30 60 R0=0x6(x);
28c: f0 bb [FP-4]=R0;
28e: e1 b9 R1=[FP-8];
290: f0 b9 R0=[FP-4];
292: 81 40 R1<<=R0;
294: 01 30 R0=R1;
296: e0 bb [FP-8]=R0;
298: 4a e1 c0 ff P2.H=ffc0 <_ld_text_and_data_size+0xf968>;
29c: 0a e1 24 04 P2.L=424 <_uart_getstring+0x4>;
2a0: 08 60 R0=0x1(x);
2a2: 10 97 W[P2]=R0;
2a4: 4a e1 c0 ff P2.H=ffc0 <_ld_text_and_data_size+0xf968>;
2a8: 0a e1 0c 04 P2.L=40c <_uart_sendstr+0x14>;
2ac: 20 e1 80 00 R0=0x80 (X);
2b0: 10 97 W[P2]=R0;
2b2: 4a e1 c0 ff P2.H=ffc0 <_ld_text_and_data_size+0xf968>;
2b6: 0a e1 00 04 P2.L=400 <_uart_sendstr+0x8>;
2ba: e0 b9 R0=[FP-8];
2bc: 10 97 W[P2]=R0;
2be: 4a e1 c0 ff P2.H=ffc0 <_ld_text_and_data_size+0xf968>;
2c2: 0a e1 04 04 P2.L=404 <_uart_sendstr+0xc>;
2c6: e0 b9 R0=[FP-8];
2c8: 40 4d R0>>>=0x8;
2ca: 10 97 W[P2]=R0;
2cc: 4a e1 c0 ff P2.H=ffc0 <_ld_text_and_data_size+0xf968>;
2d0: 0a e1 0c 04 P2.L=40c <_uart_sendstr+0x14>;
2d4: 18 60 R0=0x3(x);
2d6: 10 97 W[P2]=R0;
2d8: 01 e8 00 00 UNLINK;
2dc: 10 00 RTS;
...
000002e0 <_uart_getkey>:
2e0: 00 e8 01 00 LINK 0x4;
2e4: 4a e1 c0 ff P2.H=ffc0 <_ld_text_and_data_size+0xf968>;
2e8: 0a e1 14 04 P2.L=414 <_uart_sendstr+0x1c>;
2ec: 50 95 R0=W[P2](X);
2ee: c0 42 R0=R0.L(Z);
2f0: 00 49 CC = BITTST (R0,0x0);
2f2: 00 02 R0=CC;
2f4: 00 0c CC=R0==0x0;
2f6: 02 10 IF ! CC JUMP 2fa <_uart_getkey+0x1a>;
2f8: f6 2f JUMP.S 2e4 <_uart_getkey+0x4>;
2fa: 4a e1 c0 ff P2.H=ffc0 <_ld_text_and_data_size+0xf968>;
2fe: 0a e1 00 04 P2.L=400 <_uart_sendstr+0x8>;
302: 50 95 R0=W[P2](X);
304: b8 e6 ff ff B[FP+-1]=R0;
308: b8 e5 ff ff R0=B[FP+-1](X);
30c: 01 e8 00 00 UNLINK;
310: 10 00 RTS;
...
00000314 <_uart_sendch>:
314: 00 e8 00 00 LINK 0x0;
318: b8 e6 08 00 B[FP+0x8]=R0;
31c: 4a e1 c0 ff P2.H=ffc0 <_ld_text_and_data_size+0xf968>;
320: 0a e1 14 04 P2.L=414 <_uart_sendstr+0x1c>;
324: 50 95 R0=W[P2](X);
326: c1 42 R1=R0.L(Z);
328: 00 61 R0=0x20(x);
32a: 01 54 R0=R1&R0;
32c: 00 0c CC=R0==0x0;
32e: 02 10 IF ! CC JUMP 332 <_uart_sendch+0x1e>;
330: f6 2f JUMP.S 31c <_uart_sendch+0x8>;
332: 4a e1 c0 ff P2.H=ffc0 <_ld_text_and_data_size+0xf968>;
336: 0a e1 00 04 P2.L=400 <_uart_sendstr+0x8>;
33a: b8 e5 08 00 R0=B[FP+0x8](X);
33e: 10 97 W[P2]=R0;
340: 01 e8 00 00 UNLINK;
344: 10 00 RTS;
...
00000348 <_uart_getch>:
348: 00 e8 04 00 LINK 0x10;
34c: 4a e1 c0 ff P2.H=ffc0 <_ld_text_and_data_size+0xf968>;
350: 0a e1 14 04 P2.L=414 <_uart_sendstr+0x1c>;
354: 50 95 R0=W[P2](X);
356: c0 42 R0=R0.L(Z);
358: 00 49 CC = BITTST (R0,0x0);
35a: 00 02 R0=CC;
35c: 00 0c CC=R0==0x0;
35e: 02 10 IF ! CC JUMP 362 <_uart_getch+0x1a>;
360: f6 2f JUMP.S 34c <_uart_getch+0x4>;
362: 4a e1 c0 ff P2.H=ffc0 <_ld_text_and_data_size+0xf968>;
366: 0a e1 00 04 P2.L=400 <_uart_sendstr+0x8>;
36a: 50 95 R0=W[P2](X);
36c: b8 e6 ff ff B[FP+-1]=R0;
370: b8 e5 ff ff R0=B[FP+-1](X);
374: ff e3 d0 ff CALL 314 <_uart_sendch>;
378: 68 60 R0=0xd(x);
37a: ff e3 cd ff CALL 314 <_uart_sendch>;
37e: 50 60 R0=0xa(x);
380: ff e3 ca ff CALL 314 <_uart_sendch>;
384: b8 e5 ff ff R0=B[FP+-1](X);
388: 01 e8 00 00 UNLINK;
38c: 10 00 RTS;
...
00000390 <_uart_getstr>:
390: 00 e8 05 00 LINK 0x14;
394: b8 b0 [FP+0x8]=R0;
396: f9 b0 [FP+0xc]=R1;
398: 00 60 R0=0x0(x);
39a: f0 bb [FP-4]=R0;
39c: f1 b9 R1=[FP-4];
39e: f8 a0 R0=[FP+0xc];
3a0: 81 08 CC=R1<R0;
3a2: 1e 10 IF ! CC JUMP 3de <_uart_getstr+0x4e>;
3a4: ff e3 d2 ff CALL 348 <_uart_getch>;
3a8: 10 30 R2=R0;
3aa: b9 a0 R1=[FP+0x8];
3ac: f0 b9 R0=[FP-4];
3ae: 41 50 R1=R1+R0;
3b0: 11 32 P2=R1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -