📄 fat.lst
字号:
119:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** int clusterCount; 120:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 121:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** int firstDataSector; 122:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** int sectorsPerFAT; 123:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 124:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 125:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** int rootEntryCount; 126:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** int directoriesPerSectorCount; 127:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** int rootDirSectorCount; 128:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 129:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** int rootDirSector; 130:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 131:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** int FATSize; 132:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** enum FATType type; 133:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** int dataSectorCount; 134:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 135:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** int rootSector; 136:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 137:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** } fat; 138:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 139:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** #define MAX_CLUSTER_SIZE (512 * 128) 140:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 141:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** typedef struct FatFileHandle 142:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** { 143:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** int currentCluster; 144:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** int byteOffset; 145:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** int bufferOffset; 146:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** char buffer[MAX_CLUSTER_SIZE]; 147:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** FATDirEntry info; 148:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** } FatFileHandle; 149:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 150:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** FatFileHandle fatHandle; 151:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 152:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** void displayFATInfo() 153:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** { 93 .loc 1 153 0 94 .frame $sp,40,$31 # vars= 0, regs= 5/0, args= 16, gp= 0 95 .mask 0x800f0000,-8 96 .fmask 0x00000000,0 97 .set noreorder 98 .set nomacro 99 154:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** int i; 155:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** printf("\n-------------------------------\n"); 100 .loc 1 155 0 101 0000 0000043C lui $4,%hi($LC0) 102 .loc 1 153 0 103 0004 D8FFBD27 addiu $sp,$sp,-40 104 $LCFI0: 105 .loc 1 155 0 106 0008 00008424 addiu $4,$4,%lo($LC0) 107 .loc 1 153 0 108 000c 2000BFAF sw $31,32($sp) 109 $LCFI1: 110 0010 1C00B3AF sw $19,28($sp) 111 $LCFI2: 112 0014 1800B2AF sw $18,24($sp)GAS LISTING /tmp/ccZKkRKo.s page 7 113 $LCFI3: 114 0018 1400B1AF sw $17,20($sp) 115 $LCFI4: 116 .loc 1 153 0 117 $LCFI5: 118 .loc 1 155 0 119 001c 0000000C jal printf 120 0020 1000B0AF sw $16,16($sp) 121 156:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** printf("FAT Info:\n"); 122 .loc 1 156 0 123 0024 0000043C lui $4,%hi($LC1) 124 0028 0000000C jal printf 125 002c 00008424 addiu $4,$4,%lo($LC1) 126 157:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** printf(" OEMName: '"); 127 .loc 1 157 0 128 0030 0000043C lui $4,%hi($LC2) 129 0034 00008424 addiu $4,$4,%lo($LC2) 130 0038 0000000C jal printf 131 003c 0000133C lui $19,%hi(fat) 132 158:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** for (i = 0; i < 8; ++i) printf("%c", fat.fbs.BS_OEMName[i]); 133 .loc 1 158 0 134 0040 21800000 move $16,$0 135 0044 0000113C lui $17,%hi($LC3) 136 0048 00007226 addiu $18,$19,%lo(fat) 137 004c 21101202 addu $2,$16,$18 138 $L16: 139 0050 03004580 lb $5,3($2) 140 0054 01001026 addiu $16,$16,1 141 0058 0000000C jal printf 142 005c 00002426 addiu $4,$17,%lo($LC3) 143 144 0060 0800022A slt $2,$16,8 145 0064 FAFF4014 bne $2,$0,$L16 146 0068 21101202 addu $2,$16,$18 147 159:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** printf("'\n"); 148 .loc 1 159 0 149 006c 0000043C lui $4,%hi($LC4) 150 0070 0000000C jal printf 151 0074 00008424 addiu $4,$4,%lo($LC4) 152 160:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 161:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** printf(" filesystem: "); 153 .loc 1 161 0 154 0078 0000043C lui $4,%hi($LC5) 155 007c 0000000C jal printf 156 0080 00008424 addiu $4,$4,%lo($LC5) 157 162:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** switch(fat.type) 158 .loc 1 162 0 159 0084 3402438E lw $3,564($18) 160 0088 02000224 li $2,2 # 0x2 161 008c 51006210 beq $3,$2,$L8 162 0090 0300622C sltu $2,$3,3GAS LISTING /tmp/ccZKkRKo.s page 8 163 164 0094 48004010 beq $2,$0,$L10 165 0098 03000224 li $2,3 # 0x3 166 167 009c 01000224 li $2,1 # 0x1 168 00a0 51006210 beq $3,$2,$L7 169 00a4 00000000 nop 170 171 $L6: 163:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** { 164:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** case FAT12: printf("FAT12"); break; 165:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** case FAT16: printf("FAT16"); break; 166:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** case FAT32: printf("FAT32"); break; 167:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** } 168:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** printf("\n"); 172 .loc 1 168 0 173 00a8 0000043C lui $4,%hi($LC9) 174 $L15: 169:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 170:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** printf(" sectorSize: %d\n", fat.bytesPerSector); 175 .loc 1 170 0 176 00ac 00007026 addiu $16,$19,%lo(fat) 177 .loc 1 168 0 178 00b0 0000000C jal printf 179 00b4 00008424 addiu $4,$4,%lo($LC9) 180 181 .loc 1 170 0 182 00b8 0002058E lw $5,512($16) 183 00bc 0000043C lui $4,%hi($LC10) 184 00c0 0000000C jal printf 185 00c4 00008424 addiu $4,$4,%lo($LC10) 186 171:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** printf(" sectorCount: %d\n", fat.sectorCount); 187 .loc 1 171 0 188 00c8 0802058E lw $5,520($16) 189 00cc 0000043C lui $4,%hi($LC11) 190 00d0 0000000C jal printf 191 00d4 00008424 addiu $4,$4,%lo($LC11) 192 172:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** printf(" clusterSize: %d\n", fat.clusterSize); 193 .loc 1 172 0 194 00d8 1002058E lw $5,528($16) 195 00dc 0000043C lui $4,%hi($LC12) 196 00e0 0000000C jal printf 197 00e4 00008424 addiu $4,$4,%lo($LC12) 198 173:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** printf(" clusterCnt: %d\n", fat.clusterCount); 199 .loc 1 173 0 200 00e8 1402058E lw $5,532($16) 201 00ec 0000043C lui $4,%hi($LC13) 202 00f0 0000000C jal printf 203 00f4 00008424 addiu $4,$4,%lo($LC13) 204 174:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** printf(" BPB_NumFATs: %d\n", fat.fbs.BPB_NumFATs); 205 .loc 1 174 0 206 00f8 10000592 lbu $5,16($16) 207 00fc 0000043C lui $4,%hi($LC14)GAS LISTING /tmp/ccZKkRKo.s page 9 208 0100 0000000C jal printf 209 0104 00008424 addiu $4,$4,%lo($LC14) 210 175:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** printf(" fatSize: %d\n", fat.FATSize); 211 .loc 1 175 0 212 0108 3002058E lw $5,560($16) 213 010c 0000043C lui $4,%hi($LC15) 214 0110 0000000C jal printf 215 0114 00008424 addiu $4,$4,%lo($LC15) 216 176:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** printf(" numRootDirE: %d\n", fat.rootEntryCount); 217 .loc 1 176 0 218 0118 2002058E lw $5,544($16) 219 011c 0000043C lui $4,%hi($LC16) 220 0120 0000000C jal printf 221 0124 00008424 addiu $4,$4,%lo($LC16) 222 177:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** printf(" dirEPerSect: %d\n", fat.directoriesPerSectorCount); 223 .loc 1 177 0 224 0128 2402058E lw $5,548($16) 225 012c 0000043C lui $4,%hi($LC17) 226 0130 0000000C jal printf 227 0134 00008424 addiu $4,$4,%lo($LC17) 228 178:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** printf(" sectorsRoot: %d\n", fat.rootDirSectorCount); 229 .loc 1 178 0 230 0138 2802058E lw $5,552($16) 231 013c 0000043C lui $4,%hi($LC18) 232 0140 0000000C jal printf 233 0144 00008424 addiu $4,$4,%lo($LC18) 234 179:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** printf(" ReservedCnt: %d\n", fat.reservedSectorCount); 235 .loc 1 179 0 236 0148 0402058E lw $5,516($16) 237 014c 0000043C lui $4,%hi($LC19) 238 0150 0000000C jal printf 239 0154 00008424 addiu $4,$4,%lo($LC19) 240 180:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** printf(" fstDataSec: %d\n", fat.firstDataSector); 241 .loc 1 180 0 242 0158 1802058E lw $5,536($16) 243 015c 0000043C lui $4,%hi($LC20) 244 0160 0000000C jal printf 245 0164 00008424 addiu $4,$4,%lo($LC20) 246 181:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** printf(" sectPerClus: %d\n", fat.sectorsPerCluster); 247 .loc 1 181 0 248 0168 0C02058E lw $5,524($16) 249 016c 0000043C lui $4,%hi($LC21) 250 0170 0000000C jal printf 251 0174 00008424 addiu $4,$4,%lo($LC21) 252 182:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** printf(" diskSize: %dK\n", (fat.sectorCount * fat.bytesPerSector) >> 10); 253 .loc 1 182 0 254 0178 0002028E lw $2,512($16) 255 017c 0802058E lw $5,520($16) 256 0180 0000043C lui $4,%hi($LC22)GAS LISTING /tmp/ccZKkRKo.s page 10 257 0184 00008424 addiu $4,$4,%lo($LC22) 258 0188 0228A270 mul $5,$5,$2 259 018c 0000000C jal printf 260 0190 822A0500 srl $5,$5,10 261 183:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** printf("-------------------------------\n"); 262 .loc 1 183 0 263 0194 0000043C lui $4,%hi($LC23) 264 0198 2000BF8F lw $31,32($sp) 265 019c 1C00B38F lw $19,28($sp) 266 01a0 1800B28F lw $18,24($sp) 267 01a4 1400B18F lw $17,20($sp) 268 01a8 1000B08F lw $16,16($sp) 269 01ac 00008424 addiu $4,$4,%lo($LC23) 270 01b0 00000008 j printf 271 01b4 2800BD27 addiu $sp,$sp,40 272 273 $L10: 274 .loc 1 162 0 275 01b8 BBFF6214 bne $3,$2,$L6 276 01bc 00000000 nop 277 278 .loc 1 166 0 279 01c0 0000043C lui $4,%hi($LC8) 280 01c4 0000000C jal printf 281 01c8 00008424 addiu $4,$4,%lo($LC8) 282 283 .loc 1 168 0 284 01cc 2B000008 j $L15 285 01d0 0000043C lui $4,%hi($LC9) 286 287 $L8: 288 .loc 1 165 0 289 01d4 0000043C lui $4,%hi($LC7) 290 .loc 1 166 0 291 01d8 0000000C jal printf 292 01dc 00008424 addiu $4,$4,%lo($LC7) 293 294 .loc 1 168 0 295 01e0 2B000008 j $L15 296 01e4 0000043C lui $4,%hi($LC9) 297 298 $L7: 299 .loc 1 164 0 300 01e8 0000043C lui $4,%hi($LC6) 301 .loc 1 166 0 302 01ec 0000000C jal printf 303 01f0 00008424 addiu $4,$4,%lo($LC6) 304 305 .loc 1 168 0 306 01f4 2B000008 j $L15 307 01f8 0000043C lui $4,%hi($LC9) 308 309 .set macro 310 .set reorder 311 $LFE2: 312 .end displayFATInfoGAS LISTING /tmp/ccZKkRKo.s page 11 313 .section .rodata.str1.4
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -