Source

quake / WinQuake / block16.h

Full commit
/*
Copyright (C) 1996-1997 Id Software, Inc.

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  

See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.

*/
LEnter16_16:
	movb	(%esi),%al
	movb	(%esi,%ebx,),%cl
	movb	%dh,%ah
	addl	%ebp,%edx
	movb	%dh,%ch
	leal	(%esi,%ebx,2),%esi
	movw	0x12345678(,%eax,2),%ax
LBPatch0:
	addl	%ebp,%edx
	movw	%ax,(%edi)
	movw	0x12345678(,%ecx,2),%cx
LBPatch1:
	movw	%cx,2(%edi)
	addl	$0x4,%edi

	movb	(%esi),%al
	movb	(%esi,%ebx,),%cl
	movb	%dh,%ah
	addl	%ebp,%edx
	movb	%dh,%ch
	leal	(%esi,%ebx,2),%esi
	movw	0x12345678(,%eax,2),%ax
LBPatch2:
	addl	%ebp,%edx
	movw	%ax,(%edi)
	movw	0x12345678(,%ecx,2),%cx
LBPatch3:
	movw	%cx,2(%edi)
	addl	$0x4,%edi

	movb	(%esi),%al
	movb	(%esi,%ebx,),%cl
	movb	%dh,%ah
	addl	%ebp,%edx
	movb	%dh,%ch
	leal	(%esi,%ebx,2),%esi
	movw	0x12345678(,%eax,2),%ax
LBPatch4:
	addl	%ebp,%edx
	movw	%ax,(%edi)
	movw	0x12345678(,%ecx,2),%cx
LBPatch5:
	movw	%cx,2(%edi)
	addl	$0x4,%edi

	movb	(%esi),%al
	movb	(%esi,%ebx,),%cl
	movb	%dh,%ah
	addl	%ebp,%edx
	movb	%dh,%ch
	leal	(%esi,%ebx,2),%esi
	movw	0x12345678(,%eax,2),%ax
LBPatch6:
	addl	%ebp,%edx
	movw	%ax,(%edi)
	movw	0x12345678(,%ecx,2),%cx
LBPatch7:
	movw	%cx,2(%edi)
	addl	$0x4,%edi

LEnter8_16:
	movb	(%esi),%al
	movb	(%esi,%ebx,),%cl
	movb	%dh,%ah
	addl	%ebp,%edx
	movb	%dh,%ch
	leal	(%esi,%ebx,2),%esi
	movw	0x12345678(,%eax,2),%ax
LBPatch8:
	addl	%ebp,%edx
	movw	%ax,(%edi)
	movw	0x12345678(,%ecx,2),%cx
LBPatch9:
	movw	%cx,2(%edi)
	addl	$0x4,%edi

	movb	(%esi),%al
	movb	(%esi,%ebx,),%cl
	movb	%dh,%ah
	addl	%ebp,%edx
	movb	%dh,%ch
	leal	(%esi,%ebx,2),%esi
	movw	0x12345678(,%eax,2),%ax
LBPatch10:
	addl	%ebp,%edx
	movw	%ax,(%edi)
	movw	0x12345678(,%ecx,2),%cx
LBPatch11:
	movw	%cx,2(%edi)
	addl	$0x4,%edi

LEnter4_16:
	movb	(%esi),%al
	movb	(%esi,%ebx,),%cl
	movb	%dh,%ah
	addl	%ebp,%edx
	movb	%dh,%ch
	leal	(%esi,%ebx,2),%esi
	movw	0x12345678(,%eax,2),%ax
LBPatch12:
	addl	%ebp,%edx
	movw	%ax,(%edi)
	movw	0x12345678(,%ecx,2),%cx
LBPatch13:
	movw	%cx,2(%edi)
	addl	$0x4,%edi

LEnter2_16:
	movb	(%esi),%al
	movb	(%esi,%ebx,),%cl
	movb	%dh,%ah
	addl	%ebp,%edx
	movb	%dh,%ch
	leal	(%esi,%ebx,2),%esi
	movw	0x12345678(,%eax,2),%ax
LBPatch14:
	addl	%ebp,%edx
	movw	%ax,(%edi)
	movw	0x12345678(,%ecx,2),%cx
LBPatch15:
	movw	%cx,2(%edi)
	addl	$0x4,%edi