📄 register.lst
字号:
258 .set nomacro 259 260 0138 A0FFBD27 addiu $sp,$sp,-96 261 $LCFI0: 262 013c 5000B6AF sw $22,80($sp) 263 $LCFI1: 264 0140 21B08000 move $22,$4 37:/mnt/hgfs/boot/booter/source/register.c **** int i; 38:/mnt/hgfs/boot/booter/source/register.c **** int errors = 0; 39:/mnt/hgfs/boot/booter/source/register.c **** uint32 mask; 40:/mnt/hgfs/boot/booter/source/register.c **** char test_results[32]; 41:/mnt/hgfs/boot/booter/source/register.c **** 42:/mnt/hgfs/boot/booter/source/register.c **** printf("\tTesting Register: %X\n", reg); 265 .loc 2 42 0 266 0144 0000043C lui $4,%hi($LC0) 267 .loc 2 36 0 268 0148 6400A5AF sw $5,100($sp) 269 .loc 2 42 0 270 014c 00008424 addiu $4,$4,%lo($LC0) 271 0150 2128C002 move $5,$22 272 .loc 2 36 0 273 0154 5C00BFAF sw $31,92($sp) 274 $LCFI2: 275 0158 3C00B1AF sw $17,60($sp) 276 $LCFI3: 277 015c 3800B0AF sw $16,56($sp) 278 $LCFI4: 279 0160 2188E000 move $17,$7 280 0164 2180C000 move $16,$6 281 0168 5800BEAF sw $fp,88($sp) 282 $LCFI5: 283 016c 5400B7AF sw $23,84($sp) 284 $LCFI6: 285 0170 4C00B5AF sw $21,76($sp) 286 $LCFI7: 287 0174 4800B4AF sw $20,72($sp) 288 $LCFI8: 289 0178 4400B3AF sw $19,68($sp) 290 $LCFI9: 291 .loc 2 36 0 292 $LCFI10: 293 .loc 2 42 0 294 017c 0000000C jal printf 295 0180 4000B2AF sw $18,64($sp) 296 43:/mnt/hgfs/boot/booter/source/register.c **** mask = register_get_default_mask(reg_config, default_config); 297 .loc 2 43 0 298 0184 6400A48F lw $4,100($sp) 299 0188 0000000C jal register_get_default_mask 300 018c 21282002 move $5,$17 301 302 0190 21184000 move $3,$2 44:/mnt/hgfs/boot/booter/source/register.c **** if((*reg & mask) != (default_value & mask)) 303 .loc 2 44 0 304 0194 0000C28E lw $2,0($22) 305 0198 24280302 and $5,$16,$3 306 019c 24104300 and $2,$2,$3GAS LISTING /tmp/ccOm8T7z.s page 8 307 .loc 2 38 0 308 .loc 2 44 0 309 01a0 08004510 beq $2,$5,$L25 310 01a4 3000A0AF sw $0,48($sp) 311 45:/mnt/hgfs/boot/booter/source/register.c **** { 46:/mnt/hgfs/boot/booter/source/register.c **** printf("\t\tDefault Value Error. Expected: %8X, Actual: %8X\n", default_value & mask, *reg & mask 312 .loc 2 46 0 313 01a8 0000C68E lw $6,0($22) 314 01ac 0000043C lui $4,%hi($LC1) 315 01b0 00008424 addiu $4,$4,%lo($LC1) 316 01b4 0000000C jal printf 317 01b8 2430C300 and $6,$6,$3 318 47:/mnt/hgfs/boot/booter/source/register.c **** ++errors; 319 .loc 2 47 0 320 01bc 01000224 li $2,1 # 0x1 321 01c0 3000A2AF sw $2,48($sp) 322 $L25: 48:/mnt/hgfs/boot/booter/source/register.c **** } 49:/mnt/hgfs/boot/booter/source/register.c **** 50:/mnt/hgfs/boot/booter/source/register.c **** for(i = 0; i < 32; ++i) 323 .loc 2 50 0 324 01c4 21880000 move $17,$0 325 01c8 2D001524 li $21,45 # 0x2d 326 01cc 1000BE27 addiu $fp,$sp,16 327 01d0 1F001724 li $23,31 # 0x1f 51:/mnt/hgfs/boot/booter/source/register.c **** { 52:/mnt/hgfs/boot/booter/source/register.c **** if(reg_config[i] != REG_RES && reg_config[i] != REG_WO) //Don't test bits that are 'Reserved', No 328 .loc 2 52 0 329 01d4 6400A38F lw $3,100($sp) 330 $L34: 331 01d8 21807100 addu $16,$3,$17 332 01dc 00000282 lb $2,0($16) 53:/mnt/hgfs/boot/booter/source/register.c **** { 54:/mnt/hgfs/boot/booter/source/register.c **** test_results[i] = bit_test(reg, (31-i)); 333 .loc 2 54 0 334 .loc 2 52 0 335 01e0 1B005510 beq $2,$21,$L28 336 01e4 23A0F102 subu $20,$23,$17 337 338 01e8 57000324 li $3,87 # 0x57 339 .loc 2 54 0 340 01ec 21288002 move $5,$20 341 01f0 2120C002 move $4,$22 342 .loc 2 52 0 343 01f4 16004310 beq $2,$3,$L28 344 01f8 2190D103 addu $18,$fp,$17 345 346 .loc 2 54 0 347 01fc 0000000C jal bit_test 348 0200 00000000 nop 349 55:/mnt/hgfs/boot/booter/source/register.c **** if(test_results[i] != reg_config[i]) 350 .loc 2 55 0 351 0204 00000382 lb $3,0($16) 352 0208 21984000 move $19,$2GAS LISTING /tmp/ccOm8T7z.s page 9 353 .loc 2 54 0 354 020c 000042A2 sb $2,0($18) 56:/mnt/hgfs/boot/booter/source/register.c **** { 57:/mnt/hgfs/boot/booter/source/register.c **** printf("\t\tBit %2d Error. Expected: %s, Actual: %s\n", (31-i), register_get_pretty(reg_config[ 355 .loc 2 57 0 356 .loc 2 55 0 357 0210 0F004310 beq $2,$3,$L28 358 0214 21206000 move $4,$3 359 360 .loc 2 57 0 361 0218 0000000C jal register_get_pretty 362 021c 00000000 nop 363 364 0220 21206002 move $4,$19 365 0224 0000000C jal register_get_pretty 366 0228 21804000 move $16,$2 367 368 022c 21384000 move $7,$2 58:/mnt/hgfs/boot/booter/source/register.c **** ++errors; 369 .loc 2 58 0 370 0230 3000A28F lw $2,48($sp) 371 .loc 2 57 0 372 0234 0000033C lui $3,%hi($LC2) 373 0238 21288002 move $5,$20 374 .loc 2 58 0 375 023c 01004224 addiu $2,$2,1 376 .loc 2 57 0 377 0240 21300002 move $6,$16 378 0244 00006424 addiu $4,$3,%lo($LC2) 379 .loc 2 58 0 380 .loc 2 57 0 381 0248 0000000C jal printf 382 024c 3000A2AF sw $2,48($sp) 383 384 $L28: 385 .loc 2 50 0 386 0250 01003126 addiu $17,$17,1 387 0254 2000222A slt $2,$17,32 388 .loc 2 52 0 389 .loc 2 50 0 390 0258 DFFF4014 bne $2,$0,$L34 391 025c 6400A38F lw $3,100($sp) 392 59:/mnt/hgfs/boot/booter/source/register.c **** } 60:/mnt/hgfs/boot/booter/source/register.c **** } 61:/mnt/hgfs/boot/booter/source/register.c **** } 62:/mnt/hgfs/boot/booter/source/register.c **** return errors; 63:/mnt/hgfs/boot/booter/source/register.c **** } 393 .loc 2 63 0 394 0260 3000A28F lw $2,48($sp) 395 0264 5C00BF8F lw $31,92($sp) 396 0268 5800BE8F lw $fp,88($sp) 397 026c 5400B78F lw $23,84($sp) 398 0270 5000B68F lw $22,80($sp) 399 0274 4C00B58F lw $21,76($sp) 400 0278 4800B48F lw $20,72($sp) 401 027c 4400B38F lw $19,68($sp)GAS LISTING /tmp/ccOm8T7z.s page 10 402 0280 4000B28F lw $18,64($sp) 403 0284 3C00B18F lw $17,60($sp) 404 0288 3800B08F lw $16,56($sp) 405 028c 0800E003 j $31 406 0290 6000BD27 addiu $sp,$sp,96 407 408 .set macro 409 .set reorder 410 $LFE5: 411 .end register_test 412 .section .debug_frame,"",@progbits 413 $Lframe0: 414 0000 0C000000 .4byte $LECIE0-$LSCIE0 415 $LSCIE0: 416 0004 FFFFFFFF .4byte 0xffffffff 417 0008 01 .byte 0x1 418 0009 00 .ascii "\000" 419 000a 01 .uleb128 0x1 420 000b 04 .sleb128 4 421 000c 1F .byte 0x1f 422 000d 0C .byte 0xc 423 000e 1D .uleb128 0x1d 424 000f 00 .uleb128 0x0 425 .align 2 426 $LECIE0: 427 $LSFDE0: 428 0010 0C000000 .4byte $LEFDE0-$LASFDE0 429 $LASFDE0: 430 0014 00000000 .4byte $Lframe0 431 0018 00000000 .4byte $LFB2 432 001c 74000000 .4byte $LFE2-$LFB2 433 .align 2 434 $LEFDE0: 435 $LSFDE2: 436 0020 0C000000 .4byte $LEFDE2-$LASFDE2 437 $LASFDE2: 438 0024 00000000 .4byte $Lframe0 439 0028 74000000 .4byte $LFB3 440 002c 50000000 .4byte $LFE3-$LFB3 441 .align 2 442 $LEFDE2: 443 $LSFDE4: 444 0030 0C000000 .4byte $LEFDE4-$LASFDE4 445 $LASFDE4: 446 0034 00000000 .4byte $Lframe0 447 0038 C4000000 .4byte $LFB4 448 003c 74000000 .4byte $LFE4-$LFB4 449 .align 2 450 $LEFDE4: 451 $LSFDE6: 452 0040 30000000 .4byte $LEFDE6-$LASFDE6 453 $LASFDE6: 454 0044 00000000 .4byte $Lframe0 455 0048 38010000 .4byte $LFB5 456 004c 5C010000 .4byte $LFE5-$LFB5 457 0050 44 .byte 0x4 458 .4byte $LCFI0-$LFB5GAS LISTING /tmp/ccOm8T7z.s page 11 459 0051 0E .byte 0xe 460 0052 60 .uleb128 0x60 461 0053 44 .byte 0x4 462 .4byte $LCFI1-$LCFI0 463 0054 11 .byte 0x11 464 0055 16 .uleb128 0x16 465 0056 7C .sleb128 -4 466 0057 60 .byte 0x4 467 .4byte $LCFI4-$LCFI1 468 0058 11 .byte 0x11 469 0059 10 .uleb128 0x10 470 005a 76 .sleb128 -10 471 005b 11 .byte 0x11 472 005c 11 .uleb128 0x11 473 005d 77 .sleb128 -9 474 005e 11 .byte 0x11 475 005f 1F .uleb128 0x1f 476 0060 7F .sleb128 -1 477 0061 5C .byte 0x4 478 .4byte $LCFI10-$LCFI4 479 0062 11 .byte 0x11 480 0063 12 .uleb128 0x12 481 0064 78 .sleb128 -8 482 0065 11 .byte 0x11 483 0066 13 .uleb128 0x13 484 0067 79 .sleb128 -7 485 0068 11 .byte 0x11 486 0069 14 .uleb128 0x14 487 006a 7A .sleb128 -6 488 006b 11 .byte 0x11 489 006c 15 .uleb128 0x15 490 006d 7B .sleb128 -5 491 006e 11 .byte 0x11 492 006f 17 .uleb128 0x17 493 0070 7D .sleb128 -3 494 0071 11 .byte 0x11 495 0072 1E .uleb128 0x1e 496 0073 7E .sleb128 -2 497 .align 2 498 $LEFDE6: 499 .align 0 500 .file 3 "/mnt/hgfs/boot/booter/include/example.h" 501 .file 4 "/mnt/hgfs/boot/booter/platforms/DB1200/platform.h" 502 .text 503 $Letext0: 504 0294 00000000 .section .debug_info 504 00000000 504 00000000 505 0000 D0020000 .4byte 0x2d0 506 0004 0200 .2byte 0x2 507 0006 00000000 .4byte $Ldebug_abbrev0 508 000a 04 .byte 0x4 509 000b 01 .uleb128 0x1 510 000c 00000000 .4byte $Ldebug_line0 511 0010 94020000 .4byte $Letext0 512 0014 00000000 .4byte $Ltext0 513 0018 F0000000 .4byte $LASF26GAS LISTING /tmp/ccOm8T7z.s page 12 514 001c 01 .byte 0x1 515 001d 42000000 .4byte $LASF27 516 0021 02 .uleb128 0x2 517 0022 4A010000 .4byte $LASF0 518 0026 01 .byte 0x1 519 0027 06 .byte 0x6 520 0028 02 .uleb128 0x2 521 0029 0E010000 .4byte $LASF1 522 002d 02 .byte 0x2 523 002e 05 .byte 0x5 524 002f 03 .uleb128 0x3 525 0030 696E7400 .ascii "int\000" 526 0034 04 .byte 0x4 527 0035 05 .byte 0x5 528 0036 02 .uleb128 0x2 529 0037 2B010000 .4byte $LASF2 530 003b 01 .byte 0x1 531 003c 08 .byte 0x8 532 003d 02 .uleb128 0x2 533 003e 56010000 .4byte $LASF3 534 0042 02 .byte 0x2 535 0043 07 .byte 0x7 536 0044 04 .uleb128 0x4 537 0045 C7000000 .4byte $LASF28 538 0049 03 .byte 0x3 539 004a 37 .byte 0x37 540 004b 4F000000 .4byte 0x4f 541 004f 02 .uleb128 0x2 542 0050 27000000 .4byte $LASF4 543 0054 04 .byte 0x4 544 0055 07 .byte 0x7 545 0056 02 .uleb128 0x2 546 0057 89000000 .4byte $LASF5 547 005b 08 .byte 0x8 548 005c 07 .byte 0x7 549 005d 02 .uleb128 0x2 550 005e 27000000 .4byte $LASF4 551 0062 04 .byte 0x4 552 0063 07 .byte 0x7 553 0064 02 .uleb128 0x2 554 0065 D3000000 .4byte $LASF6 555 0069 04 .byte 0x4 556 006a 07 .byte 0x7 557 006b 05 .uleb128 0x5 558 006c 97000000 .4byte 0x97 559 0070 0E000000 .4byte $LASF29 560 0074 01 .byte 0x1 561 0075 11 .byte 0x11 562 0076 01 .byte 0x1 563 0077 97000000 .4byte 0x97 564 007b 00000000 .4byte $LFB2 565 007f 74000000 .4byte $LFE2 566 0083 10000000 .4byte $LSFDE0 567 0087 01 .byte 0x1 568 0088 6D .byte 0x6d 569 0089 06 .uleb128 0x6 570 008a BA000000 .4byte $LASF8GAS LISTING /tmp/ccOm8T7z.s page 13 571 008e 01 .byte 0x1 572 008f 10 .byte 0x10 573 0090 A2000000 .4byte 0xa2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -