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

📄 spr16x16_8.s

📁 十七种模拟器源代码 非常有用的作课程设计不可缺少的
💻 S
📖 第 1 页 / 共 3 页
字号:
	addl	$16,%esi	subl	%edx,%edi	movl	(%esi),%eax	movl	4(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	movl	%eax,(%edi)	movl	%ebx,4(%edi)	movl	8(%esi),%eax	movl	12(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	movl	%eax,8(%edi)	movl	%ebx,12(%edi)	addl	$16,%esi	subl	%edx,%edi	movl	(%esi),%eax	movl	4(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	movl	%eax,(%edi)	movl	%ebx,4(%edi)	movl	8(%esi),%eax	movl	12(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	movl	%eax,8(%edi)	movl	%ebx,12(%edi)	addl	$16,%esi	subl	%edx,%edi	movl	(%esi),%eax	movl	4(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	movl	%eax,(%edi)	movl	%ebx,4(%edi)	movl	8(%esi),%eax	movl	12(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	movl	%eax,8(%edi)	movl	%ebx,12(%edi)	addl	$16,%esi	subl	%edx,%edi	movl	(%esi),%eax	movl	4(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	movl	%eax,(%edi)	movl	%ebx,4(%edi)	movl	8(%esi),%eax	movl	12(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	movl	%eax,8(%edi)	movl	%ebx,12(%edi)	addl	$16,%esi	subl	%edx,%edi	movl	(%esi),%eax	movl	4(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	movl	%eax,(%edi)	movl	%ebx,4(%edi)	movl	8(%esi),%eax	movl	12(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	movl	%eax,8(%edi)	movl	%ebx,12(%edi)	addl	$16,%esi	subl	%edx,%edi	movl	(%esi),%eax	movl	4(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	movl	%eax,(%edi)	movl	%ebx,4(%edi)	movl	8(%esi),%eax	movl	12(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	movl	%eax,8(%edi)	movl	%ebx,12(%edi)	addl	$16,%esi	subl	%edx,%edi	movl	(%esi),%eax	movl	4(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	movl	%eax,(%edi)	movl	%ebx,4(%edi)	movl	8(%esi),%eax	movl	12(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	movl	%eax,8(%edi)	movl	%ebx,12(%edi)	popl	%ebx	popl	%esi	popl	%edi	retFUNC(Draw16x16_FlipXY)	pushl	%edi	pushl	%esi	pushl	%ebx	movl	16(%esp),%esi			// source	movl	24(%esp),%ebx			// y	movl	28(%esp),%eax			// cmap	sall	$2,%ebx	movb	%al,%ah				// cmap	movl	0xDEADBEEF(%ebx),%ediblin_11:	mov	%ax,%cx				// cmap	addl	20(%esp),%edi			// x	shll	$16,%ecx			// cmap	movl	$0xDEADBEEF,%edx		// screen widthbitw_11:	mov	%ax,%cx				// cmap		movl	12(%esi),%eax	movl	8(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	bswap	%eax	bswap	%ebx	movl	%eax,(%edi)	movl	%ebx,4(%edi)	movl	4(%esi),%eax	movl	(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	bswap	%eax	bswap	%ebx	movl	%eax,8(%edi)	movl	%ebx,12(%edi)	addl	$16,%esi	subl	%edx,%edi	movl	12(%esi),%eax	movl	8(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	bswap	%eax	bswap	%ebx	movl	%eax,(%edi)	movl	%ebx,4(%edi)	movl	4(%esi),%eax	movl	(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	bswap	%eax	bswap	%ebx	movl	%eax,8(%edi)	movl	%ebx,12(%edi)	addl	$16,%esi	subl	%edx,%edi	movl	12(%esi),%eax	movl	8(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	bswap	%eax	bswap	%ebx	movl	%eax,(%edi)	movl	%ebx,4(%edi)	movl	4(%esi),%eax	movl	(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	bswap	%eax	bswap	%ebx	movl	%eax,8(%edi)	movl	%ebx,12(%edi)	addl	$16,%esi	subl	%edx,%edi	movl	12(%esi),%eax	movl	8(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	bswap	%eax	bswap	%ebx	movl	%eax,(%edi)	movl	%ebx,4(%edi)	movl	4(%esi),%eax	movl	(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	bswap	%eax	bswap	%ebx	movl	%eax,8(%edi)	movl	%ebx,12(%edi)	addl	$16,%esi	subl	%edx,%edi	movl	12(%esi),%eax	movl	8(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	bswap	%eax	bswap	%ebx	movl	%eax,(%edi)	movl	%ebx,4(%edi)	movl	4(%esi),%eax	movl	(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	bswap	%eax	bswap	%ebx	movl	%eax,8(%edi)	movl	%ebx,12(%edi)	addl	$16,%esi	subl	%edx,%edi	movl	12(%esi),%eax	movl	8(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	bswap	%eax	bswap	%ebx	movl	%eax,(%edi)	movl	%ebx,4(%edi)	movl	4(%esi),%eax	movl	(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	bswap	%eax	bswap	%ebx	movl	%eax,8(%edi)	movl	%ebx,12(%edi)	addl	$16,%esi	subl	%edx,%edi	movl	12(%esi),%eax	movl	8(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	bswap	%eax	bswap	%ebx	movl	%eax,(%edi)	movl	%ebx,4(%edi)	movl	4(%esi),%eax	movl	(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	bswap	%eax	bswap	%ebx	movl	%eax,8(%edi)	movl	%ebx,12(%edi)	addl	$16,%esi	subl	%edx,%edi	movl	12(%esi),%eax	movl	8(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	bswap	%eax	bswap	%ebx	movl	%eax,(%edi)	movl	%ebx,4(%edi)	movl	4(%esi),%eax	movl	(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	bswap	%eax	bswap	%ebx	movl	%eax,8(%edi)	movl	%ebx,12(%edi)	addl	$16,%esi	subl	%edx,%edi	movl	12(%esi),%eax	movl	8(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	bswap	%eax	bswap	%ebx	movl	%eax,(%edi)	movl	%ebx,4(%edi)	movl	4(%esi),%eax	movl	(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	bswap	%eax	bswap	%ebx	movl	%eax,8(%edi)	movl	%ebx,12(%edi)	addl	$16,%esi	subl	%edx,%edi	movl	12(%esi),%eax	movl	8(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	bswap	%eax	bswap	%ebx	movl	%eax,(%edi)	movl	%ebx,4(%edi)	movl	4(%esi),%eax	movl	(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	bswap	%eax	bswap	%ebx	movl	%eax,8(%edi)	movl	%ebx,12(%edi)	addl	$16,%esi	subl	%edx,%edi	movl	12(%esi),%eax	movl	8(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	bswap	%eax	bswap	%ebx	movl	%eax,(%edi)	movl	%ebx,4(%edi)	movl	4(%esi),%eax	movl	(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	bswap	%eax	bswap	%ebx	movl	%eax,8(%edi)	movl	%ebx,12(%edi)	addl	$16,%esi	subl	%edx,%edi	movl	12(%esi),%eax	movl	8(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	bswap	%eax	bswap	%ebx	movl	%eax,(%edi)	movl	%ebx,4(%edi)	movl	4(%esi),%eax	movl	(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	bswap	%eax	bswap	%ebx	movl	%eax,8(%edi)	movl	%ebx,12(%edi)	addl	$16,%esi	subl	%edx,%edi	movl	12(%esi),%eax	movl	8(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	bswap	%eax	bswap	%ebx	movl	%eax,(%edi)	movl	%ebx,4(%edi)	movl	4(%esi),%eax	movl	(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	bswap	%eax	bswap	%ebx	movl	%eax,8(%edi)	movl	%ebx,12(%edi)	addl	$16,%esi	subl	%edx,%edi	movl	12(%esi),%eax	movl	8(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	bswap	%eax	bswap	%ebx	movl	%eax,(%edi)	movl	%ebx,4(%edi)	movl	4(%esi),%eax	movl	(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	bswap	%eax	bswap	%ebx	movl	%eax,8(%edi)	movl	%ebx,12(%edi)	addl	$16,%esi	subl	%edx,%edi	movl	12(%esi),%eax	movl	8(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	bswap	%eax	bswap	%ebx	movl	%eax,(%edi)	movl	%ebx,4(%edi)	movl	4(%esi),%eax	movl	(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	bswap	%eax	bswap	%ebx	movl	%eax,8(%edi)	movl	%ebx,12(%edi)	addl	$16,%esi	subl	%edx,%edi	movl	12(%esi),%eax	movl	8(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	bswap	%eax	bswap	%ebx	movl	%eax,(%edi)	movl	%ebx,4(%edi)	movl	4(%esi),%eax	movl	(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	bswap	%eax	bswap	%ebx	movl	%eax,8(%edi)	movl	%ebx,12(%edi)	popl	%ebx	popl	%esi	popl	%edi	retFUNC(Draw16x16_Trans)	pushl	%edi	pushl	%esi	pushl	%ebx	movl	16(%esp),%esi			// source	movl	24(%esp),%ebx			// y	movl	28(%esp),%eax			// cmap	sall	$2,%ebx	movb	%al,%ah				// cmap	movl	0xDEADBEEF(%ebx),%ediblin_12:	mov	%ax,%cx				// cmap	addl	20(%esp),%edi			// x	shll	$16,%ecx			// cmap	movl	$16,%edx			// tile height	mov	%ax,%cx				// cmap9:	movl	(%esi),%eax	movl	4(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	cmpb	%ch,%al	je	7f	movb	%al,(%edi)7:	cmpb	%ch,%bl	je	7f	movb	%bl,4(%edi)7:	cmpb	%ch,%ah	je	7f	movb	%ah,1(%edi)7:	cmpb	%ch,%bh	je	7f	movb	%bh,5(%edi)7:	shr	$16,%eax	shr	$16,%ebx	cmpb	%ch,%al	je	7f	movb	%al,2(%edi)7:	cmpb	%ch,%bl	je	7f	movb	%bl,6(%edi)7:	cmpb	%ch,%ah	je	7f	movb	%ah,3(%edi)7:	cmpb	%ch,%bh	je	7f	movb	%bh,7(%edi)7:	movl	8(%esi),%eax	movl	12(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	cmpb	%ch,%al	je	7f	movb	%al,8(%edi)7:	cmpb	%ch,%bl	je	7f	movb	%bl,12(%edi)7:	cmpb	%ch,%ah	je	7f	movb	%ah,9(%edi)7:	cmpb	%ch,%bh	je	7f	movb	%bh,13(%edi)7:	shr	$16,%eax	shr	$16,%ebx	cmpb	%ch,%al	je	7f	movb	%al,10(%edi)7:	cmpb	%ch,%bl	je	7f	movb	%bl,14(%edi)7:	cmpb	%ch,%ah	je	7f	movb	%ah,11(%edi)7:	cmpb	%ch,%bh	je	7f	movb	%bh,15(%edi)7:	addl	$16,%esi		// Next Tile Line	addl	$0xDEADBEEF,%edi	// Next Screen Linebitw_12:	decl	%edx	jne	9b		popl	%ebx	popl	%esi	popl	%edi	retFUNC(Draw16x16_Trans_FlipY)	pushl	%edi	pushl	%esi	pushl	%ebx	movl	16(%esp),%esi			// source	movl	24(%esp),%ebx			// y	movl	28(%esp),%eax			// cmap	sall	$2,%ebx	movb	%al,%ah				// cmap	movl	0xDEADBEEF(%ebx),%ediblin_13:	mov	%ax,%cx				// cmap	addl	20(%esp),%edi			// x	shll	$16,%ecx			// cmap	movl	$16,%edx			// tile height	mov	%ax,%cx				// cmap9:	movl	(%esi),%eax	movl	4(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	cmpb	%ch,%al	je	7f	movb	%al,15(%edi)7:	cmpb	%ch,%bl	je	7f	movb	%bl,15-4(%edi)7:	cmpb	%ch,%ah	je	7f	movb	%ah,15-1(%edi)7:	cmpb	%ch,%bh	je	7f	movb	%bh,15-5(%edi)7:	shr	$16,%eax	shr	$16,%ebx	cmpb	%ch,%al	je	7f	movb	%al,15-2(%edi)7:	cmpb	%ch,%bl	je	7f	movb	%bl,15-6(%edi)7:	cmpb	%ch,%ah	je	7f	movb	%ah,15-3(%edi)7:	cmpb	%ch,%bh	je	7f	movb	%bh,15-7(%edi)7:	movl	8(%esi),%eax	movl	12(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	cmpb	%ch,%al	je	7f	movb	%al,15-8(%edi)7:	cmpb	%ch,%bl	je	7f	movb	%bl,15-12(%edi)7:	cmpb	%ch,%ah	je	7f	movb	%ah,15-9(%edi)7:	cmpb	%ch,%bh	je	7f	movb	%bh,15-13(%edi)7:	shr	$16,%eax	shr	$16,%ebx	cmpb	%ch,%al	je	7f	movb	%al,15-10(%edi)7:	cmpb	%ch,%bl	je	7f	movb	%bl,15-14(%edi)7:	cmpb	%ch,%ah	je	7f	movb	%ah,15-11(%edi)7:	cmpb	%ch,%bh	je	7f	movb	%bh,(%edi)7:	addl	$16,%esi		// Next Tile Line	addl	$0xDEADBEEF,%edi	// Next Screen Linebitw_13:	decl	%edx	jne	9b		popl	%ebx	popl	%esi	popl	%edi	retFUNC(Draw16x16_Trans_FlipX)	pushl	%edi	pushl	%esi	pushl	%ebx	movl	16(%esp),%esi			// source	movl	24(%esp),%ebx			// y	movl	28(%esp),%eax			// cmap	sall	$2,%ebx	movb	%al,%ah				// cmap	movl	0xDEADBEEF(%ebx),%ediblin_14:	mov	%ax,%cx				// cmap	addl	20(%esp),%edi			// x	shll	$16,%ecx			// cmap	movl	$16,%edx			// tile height	mov	%ax,%cx				// cmap9:	movl	(%esi),%eax	movl	4(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	cmpb	%ch,%al	je	7f	movb	%al,(%edi)7:	cmpb	%ch,%bl	je	7f	movb	%bl,4(%edi)7:	cmpb	%ch,%ah	je	7f	movb	%ah,1(%edi)7:	cmpb	%ch,%bh	je	7f	movb	%bh,5(%edi)7:	shr	$16,%eax	shr	$16,%ebx	cmpb	%ch,%al	je	7f	movb	%al,2(%edi)7:	cmpb	%ch,%bl	je	7f	movb	%bl,6(%edi)7:	cmpb	%ch,%ah	je	7f	movb	%ah,3(%edi)7:	cmpb	%ch,%bh	je	7f	movb	%bh,7(%edi)7:	movl	8(%esi),%eax	movl	12(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	cmpb	%ch,%al	je	7f	movb	%al,8(%edi)7:	cmpb	%ch,%bl	je	7f	movb	%bl,12(%edi)7:	cmpb	%ch,%ah	je	7f	movb	%ah,9(%edi)7:	cmpb	%ch,%bh	je	7f	movb	%bh,13(%edi)7:	shr	$16,%eax	shr	$16,%ebx	cmpb	%ch,%al	je	7f	movb	%al,10(%edi)7:	cmpb	%ch,%bl	je	7f	movb	%bl,14(%edi)7:	cmpb	%ch,%ah	je	7f	movb	%ah,11(%edi)7:	cmpb	%ch,%bh	je	7f	movb	%bh,15(%edi)7:	addl	$16,%esi		// Next Tile Line	subl	$0xDEADBEEF,%edi	// Next Screen Linebitw_14:	decl	%edx	jne	9b		popl	%ebx	popl	%esi	popl	%edi	retFUNC(Draw16x16_Trans_FlipXY)	pushl	%edi	pushl	%esi	pushl	%ebx	movl	16(%esp),%esi			// source	movl	24(%esp),%ebx			// y	movl	28(%esp),%eax			// cmap	sall	$2,%ebx	movb	%al,%ah				// cmap	movl	0xDEADBEEF(%ebx),%ediblin_15:	mov	%ax,%cx				// cmap	addl	20(%esp),%edi			// x	shll	$16,%ecx			// cmap	movl	$16,%edx			// tile height	mov	%ax,%cx				// cmap9:	movl	(%esi),%eax	movl	4(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	cmpb	%ch,%al	je	7f	movb	%al,15(%edi)7:	cmpb	%ch,%bl	je	7f	movb	%bl,15-4(%edi)7:	cmpb	%ch,%ah	je	7f	movb	%ah,15-1(%edi)7:	cmpb	%ch,%bh	je	7f	movb	%bh,15-5(%edi)7:	shr	$16,%eax	shr	$16,%ebx	cmpb	%ch,%al	je	7f	movb	%al,15-2(%edi)7:	cmpb	%ch,%bl	je	7f	movb	%bl,15-6(%edi)7:	cmpb	%ch,%ah	je	7f	movb	%ah,15-3(%edi)7:	cmpb	%ch,%bh	je	7f	movb	%bh,15-7(%edi)7:	movl	8(%esi),%eax	movl	12(%esi),%ebx	orl	%ecx,%eax	orl	%ecx,%ebx	cmpb	%ch,%al	je	7f	movb	%al,15-8(%edi)7:	cmpb	%ch,%bl	je	7f	movb	%bl,15-12(%edi)7:	cmpb	%ch,%ah	je	7f	movb	%ah,15-9(%edi)7:	cmpb	%ch,%bh	je	7f	movb	%bh,15-13(%edi)7:	shr	$16,%eax	shr	$16,%ebx	cmpb	%ch,%al	je	7f	movb	%al,15-10(%edi)7:	cmpb	%ch,%bl	je	7f	movb	%bl,15-14(%edi)7:	cmpb	%ch,%ah	je	7f	movb	%ah,15-11(%edi)7:	cmpb	%ch,%bh	je	7f	movb	%bh,(%edi)7:	addl	$16,%esi		// Next Tile Line	subl	$0xDEADBEEF,%edi	// Next Screen Linebitw_15:	decl	%edx	jne	9b		popl	%ebx	popl	%esi	popl	%edi	retFUNC(init_spr16x16asm)	movl	GLOBL(GameBitmap),%eax	movl	(%eax),%eax		// Width	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	%eax,bitw_08-4	movl	%eax,bitw_09-4	movl	%eax,bitw_10-4	movl	%eax,bitw_11-4	movl	%eax,bitw_12-4	movl	%eax,bitw_13-4	movl	%eax,bitw_14-4	movl	%eax,bitw_15-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	movl	%eax,blin_08-4	movl	%eax,blin_09-4	movl	%eax,blin_12-4	movl	%eax,blin_13-4	addl	$15*4,%eax		// Line 15	movl	%eax,blin_02-4	movl	%eax,blin_03-4	movl	%eax,blin_06-4	movl	%eax,blin_07-4	movl	%eax,blin_10-4	movl	%eax,blin_11-4	movl	%eax,blin_14-4	movl	%eax,blin_15-4	ret

⌨️ 快捷键说明

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