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

📄 stdlib.lst

📁 au1200下的boot代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
 249 0108 0000000C 		jal	puts 250 010c 23882302 		subu	$17,$17,$3 251              	 252              		.loc 1 74 0 253 0110 F6FF1316 		bne	$16,$19,$L18 254 0114 00000000 		nop 255              	 256              	$L24:  75:/mnt/hgfs/boot/booter/source/stdlib.c ****   76:/mnt/hgfs/boot/booter/source/stdlib.c **** 	s[i] = '\0'; 257              		.loc 1 76 0 258 0118 21105102 		addu	$2,$18,$17 259 011c 000040A0 		sb	$0,0($2)  77:/mnt/hgfs/boot/booter/source/stdlib.c ****   78:/mnt/hgfs/boot/booter/source/stdlib.c **** 	return s;  79:/mnt/hgfs/boot/booter/source/stdlib.c **** }GAS LISTING /tmp/ccLTWmfM.s 			page 7 260              		.loc 1 79 0 261 0120 2800BF8F 		lw	$31,40($sp) 262 0124 21104002 		move	$2,$18 263 0128 2400B58F 		lw	$21,36($sp) 264 012c 2000B48F 		lw	$20,32($sp) 265 0130 1C00B38F 		lw	$19,28($sp) 266 0134 1800B28F 		lw	$18,24($sp) 267 0138 1400B18F 		lw	$17,20($sp) 268 013c 1000B08F 		lw	$16,16($sp) 269 0140 0800E003 		j	$31 270 0144 3000BD27 		addiu	$sp,$sp,48 271              	 272              		.set	macro 273              		.set	reorder 274              	$LFE7: 275              		.end	gets 276              		.align	2 277              		.globl	gets_noecho 278              		.ent	gets_noecho 279              		.type	gets_noecho, @function 280              	gets_noecho: 281              	$LFB8:  80:/mnt/hgfs/boot/booter/source/stdlib.c ****   81:/mnt/hgfs/boot/booter/source/stdlib.c **** /********************************************************************/  82:/mnt/hgfs/boot/booter/source/stdlib.c **** char *  83:/mnt/hgfs/boot/booter/source/stdlib.c **** gets_noecho (char *s)  84:/mnt/hgfs/boot/booter/source/stdlib.c **** { 282              		.loc 1 84 0 283              		.frame	$sp,40,$31		# vars= 0, regs= 5/0, args= 16, gp= 0 284              		.mask	0x800f0000,-8 285              		.fmask	0x00000000,0 286              		.set	noreorder 287              		.set	nomacro 288              		 289 0148 D8FFBD27 		addiu	$sp,$sp,-40 290              	$LCFI16: 291 014c 1C00B3AF 		sw	$19,28($sp) 292              	$LCFI17: 293 0150 1800B2AF 		sw	$18,24($sp) 294              	$LCFI18: 295 0154 1400B1AF 		sw	$17,20($sp) 296              	$LCFI19: 297 0158 1000B0AF 		sw	$16,16($sp) 298              	$LCFI20: 299 015c 21888000 		move	$17,$4  85:/mnt/hgfs/boot/booter/source/stdlib.c **** 	int i = 0; 300              		.loc 1 85 0 301 0160 21800000 		move	$16,$0 302 0164 08001324 		li	$19,8			# 0x8 303 0168 0A001224 		li	$18,10			# 0xa 304              		.loc 1 84 0 305              	$LCFI21: 306 016c 61000008 		j	$L26 307 0170 2000BFAF 		sw	$31,32($sp) 308              	 309              	$L29:  86:/mnt/hgfs/boot/booter/source/stdlib.c **** 	int ch;GAS LISTING /tmp/ccLTWmfM.s 			page 8  87:/mnt/hgfs/boot/booter/source/stdlib.c ****   88:/mnt/hgfs/boot/booter/source/stdlib.c **** 	do  89:/mnt/hgfs/boot/booter/source/stdlib.c **** 	{  90:/mnt/hgfs/boot/booter/source/stdlib.c **** 		ch = getc_noecho();  91:/mnt/hgfs/boot/booter/source/stdlib.c **** 		if (ch == '\b')  92:/mnt/hgfs/boot/booter/source/stdlib.c **** 		{  93:/mnt/hgfs/boot/booter/source/stdlib.c **** 			if (i > 0)  94:/mnt/hgfs/boot/booter/source/stdlib.c **** 				--i;  95:/mnt/hgfs/boot/booter/source/stdlib.c **** 		}  96:/mnt/hgfs/boot/booter/source/stdlib.c **** 		else  97:/mnt/hgfs/boot/booter/source/stdlib.c **** 		{  98:/mnt/hgfs/boot/booter/source/stdlib.c **** 			s[i++] = ch; 310              		.loc 1 98 0 311 0174 01001026 		addiu	$16,$16,1 312 0178 000062A0 		sb	$2,0($3) 313              	$L28:  99:/mnt/hgfs/boot/booter/source/stdlib.c **** 		} 100:/mnt/hgfs/boot/booter/source/stdlib.c **** 	} while (ch != '\n'); 101:/mnt/hgfs/boot/booter/source/stdlib.c ****  102:/mnt/hgfs/boot/booter/source/stdlib.c **** 	s[i] = '\0'; 314              		.loc 1 102 0 315              		.loc 1 100 0 316 017c 0A005210 		beq	$2,$18,$L33 317 0180 21103002 		addu	$2,$17,$16 318              	 319              	$L26: 320              		.loc 1 90 0 321 0184 0000000C 		jal	getc_noecho 322 0188 00000000 		nop 323              	 324              		.loc 1 98 0 325              		.loc 1 91 0 326 018c F9FF5314 		bne	$2,$19,$L29 327 0190 21181102 		addu	$3,$16,$17 328              	 329              		.loc 1 93 0 330 0194 F9FF001A 		blez	$16,$L28 331 0198 00000000 		nop 332              	 333              		.loc 1 94 0 334              		.loc 1 100 0 335 019c F9FF5214 		bne	$2,$18,$L26 336 01a0 FFFF1026 		addiu	$16,$16,-1 337              	 338              		.loc 1 102 0 339 01a4 21103002 		addu	$2,$17,$16 340              	$L33: 341 01a8 000040A0 		sb	$0,0($2) 103:/mnt/hgfs/boot/booter/source/stdlib.c ****  104:/mnt/hgfs/boot/booter/source/stdlib.c **** 	return s; 105:/mnt/hgfs/boot/booter/source/stdlib.c **** } 342              		.loc 1 105 0 343 01ac 2000BF8F 		lw	$31,32($sp) 344 01b0 21102002 		move	$2,$17 345 01b4 1C00B38F 		lw	$19,28($sp) 346 01b8 1800B28F 		lw	$18,24($sp) 347 01bc 1400B18F 		lw	$17,20($sp)GAS LISTING /tmp/ccLTWmfM.s 			page 9 348 01c0 1000B08F 		lw	$16,16($sp) 349 01c4 0800E003 		j	$31 350 01c8 2800BD27 		addiu	$sp,$sp,40 351              	 352              		.set	macro 353              		.set	reorder 354              	$LFE8: 355              		.end	gets_noecho 356              		.align	2 357              		.globl	srand 358              		.ent	srand 359              		.type	srand, @function 360              	srand: 361              	$LFB9: 106:/mnt/hgfs/boot/booter/source/stdlib.c ****  107:/mnt/hgfs/boot/booter/source/stdlib.c **** /********************************************************************/ 108:/mnt/hgfs/boot/booter/source/stdlib.c **** int 109:/mnt/hgfs/boot/booter/source/stdlib.c **** srand (int max) 110:/mnt/hgfs/boot/booter/source/stdlib.c **** { 362              		.loc 1 110 0 363              		.frame	$sp,24,$31		# vars= 0, regs= 2/0, args= 16, gp= 0 364              		.mask	0x80010000,-4 365              		.fmask	0x00000000,0 366              		.set	noreorder 367              		.set	nomacro 368              		 369 01cc E8FFBD27 		addiu	$sp,$sp,-24 370              	$LCFI22: 371 01d0 1000B0AF 		sw	$16,16($sp) 372              	$LCFI23: 373 01d4 1400BFAF 		sw	$31,20($sp) 374              	$LCFI24: 375              		.loc 1 110 0 111:/mnt/hgfs/boot/booter/source/stdlib.c **** 	int v = (int)cp0RdCount(); 376              		.loc 1 111 0 377 01d8 0000000C 		jal	cp0RdCount 378 01dc 21808000 		move	$16,$4 379              	 112:/mnt/hgfs/boot/booter/source/stdlib.c ****  113:/mnt/hgfs/boot/booter/source/stdlib.c **** 	v &= 0x0ffff; 380              		.loc 1 113 0 114:/mnt/hgfs/boot/booter/source/stdlib.c ****  115:/mnt/hgfs/boot/booter/source/stdlib.c **** 	if( max != 0 ) 381              		.loc 1 115 0 382 01e0 06000012 		beq	$16,$0,$L35 383 01e4 FFFF4230 		andi	$2,$2,0xffff 384              	 116:/mnt/hgfs/boot/booter/source/stdlib.c **** 		v = v % max; 385              		.loc 1 116 0 386 01e8 1A005000 		div	$0,$2,$16 387 01ec 02000016 		bne	$16,$0,1f 388 01f0 00000000 		nop 389 01f4 0D000700 		break	7 390              	1: 391 01f8 10100000 		mfhi	$2 392              	$L35: 117:/mnt/hgfs/boot/booter/source/stdlib.c **** GAS LISTING /tmp/ccLTWmfM.s 			page 10 118:/mnt/hgfs/boot/booter/source/stdlib.c **** 	return v; 119:/mnt/hgfs/boot/booter/source/stdlib.c **** } 393              		.loc 1 119 0 394 01fc 1400BF8F 		lw	$31,20($sp) 395 0200 1000B08F 		lw	$16,16($sp) 396 0204 0800E003 		j	$31 397 0208 1800BD27 		addiu	$sp,$sp,24 398              	 399              		.set	macro 400              		.set	reorder 401              	$LFE9: 402              		.end	srand 403              		.align	2 404              		.globl	hexchartoi 405              		.ent	hexchartoi 406              		.type	hexchartoi, @function 407              	hexchartoi: 408              	$LFB10: 120:/mnt/hgfs/boot/booter/source/stdlib.c ****  121:/mnt/hgfs/boot/booter/source/stdlib.c **** /********************************************************************/ 122:/mnt/hgfs/boot/booter/source/stdlib.c **** int hexchartoi(const char ch) 123:/mnt/hgfs/boot/booter/source/stdlib.c **** { 409              		.loc 1 123 0 410              		.frame	$sp,0,$31		# vars= 0, regs= 0/0, args= 0, gp= 0 411              		.mask	0x00000000,0 412              		.fmask	0x00000000,0 413              		.set	noreorder 414              		.set	nomacro 415              		 416              		.loc 1 123 0 417 020c 00260400 		sll	$4,$4,24 418 0210 03260400 		sra	$4,$4,24 124:/mnt/hgfs/boot/booter/source/stdlib.c **** 	switch (ch) 419              		.loc 1 124 0 420 0214 D0FF8524 		addiu	$5,$4,-48 421 0218 3700A22C 		sltu	$2,$5,55 422 021c 07004010 		beq	$2,$0,$L60 423 0220 0000033C 		lui	$3,%hi($L61) 424              	 425 0224 80100500 		sll	$2,$5,2 426 0228 00006324 		addiu	$3,$3,%lo($L61) 427 022c 21104300 		addu	$2,$2,$3 428 0230 0000448C 		lw	$4,0($2) 429 0234 08008000 		j	$4 430 0238 00000000 		nop 431              	 432              		.rdata 433              		.align	2 434              	$L61: 435 0000 4C020000 		.word	$L47 436 0004 4C020000 		.word	$L47 437 0008 4C020000 		.word	$L47 438 000c 4C020000 		.word	$L47 439 0010 4C020000 		.word	$L47 440 0014 4C020000 		.word	$L47 441 0018 4C020000 		.word	$L47 442 001c 4C020000 		.word	$L47GAS LISTING /tmp/ccLTWmfM.s 			page 11 443 0020 4C020000 		.word	$L47 444 0024 4C020000 		.word	$L47 445 0028 3C020000 		.word	$L60 446 002c 3C020000 		.word	$L60 447 0030 3C020000 		.word	$L60 448 0034 3C020000 		.word	$L60 449 0038 3C020000 		.word	$L60 450 003c 3C020000 		.word	$L60 451 0040 3C020000 		.word	$L60 452 0044 54020000 		.word	$L49 453 0048 5C020000 		.word	$L51 454 004c 64020000 		.word	$L53 455 0050 6C020000 		.word	$L55 456 0054 74020000 		.word	$L57 457 0058 44020000 		.word	$L59 458 005c 3C020000 		.word	$L60 459 0060 3C020000 		.word	$L60 460 0064 3C020000 		.word	$L60 461 0068 3C020000 		.word	$L60 462 006c 3C020000 		.word	$L60 463 0070 3C020000 		.word	$L60 464 0074 3C020000 		.word	$L60 465 0078 3C020000 		.word	$L60 466 007c 3C020000 		.word	$L60 467 0080 3C020000 		.word	$L60 468 0084 3C020000 		.word	$L60 469 0088 3C020000 		.word	$L60 470 008c 3C020000 		.word	$L60 471 0090 3C020000 		.word	$L60 472 0094 3C020000 		.word	$L60 473 0098 3C020000 		.word	$L60 474 009c 3C020000 		.word	$L60 475 00a0 3C020000 		.word	$L60 476 00a4 3C020000 		.word	$L60 477 00a8 3C020000 		.word	$L60 478 00ac 3C020000 		.word	$L60 479 00b0 3C020000 		.word	$L60 480 00b4 3C020000 		.word	$L60 481 00b8 3C020000 		.word	$L60 482 00bc 3C020000 		.word	$L60 483 00c0 3C020000 		.word	$L60 484 00c4 54020000 		.word	$L49 485 00c8 5C020000 		.word	$L51 486 00cc 64020000 		.word	$L53 487 00d0 6C020000 		.word	$L55 488 00d4 74020000 		.word	$L57 489 00d8 44020000 		.word	$L59 490 00dc 00000000 		.text 491              	$L60: 125:/mnt/hgfs/boot/booter/source/stdlib.c **** 	{ 126:/mnt/hgfs/boot/booter/source/stdlib.c **** 		case '0': 127:/mnt/hgfs/boot/booter/source/stdlib.c **** 		case '1': 128:/mnt/hgfs/boot/booter/source/stdlib.c **** 		case '2': 129:/mnt/hgfs/boot/booter/source/stdlib.c **** 		case '3': 130:/mnt/hgfs/boot/booter/source/stdlib.c **** 		case '4': 131:/mnt/hgfs/boot/booter/source/stdlib.c **** 		case '5': 132:/mnt/hgfs/boot/booter/source/stdlib.c **** 		case '6':GAS LISTING /tmp/ccLTWmfM.s 			page 12 133:/mnt/hgfs/boot/booter/source/stdlib.c **** 		case '7': 134:/mnt/hgfs/boot/booter/source/stdlib.c **** 		case '8': 135:/mnt/hgfs/boot/booter/source/stdlib.c **** 		case '9': 136:/mnt/hgfs/boot/booter/source/stdlib.c **** 			return (ch - '0'); 137:/mnt/hgfs/boot/booter/source/stdlib.c **** 			break; 138:/mnt/hgfs/boot/booter/source/stdlib.c **** 		case 'A': 139:/mnt/hgfs/boot/booter/source/stdlib.c **** 		case 'a': 140:/mnt/hgfs/boot/booter/source/stdlib.c **** 			return 10; 141:/mnt/hgfs/boot/booter/source/stdlib.c **** 			break; 142:/mnt/hgfs/boot/booter/source/stdlib.c **** 		case 'B': 143:/mnt/hgfs/boot/booter/source/stdlib.c **** 		case 'b': 144:/mnt/hgfs/boot/booter/source/stdlib.c **** 			return 11; 145:/mnt/hgfs/boot/booter/source/stdlib.c **** 			break; 146:/mnt/hgfs/boot/booter/source/stdlib.c **** 		case 'C': 147:/mnt/hgfs/boot/booter/source/stdlib.c **** 		case 'c': 148:/mnt/hgfs/boot/booter/source/stdlib.c **** 			return 12; 149:/mnt/hgfs/boot/booter/source/stdlib.c **** 			break; 150:/mnt/hgfs/boot/booter/source/stdlib.c **** 		case 'D': 151:/mnt/hgfs/boot/booter/source/stdlib.c **** 		case 'd': 152:/mnt/hgfs/boot/booter/source/stdlib.c **** 			return 13; 153:/mnt/hgfs/boot/booter/source/stdlib.c **** 			break; 154:/mnt/hgfs/boot/booter/source/stdlib.c **** 		case 'E': 155:/mnt/hgfs/boot/booter/source/stdlib.c **** 		case 'e': 156:/mnt/hgfs/boot/booter/source/stdlib.c **** 			return 14; 157:/mnt/hgfs/boot/booter/source/stdlib.c **** 			break;

⌨️ 快捷键说明

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