📄 mkfs.lst
字号:
00000050 3A20 SUB R2,#0x20
00000052 1A12 SUB R2,R0
52: fs = ((ds/c)+127)/128;
00000054 1C21 MOV R1,R4 ; c
00000056 1C10 MOV R0,R2 ; ds
00000058 F7FF BL ?C?UDIV?T ; T=0x0001 (1) ; ?C?UDIV?T
0000005A FFD2 BL ?C?UDIV?T ; T=0x0001 (2) ; ?C?UDIV?T
0000005C 1C08 MOV R0,R1
0000005E 1C06 MOV R6,R0
00000060 367F ADD R6,#0x7F
00000062 09F6 LSR R6,R6,#0x7
56: ds = ns - 32 - 2*fs;
00000064 1C30 MOV R0,R6 ; fs
00000066 0040 LSL R0,R0,#0x1 ; fs
00000068 1C3A MOV R2,R7 ; ns
0000006A 3A20 SUB R2,#0x20
0000006C 1A12 SUB R2,R0
57: fs = ((ds/c)+127)/128;
0000006E 1C21 MOV R1,R4 ; c
00000070 1C10 MOV R0,R2 ; ds
00000072 F7FF BL ?C?UDIV?T ; T=0x0001 (1) ; ?C?UDIV?T
00000074 FFC5 BL ?C?UDIV?T ; T=0x0001 (2) ; ?C?UDIV?T
00000076 1C08 MOV R0,R1
00000078 1C06 MOV R6,R0
0000007A 367F ADD R6,#0x7F
0000007C 09F6 LSR R6,R6,#0x7
60: }
0000007E 3301 ADD R3,#0x1
00000080 1C18 MOV R0,R3 ; cc
00000082 2802 CMP R0,#0x2 ; cc
00000084 D3E1 BCC L_11 ; T=0x0000004A
63: ds = ns - 32 - 2*fs;
00000086 1C30 MOV R0,R6 ; fs
00000088 0040 LSL R0,R0,#0x1 ; fs
0000008A 1C3A MOV R2,R7 ; ns
0000008C 3A20 SUB R2,#0x20
0000008E 1A12 SUB R2,R0
65: dc = ds / c;
00000090 1C21 MOV R1,R4 ; c
00000092 1C10 MOV R0,R2 ; ds
00000094 F7FF BL ?C?UDIV?T ; T=0x0001 (1) ; ?C?UDIV?T
00000096 FFB4 BL ?C?UDIV?T ; T=0x0001 (2) ; ?C?UDIV?T
00000098 1C08 MOV R0,R1
0000009A 1C02 MOV R2,R0 ; dc
0000009C ---- Variable 'dc' assigned to Register 'R2' ----
ARM COMPILER V2.42, mkfs 27/03/06 10:45:51 PAGE 6
66: if(ret<(fs*128-dc)/128)ret=(fs*128-dc)/128;
0000009C 1C30 MOV R0,R6 ; fs
0000009E 01C0 LSL R0,R0,#0x7 ; fs
000000A0 1C11 MOV R1,R2 ; dc
000000A2 1A43 SUB R3,R0,R1 ; dc
000000A4 09DB LSR R3,R3,#0x7
000000A6 9900 LDR R1,[R13,#0x0] ; ret
000000A8 4299 CMP R1,R3
000000AA D203 BCS L_13 ; T=0x000000B4
000000AC 1C11 MOV R1,R2 ; dc
000000AE 1A40 SUB R0,R1 ; dc
000000B0 09C0 LSR R0,R0,#0x7
000000B2 9000 STR R0,[R13,#0x0] ; ret
000000B4 L_13:
70: if(dc >= 65525 + 16){
000000B4 1C10 MOV R0,R2 ; dc
000000B6 4800 LDR R1,=0x10005
000000B8 4288 CMP R0,R1 ; dc
000000BA D203 BCS L_4 ; T=0x000000C4
73: }
000000BC 0864 LSR R4,R4,#0x1 ; c
000000BE 1C20 MOV R0,R4 ; c
000000C0 2801 CMP R0,#0x1 ; c
000000C2 D2B7 BCS L_6 ; T=0x00000034
000000C4 L_4:
76: memClr(buf,512);
000000C4 A801 ADD R0,R13,#0x4
000000C6 4980 LDR R1,=0x200
000000C8 F7FF BL memClr?T ; T=0x0001 (1)
000000CA FF9A BL memClr?T ; T=0x0001 (2)
79: *(buf+0)=0xE9; *(buf+1)=0x00; *(buf+2)=0x00; /* RESET */
000000CC 21E9 MOV R1,#0xE9
000000CE A801 ADD R0,R13,#0x4
000000D0 7001 STRB R1,[R0,#0x0] ; buf
000000D2 2100 MOV R1,#0x0
000000D4 2005 MOV R0,#0x5
000000D6 4468 ADD R0,R13
000000D8 7001 STRB R1,[R0,#0x0] ; buf+1
000000DA 2100 MOV R1,#0x0
000000DC 2006 MOV R0,#0x6
000000DE 4468 ADD R0,R13
000000E0 7001 STRB R1,[R0,#0x0] ; buf+2
82: memCpy("DSCOSMSH",buf+3,8);
000000E2 4800 LDR R0,=??S_2 ; ??S_2
000000E4 2107 MOV R1,#0x7
000000E6 4469 ADD R1,R13
000000E8 2208 MOV R2,#0x8
000000EA F7FF BL memCpy?T ; T=0x0001 (1)
000000EC FF89 BL memCpy?T ; T=0x0001 (2)
85: *((unsigned short*)(buf+11)) = 512;
000000EE 4980 LDRH R1,=0x200
000000F0 200F MOV R0,#0xF
000000F2 4468 ADD R0,R13
000000F4 8001 STRH R1,[R0,#0x0] ; buf+11
88: *(buf+13) = c;
000000F6 1C21 MOV R1,R4 ; c
000000F8 0609 LSL R1,R1,#0x18 ; c
000000FA 0E09 LSR R1,R1,#0x18
000000FC 2011 MOV R0,#0x11
000000FE 4468 ADD R0,R13
00000100 7001 STRB R1,[R0,#0x0] ; buf+13
91: *((unsigned short*)(buf+14)) = 32;
00000102 2120 MOV R1,#0x20
00000104 2012 MOV R0,#0x12
00000106 4468 ADD R0,R13
00000108 8001 STRH R1,[R0,#0x0] ; buf+14
ARM COMPILER V2.42, mkfs 27/03/06 10:45:51 PAGE 7
94: *(buf+16) = 2;
0000010A 2102 MOV R1,#0x2
0000010C A805 ADD R0,R13,#0x14
0000010E 7001 STRB R1,[R0,#0x0] ; buf+16
97: *((unsigned short*)(buf+17)) = 0;
00000110 2100 MOV R1,#0x0
00000112 2015 MOV R0,#0x15
00000114 4468 ADD R0,R13
00000116 8001 STRH R1,[R0,#0x0] ; buf+17
100: *((unsigned short*)(buf+19)) = 0;
00000118 2100 MOV R1,#0x0
0000011A 2017 MOV R0,#0x17
0000011C 4468 ADD R0,R13
0000011E 8001 STRH R1,[R0,#0x0] ; buf+19
103: *(buf+21) = 0xF8;
00000120 21F8 MOV R1,#0xF8
00000122 2019 MOV R0,#0x19
00000124 4468 ADD R0,R13
00000126 7001 STRB R1,[R0,#0x0] ; buf+21
106: *((unsigned short*)(buf+22)) = 0;
00000128 2100 MOV R1,#0x0
0000012A 201A MOV R0,#0x1A
0000012C 4468 ADD R0,R13
0000012E 8001 STRH R1,[R0,#0x0] ; buf+22
109: *((unsigned long*)(buf+32)) = ns;
00000130 1C38 MOV R0,R7 ; ns
00000132 9009 STR R0,[R13,#0x24] ; buf
112: *((unsigned long*)(buf+36)) = fs;
00000134 1C30 MOV R0,R6 ; fs
00000136 900A STR R0,[R13,#0x28] ; buf
115: *((unsigned long*)(buf+44)) = 2;
00000138 2002 MOV R0,#0x2
0000013A 900C STR R0,[R13,#0x30] ; buf
118: *((unsigned long*)(buf+67)) = 0x13371337;
0000013C 4800 LDR R0,=0x13371337
0000013E 9000 STR R0,[R13,#0x47] ; buf
121: memCpy("DISCOSMASH!",buf+71,11);
00000140 4800 LDR R0,=??S_3 ; ??S_3
00000142 214B MOV R1,#0x4B
00000144 4469 ADD R1,R13
00000146 220B MOV R2,#0xB
00000148 F7FF BL memCpy?T ; T=0x0001 (1)
0000014A FF5A BL memCpy?T ; T=0x0001 (2)
124: memCpy("FAT32 ",buf+82,8);
0000014C 4800 LDR R0,=??S_4 ; ??S_4
0000014E 2156 MOV R1,#0x56
00000150 4469 ADD R1,R13
00000152 2208 MOV R2,#0x8
00000154 F7FF BL memCpy?T ; T=0x0001 (1)
00000156 FF54 BL memCpy?T ; T=0x0001 (2)
127: *(buf+510) = 0x55; *(buf+511) = 0xAA;
00000158 2155 MOV R1,#0x55
0000015A 4800 LDR R0,=0x202
0000015C 4468 ADD R0,R13
0000015E 7001 STRB R1,[R0,#0x0] ; buf+510
00000160 21AA MOV R1,#0xAA
00000162 4800 LDR R0,=0x203
00000164 4468 ADD R0,R13
00000166 7001 STRB R1,[R0,#0x0] ; buf+511
129: part_writeBuf(part,0,buf);
00000168 1C28 MOV R0,R5 ; part
0000016A AA01 ADD R2,R13,#0x4
0000016C 2100 MOV R1,#0x0
0000016E F7FF BL part_writeBuf?T ; T=0x0001 (1)
00000170 FF47 BL part_writeBuf?T ; T=0x0001 (2)
131: memClr(buf,512);
ARM COMPILER V2.42, mkfs 27/03/06 10:45:51 PAGE 8
00000172 A801 ADD R0,R13,#0x4
00000174 4980 LDR R1,=0x200
00000176 F7FF BL memClr?T ; T=0x0001 (1)
00000178 FF43 BL memClr?T ; T=0x0001 (2)
132: for(c=32;c<(32+2*fs);c++){
0000017A 2420 MOV R4,#0x20
0000017C E005 B L_17 ; T=0x0000018A
0000017E L_18:
133: part_writeBuf(part,c,buf);
0000017E 1C28 MOV R0,R5 ; part
00000180 1C21 MOV R1,R4 ; c
00000182 AA01 ADD R2,R13,#0x4
00000184 F7FF BL part_writeBuf?T ; T=0x0001 (1)
00000186 FF3C BL part_writeBuf?T ; T=0x0001 (2)
134: }
00000188 3401 ADD R4,#0x1
0000018A L_17:
0000018A 1C31 MOV R1,R6 ; fs
0000018C 0049 LSL R1,R1,#0x1 ; fs
0000018E 3120 ADD R1,#0x20
00000190 1C20 MOV R0,R4 ; c
00000192 4288 CMP R0,R1 ; c
00000194 D3F3 BCC L_18 ; T=0x0000017E
135: *(((unsigned long*)buf) )=0x0FFFFFF8;
00000196 4800 LDR R0,=0xFFFFFF8
00000198 9001 STR R0,[R13,#0x4] ; buf
136: *(((unsigned long*)buf)+1)=0x0FFFFFFF;
0000019A 4800 LDR R0,=0xFFFFFFF
0000019C 9002 STR R0,[R13,#0x8] ; buf
137: *(((unsigned long*)buf)+2)=0x0FFFFFF8;
0000019E 4800 LDR R0,=0xFFFFFF8
000001A0 9003 STR R0,[R13,#0xC] ; buf
138: part_writeBuf(part,32,buf);
000001A2 1C28 MOV R0,R5 ; part
000001A4 AA01 ADD R2,R13,#0x4
000001A6 2120 MOV R1,#0x20
000001A8 F7FF BL part_writeBuf?T ; T=0x0001 (1)
000001AA FF2A BL part_writeBuf?T ; T=0x0001 (2)
139: part_writeBuf(part,32+fs,buf);
000001AC 1C31 MOV R1,R6 ; fs
000001AE 3120 ADD R1,#0x20
000001B0 1C28 MOV R0,R5 ; part
000001B2 AA01 ADD R2,R13,#0x4
000001B4 F7FF BL part_writeBuf?T ; T=0x0001 (1)
000001B6 FF24 BL part_writeBuf?T ; T=0x0001 (2)
141: return(0);
000001B8 2000 MOV R0,#0x0
000001BA ; SCOPE-END
142: }
000001BA L_2:
000001BA 4981 LDR R1,=0x204
000001BC 448D ADD R13,R13,R1
000001BE BCF0 POP {R4-R7}
000001C0 BC08 POP {R3}
000001C2 4718 BX R3
000001C4 ENDP ; 'mkfs_makevfat?T'
Module Information Static
----------------------------------
code size = ------
data size = ------
const size = 87
End of Module Information.
ARM COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -