Welcome to mirror list, hosted at ThFree Co, Russian Federation.

a_triblt_scalar.asm « source « Kasumi « VirtualDub « thirdparty « src - github.com/mpc-hc/mpc-hc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 71e17802801490f6cee8429d1d455e909070146f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
		segment	.text

		%include	"a_triblt.inc"

	global	_vdasm_triblt_span_point
_vdasm_triblt_span_point:
		push	ebp
		push	edi
		push	esi
		push	ebx
		mov		eax,[esp+4+16]
		mov		ebp,[eax+texinfo.w]
		mov		ebx,[eax+texinfo.mips+mipmap.pitch]
		shl		ebp,2
		mov		edi,[eax+texinfo.src]
		mov		edx,[eax+texinfo.dst]
		mov		ecx,[eax+texinfo.mips+mipmap.bits]
		sar		ebx,2
		add		edx,ebp
		neg		ebp
.xloop:
		mov		eax,[edi+span.v]
		imul	eax,ebx
		add		eax,[edi+span.u]
		add		edi,8
		mov		eax,[ecx+eax*4]
		mov		[edx+ebp],eax
		add		ebp,4
		jnc		.xloop
		pop		ebx
		pop		esi
		pop		edi
		pop		ebp
		ret

		end