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

📄 booter.lst

📁 au1200下的boot代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
 182              		 183 0098 D8FFBD27 		addiu	$sp,$sp,-40 184              	$LCFI7: 185 009c 1C00B3AF 		sw	$19,28($sp) 186              	$LCFI8: 187 00a0 1800B2AF 		sw	$18,24($sp) 188              	$LCFI9: 189 00a4 1400B1AF 		sw	$17,20($sp) 190              	$LCFI10: 191 00a8 1000B0AF 		sw	$16,16($sp) 192              	$LCFI11: 193 00ac 2000BFAF 		sw	$31,32($sp) 194              	$LCFI12: 195              		.loc 1 80 0 196 00b0 2180A000 		move	$16,$5 197 00b4 2190C000 		move	$18,$6 198 00b8 2188E000 		move	$17,$7  81:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 	typedef int(*EXECUTE)(int, char**, char**);  82:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 	EXECUTE executeFunction = (EXECUTE) address;  83:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 	if( argc == NULL) 199              		.loc 1 83 0 200 00bc 0600A014 		bne	$5,$0,$L5 201 00c0 21988000 		move	$19,$4 202              	  84:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 	{  85:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 		argc = 1;  86:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 		argv = t_argv; 203              		.loc 1 86 0 204 00c4 0000023C 		lui	$2,%hi(t_argv)  87:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 		env = t_envp; 205              		.loc 1 87 0 206 00c8 0000033C 		lui	$3,%hi(t_envp) 207              		.loc 1 86 0 208 00cc 00005224 		addiu	$18,$2,%lo(t_argv) 209              		.loc 1 87 0 210 00d0 00007124 		addiu	$17,$3,%lo(t_envp) 211              		.loc 1 85 0 212 00d4 01001024 		li	$16,1			# 0x1 213              	$L5:  88:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 	}  89:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 	cpuDisableIrqs(); 214              		.loc 1 89 0 215 00d8 0000000C 		jal	cpuDisableIrqs 216 00dc 00000000 		nop 217              	  90:/mnt/hgfs/boot/booter/source/applications/booter/booter.c ****   91:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 	return executeFunction(argc, (char**) argv, (char**) env); 218              		.loc 1 91 0 219 00e0 21200002 		move	$4,$16 220 00e4 21284002 		move	$5,$18 221 00e8 21302002 		move	$6,$17 222 00ec 21C86002 		move	$25,$19  92:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** } 223              		.loc 1 92 0 224 00f0 2000BF8F 		lw	$31,32($sp) 225 00f4 1C00B38F 		lw	$19,28($sp) 226 00f8 1800B28F 		lw	$18,24($sp)GAS LISTING /tmp/ccjGssRD.s 			page 7 227 00fc 1400B18F 		lw	$17,20($sp) 228 0100 1000B08F 		lw	$16,16($sp) 229              		.loc 1 91 0 230 0104 08002003 		jr	$25 231 0108 2800BD27 		addiu	$sp,$sp,40 232              	 233              		.set	macro 234              		.set	reorder 235              	$LFE5: 236              		.end	execute 237              		.section	.rodata.str1.4 238 0083 00       		.align	2 239              	$LC6: 240 0084 255800   		.ascii	"%X\000" 241              		.text 242              		.align	2 243              		.globl	loadImage 244              		.ent	loadImage 245              		.type	loadImage, @function 246              	loadImage: 247              	$LFB7:  93:/mnt/hgfs/boot/booter/source/applications/booter/booter.c ****   94:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** void* findImage(const char** files, const char** addresses, void* jumpAddress)  95:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** {  96:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 	void* entryPoint;  97:/mnt/hgfs/boot/booter/source/applications/booter/booter.c ****   98:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** #if defined(CONFIG_HWBLOCK_SD)  99:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 	(entryPoint = loadSDMS (files))		|| 100:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** #endif 101:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** #if defined(CONFIG_HWBLOCK_NOR_FLASH) 102:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 	(entryPoint = loadFlash(addresses))	|| 103:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** #endif 104:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** #if defined(CONFIG_HWBLOCK_IDE) 105:/mnt/hgfs/boot/booter/source/applications/booter/booter.c ****  	(entryPoint = loadIDE(files))		|| 106:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** #endif 107:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** #if defined(CONFIG_HWBLOCK_PCMCIA) 108:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 	(entryPoint = loadPCMCIA(files))	|| 109:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** #endif 110:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 	(entryPoint = jumpAddress); 111:/mnt/hgfs/boot/booter/source/applications/booter/booter.c ****  112:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 	return entryPoint; 113:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** } 114:/mnt/hgfs/boot/booter/source/applications/booter/booter.c ****  115:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** void* loadImage(DataFunctions functions, const char* fileName) 116:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** { 248              		.loc 1 116 0 249              		.frame	$sp,48,$31		# vars= 16, regs= 3/0, args= 16, gp= 0 250              		.mask	0x80030000,-8 251              		.fmask	0x00000000,0 252              		.set	noreorder 253              		.set	nomacro 254              		 255 010c D0FFBD27 		addiu	$sp,$sp,-48 256              	$LCFI13: 257 0110 2400B1AF 		sw	$17,36($sp) 258              	$LCFI14: 259 0114 2000B0AF 		sw	$16,32($sp)GAS LISTING /tmp/ccjGssRD.s 			page 8 260              	$LCFI15: 261 0118 3000A4AF 		sw	$4,48($sp) 262 011c 2800BFAF 		sw	$31,40($sp) 263              	$LCFI16: 264              		.loc 1 116 0 265 0120 3400A5AF 		sw	$5,52($sp) 266 0124 3800A6AF 		sw	$6,56($sp) 117:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 	void* entryPoint; 118:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 	char Bz2Name[9]; 119:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 	char* Name = (char*)fileName; 267              		.loc 1 119 0 120:/mnt/hgfs/boot/booter/source/applications/booter/booter.c ****  121:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 	if (entryPoint = bz2LoadImage(functions, Name)) 268              		.loc 1 121 0 269 0128 0000000C 		jal	bz2LoadImage 270 012c 2188E000 		move	$17,$7 271              	 272 0130 21804000 		move	$16,$2 122:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 	{ 123:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 		functions = getFlashFunctions(); 273              		.loc 1 123 0 274              		.loc 1 121 0 275 0134 09004010 		beq	$2,$0,$L8 276 0138 3000A427 		addiu	$4,$sp,48 277              	 278              		.loc 1 123 0 279 013c 0000000C 		jal	getFlashFunctions 280 0140 00000000 		nop 281              	 124:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 		sprintf(Bz2Name, "%X", entryPoint); 282              		.loc 1 124 0 283 0144 0000053C 		lui	$5,%hi($LC6) 284 0148 21300002 		move	$6,$16 285 014c 0000A524 		addiu	$5,$5,%lo($LC6) 286 0150 0000000C 		jal	sprintf 287 0154 1000A427 		addiu	$4,$sp,16 288              	 125:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 		Name = Bz2Name; 289              		.loc 1 125 0 290 0158 1000B127 		addiu	$17,$sp,16 291              	$L8: 126:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 	} 127:/mnt/hgfs/boot/booter/source/applications/booter/booter.c ****  128:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 	if( (entryPoint = binLoadImage(functions, Name))	|| 292              		.loc 1 128 0 293 015c 3000A48F 		lw	$4,48($sp) 294 0160 3400A58F 		lw	$5,52($sp) 295 0164 3800A68F 		lw	$6,56($sp) 296 0168 0000000C 		jal	binLoadImage 297 016c 21382002 		move	$7,$17 298              	 299 0170 21804000 		move	$16,$2 300 0174 07004010 		beq	$2,$0,$L11 301 0178 21382002 		move	$7,$17 302              	 303              	$L10: 129:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 		(entryPoint = srecLoadImage(functions, Name))	||GAS LISTING /tmp/ccjGssRD.s 			page 9 130:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 		(entryPoint = elfLoadImage(functions, Name))	) 131:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 		return entryPoint; 304              		.loc 1 131 0 305 017c 21100002 		move	$2,$16 132:/mnt/hgfs/boot/booter/source/applications/booter/booter.c ****  133:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 	return (void*) 0; 134:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** } 306              		.loc 1 134 0 307 0180 2800BF8F 		lw	$31,40($sp) 308              	$L12: 309 0184 2400B18F 		lw	$17,36($sp) 310 0188 2000B08F 		lw	$16,32($sp) 311 018c 0800E003 		j	$31 312 0190 3000BD27 		addiu	$sp,$sp,48 313              	 314              	$L11: 315              		.loc 1 128 0 316 0194 3000A48F 		lw	$4,48($sp) 317 0198 3400A58F 		lw	$5,52($sp) 318 019c 0000000C 		jal	srecLoadImage 319 01a0 3800A68F 		lw	$6,56($sp) 320              	 321 01a4 21804000 		move	$16,$2 322 01a8 F4FF4014 		bne	$2,$0,$L10 323 01ac 21382002 		move	$7,$17 324              	 325 01b0 3000A48F 		lw	$4,48($sp) 326 01b4 3400A58F 		lw	$5,52($sp) 327 01b8 0000000C 		jal	elfLoadImage 328 01bc 3800A68F 		lw	$6,56($sp) 329              	 330 01c0 21804000 		move	$16,$2 331              		.loc 1 133 0 332              		.loc 1 128 0 333 01c4 EDFF0016 		bne	$16,$0,$L10 334 01c8 21100000 		move	$2,$0 335              	 336              		.loc 1 134 0 337 01cc 61000008 		j	$L12 338 01d0 2800BF8F 		lw	$31,40($sp) 339              	 340              		.set	macro 341              		.set	reorder 342              	$LFE7: 343              		.end	loadImage 344              		.align	2 345              		.globl	loadFlash 346              		.ent	loadFlash 347              		.type	loadFlash, @function 348              	loadFlash: 349              	$LFB8: 135:/mnt/hgfs/boot/booter/source/applications/booter/booter.c ****  136:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** #if defined(CONFIG_HWBLOCK_NOR_FLASH) | defined(CONFIG_HWBLOCK_NAND_FLASH) 137:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** void* loadFlash(const char** addresses) 138:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** { 350              		.loc 1 138 0 351              		.frame	$sp,72,$31		# vars= 32, regs= 5/0, args= 16, gp= 0GAS LISTING /tmp/ccjGssRD.s 			page 10 352              		.mask	0x800f0000,-8 353              		.fmask	0x00000000,0 354              		.set	noreorder 355              		.set	nomacro 356              		 357 01d4 B8FFBD27 		addiu	$sp,$sp,-72 358              	$LCFI17: 359 01d8 3800B2AF 		sw	$18,56($sp) 360              	$LCFI18: 361 01dc 3400B1AF 		sw	$17,52($sp) 362              	$LCFI19: 363 01e0 4000BFAF 		sw	$31,64($sp) 364              	$LCFI20: 365 01e4 3C00B3AF 		sw	$19,60($sp) 366              	$LCFI21: 367 01e8 3000B0AF 		sw	$16,48($sp) 368              	$LCFI22: 139:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 	int i; 140:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 	void* entryPoint = 0; 141:/mnt/hgfs/boot/booter/source/applications/booter/booter.c ****  142:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 	for(i = 0; addresses[i] != 0 && !entryPoint; ++i) 369              		.loc 1 142 0 370 01ec 0000828C 		lw	$2,0($4) 371              		.loc 1 138 0 372 01f0 21908000 		move	$18,$4 373              		.loc 1 142 0 374 01f4 21880000 		move	$17,$0 375              		.loc 1 140 0 376              		.loc 1 142 0 377 01f8 26004010 		beq	$2,$0,$L15 378 01fc 21200000 		move	$4,$0 379              	 380 0200 21380000 		move	$7,$0 381 0204 93000008 		j	$L19 382 0208 4E001324 		li	$19,78			# 0x4e 383              	 384              	$L17: 143:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 	{ 144:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 		if(addresses[i][0] == 'N')	//Nand image 145:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 		{ 146:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 			#ifdef CONFIG_HWBLOCK_NAND_FLASH 147:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 				entryPoint = loadImage(getNandFunctions(), addresses[i]); 148:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 			#endif 149:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 		} 150:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 		else 151:/mnt/hgfs/boot/booter/source/applications/booter/booter.c **** 			entryPoint = loadImage(getFlashFunctions(), addresses[i]); 385              		.loc 1 151 0 386 020c 0000000C 		jal	getFlashFunctions 387 0210 2000A427 		addiu	$4,$sp,32 388              	 389 0214 0000078E 		lw	$7,0($16) 390 0218 2000A48F 		lw	$4,32($sp) 391 021c 2400A58F 		lw	$5,36($sp) 392 0220 2800A68F 		lw	$6,40($sp) 393              		.loc 1 142 0 394              		.loc 1 151 0 395 0224 0000000C 		jal	loadImageGAS LISTING /tmp/ccjGssRD.s 			page 11 396 0228 01003126 		addiu	$17,$17,1 397              	 398              		.loc 1 142 0

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -