📄 dprintf.lst
字号:
640 .loc 1 174 0 641 0484 00002582 lb $5,0($17) 642 0488 F2000008 j $L81GAS LISTING /tmp/ccybp2uc.s page 17 643 048c 01003126 addiu $17,$17,1 644 645 $L117: 257:/mnt/hgfs/boot/booter/source/dprintf.c **** } 258:/mnt/hgfs/boot/booter/source/dprintf.c **** } 259:/mnt/hgfs/boot/booter/source/dprintf.c **** va_end(argp); 260:/mnt/hgfs/boot/booter/source/dprintf.c **** 261:/mnt/hgfs/boot/booter/source/dprintf.c **** *out = 0; 646 .loc 1 261 0 647 0490 000000A2 sb $0,0($16) 648 0494 5C00BF8F lw $31,92($sp) 649 0498 5800BE8F lw $fp,88($sp) 650 049c 5400B78F lw $23,84($sp) 651 04a0 5000B68F lw $22,80($sp) 652 04a4 4C00B58F lw $21,76($sp) 653 04a8 4800B48F lw $20,72($sp) 654 04ac 4400B38F lw $19,68($sp) 655 04b0 4000B28F lw $18,64($sp) 656 04b4 3C00B18F lw $17,60($sp) 657 04b8 3800B08F lw $16,56($sp) 658 04bc 0800E003 j $31 659 04c0 6000BD27 addiu $sp,$sp,96 660 661 $L90: 662 .loc 1 195 0 663 04c4 0300A226 addiu $2,$21,3 664 04c8 24A85700 and $21,$2,$23 665 04cc 0000A28E lw $2,0($21) 666 04d0 0400B526 addiu $21,$21,4 667 .loc 1 196 0 668 .loc 1 197 0 669 04d4 05004104 bgez $2,$L91 670 04d8 21284000 move $5,$2 671 672 .loc 1 199 0 673 04dc 00001EA2 sb $fp,0($16) 674 .loc 1 200 0 675 04e0 23280200 subu $5,$0,$2 676 .loc 1 199 0 677 04e4 01001026 addiu $16,$16,1 678 .loc 1 201 0 679 04e8 01007326 addiu $19,$19,1 680 $L91: 681 .loc 1 203 0 682 04ec 0000073C lui $7,%hi($LC2) 683 04f0 0000E724 addiu $7,$7,%lo($LC2) 684 04f4 1000A427 addiu $4,$sp,16 685 04f8 0000000C jal fmtnum 686 04fc 0A000624 li $6,10 # 0xa 687 688 0500 21404000 move $8,$2 689 $L86: 690 .loc 1 236 0 691 0504 23904802 subu $18,$18,$8 692 $L141: 693 .loc 1 244 0 694 0508 1200401A blez $18,$L125GAS LISTING /tmp/ccybp2uc.s page 18 695 050c 30000324 li $3,48 696 697 0510 4B010008 j $L110 698 0514 20000224 li $2,32 699 700 $L137: 701 .loc 1 240 0 702 0518 000003A2 sb $3,0($16) 703 $L131: 704 .loc 1 244 0 705 051c FFFF5226 addiu $18,$18,-1 706 .loc 1 242 0 707 0520 01001026 addiu $16,$16,1 708 .loc 1 243 0 709 .loc 1 244 0 710 0524 0B00401A blez $18,$L125 711 0528 01007326 addiu $19,$19,1 712 713 $L110: 714 .loc 1 239 0 715 052c FAFF8016 bne $20,$0,$L137 716 0530 00000000 nop 717 718 .loc 1 242 0 719 0534 47010008 j $L131 720 0538 000002A2 sb $2,0($16) 721 722 $L138: 723 .loc 1 249 0 724 053c FFFF0825 addiu $8,$8,-1 725 0540 2110C802 addu $2,$22,$8 726 0544 00004390 lbu $3,0($2) 727 .loc 1 250 0 728 0548 01007326 addiu $19,$19,1 729 .loc 1 249 0 730 054c 000003A2 sb $3,0($16) 731 0550 01001026 addiu $16,$16,1 732 $L125: 733 .loc 1 250 0 734 0554 F9FF001D bgtz $8,$L138 735 0558 00000000 nop 736 737 .loc 1 256 0 738 055c EA000008 j $L140 739 0560 00002582 lb $5,0($17) 740 741 $L134: 742 .loc 1 185 0 743 0564 0300A226 addiu $2,$21,3 744 0568 24A85700 and $21,$2,$23 745 .loc 1 186 0 746 056c 0000A58E lw $5,0($21) 747 0570 0000073C lui $7,%hi($LC0) 748 0574 0000E724 addiu $7,$7,%lo($LC0) 749 $L130: 750 .loc 1 191 0 751 0578 1000A427 addiu $4,$sp,16GAS LISTING /tmp/ccybp2uc.s page 19 752 057c 0000000C jal fmtnum 753 0580 10000624 li $6,16 # 0x10 754 755 0584 21404000 move $8,$2 756 .loc 1 190 0 757 0588 41010008 j $L86 758 058c 0400B526 addiu $21,$21,4 759 760 $L96: 761 $L142: 762 .loc 1 215 0 763 0590 24105700 and $2,$2,$23 764 .loc 1 217 0 765 0594 0000448C lw $4,0($2) 766 .loc 1 215 0 767 0598 04005524 addiu $21,$2,4 768 .loc 1 216 0 769 059c 21400000 move $8,$0 770 .loc 1 222 0 771 05a0 70010008 j $L129 772 05a4 00008290 lbu $2,0($4) 773 774 $L139: 775 .loc 1 220 0 776 05a8 000002A2 sb $2,0($16) 777 05ac 01008424 addiu $4,$4,1 778 .loc 1 222 0 779 05b0 00008290 lbu $2,0($4) 780 .loc 1 220 0 781 05b4 01001026 addiu $16,$16,1 782 .loc 1 221 0 783 05b8 01007326 addiu $19,$19,1 784 .loc 1 222 0 785 05bc FFFF5226 addiu $18,$18,-1 786 $L129: 787 05c0 F9FF4014 bne $2,$0,$L139 788 05c4 00000000 nop 789 790 .loc 1 236 0 791 05c8 42010008 j $L141 792 05cc 23904802 subu $18,$18,$8 793 794 $L135: 795 .loc 1 190 0 796 05d0 0300A226 addiu $2,$21,3 797 05d4 24A85700 and $21,$2,$23 798 .loc 1 191 0 799 05d8 0000A58E lw $5,0($21) 800 05dc 0000073C lui $7,%hi($LC1) 801 05e0 5E010008 j $L130 802 05e4 0000E724 addiu $7,$7,%lo($LC1) 803 804 $L136: 805 .loc 1 207 0 806 05e8 0300A226 addiu $2,$21,3 807 05ec 24A85700 and $21,$2,$23 808 05f0 0000A28E lw $2,0($21)GAS LISTING /tmp/ccybp2uc.s page 20 809 .loc 1 210 0 810 05f4 01007326 addiu $19,$19,1 811 .loc 1 207 0 812 05f8 0400B526 addiu $21,$21,4 813 .loc 1 209 0 814 05fc 0000428C lw $2,0($2) 815 .loc 1 211 0 816 0600 FFFF5226 addiu $18,$18,-1 817 .loc 1 208 0 818 0604 21400000 move $8,$0 819 .loc 1 209 0 820 0608 000002A2 sb $2,0($16) 821 060c 41010008 j $L86 822 0610 01001026 addiu $16,$16,1 823 824 .set macro 825 .set reorder 826 $LFE4: 827 .end sprintf 828 .align 2 829 .ent sgetc 830 .type sgetc, @function 831 sgetc: 832 $LFB5: 262:/mnt/hgfs/boot/booter/source/dprintf.c **** } 263:/mnt/hgfs/boot/booter/source/dprintf.c **** 264:/mnt/hgfs/boot/booter/source/dprintf.c **** 265:/mnt/hgfs/boot/booter/source/dprintf.c **** /************************************************************************
266:/mnt/hgfs/boot/booter/source/dprintf.c **** * Include files
267:/mnt/hgfs/boot/booter/source/dprintf.c **** ************************************************************************/
268:/mnt/hgfs/boot/booter/source/dprintf.c ****
269:/mnt/hgfs/boot/booter/source/dprintf.c **** #include "ctype.h" 270:/mnt/hgfs/boot/booter/source/dprintf.c **** 271:/mnt/hgfs/boot/booter/source/dprintf.c **** /************************************************************************
272:/mnt/hgfs/boot/booter/source/dprintf.c **** * Definitions
273:/mnt/hgfs/boot/booter/source/dprintf.c **** ************************************************************************/
274:/mnt/hgfs/boot/booter/source/dprintf.c ****
275:/mnt/hgfs/boot/booter/source/dprintf.c **** #define EOF -1
276:/mnt/hgfs/boot/booter/source/dprintf.c **** #define NUL 0
277:/mnt/hgfs/boot/booter/source/dprintf.c ****
278:/mnt/hgfs/boot/booter/source/dprintf.c **** #define MAXLINE 256
279:/mnt/hgfs/boot/booter/source/dprintf.c ****
280:/mnt/hgfs/boot/booter/source/dprintf.c **** #define NEXT TRUE /* Forward direction for getting chars. */
281:/mnt/hgfs/boot/booter/source/dprintf.c **** #define BACK FALSE /* Reverse direction for getting chars. */
282:/mnt/hgfs/boot/booter/source/dprintf.c **** #define LONGTYP TRUE /* Value to signal long or double. */
283:/mnt/hgfs/boot/booter/source/dprintf.c **** #define NORMTYP FALSE /* Value to denote normal width number. */
284:/mnt/hgfs/boot/booter/source/dprintf.c **** #define SHORTTYP -TRUE /* Value to denote short rather than int*/
285:/mnt/hgfs/boot/booter/source/dprintf.c ****
286:/mnt/hgfs/boot/booter/source/dprintf.c **** /************************************************************************
287:/mnt/hgfs/boot/booter/source/dprintf.c **** * Public variables
288:/mnt/hgfs/boot/booter/source/dprintf.c **** ************************************************************************/
289:/mnt/hgfs/boot/booter/source/dprintf.c ****
290:/mnt/hgfs/boot/booter/source/dprintf.c **** /************************************************************************
291:/mnt/hgfs/boot/booter/source/dprintf.c **** * Static variables
292:/mnt/hgfs/boot/booter/source/dprintf.c **** ************************************************************************/
293:/mnt/hgfs/boot/booter/source/dprintf.c ****
294:/mnt/hgfs/boot/booter/source/dprintf.c **** static char *scanstr;
GAS LISTING /tmp/ccybp2uc.s page 21 295:/mnt/hgfs/boot/booter/source/dprintf.c **** static BOOL NOT_EOL;
296:/mnt/hgfs/boot/booter/source/dprintf.c ****
297:/mnt/hgfs/boot/booter/source/dprintf.c **** static int width;
298:/mnt/hgfs/boot/booter/source/dprintf.c ****
299:/mnt/hgfs/boot/booter/source/dprintf.c **** /************************************************************************
300:/mnt/hgfs/boot/booter/source/dprintf.c **** * Implementation : Static functions
301:/mnt/hgfs/boot/booter/source/dprintf.c **** ************************************************************************/
302:/mnt/hgfs/boot/booter/source/dprintf.c ****
303:/mnt/hgfs/boot/booter/source/dprintf.c ****
304:/mnt/hgfs/boot/booter/source/dprintf.c **** /************************************************************************
305:/mnt/hgfs/boot/booter/source/dprintf.c **** *
306:/mnt/hgfs/boot/booter/source/dprintf.c **** * sgetc
307:/mnt/hgfs/boot/booter/source/dprintf.c **** * Description :
308:/mnt/hgfs/boot/booter/source/dprintf.c **** * -------------
309:/mnt/hgfs/boot/booter/source/dprintf.c **** *
310:/mnt/hgfs/boot/booter/source/dprintf.c **** *
311:/mnt/hgfs/boot/booter/source/dprintf.c **** * Return values :
312:/mnt/hgfs/boot/booter/source/dprintf.c **** * ---------------
313:/mnt/hgfs/boot/booter/source/dprintf.c **** *
314:/mnt/hgfs/boot/booter/source/dprintf.c **** * Character from the static scanstr.
315:/mnt/hgfs/boot/booter/source/dprintf.c **** * If forward is TRUE, get next character and advance; else, back up
316:/mnt/hgfs/boot/booter/source/dprintf.c **** * and get one unless the end has been reached. Return EOF if so.
317:/mnt/hgfs/boot/booter/source/dprintf.c **** *
318:/mnt/hgfs/boot/booter/source/dprintf.c **** ************************************************************************/
319:/mnt/hgfs/boot/booter/source/dprintf.c **** static int
320:/mnt/hgfs/boot/booter/source/dprintf.c **** sgetc( BOOL forward )
321:/mnt/hgfs/boot/booter/source/dprintf.c **** {
833 .loc 1 321 0 834 .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 835 .mask 0x00000000,0 836 .fmask 0x00000000,0 837 .set noreorder 838 .set nomacro 839 322:/mnt/hgfs/boot/booter/source/dprintf.c **** if (forward)
323:/mnt/hgfs/boot/booter/source/dprintf.c **** { if (*scanstr)
840 .loc 1 323 0 841 .loc 1 322 0 842 0614 08008010 beq $4,$0,$L144 843 0618 0000053C lui $5,%hi(scanstr) 844 845 .loc 1 323 0 846 061c 0000A28C lw $2,%lo(scanstr)($5) 847 0620 00004380 lb $3,0($2) 324:/mnt/hgfs/boot/booter/source/dprintf.c **** return *scanstr++ & 0xff;
848 .loc 1 324 0 849 0624 01004424 addiu $4,$2,1 850 .loc 1 323 0 851 0628 0C006010 beq $3,$0,$L145 852 062c FF006230 andi $2,$3,0x00ff 853 854 .loc 1 324 0 855 0630 0800E003 j $31 856 0634 0000A4AC sw $4,%lo(scanstr)($5) 857 858 $L144: 325:/mnt/hgfs/boot/booter/source/dprintf.c ****
GAS LISTING /tmp/ccybp2uc.s page 22 326:/mnt/hgfs/boot/booter/source/dprintf.c **** else
327:/mnt/hgfs/boot/booter/source/dprintf.c **** NOT_EOL = FALSE;
328:/mnt/hgfs/boot/booter/source/dprintf.c **** }
329:/mnt/hgfs/boot/booter/source/dprintf.c **** else if (NOT_EOL)
859 .loc 1 329 0 860 0638 0000023C lui $2,%hi(NOT_EOL) 861 063c 0400438C lw $3,%lo(NOT_EOL)($2) 330:/mnt/hgfs/boot/booter/source/dprintf.c **** return *--scanstr & 0xff;
862 .loc 1 330 0 863 .loc 1 329 0 864 0640 08006010 beq $3,$0,$L147 865 0644 0000043C lui $4,%hi(scanstr) 866
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -