📄 bfsa_api.lst
字号:
\ 00000020 .... LDR R4,??DataTable7 ;; _Stdout
\ 00000022 0098 LDR R0,[SP, #+0]
\ 00000024 0028 CMP R0,#+0
\ 00000026 .... BNE .+5
\ 00000028 A4E0 B ??BFSA_dir_2
403 {
404 ULONG _max = min(_ulNbRead,sizeof(file_list)/sizeof(file_list[0]));
\ 0000002A 0528 CMP R0,#+5
\ 0000002C 00D3 BCC ??BFSA_dir_3
\ 0000002E 0520 MOV R0,#+5
\ ??BFSA_dir_3:
\ 00000030 0290 STR R0,[SP, #+8]
405
406 status = BFSA_path(CurrentPath);
\ 00000032 6B48 LDR R0,??BFSA_dir_0+0x4 ;; BFSA_media + 24
\ 00000034 ........ BL BFSA_path
\ 00000038 0190 STR R0,[SP, #+4]
407 if (!BFSA_FAILURE(status))
\ 0000003A 2842 TST R0,R5
\ 0000003C .... BEQ .+5
\ 0000003E 9DE0 B ??BFSA_dir_4
408 {
409 int i;
410 char compteur=0;
\ 00000040 0025 MOV R5,#+0
411
412 TRACE_INFO( "Directory %s\n\r",CurrentPath);
\ 00000042 674A LDR R2,??BFSA_dir_0+0x4 ;; BFSA_media + 24
\ 00000044 6749 LDR R1,??BFSA_dir_0+0x8 ;; `?<Constant "Directory %s\\n\\r">`
\ 00000046 201C MOV R0,R4
\ 00000048 ........ _BLF fprintf,??fprintf??rT
413
414 TRACE_INFO( " %i files in dir, pri",(int)_ulNbRead);
\ 0000004C 009A LDR R2,[SP, #+0]
\ 0000004E 6649 LDR R1,??BFSA_dir_0+0xC ;; `?<Constant "Directory %s\\n\\r">` + 16
\ 00000050 201C MOV R0,R4
\ 00000052 ........ _BLF fprintf,??fprintf??rT
415 TRACE_INFO( "nt %d firsts:\n\r",(char)_max);
\ 00000056 029A LDR R2,[SP, #+8]
\ 00000058 1206 LSL R2,R2,#+24
\ 0000005A 120E LSR R2,R2,#+24
\ 0000005C 6349 LDR R1,??BFSA_dir_0+0x10 ;; `?<Constant "Directory %s\\n\\r">` + 40
\ 0000005E 201C MOV R0,R4
\ 00000060 ........ _BLF fprintf,??fprintf??rT
\ 00000064 0026 MOV R6,#+0
\ 00000066 43E0 B ??BFSA_dir_5
416 for (a=0; a<_max; a++)
417 {
418 TRACE_INFO( " ");
419 if( file_list[a].attributes == BFSA_ATTR_DIRECTORY )
420 {
421 TRACE_INFO( "<");
422 }
423 TRACE_INFO( "%s",file_list[a].fileName);
424 for( i=0; i<8; i++)
425 if( (UCHAR)file_list[a].fileName[i] == 0x00)
426 compteur++;
427 if (*file_list[a].extension!='\0')
428 {
429 TRACE_INFO( ".%s",file_list[a].extension);
430 for( i=0; i<3; i++)
431 if( (UCHAR)file_list[a].extension[i] == 0x00)
432 compteur++;
433 }
434 else
435 {
436 compteur+=4;
437 }
438 if( file_list[a].attributes == BFSA_ATTR_DIRECTORY )
439 {
440 TRACE_INFO( ">");
441 }
442 while( compteur > 0 )
443 {
444 TRACE_INFO( " ");
\ ??BFSA_dir_6:
\ 00000068 61A1 ADR R1,??BFSA_dir_0+0x14 ;; " "
\ 0000006A 201C MOV R0,R4
\ 0000006C ........ _BLF fprintf,??fprintf??rT
445 compteur--;
\ 00000070 6D1E SUB R5,R5,#+1
\ 00000072 2D06 LSL R5,R5,#+24
\ 00000074 2D0E LSR R5,R5,#+24
446 }
\ ??BFSA_dir_7:
\ 00000076 281C MOV R0,R5
\ 00000078 F6D1 BNE ??BFSA_dir_6
447 if( file_list[a].attributes == BFSA_ATTR_ARCHIVE )
\ 0000007A 787B LDRB R0,[R7, #+13]
\ 0000007C 2028 CMP R0,#+32
\ 0000007E 32D1 BNE ??BFSA_dir_8
\ 00000080 F889 LDRH R0,[R7, #+14]
\ 00000082 C206 LSL R2,R0,#+27
\ 00000084 D20E LSR R2,R2,#+27
\ 00000086 5B49 LDR R1,??BFSA_dir_0+0x18 ;; `?<Constant "Directory %s\\n\\r">` + 56
\ 00000088 201C MOV R0,R4
448 {
449 TRACE_INFO( " %d/",file_list[a].date.Day);
\ 0000008A ........ _BLF fprintf,??fprintf??rT
450 TRACE_INFO( "%d/",file_list[a].date.Month);
\ 0000008E F889 LDRH R0,[R7, #+14]
\ 00000090 F021 MOV R1,#+240
\ 00000092 4900 LSL R1,R1,#+1 ;; #+480
\ 00000094 0140 AND R1,R0
\ 00000096 4A09 LSR R2,R1,#+5
\ 00000098 57A1 ADR R1,??BFSA_dir_0+0x1C ;; "%d/"
\ 0000009A 201C MOV R0,R4
\ 0000009C ........ _BLF fprintf,??fprintf??rT
\ 000000A0 F889 LDRH R0,[R7, #+14]
\ 000000A2 400A LSR R0,R0,#+9
\ 000000A4 5549 LDR R1,??BFSA_dir_0+0x20 ;; 0x7bc
\ 000000A6 4218 ADD R2,R0,R1
\ 000000A8 55A1 ADR R1,??BFSA_dir_0+0x24 ;; "%d"
\ 000000AA 201C MOV R0,R4
451 TRACE_INFO( "%d",file_list[a].date.Years80+1980);
\ 000000AC ........ _BLF fprintf,??fprintf??rT
452
453 TRACE_INFO( " %d:",file_list[a].time.Hours);
\ 000000B0 388A LDRH R0,[R7, #+16]
\ 000000B2 C20A LSR R2,R0,#+11
\ 000000B4 5349 LDR R1,??BFSA_dir_0+0x28 ;; `?<Constant "Directory %s\\n\\r">` + 64
\ 000000B6 201C MOV R0,R4
\ 000000B8 ........ _BLF fprintf,??fprintf??rT
454 TRACE_INFO( "%d:",file_list[a].time.Minutes);
\ 000000BC 388A LDRH R0,[R7, #+16]
\ 000000BE FC21 MOV R1,#+252
\ 000000C0 C900 LSL R1,R1,#+3 ;; #+2016
\ 000000C2 0140 AND R1,R0
\ 000000C4 4A09 LSR R2,R1,#+5
\ 000000C6 50A1 ADR R1,??BFSA_dir_0+0x2C ;; "%d:"
\ 000000C8 201C MOV R0,R4
\ 000000CA ........ _BLF fprintf,??fprintf??rT
455 TRACE_INFO( "%d",file_list[a].time.Seconds);
\ 000000CE 388A LDRH R0,[R7, #+16]
\ 000000D0 C206 LSL R2,R0,#+27
\ 000000D2 D20E LSR R2,R2,#+27
\ 000000D4 4AA1 ADR R1,??BFSA_dir_0+0x24 ;; "%d"
\ 000000D6 201C MOV R0,R4
\ 000000D8 ........ _BLF fprintf,??fprintf??rT
456
457 TRACE_INFO( " %d",(int)file_list[a].length);
\ 000000DC 7A69 LDR R2,[R7, #+20]
\ 000000DE 4BA1 ADR R1,??BFSA_dir_0+0x30 ;; " %d"
\ 000000E0 201C MOV R0,R4
\ 000000E2 ........ _BLF fprintf,??fprintf??rT
458 }
459 TRACE_INFO( "\n\r");
\ ??BFSA_dir_8:
\ 000000E6 4AA1 ADR R1,??BFSA_dir_0+0x34 ;; "\n\r"
\ 000000E8 201C MOV R0,R4
\ 000000EA ........ _BLF fprintf,??fprintf??rT
\ 000000EE 761C ADD R6,R6,#+1
\ ??BFSA_dir_5:
\ 000000F0 0298 LDR R0,[SP, #+8]
\ 000000F2 8642 CMP R6,R0
\ 000000F4 42D2 BCS ??BFSA_dir_4
\ 000000F6 47A1 ADR R1,??BFSA_dir_0+0x38 ;; " "
\ 000000F8 201C MOV R0,R4
\ 000000FA ........ _BLF fprintf,??fprintf??rT
\ 000000FE 1820 MOV R0,#+24
\ 00000100 7043 MUL R0,R6
\ 00000102 3649 LDR R1,??BFSA_dir_0 ;; file_list
\ 00000104 0F18 ADD R7,R1,R0
\ 00000106 787B LDRB R0,[R7, #+13]
\ 00000108 1028 CMP R0,#+16
\ 0000010A 03D1 BNE ??BFSA_dir_9
\ 0000010C 42A1 ADR R1,??BFSA_dir_0+0x3C ;; "<"
\ 0000010E 201C MOV R0,R4
\ 00000110 ........ _BLF fprintf,??fprintf??rT
\ ??BFSA_dir_9:
\ 00000114 3A1C MOV R2,R7
\ 00000116 41A1 ADR R1,??BFSA_dir_0+0x40 ;; "%s"
\ 00000118 201C MOV R0,R4
\ 0000011A ........ _BLF fprintf,??fprintf??rT
\ 0000011E 0020 MOV R0,#+0
\ ??BFSA_dir_10:
\ 00000120 395C LDRB R1,[R7, R0]
\ 00000122 0029 CMP R1,#+0
\ 00000124 02D1 BNE ??BFSA_dir_11
\ 00000126 6D1C ADD R5,R5,#+1
\ 00000128 2D06 LSL R5,R5,#+24
\ 0000012A 2D0E LSR R5,R5,#+24
\ ??BFSA_dir_11:
\ 0000012C 401C ADD R0,R0,#+1
\ 0000012E 0828 CMP R0,#+8
\ 00000130 F6DB BLT ??BFSA_dir_10
\ 00000132 787A LDRB R0,[R7, #+9]
\ 00000134 0028 CMP R0,#+0
\ 00000136 12D0 BEQ ??BFSA_dir_12
\ 00000138 3A1C MOV R2,R7
\ 0000013A 0932 ADD R2,#+9
\ 0000013C 38A1 ADR R1,??BFSA_dir_0+0x44 ;; ".%s"
\ 0000013E 201C MOV R0,R4
\ 00000140 ........ _BLF fprintf,??fprintf??rT
\ 00000144 0020 MOV R0,#+0
\ ??BFSA_dir_13:
\ 00000146 391C MOV R1,R7
\ 00000148 0931 ADD R1,#+9
\ 0000014A 095C LDRB R1,[R1, R0]
\ 0000014C 0029 CMP R1,#+0
\ 0000014E 02D1 BNE ??BFSA_dir_14
\ 00000150 6D1C ADD R5,R5,#+1
\ 00000152 2D06 LSL R5,R5,#+24
\ 00000154 2D0E LSR R5,R5,#+24
\ ??BFSA_dir_14:
\ 00000156 401C ADD R0,R0,#+1
\ 00000158 0328 CMP R0,#+3
\ 0000015A 03DA BGE ??BFSA_dir_15
\ 0000015C F3E7 B ??BFSA_dir_13
\ ??BFSA_dir_12:
\
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -