📄 fat.lst
字号:
GAS LISTING /tmp/ccZKkRKo.s page 1 1 .section .mdebug.abi32 2 .previous 3 .section .debug_abbrev,"",@progbits 4 $Ldebug_abbrev0: 5 .section .debug_info,"",@progbits 6 $Ldebug_info0: 7 .section .debug_line,"",@progbits 8 $Ldebug_line0: 9 0000 E3020000 .text 9 0200B900 9 00000101 9 FB0E0A00 9 01010101 10 $Ltext0: 11 .section .rodata.str1.4,"aMS",@progbits,1 12 .align 2 13 $LC0: 14 0000 0A .ascii "\n" 15 0001 2D2D2D2D .ascii "-------------------------------\n\000" 15 2D2D2D2D 15 2D2D2D2D 15 2D2D2D2D 15 2D2D2D2D 16 0022 0000 .align 2 17 $LC1: 18 0024 46415420 .ascii "FAT Info:\n\000" 18 496E666F 18 3A0A00 19 002f 00 .align 2 20 $LC2: 21 0030 20202020 .ascii " OEMName: '\000" 21 204F454D 21 4E616D65 21 3A202700 22 .align 2 23 $LC3: 24 0040 256300 .ascii "%c\000" 25 0043 00 .align 2 26 $LC4: 27 0044 270A00 .ascii "'\n\000" 28 0047 00 .align 2 29 $LC5: 30 0048 20206669 .ascii " filesystem: \000" 30 6C657379 30 7374656D 30 3A2000 31 0057 00 .align 2 32 $LC9: 33 0058 0A00 .ascii "\n\000" 34 005a 0000 .align 2 35 $LC10: 36 005c 20207365 .ascii " sectorSize: %d\n\000" 36 63746F72 36 53697A65 36 3A202564 36 0A00 37 006e 0000 .align 2GAS LISTING /tmp/ccZKkRKo.s page 2 38 $LC11: 39 0070 20736563 .ascii " sectorCount: %d\n\000" 39 746F7243 39 6F756E74 39 3A202564 39 0A00 40 0082 0000 .align 2 41 $LC12: 42 0084 20636C75 .ascii " clusterSize: %d\n\000" 42 73746572 42 53697A65 42 3A202564 42 0A00 43 0096 0000 .align 2 44 $LC13: 45 0098 2020636C .ascii " clusterCnt: %d\n\000" 45 75737465 45 72436E74 45 3A202564 45 0A00 46 00aa 0000 .align 2 47 $LC14: 48 00ac 20425042 .ascii " BPB_NumFATs: %d\n\000" 48 5F4E756D 48 46415473 48 3A202564 48 0A00 49 00be 0000 .align 2 50 $LC15: 51 00c0 20202020 .ascii " fatSize: %d\n\000" 51 20666174 51 53697A65 51 3A202564 51 0A00 52 00d2 0000 .align 2 53 $LC16: 54 00d4 206E756D .ascii " numRootDirE: %d\n\000" 54 526F6F74 54 44697245 54 3A202564 54 0A00 55 00e6 0000 .align 2 56 $LC17: 57 00e8 20646972 .ascii " dirEPerSect: %d\n\000" 57 45506572 57 53656374 57 3A202564 57 0A00 58 00fa 0000 .align 2 59 $LC18: 60 00fc 20736563 .ascii " sectorsRoot: %d\n\000" 60 746F7273 60 526F6F74 60 3A202564 60 0A00 61 010e 0000 .align 2 62 $LC19:GAS LISTING /tmp/ccZKkRKo.s page 3 63 0110 20526573 .ascii " ReservedCnt: %d\n\000" 63 65727665 63 64436E74 63 3A202564 63 0A00 64 0122 0000 .align 2 65 $LC20: 66 0124 20206673 .ascii " fstDataSec: %d\n\000" 66 74446174 66 61536563 66 3A202564 66 0A00 67 0136 0000 .align 2 68 $LC21: 69 0138 20736563 .ascii " sectPerClus: %d\n\000" 69 74506572 69 436C7573 69 3A202564 69 0A00 70 014a 0000 .align 2 71 $LC22: 72 014c 20202020 .ascii " diskSize: %dK\n\000" 72 6469736B 72 53697A65 72 3A202564 72 4B0A00 73 015f 00 .align 2 74 $LC23: 75 0160 2D2D2D2D .ascii "-------------------------------\n\000" 75 2D2D2D2D 75 2D2D2D2D 75 2D2D2D2D 75 2D2D2D2D 76 0181 000000 .align 2 77 $LC8: 78 0184 46415433 .ascii "FAT32\000" 78 3200 79 018a 0000 .align 2 80 $LC7: 81 018c 46415431 .ascii "FAT16\000" 81 3600 82 0192 0000 .align 2 83 $LC6: 84 0194 46415431 .ascii "FAT12\000" 84 3200 85 .text 86 .align 2 87 .globl displayFATInfo 88 .ent displayFATInfo 89 .type displayFATInfo, @function 90 displayFATInfo: 91 $LFB2: 92 .file 1 "/mnt/hgfs/boot/booter/source/applications/booter/fat.c" 1:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** /* 2:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** * NOTE: This code derived from information obtained from the Microsoft 3:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** * FAT specification v1.03. The code also uses Microsoft names wherever 4:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** * possible.GAS LISTING /tmp/ccZKkRKo.s page 4 5:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** * 6:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** * 7:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** * 0 Boot Sector 8:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** * 1 FAT0 9:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** * x ... 10:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** * FATn 11:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** * ... 12:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** * y Root Dir Entries 13:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** * ... 14:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** * z Clusters for Data/Dir Entries 15:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** * ... 16:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** * 17:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** * 18:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 19:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** */ 20:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** #include "fat.h" 21:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** #include "example.h" 22:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** #include "partition.h" 23:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** #include "util.h" 24:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 25:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** typedef struct FATBootSector 26:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** { 27:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** int8 BS_jmpBoot[3]; 28:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** int8 BS_OEMName[8]; 29:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint8 BPB_BytsPerSec[2]; 30:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint8 BPB_SecPerClus; 31:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint8 BPB_RsvdSecCnt[2]; 32:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint8 BPB_NumFATs; 33:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint8 BPB_RootEntCnt[2]; 34:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint8 BPB_TotSec16[2]; 35:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint8 BPB_Media; 36:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint8 BPB_FATSz16[2]; 37:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint16 BPB_SecPerTrk; 38:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint16 BPB_NumHeads; 39:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint8 BPB_HiddSec[4]; 40:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint8 BPB_TotSec32[4]; 41:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 42:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** union 43:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** { 44:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** struct 45:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** { 46:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint8 BS_DrvNum; 47:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint8 BS_Reserved1; 48:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint8 BS_BootSig; 49:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint8 BS_VolID[4]; 50:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint8 BS_VolLab[11]; 51:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint8 BS_FilSysType[8]; 52:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** } fat16; 53:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 54:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** struct 55:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** { 56:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint8 BPB_FATSz32[4]; 57:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint8 BPB_ExtFlags[2]; 58:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint8 BPB_FSVer[2]; 59:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint8 BPB_RootClus[4]; 60:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint8 BPB_FSInfo[2]; 61:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint8 BPB_BkBootSec[2];GAS LISTING /tmp/ccZKkRKo.s page 5 62:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint8 BPB_Reserved[12]; 63:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint8 BS_DrvNum; 64:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint8 BS_Reserved1; 65:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint8 BS_BootSig; 66:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint8 BS_VolID[4]; 67:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint8 BS_VolLab[11]; 68:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint8 BS_FilSysType[8]; 69:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** } fat32; 70:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 71:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint8 padding[474]; /* to make final size exactly 512 */ 72:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** } u; 73:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 74:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint8 offset510; 75:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint8 offset511; 76:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 77:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** } FATBootSector; 78:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 79:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** typedef struct FATDirEntry { 80:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint8 name[8],ext[3]; /* name and extension */ 81:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint8 attr; /* attribute bits */ 82:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint8 lcase; /* Case for base and extension */ 83:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint8 ctime_ms; /* Creation time, milliseconds */ 84:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint16 ctime; /* Creation time */ 85:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint16 cdate; /* Creation date */ 86:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint16 adate; /* Last access date */ 87:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint16 starthi; /* High 16 bits of cluster in FAT32 */ 88:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint16 time,date,start;/* time, date and first cluster */ 89:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** uint32 size; /* file size (in bytes) */ 90:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** } FATDirEntry; 91:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 92:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** enum FATType 93:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** { 94:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** UNKNOWN, 95:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** FAT12, 96:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** FAT16, 97:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** FAT32 98:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** }; 99:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 100:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** char fatTableCache[4096]; 101:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** int fatCachedSector; 102:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** DiskFunctions fatDiskFunctions; 103:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 104:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** /********************************************************************/ 105:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** /* 106:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** * Structure for managing FAT filesystem 107:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** */ 108:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** struct FATInfo 109:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** { 110:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** FATBootSector fbs; 111:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 112:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** int bytesPerSector; 113:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** int reservedSectorCount; 114:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** unsigned int sectorCount; 115:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 116:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 117:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** int sectorsPerCluster; 118:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** int clusterSize;GAS LISTING /tmp/ccZKkRKo.s page 6
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -