⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fat.lst

📁 au1200下的boot代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
 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 0GAS 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,$L63GAS 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 0GAS 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 + -