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

📄 spr32x32_32.s

📁 十七种模拟器源代码 非常有用的作课程设计不可缺少的
💻 S
📖 第 1 页 / 共 2 页
字号:
	movb	16+2(%esi),%al	movb	16+6(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,64+8(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,64+24(%edi)7:	movb	16+3(%esi),%al	movb	16+7(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,64+12(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,64+28(%edi)7:	movb	16+8(%esi),%al	movb	16+8+4(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,64+32(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,64+48(%edi)7:	movb	16+8+1(%esi),%al	movb	16+8+5(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,64+36(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,64+52(%edi)7:	movb	16+8+2(%esi),%al	movb	16+8+6(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,64+40(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,64+56(%edi)7:	movb	16+8+3(%esi),%al	movb	16+8+7(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,64+44(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,64+60(%edi)7:			addl	$32,%esi		// Next Tile Line	addl	$0xDEADBEEF,%edi	// Next Screen Linebitw_04:	cmp	$0xDEADBEEF,%esiendc_04:	jne	9b		popl	%ebx	popl	%esi	popl	%edi	popl	%ebp	retFUNC(Draw32x32_Trans_Mapped_32_FlipY)	pushl	%ebp	pushl	%edi	pushl	%esi	pushl	%ebx	movl	20(%esp),%esi			// source	movl	28(%esp),%eax			// y	movl	%esi,%edx	sall	$2,%eax	addl	$32*32,%edx			// tile end	movl	0xDEADBEEF(%eax),%ediblin_05:	movl	%edx,endc_05-4	movl	32(%esp),%ebp			// cmap	addl	24(%esp),%edi			// x	addl	24(%esp),%edi			// x	addl	24(%esp),%edi			// x	addl	24(%esp),%edi			// x	xorl	%edx,%edx	xorl	%ecx,%ecx	xorl	%ebx,%ebx	xorl	%eax,%eax9:	movb	(%esi),%al	movb	4(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,124(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,124-16(%edi)7:	movb	1(%esi),%al	movb	5(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,124-4(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,124-20(%edi)7:	movb	2(%esi),%al	movb	6(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,124-8(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,124-24(%edi)7:	movb	3(%esi),%al	movb	7(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,124-12(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,124-28(%edi)7:	movb	8(%esi),%al	movb	8+4(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,124-32(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,124-48(%edi)7:	movb	8+1(%esi),%al	movb	8+5(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,124-36(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,124-52(%edi)7:	movb	8+2(%esi),%al	movb	8+6(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,124-40(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,124-56(%edi)7:	movb	8+3(%esi),%al	movb	8+7(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,124-44(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,124-60(%edi)7:// Copy...	movb	16(%esi),%al	movb	16+4(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,60(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,60-16(%edi)7:	movb	16+1(%esi),%al	movb	16+5(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,60-4(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,60-20(%edi)7:	movb	16+2(%esi),%al	movb	16+6(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,60-8(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,60-24(%edi)7:	movb	16+3(%esi),%al	movb	16+7(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,60-12(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,60-28(%edi)7:	movb	16+8(%esi),%al	movb	16+8+4(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,60-32(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,60-48(%edi)7:	movb	16+8+1(%esi),%al	movb	16+8+5(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,60-36(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,60-52(%edi)7:	movb	16+8+2(%esi),%al	movb	16+8+6(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,60-40(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,60-56(%edi)7:	movb	16+8+3(%esi),%al	movb	16+8+7(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,60-44(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,60-60(%edi)7:		addl	$32,%esi		// Next Tile Line	addl	$0xDEADBEEF,%edi	// Next Screen Linebitw_05:	cmp	$0xDEADBEEF,%esiendc_05:	jne	9b		popl	%ebx	popl	%esi	popl	%edi	popl	%ebp	retFUNC(Draw32x32_Trans_Mapped_32_FlipX)	pushl	%ebp	pushl	%edi	pushl	%esi	pushl	%ebx	movl	20(%esp),%esi			// source	movl	28(%esp),%eax			// y	movl	%esi,%edx	sall	$2,%eax	addl	$32*32,%edx			// tile end	movl	0xDEADBEEF(%eax),%ediblin_06:	movl	%edx,endc_06-4	movl	32(%esp),%ebp			// cmap	addl	24(%esp),%edi			// x	addl	24(%esp),%edi			// x	addl	24(%esp),%edi			// x	addl	24(%esp),%edi			// x	xorl	%edx,%edx	xorl	%ecx,%ecx	xorl	%ebx,%ebx	xorl	%eax,%eax9:	movb	(%esi),%al	movb	4(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,16(%edi)7:	movb	1(%esi),%al	movb	5(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,4(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,20(%edi)7:	movb	2(%esi),%al	movb	6(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,8(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,24(%edi)7:	movb	3(%esi),%al	movb	7(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,12(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,28(%edi)7:	movb	8(%esi),%al	movb	8+4(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,32(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,48(%edi)7:	movb	8+1(%esi),%al	movb	8+5(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,36(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,52(%edi)7:	movb	8+2(%esi),%al	movb	8+6(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,40(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,56(%edi)7:	movb	8+3(%esi),%al	movb	8+7(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,44(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,60(%edi)7:// Copy... paste... (from the non flipping version)		movb	16(%esi),%al	movb	16+4(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,64(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,64+16(%edi)7:	movb	16+1(%esi),%al	movb	16+5(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,64+4(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,64+20(%edi)7:	movb	16+2(%esi),%al	movb	16+6(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,64+8(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,64+24(%edi)7:	movb	16+3(%esi),%al	movb	16+7(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,64+12(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,64+28(%edi)7:	movb	16+8(%esi),%al	movb	16+8+4(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,64+32(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,64+48(%edi)7:	movb	16+8+1(%esi),%al	movb	16+8+5(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,64+36(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,64+52(%edi)7:	movb	16+8+2(%esi),%al	movb	16+8+6(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,64+40(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,64+56(%edi)7:	movb	16+8+3(%esi),%al	movb	16+8+7(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,64+44(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,64+60(%edi)7:		addl	$32,%esi		// Next Tile Line	subl	$0xDEADBEEF,%edi	// Next Screen Linebitw_06:	cmp	$0xDEADBEEF,%esiendc_06:	jne	9b		popl	%ebx	popl	%esi	popl	%edi	popl	%ebp	retFUNC(Draw32x32_Trans_Mapped_32_FlipXY)	pushl	%ebp	pushl	%edi	pushl	%esi	pushl	%ebx	movl	20(%esp),%esi			// source	movl	28(%esp),%eax			// y	movl	%esi,%edx	sall	$2,%eax	addl	$32*32,%edx			// tile end	movl	0xDEADBEEF(%eax),%ediblin_07:	movl	%edx,endc_07-4	movl	32(%esp),%ebp			// cmap	addl	24(%esp),%edi			// x	addl	24(%esp),%edi			// x	addl	24(%esp),%edi			// x	addl	24(%esp),%edi			// x	xorl	%edx,%edx	xorl	%ecx,%ecx	xorl	%ebx,%ebx	xorl	%eax,%eax9:// copy all this from the FlipY version...		movb	(%esi),%al	movb	4(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,124(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,124-16(%edi)7:	movb	1(%esi),%al	movb	5(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,124-4(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,124-20(%edi)7:	movb	2(%esi),%al	movb	6(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,124-8(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,124-24(%edi)7:	movb	3(%esi),%al	movb	7(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,124-12(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,124-28(%edi)7:	movb	8(%esi),%al	movb	8+4(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,124-32(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,124-48(%edi)7:	movb	8+1(%esi),%al	movb	8+5(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,124-36(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,124-52(%edi)7:	movb	8+2(%esi),%al	movb	8+6(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,124-40(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,124-56(%edi)7:	movb	8+3(%esi),%al	movb	8+7(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,124-44(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,124-60(%edi)7:// Copy...	movb	16(%esi),%al	movb	16+4(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,60(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,60-16(%edi)7:	movb	16+1(%esi),%al	movb	16+5(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,60-4(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,60-20(%edi)7:	movb	16+2(%esi),%al	movb	16+6(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,60-8(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,60-24(%edi)7:	movb	16+3(%esi),%al	movb	16+7(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,60-12(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,60-28(%edi)7:	movb	16+8(%esi),%al	movb	16+8+4(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,60-32(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,60-48(%edi)7:	movb	16+8+1(%esi),%al	movb	16+8+5(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,60-36(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,60-52(%edi)7:	movb	16+8+2(%esi),%al	movb	16+8+6(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,60-40(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,60-56(%edi)7:	movb	16+8+3(%esi),%al	movb	16+8+7(%esi),%bl	testb	%al,%al	jz	7f	movl	(%ebp,%eax,4),%ecx	movl	%ecx,60-44(%edi)7:	testb	%bl,%bl	jz	7f	movl	(%ebp,%ebx,4),%edx	movl	%edx,60-60(%edi)7:	addl	$32,%esi		// Next Tile Line	subl	$0xDEADBEEF,%edi	// Next Screen Linebitw_07:	cmp	$0xDEADBEEF,%esiendc_07:	jne	9b		popl	%ebx	popl	%esi	popl	%edi	popl	%ebp	ret// The Draw32x32_32 functions are really uninteresting...// If someone else wants to add them, he is welcome to !	FUNC(init_spr32x32asm_32)	movl	GLOBL(GameBitmap),%eax	movl	(%eax),%eax		// Width	addl	%eax,%eax	addl	%eax,%eax	movl	%eax,bitw_00-4	movl	%eax,bitw_01-4	movl	%eax,bitw_02-4	movl	%eax,bitw_03-4	movl	%eax,bitw_04-4	movl	%eax,bitw_05-4	movl	%eax,bitw_06-4	movl	%eax,bitw_07-4	movl	GLOBL(GameBitmap),%eax	addl	$64,%eax		// Line 0	movl	%eax,blin_00-4	movl	%eax,blin_01-4	movl	%eax,blin_04-4	movl	%eax,blin_05-4	addl	$31*4,%eax		// Line 31	movl	%eax,blin_02-4	movl	%eax,blin_03-4	movl	%eax,blin_06-4	movl	%eax,blin_07-4	ret

⌨️ 快捷键说明

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