📄 bin.lst
字号:
GAS LISTING /tmp/ccKe3Yhi.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 26010000 .text 9 02008E00 9 00000101 9 FB0E0A00 9 01010101 10 $Ltext0: 11 .align 2 12 .ent binRead 13 .type binRead, @function 14 binRead: 15 $LFB2: 16 .file 1 "/mnt/hgfs/boot/booter/source/applications/booter/bin.c" 1:/mnt/hgfs/boot/booter/source/applications/booter/bin.c ****
2:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** #include "bin.h"
3:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** #include "fat.h"
4:/mnt/hgfs/boot/booter/source/applications/booter/bin.c ****
5:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** typedef struct BinImageInfo
6:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** {
7:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** unsigned int address;
8:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** unsigned int length;
9:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** } BinImageInfo;
10:/mnt/hgfs/boot/booter/source/applications/booter/bin.c ****
11:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** typedef struct BinRecordInfo
12:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** {
13:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** unsigned int address;
14:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** unsigned int length;
15:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** unsigned int checksum;
16:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** } BinRecordInfo;
17:/mnt/hgfs/boot/booter/source/applications/booter/bin.c ****
18:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** BinImageInfo imageInfo;
19:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** BinRecordInfo recordInfo;
20:/mnt/hgfs/boot/booter/source/applications/booter/bin.c ****
21:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** DataFunctions fileAccessFunctions;
22:/mnt/hgfs/boot/booter/source/applications/booter/bin.c ****
23:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** static int
24:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** binRead (void *buffer, int bytes)
25:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** {
17 .loc 1 25 0 18 .frame $sp,24,$31 # vars= 0, regs= 2/0, args= 16, gp= 0 19 .mask 0x80010000,-4 20 .fmask 0x00000000,0 21 .set noreorder 22 .set nomacro 23 26:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** int bytesRead = fileAccessFunctions.read(buffer, bytes);
24 .loc 1 26 0 25 0000 0000033C lui $3,%hi(fileAccessFunctions+8) 26 0004 0800628C lw $2,%lo(fileAccessFunctions+8)($3) 27 .loc 1 25 0GAS LISTING /tmp/ccKe3Yhi.s page 2 28 0008 E8FFBD27 addiu $sp,$sp,-24 29 $LCFI0: 30 000c 1400BFAF sw $31,20($sp) 31 $LCFI1: 32 .loc 1 25 0 33 $LCFI2: 34 .loc 1 26 0 35 0010 09F84000 jal $2 36 0014 1000B0AF sw $16,16($sp) 37 38 0018 21804000 move $16,$2 27:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** updateProgress(bytesRead);
39 .loc 1 27 0 40 001c 0000000C jal updateProgress 41 0020 21204000 move $4,$2 42 28:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** return bytesRead;
29:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** }
43 .loc 1 29 0 44 0024 21100002 move $2,$16 45 0028 1400BF8F lw $31,20($sp) 46 002c 1000B08F lw $16,16($sp) 47 0030 0800E003 j $31 48 0034 1800BD27 addiu $sp,$sp,24 49 50 .set macro 51 .set reorder 52 $LFE2: 53 .end binRead 54 .align 2 55 .globl isBin 56 .ent isBin 57 .type isBin, @function 58 isBin: 59 $LFB3: 30:/mnt/hgfs/boot/booter/source/applications/booter/bin.c ****
31:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** int isBin()
32:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** {
60 .loc 1 32 0 61 .frame $sp,32,$31 # vars= 8, regs= 2/0, args= 16, gp= 0 62 .mask 0x80010000,-4 63 .fmask 0x00000000,0 64 .set noreorder 65 .set nomacro 66 67 0038 E0FFBD27 addiu $sp,$sp,-32 68 $LCFI3: 33:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** char sync[7];
34:/mnt/hgfs/boot/booter/source/applications/booter/bin.c ****
35:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** return binRead(sync, 7) &&
69 .loc 1 35 0 70 003c 1000A427 addiu $4,$sp,16 71 0040 07000524 li $5,7 # 0x7 72 .loc 1 32 0 73 0044 1800B0AF sw $16,24($sp) 74 $LCFI4: 75 0048 1C00BFAF sw $31,28($sp)GAS LISTING /tmp/ccKe3Yhi.s page 3 76 $LCFI5: 77 .loc 1 35 0 78 004c 0000000C jal binRead 79 0050 21800000 move $16,$0 80 36:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** sync[0] == 'B' &&
37:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** sync[1] == '0' &&
38:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** sync[2] == '0' &&
39:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** sync[3] == '0' &&
40:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** sync[4] == 'F' &&
41:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** sync[5] == 'F' &&
42:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** sync[6] == '\n';
43:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** }
81 .loc 1 43 0 82 .loc 1 35 0 83 0054 06004010 beq $2,$0,$L6 84 0058 21100002 move $2,$16 85 86 005c 1000A383 lb $3,16($sp) 87 0060 42000224 li $2,66 # 0x42 88 0064 06006210 beq $3,$2,$L5 89 0068 1100A383 lb $3,17($sp) 90 91 $L3: 92 .loc 1 43 0 93 006c 21100002 move $2,$16 94 $L6: 95 0070 1C00BF8F lw $31,28($sp) 96 $L7: 97 0074 1800B08F lw $16,24($sp) 98 0078 0800E003 j $31 99 007c 2000BD27 addiu $sp,$sp,32 100 101 $L5: 102 .loc 1 35 0 103 0080 30000224 li $2,48 # 0x30 104 .loc 1 43 0 105 .loc 1 35 0 106 0084 FAFF6214 bne $3,$2,$L6 107 0088 21100002 move $2,$16 108 109 008c 1200A483 lb $4,18($sp) 110 .loc 1 43 0 111 .loc 1 35 0 112 0090 F8FF8314 bne $4,$3,$L7 113 0094 1C00BF8F lw $31,28($sp) 114 115 0098 1300A283 lb $2,19($sp) 116 .loc 1 43 0 117 .loc 1 35 0 118 009c F5FF4414 bne $2,$4,$L7 119 00a0 21100002 move $2,$16 120 121 00a4 1400A383 lb $3,20($sp) 122 00a8 46000224 li $2,70 # 0x46 123 .loc 1 43 0 124 .loc 1 35 0GAS LISTING /tmp/ccKe3Yhi.s page 4 125 00ac F1FF6214 bne $3,$2,$L7 126 00b0 21100002 move $2,$16 127 128 00b4 1500A283 lb $2,21($sp) 129 .loc 1 43 0 130 .loc 1 35 0 131 00b8 EEFF4314 bne $2,$3,$L7 132 00bc 21100002 move $2,$16 133 134 00c0 1600A283 lb $2,22($sp) 135 00c4 0A004238 xori $2,$2,0xa 136 00c8 1B000008 j $L3 137 00cc 0100502C sltu $16,$2,1 138 139 .set macro 140 .set reorder 141 $LFE3: 142 .end isBin 143 .section .rodata.str1.4,"aMS",@progbits,1 144 .align 2 145 $LC0: 146 0000 0A .ascii "\n" 147 0001 2D2D2D2D .ascii "-------------------------------\n\000" 147 2D2D2D2D 147 2D2D2D2D 147 2D2D2D2D 147 2D2D2D2D 148 0022 0000 .align 2 149 $LC1: 150 0024 496D6167 .ascii "Image Info:\n\000" 150 6520496E 150 666F3A0A 150 00 151 0031 000000 .align 2 152 $LC2: 153 0034 20416464 .ascii " Address: 0x%X\n\000" 153 72657373 153 3A203078 153 25580A00 154 .align 2 155 $LC3: 156 0044 20204C65 .ascii " Length: %d bytes\n\000" 156 6E677468 156 3A202564 156 20627974 156 65730A00 157 .align 2 158 $LC4: 159 0058 2D2D2D2D .ascii "-------------------------------\n\000" 159 2D2D2D2D 159 2D2D2D2D 159 2D2D2D2D 159 2D2D2D2D 160 .text 161 .align 2 162 .globl displayImageInfo 163 .ent displayImageInfoGAS LISTING /tmp/ccKe3Yhi.s page 5 164 .type displayImageInfo, @function 165 displayImageInfo: 166 $LFB4: 44:/mnt/hgfs/boot/booter/source/applications/booter/bin.c ****
45:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** void displayImageInfo()
46:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** {
167 .loc 1 46 0 168 .frame $sp,24,$31 # vars= 0, regs= 2/0, args= 16, gp= 0 169 .mask 0x80010000,-4 170 .fmask 0x00000000,0 171 .set noreorder 172 .set nomacro 173 47:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** printf("\n-------------------------------\n");
174 .loc 1 47 0 175 00d0 0000043C lui $4,%hi($LC0) 176 .loc 1 46 0 177 00d4 E8FFBD27 addiu $sp,$sp,-24 178 $LCFI6: 179 .loc 1 47 0 180 00d8 00008424 addiu $4,$4,%lo($LC0) 181 .loc 1 46 0 182 00dc 1400BFAF sw $31,20($sp) 183 $LCFI7: 184 .loc 1 46 0 185 $LCFI8: 186 .loc 1 47 0 187 00e0 0000000C jal printf 188 00e4 1000B0AF sw $16,16($sp) 189 48:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** printf("Image Info:\n");
190 .loc 1 48 0 191 00e8 0000043C lui $4,%hi($LC1) 192 00ec 00008424 addiu $4,$4,%lo($LC1) 49:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** printf(" Address: 0x%X\n", imageInfo.address);
193 .loc 1 49 0 194 .loc 1 48 0 195 00f0 0000000C jal printf 196 00f4 0000103C lui $16,%hi(imageInfo) 197 198 .loc 1 49 0 199 00f8 0000058E lw $5,%lo(imageInfo)($16) 200 00fc 0000043C lui $4,%hi($LC2) 201 0100 00008424 addiu $4,$4,%lo($LC2) 50:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** printf(" Length: %d bytes\n", imageInfo.length);
202 .loc 1 50 0 203 .loc 1 49 0 204 0104 0000000C jal printf 205 0108 00001026 addiu $16,$16,%lo(imageInfo) 206 207 .loc 1 50 0 208 010c 0400058E lw $5,4($16) 209 0110 0000043C lui $4,%hi($LC3) 210 0114 0000000C jal printf 211 0118 00008424 addiu $4,$4,%lo($LC3) 212 51:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** printf("-------------------------------\n");
GAS LISTING /tmp/ccKe3Yhi.s page 6 213 .loc 1 51 0 214 011c 0000043C lui $4,%hi($LC4) 215 0120 1400BF8F lw $31,20($sp) 216 0124 1000B08F lw $16,16($sp) 217 0128 00008424 addiu $4,$4,%lo($LC4) 218 012c 00000008 j printf 219 0130 1800BD27 addiu $sp,$sp,24 220 221 .set macro 222 .set reorder 223 $LFE4: 224 .end displayImageInfo 225 .section .rodata.str1.4 226 0079 000000 .align 2 227 $LC5: 228 007c 5265636F .ascii "Record Info:\n\000" 228 72642049 228 6E666F3A 228 0A00 229 008a 0000 .align 2 230 $LC6: 231 008c 20204164 .ascii " Address: 0x%X\n\000" 231 64726573 231 733A2030 231 7825580A 231 00 232 009d 000000 .align 2 233 $LC7: 234 00a0 2020204C .ascii " Length: %d bytes\n\000" 234 656E6774 234 683A2025 234 64206279 234 7465730A 235 00b5 000000 .align 2 236 $LC8: 237 00b8 20436865 .ascii " Checksum: %X\n\000" 237 636B7375 237 6D3A2025 237 580A00 238 .text 239 .align 2 240 .globl displayRecordInfo 241 .ent displayRecordInfo 242 .type displayRecordInfo, @function 243 displayRecordInfo: 244 $LFB5: 52:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** }
53:/mnt/hgfs/boot/booter/source/applications/booter/bin.c ****
54:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** void displayRecordInfo()
55:/mnt/hgfs/boot/booter/source/applications/booter/bin.c **** {
245 .loc 1 55 0 246 .frame $sp,24,$31 # vars= 0, regs= 2/0, args= 16, gp= 0 247 .mask 0x80010000,-4 248 .fmask 0x00000000,0 249 .set noreorder 250 .set nomacro
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -