?? progress.lst
字號:
GAS LISTING /tmp/ccBrAgbZ.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 8B000000 .text 9 02003B00 9 00000101 9 FB0E0A00 9 01010101 10 $Ltext0: 11 .globl progress 12 .data 13 .align 2 14 .type progress, @object 15 .size progress, 12 16 progress: 17 0000 00 .byte 0 18 0001 00 .byte 0 19 0002 0000 .space 2 20 0004 28000000 .word 40 21 0008 88130000 .word 5000 22 .local progress_bytes 23 .comm progress_bytes,4,4 24 .local progress_count 25 .comm progress_count,4,4 26 000c 00000000 .text 27 .align 2 28 .globl progress_configure 29 .ent progress_configure 30 .type progress_configure, @function 31 progress_configure: 32 $LFB2: 33 .file 1 "/mnt/hgfs/boot/booter/source/progress.c" 1:/mnt/hgfs/boot/booter/source/progress.c **** 2:/mnt/hgfs/boot/booter/source/progress.c **** typedef struct 3:/mnt/hgfs/boot/booter/source/progress.c **** { 4:/mnt/hgfs/boot/booter/source/progress.c **** char progress_char; 5:/mnt/hgfs/boot/booter/source/progress.c **** char line_prepend; 6:/mnt/hgfs/boot/booter/source/progress.c **** int chars_per_line; 7:/mnt/hgfs/boot/booter/source/progress.c **** int bytes_per_char; 8:/mnt/hgfs/boot/booter/source/progress.c **** } PROGRESS; 9:/mnt/hgfs/boot/booter/source/progress.c **** 10:/mnt/hgfs/boot/booter/source/progress.c **** PROGRESS progress = 11:/mnt/hgfs/boot/booter/source/progress.c **** { 12:/mnt/hgfs/boot/booter/source/progress.c **** 0, 13:/mnt/hgfs/boot/booter/source/progress.c **** 0, 14:/mnt/hgfs/boot/booter/source/progress.c **** 40, 15:/mnt/hgfs/boot/booter/source/progress.c **** 5000 16:/mnt/hgfs/boot/booter/source/progress.c **** }; 17:/mnt/hgfs/boot/booter/source/progress.c **** 18:/mnt/hgfs/boot/booter/source/progress.c **** static int progress_count = 0; 19:/mnt/hgfs/boot/booter/source/progress.c **** static int progress_bytes = 0; 20:/mnt/hgfs/boot/booter/source/progress.c **** GAS LISTING /tmp/ccBrAgbZ.s page 2 21:/mnt/hgfs/boot/booter/source/progress.c **** //Routine to setup status output 22:/mnt/hgfs/boot/booter/source/progress.c **** void progress_configure(char progress_char, char line_prepend, int chars_per_line, int bytes_per_ch 23:/mnt/hgfs/boot/booter/source/progress.c **** { 34 .loc 1 23 0 35 .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 36 .mask 0x00000000,0 37 .fmask 0x00000000,0 38 .set noreorder 39 .set nomacro 40 24:/mnt/hgfs/boot/booter/source/progress.c **** progress.progress_char = progress_char; 41 .loc 1 24 0 42 0000 0000033C lui $3,%hi(progress) 25:/mnt/hgfs/boot/booter/source/progress.c **** progress.line_prepend = line_prepend; 43 .loc 1 25 0 44 0004 00006224 addiu $2,$3,%lo(progress) 26:/mnt/hgfs/boot/booter/source/progress.c **** progress.chars_per_line = chars_per_line; 27:/mnt/hgfs/boot/booter/source/progress.c **** progress.bytes_per_char = bytes_per_char; 45 .loc 1 27 0 46 0008 080047AC sw $7,8($2) 47 .loc 1 24 0 48 000c 000064A0 sb $4,%lo(progress)($3) 49 .loc 1 25 0 50 0010 010045A0 sb $5,1($2) 51 .loc 1 26 0 52 .loc 1 27 0 53 0014 0800E003 j $31 54 0018 040046AC sw $6,4($2) 55 56 .set macro 57 .set reorder 58 $LFE2: 59 .end progress_configure 60 .section .rodata.str1.4,"aMS",@progbits,1 61 .align 2 62 $LC1: 63 0000 256300 .ascii "%c\000" 64 0003 00 .align 2 65 $LC0: 66 0004 0A00 .ascii "\n\000" 67 0006 0000 .text 68 .align 2 69 .globl progress_update 70 .ent progress_update 71 .type progress_update, @function 72 progress_update: 73 $LFB3: 28:/mnt/hgfs/boot/booter/source/progress.c **** } 29:/mnt/hgfs/boot/booter/source/progress.c **** 30:/mnt/hgfs/boot/booter/source/progress.c **** void progress_update(int bytes) 31:/mnt/hgfs/boot/booter/source/progress.c **** { 74 .loc 1 31 0 75 .frame $sp,48,$31 # vars= 0, regs= 8/0, args= 16, gp= 0 76 .mask 0x807f0000,-4 77 .fmask 0x00000000,0 78 .set noreorder 79 .set nomacroGAS LISTING /tmp/ccBrAgbZ.s page 3 80 81 001c D0FFBD27 addiu $sp,$sp,-48 82 $LCFI0: 83 0020 1400B1AF sw $17,20($sp) 84 $LCFI1: 32:/mnt/hgfs/boot/booter/source/progress.c **** progress_bytes += bytes; 85 .loc 1 32 0 86 0024 0000113C lui $17,%hi(progress_bytes) 87 .loc 1 31 0 88 0028 1800B2AF sw $18,24($sp) 89 $LCFI2: 90 .loc 1 32 0 91 002c 0000228E lw $2,%lo(progress_bytes)($17) 92 .loc 1 31 0 93 0030 2C00BFAF sw $31,44($sp) 94 $LCFI3: 95 0034 2800B6AF sw $22,40($sp) 96 $LCFI4: 97 0038 2400B5AF sw $21,36($sp) 98 $LCFI5: 99 003c 2000B4AF sw $20,32($sp) 100 $LCFI6: 101 0040 1C00B3AF sw $19,28($sp) 102 $LCFI7: 103 0044 1000B0AF sw $16,16($sp) 104 $LCFI8: 33:/mnt/hgfs/boot/booter/source/progress.c **** if(progress.progress_char) 105 .loc 1 33 0 106 0048 0000123C lui $18,%hi(progress) 107 004c 00004382 lb $3,%lo(progress)($18) 108 .loc 1 32 0 109 0050 21204400 addu $4,$2,$4 110 .loc 1 33 0 111 0054 38006010 beq $3,$0,$L2 112 0058 000024AE sw $4,%lo(progress_bytes)($17) 113 34:/mnt/hgfs/boot/booter/source/progress.c **** { 35:/mnt/hgfs/boot/booter/source/progress.c **** while(progress_bytes >= progress.bytes_per_char) 36:/mnt/hgfs/boot/booter/source/progress.c **** { 37:/mnt/hgfs/boot/booter/source/progress.c **** if(progress_count && (progress_count % progress.chars_per_line == 0)) 38:/mnt/hgfs/boot/booter/source/progress.c **** { 39:/mnt/hgfs/boot/booter/source/progress.c **** printf("\n"); 40:/mnt/hgfs/boot/booter/source/progress.c **** if(progress.line_prepend) 41:/mnt/hgfs/boot/booter/source/progress.c **** printf("%c", progress.line_prepend); 42:/mnt/hgfs/boot/booter/source/progress.c **** } 43:/mnt/hgfs/boot/booter/source/progress.c **** 44:/mnt/hgfs/boot/booter/source/progress.c **** printf("%c", progress.progress_char); 45:/mnt/hgfs/boot/booter/source/progress.c **** progress_bytes -= progress.bytes_per_char; 46:/mnt/hgfs/boot/booter/source/progress.c **** progress_count++; 114 .loc 1 46 0 115 005c 00004326 addiu $3,$18,%lo(progress) 116 0060 0800628C lw $2,8($3) 117 0064 2A108200 slt $2,$4,$2 118 0068 33004014 bne $2,$0,$L2 119 006c 21986000 move $19,$3 120 121 0070 0000103C lui $16,%hi(progress_count)GAS LISTING /tmp/ccBrAgbZ.s page 4 122 0074 0000143C lui $20,%hi($LC1) 123 0078 0000163C lui $22,%hi($LC0) 124 007c 2E000008 j $L8 125 0080 21A86000 move $21,$3 126 127 $L6: 128 $LBB2: 129 .loc 1 44 0 130 0084 00004582 lb $5,%lo(progress)($18) 131 $L11: 132 0088 00008426 addiu $4,$20,%lo($LC1) 133 .loc 1 46 0 134 .loc 1 44 0 135 008c 0000000C jal printf 136 0090 0000123C lui $18,%hi(progress) 137 138 .loc 1 45 0 139 0094 0000238E lw $3,%lo(progress_bytes)($17) 140 0098 0800A48E lw $4,8($21) 141 .loc 1 46 0 142 009c 0400028E lw $2,%lo(progress_count)($16) 143 .loc 1 45 0 144 00a0 23186400 subu $3,$3,$4 145 .loc 1 46 0 146 00a4 01004224 addiu $2,$2,1 147 $LBE2: 148 00a8 2A206400 slt $4,$3,$4 149 $LBB3: 150 00ac 040002AE sw $2,%lo(progress_count)($16) 151 $LBE3: 152 .loc 1 45 0 153 .loc 1 46 0 154 00b0 21008014 bne $4,$0,$L2 155 00b4 000023AE sw $3,%lo(progress_bytes)($17) 156 157 $L8: 158 $LBB4: 159 .loc 1 37 0 160 00b8 0400038E lw $3,%lo(progress_count)($16) 161 .loc 1 44 0 162 .loc 1 37 0 163 00bc F2FF6010 beq $3,$0,$L11 164 00c0 00004582 lb $5,%lo(progress)($18) 165 166 00c4 0400628E lw $2,4($19) 167 00c8 1A006200 div $0,$3,$2 168 00cc 02004014 bne $2,$0,1f 169 00d0 00000000 nop 170 00d4 0D000700 break 7 171 1: 172 00d8 10180000 mfhi $3 173 .loc 1 39 0 174 .loc 1 37 0 175 00dc EAFF6014 bne $3,$0,$L11 176 00e0 0000C426 addiu $4,$22,%lo($LC0) 177 178 $LBB5:GAS LISTING /tmp/ccBrAgbZ.s page 5 179 .loc 1 39 0 180 00e4 0000000C jal printf 181 00e8 00000000 nop 182 183 .loc 1 40 0 184 00ec 01006382 lb $3,1($19) 185 .loc 1 41 0 186 00f0 00008426 addiu $4,$20,%lo($LC1) 187 .loc 1 40 0 188 00f4 E3FF6010 beq $3,$0,$L6 189 00f8 21286000 move $5,$3 190 191 .loc 1 41 0 192 00fc 0000000C jal printf 193 0100 00000000 nop 194 195 $LBE5: 196 .loc 1 44 0 197 0104 00004582 lb $5,%lo(progress)($18) 198 0108 00008426 addiu $4,$20,%lo($LC1) 199 .loc 1 46 0 200 .loc 1 44 0 201 010c 0000000C jal printf 202 0110 0000123C lui $18,%hi(progress) 203 204 .loc 1 45 0 205 0114 0000238E lw $3,%lo(progress_bytes)($17) 206 0118 0800A48E lw $4,8($21) 207 .loc 1 46 0 208 011c 0400028E lw $2,%lo(progress_count)($16) 209 .loc 1 45 0 210 0120 23186400 subu $3,$3,$4 211 .loc 1 46 0 212 0124 01004224 addiu $2,$2,1 213 $LBE4: 214 0128 2A206400 slt $4,$3,$4 215 $LBB6: 216 012c 040002AE sw $2,%lo(progress_count)($16) 217 $LBE6: 218 .loc 1 45 0 219 .loc 1 46 0 220 0130 E1FF8010 beq $4,$0,$L8 221 0134 000023AE sw $3,%lo(progress_bytes)($17) 222 223 $L2: 47:/mnt/hgfs/boot/booter/source/progress.c **** } 48:/mnt/hgfs/boot/booter/source/progress.c **** } 49:/mnt/hgfs/boot/booter/source/progress.c **** } 224 .loc 1 49 0 225 0138 2C00BF8F lw $31,44($sp) 226 013c 2800B68F lw $22,40($sp) 227 0140 2400B58F lw $21,36($sp) 228 0144 2000B48F lw $20,32($sp) 229 0148 1C00B38F lw $19,28($sp) 230 014c 1800B28F lw $18,24($sp) 231 0150 1400B18F lw $17,20($sp) 232 0154 1000B08F lw $16,16($sp)GAS LISTING /tmp/ccBrAgbZ.s page 6 233 0158 0800E003 j $31 234 015c 3000BD27 addiu $sp,$sp,48 235 236 .set macro 237 .set reorder 238 $LFE3: 239 .end progress_update 240 .align 2 241 .globl progress_start 242 .ent progress_start 243 .type progress_start, @function 244 progress_start: 245 $LFB4: 50:/mnt/hgfs/boot/booter/source/progress.c **** 51:/mnt/hgfs/boot/booter/source/progress.c **** void progress_start() 52:/mnt/hgfs/boot/booter/source/progress.c **** { 246 .loc 1 52 0 247 .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 248 .mask 0x00000000,0 249 .fmask 0x00000000,0 250 .set noreorder 251 .set nomacro 252 53:/mnt/hgfs/boot/booter/source/progress.c **** progress_count = 0; 54:/mnt/hgfs/boot/booter/source/progress.c **** progress_bytes = 1; 55:/mnt/hgfs/boot/booter/source/progress.c **** if(progress.progress_char && progress.line_prepend) 253 .loc 1 55 0 254 0160 0000023C lui $2,%hi(progress) 255 0164 00004580 lb $5,%lo(progress)($2) 256 0168 00004624 addiu $6,$2,%lo(progress) 257 .loc 1 54 0 258 016c 01000424 li $4,1 # 0x1 259 0170 0000023C lui $2,%hi(progress_bytes) 260 .loc 1 53 0 261 0174 0000033C lui $3,%hi(progress_count) 262 .loc 1 54 0 263 0178 000044AC sw $4,%lo(progress_bytes)($2) 264 .loc 1 53 0 265 .loc 1 55 0 266 017c 0600A010 beq $5,$0,$L15 267 0180 040060AC sw $0,%lo(progress_count)($3) 268 269 0184 0100C280 lb $2,1($6) 56:/mnt/hgfs/boot/booter/source/progress.c **** printf("%c", progress.line_prepend); 270 .loc 1 56 0 271 0188 0000043C lui $4,%hi($LC1) 272 018c 00008424 addiu $4,$4,%lo($LC1) 273 .loc 1 55 0 274 0190 03004014 bne $2,$0,$L14 275 0194 21284000 move $5,$2 276 277 $L15: 278 0198 0800E003 j $31 279 019c 00000000 nop 280 281 $L14: 282 .loc 1 56 0GAS LISTING /tmp/ccBrAgbZ.s page 7 283 01a0 00000008 j printf 284 01a4 00000000 nop 285 286 .set macro 287 .set reorder 288 $LFE4: 289 .end progress_start 290 .align 2 291 .globl progress_stop 292 .ent progress_stop
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -