?? image.lst
字號(hào):
GAS LISTING /tmp/ccV0E4Hl.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 DF000000 .text 9 0200AE00 9 00000101 9 FB0E0A00 9 01010101 10 $Ltext0: 11 .align 2 12 .globl image_is_valid 13 .ent image_is_valid 14 .type image_is_valid, @function 15 image_is_valid: 16 $LFB3: 17 .file 1 "/mnt/hgfs/boot/booter/source/image.c" 1:/mnt/hgfs/boot/booter/source/image.c **** 2:/mnt/hgfs/boot/booter/source/image.c **** #include "example.h" 3:/mnt/hgfs/boot/booter/source/image.c **** #include "image.h" 4:/mnt/hgfs/boot/booter/source/image.c **** 5:/mnt/hgfs/boot/booter/source/image.c **** int image_is_valid(IMAGE* image) 6:/mnt/hgfs/boot/booter/source/image.c **** { 18 .loc 1 6 0 19 .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 20 .mask 0x00000000,0 21 .fmask 0x00000000,0 22 .set noreorder 23 .set nomacro 24 7:/mnt/hgfs/boot/booter/source/image.c **** return image->info.signature == IMAGE_SIGNATURE; 25 .loc 1 7 0 26 0000 0000828C lw $2,0($4) 27 0004 0800033C li $3,524288 # 0x80000 28 0008 44156334 ori $3,$3,0x1544 29 000c 26104300 xor $2,$2,$3 8:/mnt/hgfs/boot/booter/source/image.c **** } 30 .loc 1 8 0 31 0010 0800E003 j $31 32 0014 0100422C sltu $2,$2,1 33 34 .set macro 35 .set reorder 36 $LFE3: 37 .end image_is_valid 38 .align 2 39 .globl image_get_next 40 .ent image_get_next 41 .type image_get_next, @function 42 image_get_next: 43 $LFB4: 9:/mnt/hgfs/boot/booter/source/image.c **** 10:/mnt/hgfs/boot/booter/source/image.c **** IMAGE* image_get_next(IMAGE* image)GAS LISTING /tmp/ccV0E4Hl.s page 2 11:/mnt/hgfs/boot/booter/source/image.c **** { 44 .loc 1 11 0 45 .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 46 .mask 0x00000000,0 47 .fmask 0x00000000,0 48 .set noreorder 49 .set nomacro 50 12:/mnt/hgfs/boot/booter/source/image.c **** uint32 bytes = (image->info.width * image->info.height * image->info.pixel_info.memory_width) / 8; 51 .loc 1 12 0 52 0018 6C00838C lw $3,108($4) 53 001c 6800828C lw $2,104($4) 54 0020 7C00868C lw $6,124($4) 13:/mnt/hgfs/boot/booter/source/image.c **** uint32 address = (uint32) &image->pixel_data; 55 .loc 1 13 0 56 0024 00018424 addiu $4,$4,256 57 .loc 1 12 0 58 0028 02104370 mul $2,$2,$3 59 002c 02104670 mul $2,$2,$6 60 0030 07004524 addiu $5,$2,7 61 0034 00004328 slt $3,$2,0 62 0038 0B10A300 movn $2,$5,$3 63 003c C3100200 sra $2,$2,3 14:/mnt/hgfs/boot/booter/source/image.c **** 15:/mnt/hgfs/boot/booter/source/image.c **** address += bytes; 16:/mnt/hgfs/boot/booter/source/image.c **** 17:/mnt/hgfs/boot/booter/source/image.c **** return (IMAGE*) address; 18:/mnt/hgfs/boot/booter/source/image.c **** } 64 .loc 1 18 0 65 0040 0800E003 j $31 66 0044 21108200 addu $2,$4,$2 67 68 .set macro 69 .set reorder 70 $LFE4: 71 .end image_get_next 72 .align 2 73 .globl image_compare_name 74 .ent image_compare_name 75 .type image_compare_name, @function 76 image_compare_name: 77 $LFB5: 19:/mnt/hgfs/boot/booter/source/image.c **** 20:/mnt/hgfs/boot/booter/source/image.c **** BOOL image_compare_name(char* name1, char* name2) 21:/mnt/hgfs/boot/booter/source/image.c **** { 78 .loc 1 21 0 79 .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 80 .mask 0x00000000,0 81 .fmask 0x00000000,0 82 .set noreorder 83 .set nomacro 84 22:/mnt/hgfs/boot/booter/source/image.c **** for(; *name1 != 0 && *name2 != 0; ++name1, ++name2) 85 .loc 1 22 0 86 0048 00008290 lbu $2,0($4) 87 004c 001E0200 sll $3,$2,24 88 0050 031E0300 sra $3,$3,24GAS LISTING /tmp/ccV0E4Hl.s page 3 89 0054 10006010 beq $3,$0,$L6 90 0058 00000000 nop 91 92 005c 0000A780 lb $7,0($5) 23:/mnt/hgfs/boot/booter/source/image.c **** { 24:/mnt/hgfs/boot/booter/source/image.c **** if(*name1 != *name2) 25:/mnt/hgfs/boot/booter/source/image.c **** return FALSE; 26:/mnt/hgfs/boot/booter/source/image.c **** } 27:/mnt/hgfs/boot/booter/source/image.c **** 28:/mnt/hgfs/boot/booter/source/image.c **** return (*name1 == 0 && *name2 == 0); 93 .loc 1 28 0 94 .loc 1 22 0 95 0060 0E00E010 beq $7,$0,$L14 96 0064 00160200 sll $2,$2,24 97 98 0068 21306000 move $6,$3 99 006c 2118E000 move $3,$7 100 $L9: 101 .loc 1 24 0 102 0070 1100C314 bne $6,$3,$L13 103 0074 01008424 addiu $4,$4,1 104 105 .loc 1 22 0 106 0078 00008290 lbu $2,0($4) 107 007c 00360200 sll $6,$2,24 108 0080 03360600 sra $6,$6,24 109 0084 0400C010 beq $6,$0,$L6 110 0088 0100A524 addiu $5,$5,1 111 112 008c 0000A380 lb $3,0($5) 113 0090 F7FF6014 bne $3,$0,$L9 114 0094 00000000 nop 115 116 $L6: 117 .loc 1 28 0 118 0098 00160200 sll $2,$2,24 119 $L14: 120 009c 03160200 sra $2,$2,24 121 00a0 03004014 bne $2,$0,$L10 122 00a4 21180000 move $3,$0 123 124 00a8 0000A280 lb $2,0($5) 125 00ac 0100432C sltu $3,$2,1 126 $L10: 29:/mnt/hgfs/boot/booter/source/image.c **** } 127 .loc 1 29 0 128 00b0 0800E003 j $31 129 00b4 21106000 move $2,$3 130 131 $L13: 132 .loc 1 25 0 133 00b8 0800E003 j $31 134 00bc 21100000 move $2,$0 135 136 .set macro 137 .set reorder 138 $LFE5:GAS LISTING /tmp/ccV0E4Hl.s page 4 139 .end image_compare_name 140 .align 2 141 .globl image_find 142 .ent image_find 143 .type image_find, @function 144 image_find: 145 $LFB6: 30:/mnt/hgfs/boot/booter/source/image.c **** 31:/mnt/hgfs/boot/booter/source/image.c **** IMAGE* image_find(IMAGE* start_image, char* image_name) 32:/mnt/hgfs/boot/booter/source/image.c **** { 146 .loc 1 32 0 147 .frame $sp,32,$31 # vars= 0, regs= 3/0, args= 16, gp= 0 148 .mask 0x80030000,-8 149 .fmask 0x00000000,0 150 .set noreorder 151 .set nomacro 152 153 00c0 E0FFBD27 addiu $sp,$sp,-32 154 $LCFI0: 155 00c4 1400B1AF sw $17,20($sp) 156 $LCFI1: 157 00c8 1000B0AF sw $16,16($sp) 158 $LCFI2: 159 00cc 1800BFAF sw $31,24($sp) 160 $LCFI3: 161 .loc 1 32 0 162 00d0 21808000 move $16,$4 163 00d4 3E000008 j $L16 164 00d8 2188A000 move $17,$5 165 166 $L20: 33:/mnt/hgfs/boot/booter/source/image.c **** DPRINTF("Resource Start: %X, Image Name: %s\n", start_image, image_name); 34:/mnt/hgfs/boot/booter/source/image.c **** for(; image_is_valid(start_image); start_image = image_get_next(start_image)) 35:/mnt/hgfs/boot/booter/source/image.c **** { 36:/mnt/hgfs/boot/booter/source/image.c **** if(image_compare_name(image_name, start_image->info.description)) 167 .loc 1 36 0 168 00dc 0000000C jal image_compare_name 169 00e0 00000000 nop 170 171 .loc 1 34 0 172 .loc 1 36 0 173 00e4 0E004014 bne $2,$0,$L21 174 00e8 21200002 move $4,$16 175 176 .loc 1 34 0 177 00ec 0000000C jal image_get_next 178 00f0 00000000 nop 179 180 00f4 21804000 move $16,$2 181 $L16: 182 00f8 0000000C jal image_is_valid 183 00fc 21200002 move $4,$16 184 185 .loc 1 36 0 186 0100 04000526 addiu $5,$16,4 187 .loc 1 34 0 188 0104 F5FF4014 bne $2,$0,$L20GAS LISTING /tmp/ccV0E4Hl.s page 5 189 0108 21202002 move $4,$17 190 37:/mnt/hgfs/boot/booter/source/image.c **** { 38:/mnt/hgfs/boot/booter/source/image.c **** DPRINTF("Image %s: %X\n", image_name, start_image); 39:/mnt/hgfs/boot/booter/source/image.c **** return start_image; 40:/mnt/hgfs/boot/booter/source/image.c **** } 41:/mnt/hgfs/boot/booter/source/image.c **** } 42:/mnt/hgfs/boot/booter/source/image.c **** 43:/mnt/hgfs/boot/booter/source/image.c **** return NULL; 44:/mnt/hgfs/boot/booter/source/image.c **** } 191 .loc 1 44 0 192 010c 1800BF8F lw $31,24($sp) 193 0110 1400B18F lw $17,20($sp) 194 0114 1000B08F lw $16,16($sp) 195 0118 0800E003 j $31 196 011c 2000BD27 addiu $sp,$sp,32 197 198 $L21: 199 .loc 1 39 0 200 0120 21100002 move $2,$16 201 .loc 1 44 0 202 0124 1800BF8F lw $31,24($sp) 203 0128 1400B18F lw $17,20($sp) 204 012c 1000B08F lw $16,16($sp) 205 0130 0800E003 j $31 206 0134 2000BD27 addiu $sp,$sp,32 207 208 .set macro 209 .set reorder 210 $LFE6: 211 .end image_find 212 .section .debug_frame,"",@progbits 213 $Lframe0: 214 0000 0C000000 .4byte $LECIE0-$LSCIE0 215 $LSCIE0: 216 0004 FFFFFFFF .4byte 0xffffffff 217 0008 01 .byte 0x1 218 0009 00 .ascii "\000" 219 000a 01 .uleb128 0x1 220 000b 04 .sleb128 4 221 000c 1F .byte 0x1f 222 000d 0C .byte 0xc 223 000e 1D .uleb128 0x1d 224 000f 00 .uleb128 0x0 225 .align 2 226 $LECIE0: 227 $LSFDE0: 228 0010 0C000000 .4byte $LEFDE0-$LASFDE0 229 $LASFDE0: 230 0014 00000000 .4byte $Lframe0 231 0018 00000000 .4byte $LFB3 232 001c 18000000 .4byte $LFE3-$LFB3 233 .align 2 234 $LEFDE0: 235 $LSFDE2: 236 0020 0C000000 .4byte $LEFDE2-$LASFDE2 237 $LASFDE2:GAS LISTING /tmp/ccV0E4Hl.s page 6 238 0024 00000000 .4byte $Lframe0 239 0028 18000000 .4byte $LFB4 240 002c 30000000 .4byte $LFE4-$LFB4 241 .align 2 242 $LEFDE2: 243 $LSFDE4: 244 0030 0C000000 .4byte $LEFDE4-$LASFDE4 245 $LASFDE4: 246 0034 00000000 .4byte $Lframe0 247 0038 48000000 .4byte $LFB5 248 003c 78000000 .4byte $LFE5-$LFB5 249 .align 2 250 $LEFDE4: 251 $LSFDE6: 252 0040 1C000000 .4byte $LEFDE6-$LASFDE6 253 $LASFDE6: 254 0044 00000000 .4byte $Lframe0 255 0048 C0000000 .4byte $LFB6 256 004c 78000000 .4byte $LFE6-$LFB6 257 0050 44 .byte 0x4 258 .4byte $LCFI0-$LFB6 259 0051 0E .byte 0xe 260 0052 20 .uleb128 0x20 261 0053 4C .byte 0x4 262 .4byte $LCFI3-$LCFI0 263 0054 11 .byte 0x11 264 0055 1F .uleb128 0x1f 265 0056 7E .sleb128 -2 266 0057 11 .byte 0x11 267 0058 10 .uleb128 0x10 268 0059 7C .sleb128 -4 269 005a 11 .byte 0x11 270 005b 11 .uleb128 0x11 271 005c 7D .sleb128 -3 272 005d 000000 .align 2 273 $LEFDE6: 274 .align 0 275 .file 2 "/mnt/hgfs/boot/booter/include/image.h" 276 .file 3 "/mnt/hgfs/boot/booter/include/pixel.h" 277 .file 4 "/mnt/hgfs/boot/booter/include/example.h" 278 .file 5 "/mnt/hgfs/boot/booter/platforms/DB1200/platform.h" 279 .text 280 $Letext0: 281 0138 00000000 .section .debug_info 281 00000000 282 0000 E9030000 .4byte 0x3e9 283 0004 0200 .2byte 0x2 284 0006 00000000 .4byte $Ldebug_abbrev0 285 000a 04 .byte 0x4 286 000b 01 .uleb128 0x1 287 000c 00000000 .4byte $Ldebug_line0 288 0010 38010000 .4byte $Letext0 289 0014 00000000 .4byte $Ltext0 290 0018 12020000 .4byte $LASF68 291 001c 01 .byte 0x1 292 001d AF010000 .4byte $LASF69 293 0021 02 .uleb128 0x2GAS LISTING /tmp/ccV0E4Hl.s page 7 294 0022 E4020000 .4byte $LASF0 295 0026 01 .byte 0x1 296 0027 06 .byte 0x6 297 0028 02 .uleb128 0x2 298 0029 30020000 .4byte $LASF1 299 002d 02 .byte 0x2 300 002e 05 .byte 0x5 301 002f 03 .uleb128 0x3 302 0030 696E7400 .ascii "int\000" 303 0034 04 .byte 0x4 304 0035 05 .byte 0x5 305 0036 02 .uleb128 0x2 306 0037 C5020000 .4byte $LASF2 307 003b 01 .byte 0x1 308 003c 08 .byte 0x8 309 003d 02 .uleb128 0x2 310 003e F0020000 .4byte $LASF3 311 0042 02 .byte 0x2 312 0043 07 .byte 0x7
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -