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

📄 lcd2_frame_buffer.lst

📁 au1200下的boot代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
 499              		.loc 1 74 0 500 0468 0700D810 		beq	$6,$24,$L50 501 046c 0100E326 		addiu	$3,$23,1 502              	 503 0470 1A00C401 		div	$0,$14,$4 504 0474 02008014 		bne	$4,$0,1f 505 0478 00000000 		nop 506 047c 0D000700 		break	7 507              	1: 508 0480 10100000 		mfhi	$2 509              		.loc 1 75 0 510 0484 0BB86200 		movn	$23,$3,$2 511              	$L50:  76:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 	int r_dir = (r2 > r1) ? 1 : -1; 512              		.loc 1 76 0 513 0488 FFFF0224 		li	$2,-1			# 0xffffffffffffffff 514 048c 01000824 		li	$8,1			# 0x1  77:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 	  78:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 	int g_delta = (g2 > g1) ? (g2 - g1) : (g1 - g2); 515              		.loc 1 78 0 516 0490 2B302703 		sltu	$6,$25,$7 517 0494 2320F900 		subu	$4,$7,$25 518 0498 23182703 		subu	$3,$25,$7 519              		.loc 1 76 0 520 049c 0A404500 		movz	$8,$2,$5 521 04a0 4400A8AF 		sw	$8,68($sp) 522              		.loc 1 78 0 523 04a4 0A206600 		movz	$4,$3,$6  79:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 	int g_mod = (g1 == g2) ? 0 : scaled_width / g_delta; 524              		.loc 1 79 0 525 04a8 06002713 		beq	$25,$7,$L56 526 04ac 21A80000 		move	$21,$0 527              	 528 04b0 1A00C401 		div	$0,$14,$4 529 04b4 02008014 		bne	$4,$0,1f 530 04b8 00000000 		nop 531 04bc 0D000700 		break	7 532              	1: 533 04c0 12A80000 		mflo	$21 534              	$L56:  80:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 	if((g2 != g1) && scaled_width % g_delta != 0)  81:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 		g_mod++; 535              		.loc 1 81 0 536              		.loc 1 80 0 537 04c4 0700F910 		beq	$7,$25,$L57 538 04c8 0100A326 		addiu	$3,$21,1 539              	 540 04cc 1A00C401 		div	$0,$14,$4 541 04d0 02008014 		bne	$4,$0,1f 542 04d4 00000000 		nop 543 04d8 0D000700 		break	7 544              	1: 545 04dc 10100000 		mfhi	$2 546              		.loc 1 81 0 547 04e0 0BA86200 		movn	$21,$3,$2 548              	$L57:  82:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 	int g_dir = (g2 > g1) ? 1 : -1;GAS LISTING /tmp/cc7wtJ5I.s 			page 17 549              		.loc 1 82 0 550 04e4 FFFF0224 		li	$2,-1			# 0xffffffffffffffff 551 04e8 01000724 		li	$7,1			# 0x1  83:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 	  84:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 	int b_delta = (b2 > b1) ? (b2 - b1) : (b1 - b2); 552              		.loc 1 84 0 553 04ec 2B280902 		sltu	$5,$16,$9 554 04f0 23203001 		subu	$4,$9,$16 555 04f4 23180902 		subu	$3,$16,$9 556              		.loc 1 82 0 557 04f8 0A384600 		movz	$7,$2,$6 558 04fc 4800A7AF 		sw	$7,72($sp) 559              		.loc 1 84 0 560 0500 0A206500 		movz	$4,$3,$5  85:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 	int b_mod = (b1 == b2) ? 0 : scaled_width / b_delta; 561              		.loc 1 85 0 562 0504 06000912 		beq	$16,$9,$L63 563 0508 21A00000 		move	$20,$0 564              	 565 050c 1A00C401 		div	$0,$14,$4 566 0510 02008014 		bne	$4,$0,1f 567 0514 00000000 		nop 568 0518 0D000700 		break	7 569              	1: 570 051c 12A00000 		mflo	$20 571              	$L63:  86:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 	if((b2 != b1) && scaled_width % b_delta != 0)  87:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 		b_mod++; 572              		.loc 1 87 0 573              		.loc 1 86 0 574 0520 07003011 		beq	$9,$16,$L64 575 0524 01008326 		addiu	$3,$20,1 576              	 577 0528 1A00C401 		div	$0,$14,$4 578 052c 02008014 		bne	$4,$0,1f 579 0530 00000000 		nop 580 0534 0D000700 		break	7 581              	1: 582 0538 10100000 		mfhi	$2 583              		.loc 1 87 0 584 053c 0BA06200 		movn	$20,$3,$2 585              	$L64:  88:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 	int b_dir = (b2 > b1) ? 1 : -1; 586              		.loc 1 88 0 587 0540 FFFF0224 		li	$2,-1			# 0xffffffffffffffff 588 0544 01000324 		li	$3,1			# 0x1 589 0548 0A184500 		movz	$3,$2,$5 590 054c 4C00A3AF 		sw	$3,76($sp)  89:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c ****   90:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 	DPRINTF("FB: %X, W: %d, H: %d, BPP: %d, Mem Width: %d\n", address, info->width, info->height, info  91:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 	DPRINTF("A (%d->%d), R (%d->%d), G (%d->%d), B(%d->%d)\n", a1, a2, r1, r2, g1, g2, b1, b2);  92:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 	DPRINTF("A: (%d,%d), R: (%d,%d), G: (%d,%d), B: (%d,%d)\n", a_mod, a_dir, r_mod, r_dir, g_mod, g_d  93:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c ****   94:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 	for(x = 0; x < scaled_width; ++x)	//increment through columns 591              		.loc 1 94 0 592 0550 8500C019 		blez	$14,$L92 593 0554 21400000 		move	$8,$0GAS LISTING /tmp/cc7wtJ5I.s 			page 18 594              	 595 0558 40008A25 		addiu	$10,$12,64 596 055c 21904001 		move	$18,$10 597 0560 21984001 		move	$19,$10 598              	$L90:  95:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 	{		  96:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 		if((x % width_scale) == 0) 599              		.loc 1 96 0 600 0564 1A000F01 		div	$0,$8,$15 601 0568 0200E015 		bne	$15,$0,1f 602 056c 00000000 		nop 603 0570 0D000700 		break	7 604              	1: 605 0574 10100000 		mfhi	$2 606 0578 4B004014 		bne	$2,$0,$L70 607 057c 00000000 		nop 608              	  97:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 		{	  98:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 			for(y = 0; y < info->height; ++y)	//incrment through each row in this column 609              		.loc 1 98 0 610 0580 4400898D 		lw	$9,68($12) 611 0584 0900201D 		bgtz	$9,$L85 612 0588 21580000 		move	$11,$0 613              	 614 058c AA010008 		j	$L70 615 0590 00000000 		nop 616              	 617              	$L95: 618              		.loc 2 277 0  99:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 			{ 100:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 				fb_index = (y * info->width) + (x / width_scale);	//calculate the index into the frame buffer f 101:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 				switch(info->pixel_info.memory_width)	//we have to index into the right data type depending on  619              		.loc 1 101 0 620 0594 AC008210 		beq	$4,$2,$L75 621 0598 21308001 		move	$6,$12 622              	 623              	$L73: 624              		.loc 1 98 0 625 059c 01006B25 		addiu	$11,$11,1 626 05a0 2A106901 		slt	$2,$11,$9 627 05a4 40004010 		beq	$2,$0,$L70 628 05a8 00000000 		nop 629              	 630              	$L85: 631              		.loc 1 100 0 632 05ac 1A000F01 		div	$0,$8,$15 633 05b0 0200E015 		bne	$15,$0,1f 634 05b4 00000000 		nop 635 05b8 0D000700 		break	7 636              	1: 637 05bc 4000838D 		lw	$3,64($12) 638              		.loc 1 101 0 639 05c0 0C00848D 		lw	$4,12($12) 640 05c4 10000224 		li	$2,16			# 0x10 641              		.loc 1 100 0 642              		.loc 1 101 0 643 05c8 72008210 		beq	$4,$2,$L78GAS LISTING /tmp/cc7wtJ5I.s 			page 19 644 05cc 00006B70 		madd	$3,$11 645              	 646 05d0 11008228 		slt	$2,$4,17 647 05d4 EFFF4014 		bne	$2,$0,$L95 648 05d8 08000224 		li	$2,8			# 0x8 649              	 650 05dc 20000224 		li	$2,32			# 0x20 651              		.loc 2 277 0 652              		.loc 1 101 0 653 05e0 EEFF8214 		bne	$4,$2,$L73 654 05e4 21308001 		move	$6,$12 655              	 102:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 				{ 103:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 					case 8:		((unsigned char*) (address))[fb_index] = (unsigned char)  pixel_convert(info->pixel_i 104:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 					case 16:	((unsigned short*)(address))[fb_index] = (unsigned short) pixel_convert(info->pixel_i 105:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 					case 32:	((unsigned int*)  (address))[fb_index] = (unsigned int)   pixel_convert(info->pixel_i 656              		.loc 1 105 0 657 05e8 12380000 		mflo	$7 658 05ec 80100700 		sll	$2,$7,2 659 05f0 21485E00 		addu	$9,$2,$fp 660              	$LBB11: 661              		.loc 2 277 0 662 05f4 2138A003 		move	$7,$sp 663              	$L82: 664 05f8 0000C28C 		lw	$2,0($6) 665 05fc 0400C38C 		lw	$3,4($6) 666 0600 0800C48C 		lw	$4,8($6) 667 0604 0C00C58C 		lw	$5,12($6) 668 0608 1000C624 		addiu	$6,$6,16 669 060c 0000E2AC 		sw	$2,0($7) 670 0610 0400E3AC 		sw	$3,4($7) 671 0614 0800E4AC 		sw	$4,8($7) 672 0618 0C00E5AC 		sw	$5,12($7) 673 061c F6FFD314 		bne	$6,$19,$L82 674 0620 1000E724 		addiu	$7,$7,16 675              	 676              	$LBB12: 677              		.loc 2 278 0 678 0624 3000A78F 		lw	$7,48($sp) 679 0628 2000A38F 		lw	$3,32($sp) 680 062c 3C00A68F 		lw	$6,60($sp) 681 0630 2C00A28F 		lw	$2,44($sp) 682 0634 0738F800 		sra	$7,$24,$7 683 0638 04386700 		sll	$7,$7,$3 684 063c 0730D100 		sra	$6,$17,$6 685 0640 1000A38F 		lw	$3,16($sp) 686 0644 04304600 		sll	$6,$6,$2 687 0648 3400A58F 		lw	$5,52($sp) 688 064c 1C00A28F 		lw	$2,28($sp) 689 0650 2400A48F 		lw	$4,36($sp) 690 0654 2438E300 		and	$7,$7,$3 691 0658 1400A38F 		lw	$3,20($sp) 692 065c 2430C200 		and	$6,$6,$2 693 0660 0728B900 		sra	$5,$25,$5 694 0664 3800A28F 		lw	$2,56($sp) 695 0668 04288500 		sll	$5,$5,$4 696 066c 2800A48F 		lw	$4,40($sp)GAS LISTING /tmp/cc7wtJ5I.s 			page 20 697 0670 2428A300 		and	$5,$5,$3 698 0674 1800A38F 		lw	$3,24($sp) 699 0678 07105000 		sra	$2,$16,$2 700 067c 2530C700 		or	$6,$6,$7 701 0680 04108200 		sll	$2,$2,$4 702 0684 2530C500 		or	$6,$6,$5 703 0688 24104300 		and	$2,$2,$3 704 068c 2530C200 		or	$6,$6,$2 705              	$LBE12: 706              	$LBE11: 707              		.loc 2 277 0 708 0690 000026AD 		sw	$6,0($9) 709 0694 4400898D 		lw	$9,68($12) 710              	$L96: 711              		.loc 1 98 0 712 0698 01006B25 		addiu	$11,$11,1 713 069c 2A106901 		slt	$2,$11,$9 714 06a0 C2FF4014 		bne	$2,$0,$L85 715 06a4 00000000 		nop 716              	 717              	$L70: 106:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 				}	 107:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 			} 108:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 		} 109:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c ****  110:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 		//increment/decrement the shade of each color element 111:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 		if(a_mod && (x % a_mod) == 0) 718              		.loc 1 111 0 719 06a8 0A00C012 		beq	$22,$0,$L86 720 06ac 00000000 		nop 721              	 722 06b0 1A001601 		div	$0,$8,$22 723 06b4 0200C016 		bne	$22,$0,1f 724 06b8 00000000 		nop 725 06bc 0D000700 		break	7 726              	1: 727 06c0 10100000 		mfhi	$2 112:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 			a1 += a_dir; 728              		.loc 1 112 0 729              		.loc 1 111 0 730 06c4 03004014 		bne	$2,$0,$L86 731 06c8 4000A38F 		lw	$3,64($sp) 732              	 733              		.loc 1 112 0 734 06cc 21107100 		addu	$2,$3,$17 735 06d0 FF005130 		andi	$17,$2,0x00ff 736              	$L86: 113:/mnt/hgfs/boot/booter/source/lcd2_frame_buffer.c **** 		if(r_mod && (x % r_mod) == 0) 737              		.loc 1 113 0 738 06d4 0A00E012 		beq	$23,$0,$L87 739 06d8 00000000 		nop 740              	 741 06dc 1A001701 		div	$0,$8,$23 742 06e0 0200E016 		bne	$23,$0,1f 743 06e4 00000000 		nop 744 06e8 0D000700 		break	7 745              	1:GAS LISTING /tmp/cc7wtJ5I.s 			page 21 746 06ec 10100000 		mfhi	$2

⌨️ 快捷键说明

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