📄 fat.lst
字号:
773 05ac 0800628C lw $2,%lo(fatDiskFunctions+8)($3) 774 .loc 1 250 0 775 05b0 0000103C lui $16,%hi(fatTableCache) 776 .loc 1 251 0 777 05b4 01008424 addiu $4,$4,1 778 .loc 1 250 0 779 05b8 00000626 addiu $6,$16,%lo(fatTableCache) 780 05bc 21186602 addu $3,$19,$6 781 .loc 1 251 0 782 05c0 000044AE sw $4,%lo(fatCachedSector)($18) 783 .loc 1 252 0 784 05c4 2120A400 addu $4,$5,$4 785 05c8 01000524 li $5,1 # 0x1 786 .loc 1 250 0 787 .loc 1 252 0 788 05cc 09F84000 jal $2 789 05d0 00007490 lbu $20,0($3) 790 791 .loc 1 253 0 792 05d4 00000392 lbu $3,%lo(fatTableCache)($16) 793 .loc 1 259 0 794 05d8 0100A432 andi $4,$21,0x1 795 .loc 1 253 0 796 05dc 001A0300 sll $3,$3,8 797 05e0 25A08302 or $20,$20,$3 798 .loc 1 260 0 799 05e4 03111400 sra $2,$20,4 800 05e8 FF0F8332 andi $3,$20,0xfff 801 05ec 21A04000 move $20,$2 802 05f0 5D010008 j $L51 803 05f4 0AA06400 movz $20,$3,$4 804 805 .set macro 806 .set reorder 807 $LFE5: 808 .end getNextCluster 809 .align 2 810 .globl toUpper 811 .ent toUpper 812 .type toUpper, @function 813 toUpper: 814 $LFB6: 274:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 275:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** char toUpper(char c) 276:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** { 815 .loc 1 276 0 816 .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 817 .mask 0x00000000,0 818 .fmask 0x00000000,0 819 .set noreorder 820 .set nomacro 821 GAS LISTING /tmp/ccZKkRKo.s page 22 822 .loc 1 276 0 823 05f8 00260400 sll $4,$4,24 824 05fc 03260400 sra $4,$4,24 277:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** return (c <= 'z' && c >= 'a') ? c - 0x20 : c; 825 .loc 1 277 0 826 0600 9FFF8224 addiu $2,$4,-97 827 0604 FF004230 andi $2,$2,0x00ff 828 0608 1A00422C sltu $2,$2,26 829 060c 03004010 beq $2,$0,$L56 830 0610 E0FF8324 addiu $3,$4,-32 831 832 0614 00260300 sll $4,$3,24 833 0618 03260400 sra $4,$4,24 834 $L56: 278:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** } 835 .loc 1 278 0 836 061c 0800E003 j $31 837 0620 21108000 move $2,$4 838 839 .set macro 840 .set reorder 841 $LFE6: 842 .end toUpper 843 .align 2 844 .globl compareFileName 845 .ent compareFileName 846 .type compareFileName, @function 847 compareFileName: 848 $LFB7: 279:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 280:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** int compareFileName(char fatName[8], char fatExt[3], const char* searchName) 281:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** { 849 .loc 1 281 0 850 .frame $sp,48,$31 # vars= 0, regs= 7/0, args= 16, gp= 0 851 .mask 0x803f0000,-8 852 .fmask 0x00000000,0 853 .set noreorder 854 .set nomacro 855 282:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** int i, j; 283:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** int period = 0; 284:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 285:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** DPRINTF("\n"); 286:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** #if defined(_DEBUG) 287:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** printf("Search Name: %s\n", searchName); 288:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** printf("Fat Name: "); 289:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** for(i = 0; i < 8; ++i) 290:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** printf("%c", fatName[i]); 291:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** printf("."); 292:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** for(i = 0; i < 3; ++i) 293:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** printf("%c", fatExt[i]); 294:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** printf("\n"); 295:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** #endif 296:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 297:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 298:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** for(i = 0; i < 13 && searchName[i] != 0; ++i) 856 .loc 1 298 0GAS LISTING /tmp/ccZKkRKo.s page 23 857 0624 0000C280 lb $2,0($6) 858 .loc 1 281 0 859 0628 D0FFBD27 addiu $sp,$sp,-48 860 $LCFI19: 861 062c 2400B5AF sw $21,36($sp) 862 $LCFI20: 863 0630 2000B4AF sw $20,32($sp) 864 $LCFI21: 865 0634 1C00B3AF sw $19,28($sp) 866 $LCFI22: 867 0638 1800B2AF sw $18,24($sp) 868 $LCFI23: 869 063c 1400B1AF sw $17,20($sp) 870 $LCFI24: 871 0640 2800BFAF sw $31,40($sp) 872 $LCFI25: 873 0644 1000B0AF sw $16,16($sp) 874 $LCFI26: 875 .loc 1 281 0 876 0648 2198C000 move $19,$6 877 064c 21A08000 move $20,$4 878 0650 21A8A000 move $21,$5 879 .loc 1 283 0 880 0654 21900000 move $18,$0 881 .loc 1 298 0 882 0658 0D004010 beq $2,$0,$L59 883 065c 21880000 move $17,$0 884 885 0660 2118C000 move $3,$6 886 0664 2E000424 li $4,46 # 0x2e 299:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** if(searchName[i] == '.') 887 .loc 1 299 0 888 0668 00006280 lb $2,0($3) 300:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** period = i; 889 .loc 1 300 0 890 066c 26104400 xor $2,$2,$4 891 $L104: 892 0670 0A902202 movz $18,$17,$2 893 .loc 1 298 0 894 0674 01003126 addiu $17,$17,1 895 0678 0D00222A slt $2,$17,13 896 067c 04004010 beq $2,$0,$L59 897 0680 21187102 addu $3,$19,$17 898 899 0684 00006280 lb $2,0($3) 900 .loc 1 300 0 901 .loc 1 298 0 902 0688 F9FF4014 bne $2,$0,$L104 903 068c 26104400 xor $2,$2,$4 904 905 $L59: 301:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 302:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** if(period > 0 && period < 9 && searchName[i] == 0) 906 .loc 1 302 0 907 0690 FFFF4226 addiu $2,$18,-1 908 0694 0800422C sltu $2,$2,8 909 0698 42004010 beq $2,$0,$L63GAS LISTING /tmp/ccZKkRKo.s page 24 910 069c 21107102 addu $2,$19,$17 911 912 06a0 00004380 lb $3,0($2) 303:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** { 304:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** //compare names 305:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** for(i = 0; i < period; ++i) 306:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** if(fatName[i] != toUpper(searchName[i])) 307:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** return fatName[i] < toUpper(searchName[i]) ? -1 : 1; 308:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 309:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** for(; i < 8; ++i) 310:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** if(fatName[i] != ' ') 311:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** return -1; 312:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 313:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** //compare extentions 314:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** for(i = 0, j = period+1; searchName[j] != 0; ++i, ++j) 315:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** if(fatExt[i] != toUpper(searchName[j])) 316:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** return fatExt[i] < toUpper(searchName[j]) ? -1 : 1; 317:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 318:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** for(; i < 3; ++i) 319:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** if(fatExt[i] != ' ') 320:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** return -1; 321:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 322:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** return 0; 323:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** } 324:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** 325:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** return -1; 326:/mnt/hgfs/boot/booter/source/applications/booter/fat.c **** } 913 .loc 1 326 0 914 .loc 1 302 0 915 06a4 40006014 bne $3,$0,$L105 916 06a8 2800BF8F lw $31,40($sp) 917 918 .loc 1 305 0 919 06ac 0E00401A blez $18,$L99 920 06b0 21880000 move $17,$0 921 922 .loc 1 306 0 923 06b4 21107102 addu $2,$19,$17 924 $L106: 925 06b8 00004480 lb $4,0($2) 926 06bc 21809102 addu $16,$20,$17 927 .loc 1 305 0 928 .loc 1 306 0 929 06c0 0000000C jal toUpper 930 06c4 01003126 addiu $17,$17,1 931 932 06c8 00000382 lb $3,0($16) 933 .loc 1 305 0 934 .loc 1 306 0 935 06cc 40006214 bne $3,$2,$L103 936 06d0 2A203202 slt $4,$17,$18 937 938 .loc 1 305 0 939 06d4 F8FF8014 bne $4,$0,$L106 940 06d8 21107102 addu $2,$19,$17 941 942 .loc 1 309 0GAS LISTING /tmp/ccZKkRKo.s page 25 943 06dc 0800222A slt $2,$17,8 944 06e0 09004010 beq $2,$0,$L92 945 06e4 00000000 nop 946 947 $L99: 948 06e8 20000424 li $4,32 # 0x20 949 .loc 1 310 0 950 06ec 21109102 addu $2,$20,$17 951 $L107: 952 06f0 00004380 lb $3,0($2) 953 .loc 1 309 0 954 06f4 01003126 addiu $17,$17,1 955 .loc 1 310 0 956 06f8 2A006414 bne $3,$4,$L63 957 06fc 0800222A slt $2,$17,8 958 959 .loc 1 309 0 960 0700 FBFF4014 bne $2,$0,$L107 961 0704 21109102 addu $2,$20,$17 962 963 $L92: 964 .loc 1 314 0 965 0708 01005226 addiu $18,$18,1 966 070c 21207202 addu $4,$19,$18 967 0710 00008490 lbu $4,0($4) 968 0714 10008010 beq $4,$0,$L100 969 0718 21880000 move $17,$0 970 971 .loc 1 315 0 972 071c 00260400 sll $4,$4,24 973 $L108: 974 0720 03260400 sra $4,$4,24 975 0724 0000000C jal toUpper 976 0728 2180B102 addu $16,$21,$17 977 978 072c 00000382 lb $3,0($16) 979 .loc 1 314 0 980 0730 01005226 addiu $18,$18,1 981 0734 21207202 addu $4,$19,$18 982 .loc 1 315 0 983 0738 25006214 bne $3,$2,$L103 984 073c 01003126 addiu $17,$17,1 985 986 .loc 1 314 0 987 0740 00008490 lbu $4,0($4) 988 .loc 1 315 0 989 .loc 1 314 0 990 0744 F6FF8014 bne $4,$0,$L108 991 0748 00260400 sll $4,$4,24 992 993 .loc 1 318 0 994 074c 0300222A slt $2,$17,3 995 .loc 1 326 0 996 .loc 1 318 0 997 0750 0A004010 beq $2,$0,$L109 998 0754 2800BF8F lw $31,40($sp) 999 GAS LISTING /tmp/ccZKkRKo.s page 26 1000 $L100: 1001 0758 20000424 li $4,32 # 0x20 1002 .loc 1 319 0 1003 075c 2110B102 addu $2,$21,$17 1004 $L110: 1005 0760 000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -