📄 util.lst
字号:
284 .set nomacro 285 56:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** int i;
57:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** for(i = 0; string[i] != 0; ++i);
286 .loc 1 57 0 287 0188 00008280 lb $2,0($4) 288 018c 06004010 beq $2,$0,$L43 289 0190 21280000 move $5,$0 290 291 $L41: 292 0194 0100A524 addiu $5,$5,1 293 0198 21108500 addu $2,$4,$5 294 019c 00004380 lb $3,0($2) 295 01a0 FCFF6014 bne $3,$0,$L41 296 01a4 00000000 nop 297 298 $L43: 58:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** return i;
59:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** }
299 .loc 1 59 0 300 01a8 0800E003 j $31 301 01ac 2110A000 move $2,$5 302 303 .set macro 304 .set reorder 305 $LFE6: 306 .end stringLength 307 .align 2 308 .globl charToInt 309 .ent charToInt 310 .type charToInt, @function 311 charToInt: 312 $LFB8: 60:/mnt/hgfs/boot/booter/source/applications/booter/util.c ****
61:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** int stringToInt(const char* string)
62:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** {
63:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** int value = 0;
64:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** int i;
65:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** for(i = 0; string[i] != 0; ++i)
66:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** {
67:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** value = value << 4;
68:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** value |= charToInt(string[i]);
69:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** }
70:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** return value;
71:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** }
72:/mnt/hgfs/boot/booter/source/applications/booter/util.c ****
73:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** int charToInt(const char ch)
74:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** {
313 .loc 1 74 0 314 .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 315 .mask 0x00000000,0 316 .fmask 0x00000000,0 317 .set noreorder 318 .set nomacro 319 320 .loc 1 74 0 321 01b0 00260400 sll $4,$4,24GAS LISTING /tmp/ccu9oIwe.s page 8 322 01b4 03260400 sra $4,$4,24 75:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** switch (ch)
323 .loc 1 75 0 324 01b8 D0FF8524 addiu $5,$4,-48 325 01bc 3700A22C sltu $2,$5,55 326 01c0 07004010 beq $2,$0,$L68 327 01c4 0000033C lui $3,%hi($L69) 328 329 01c8 80100500 sll $2,$5,2 330 01cc 00006324 addiu $3,$3,%lo($L69) 331 01d0 21104300 addu $2,$2,$3 332 01d4 0000448C lw $4,0($2) 333 01d8 08008000 j $4 334 01dc 00000000 nop 335 336 .rdata 337 .align 2 338 $L69: 339 0000 F0010000 .word $L55 340 0004 F0010000 .word $L55 341 0008 F0010000 .word $L55 342 000c F0010000 .word $L55 343 0010 F0010000 .word $L55 344 0014 F0010000 .word $L55 345 0018 F0010000 .word $L55 346 001c F0010000 .word $L55 347 0020 F0010000 .word $L55 348 0024 F0010000 .word $L55 349 0028 E0010000 .word $L68 350 002c E0010000 .word $L68 351 0030 E0010000 .word $L68 352 0034 E0010000 .word $L68 353 0038 E0010000 .word $L68 354 003c E0010000 .word $L68 355 0040 E0010000 .word $L68 356 0044 F8010000 .word $L57 357 0048 00020000 .word $L59 358 004c 08020000 .word $L61 359 0050 10020000 .word $L63 360 0054 18020000 .word $L65 361 0058 E8010000 .word $L67 362 005c E0010000 .word $L68 363 0060 E0010000 .word $L68 364 0064 E0010000 .word $L68 365 0068 E0010000 .word $L68 366 006c E0010000 .word $L68 367 0070 E0010000 .word $L68 368 0074 E0010000 .word $L68 369 0078 E0010000 .word $L68 370 007c E0010000 .word $L68 371 0080 E0010000 .word $L68 372 0084 E0010000 .word $L68 373 0088 E0010000 .word $L68 374 008c E0010000 .word $L68 375 0090 E0010000 .word $L68 376 0094 E0010000 .word $L68 377 0098 E0010000 .word $L68GAS LISTING /tmp/ccu9oIwe.s page 9 378 009c E0010000 .word $L68 379 00a0 E0010000 .word $L68 380 00a4 E0010000 .word $L68 381 00a8 E0010000 .word $L68 382 00ac E0010000 .word $L68 383 00b0 E0010000 .word $L68 384 00b4 E0010000 .word $L68 385 00b8 E0010000 .word $L68 386 00bc E0010000 .word $L68 387 00c0 E0010000 .word $L68 388 00c4 F8010000 .word $L57 389 00c8 00020000 .word $L59 390 00cc 08020000 .word $L61 391 00d0 10020000 .word $L63 392 00d4 18020000 .word $L65 393 00d8 E8010000 .word $L67 394 00dc 00000000 .text 395 $L68: 76:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** {
77:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** case '0':
78:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** case '1':
79:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** case '2':
80:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** case '3':
81:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** case '4':
82:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** case '5':
83:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** case '6':
84:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** case '7':
85:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** case '8':
86:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** case '9':
87:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** return (ch - '0');
88:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** break;
89:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** case 'A':
90:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** case 'a':
91:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** return 10;
92:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** break;
93:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** case 'B':
94:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** case 'b':
95:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** return 11;
96:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** break;
97:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** case 'C':
98:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** case 'c':
99:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** return 12;
100:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** break;
101:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** case 'D':
102:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** case 'd':
103:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** return 13;
104:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** break;
105:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** case 'E':
106:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** case 'e':
107:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** return 14;
108:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** break;
109:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** case 'F':
110:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** case 'f':
111:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** return 15;
112:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** break;
113:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** default:
114:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** return 0;
GAS LISTING /tmp/ccu9oIwe.s page 10 396 .loc 1 114 0 115:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** }
116:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** }
397 .loc 1 116 0 398 01e0 0800E003 j $31 399 01e4 21100000 move $2,$0 400 401 $L67: 402 .loc 1 111 0 403 01e8 0800E003 j $31 404 01ec 0F000224 li $2,15 # 0xf 405 406 $L55: 407 .loc 1 87 0 408 01f0 0800E003 j $31 409 01f4 2110A000 move $2,$5 410 411 $L57: 412 .loc 1 91 0 413 01f8 0800E003 j $31 414 01fc 0A000224 li $2,10 # 0xa 415 416 $L59: 417 .loc 1 95 0 418 0200 0800E003 j $31 419 0204 0B000224 li $2,11 # 0xb 420 421 $L61: 422 .loc 1 99 0 423 0208 0800E003 j $31 424 020c 0C000224 li $2,12 # 0xc 425 426 $L63: 427 .loc 1 103 0 428 0210 0800E003 j $31 429 0214 0D000224 li $2,13 # 0xd 430 431 $L65: 432 .loc 1 107 0 433 0218 0800E003 j $31 434 021c 0E000224 li $2,14 # 0xe 435 436 .set macro 437 .set reorder 438 $LFE8: 439 .end charToInt 440 .align 2 441 .globl stringToInt 442 .ent stringToInt 443 .type stringToInt, @function 444 stringToInt: 445 $LFB7: 446 .loc 1 62 0 447 .frame $sp,32,$31 # vars= 0, regs= 4/0, args= 16, gp= 0 448 .mask 0x80070000,-4 449 .fmask 0x00000000,0 450 .set noreorderGAS LISTING /tmp/ccu9oIwe.s page 11 451 .set nomacro 452 453 0220 E0FFBD27 addiu $sp,$sp,-32 454 $LCFI9: 455 0224 1800B2AF sw $18,24($sp) 456 $LCFI10: 457 0228 1400B1AF sw $17,20($sp) 458 $LCFI11: 459 022c 1000B0AF sw $16,16($sp) 460 $LCFI12: 461 0230 1C00BFAF sw $31,28($sp) 462 $LCFI13: 463 .loc 1 65 0 464 0234 00008280 lb $2,0($4) 465 .loc 1 62 0 466 0238 21908000 move $18,$4 467 .loc 1 63 0 468 023c 21800000 move $16,$0 469 .loc 1 65 0 470 0240 09004010 beq $2,$0,$L76 471 0244 21880000 move $17,$0 472 473 $L74: 474 .loc 1 68 0 475 0248 00008480 lb $4,0($4) 476 .loc 1 65 0 477 024c 01003126 addiu $17,$17,1 478 .loc 1 67 0 479 .loc 1 68 0 480 0250 0000000C jal charToInt 481 0254 00811000 sll $16,$16,4 482 483 .loc 1 65 0 484 0258 21205102 addu $4,$18,$17 485 025c 00008380 lb $3,0($4) 486 .loc 1 68 0 487 .loc 1 65 0 488 0260 F9FF6014 bne $3,$0,$L74 489 0264 25800202 or $16,$16,$2 490 491 $L76: 492 .loc 1 71 0 493 0268 21100002 move $2,$16 494 026c 1C00BF8F lw $31,28($sp) 495 0270 1800B28F lw $18,24($sp) 496 0274 1400B18F lw $17,20($sp) 497 0278 1000B08F lw $16,16($sp) 498 027c 0800E003 j $31 499 0280 2000BD27 addiu $sp,$sp,32 500 501 .set macro 502 .set reorder 503 $LFE7: 504 .end stringToInt 505 .align 2 506 .globl showProgress 507 .ent showProgressGAS LISTING /tmp/ccu9oIwe.s page 12 508 .type showProgress, @function 509 showProgress: 510 $LFB9: 117:/mnt/hgfs/boot/booter/source/applications/booter/util.c ****
118:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** void showProgress(int show)
119:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** {
511 .loc 1 119 0 512 .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 513 .mask 0x00000000,0 514 .fmask 0x00000000,0 515 .set noreorder 516 .set nomacro 517 120:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** if(show)
121:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** {
122:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** progress = 1;
123:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** dots = 0;
124:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** }
125:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** else
126:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** progress = 0;
518 .loc 1 126 0 519 .loc 1 120 0 520 0284 07008010 beq $4,$0,$L78 521 0288 0000023C lui $2,%hi(progress) 522 523 .loc 1 122 0 524 028c 01000224 li $2,1 # 0x1 525 0290 0000033C lui $3,%hi(progress) 526 .loc 1 123 0 527 0294 0000043C lui $4,%hi(dots) 528 .loc 1 122 0 529 0298 000062AC sw $2,%lo(progress)($3) 530 .loc 1 123 0 531 029c 0800E003 j $31 532 02a0 040080AC sw $0,%lo(dots)($4) 533 534 $L78: 535 .loc 1 126 0 536 02a4 0800E003 j $31 537 02a8 000040AC sw $0,%lo(progress)($2) 538 539 .set macro 540 .set reorder 541 $LFE9: 542 .end showProgress 543 .section .rodata.str1.4 544 000a 0000 .align 2 545 $LC3: 546 000c 2E00 .ascii ".\000" 547 000e 0000 .text 548 .align 2 549 .globl updateProgress 550 .ent updateProgress 551 .type updateProgress, @function 552 updateProgress: 553 $LFB10: 127:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** }
GAS LISTING /tmp/ccu9oIwe.s page 13 128:/mnt/hgfs/boot/booter/source/applications/booter/util.c ****
129:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** void updateProgress(int bytesRead)
130:/mnt/hgfs/boot/booter/source/applications/booter/util.c **** {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -