forked from KolibriOS/kolibrios
buf2d.obj: update function 'buf2d_bit_blt'
git-svn-id: svn://kolibrios.org@7861 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -2050,7 +2050,7 @@ endp
|
||||
align 4
|
||||
proc buf_bit_blt, buf_destination:dword, coord_x:dword, coord_y:dword, buf_source:dword
|
||||
locals
|
||||
right_bytes dd ?
|
||||
lost_bytes dd ? ;<3B><> <20><><EFBFBD><EFBFBD><EFBFBD>ﭭ<EFBFBD><EFADAD> <20><><EFBFBD>⮢ <20> <20><>ப<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC><EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD> (<28><><EFBFBD> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>)
|
||||
endl
|
||||
pushad
|
||||
|
||||
@@ -2081,7 +2081,6 @@ proc buf_bit_blt, buf_destination:dword, coord_x:dword, coord_y:dword, buf_sourc
|
||||
cmp edx,0
|
||||
jle .copy_end ;<3B> <20><><EFBFBD><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD> <20><>室<EFBFBD><E5AEA4><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>孥<EFBFBD> <20>࠭<EFBFBD>楩 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (coord_y<0 <20> |coord_y|>buf_source.h)
|
||||
neg ecx
|
||||
;inc ecx
|
||||
imul ecx,eax
|
||||
lea ecx,[ecx+ecx*2] ;<3B><> 3 <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>ᥫ<EFBFBD>
|
||||
add esi,ecx ;ᤢ<><E1A4A2><EFBFBD><EFBFBD><EFBFBD> 㪠<><E3AAA0>⥫<EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>㥬묨 <20><><EFBFBD><EFBFBD>묨, <20> <20><><EFBFBD>⮬ <20>ய<EFBFBD>襭<EFBFBD><E8A5AD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -2111,22 +2110,35 @@ proc buf_bit_blt, buf_destination:dword, coord_x:dword, coord_y:dword, buf_sourc
|
||||
sub ebx,eax
|
||||
mov edi,ecx ;edi 㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>㤠 <20>㤥<EFBFBD> <20>ந<EFBFBD><E0AEA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD>
|
||||
|
||||
mov [right_bytes],0
|
||||
mov dword[lost_bytes],0
|
||||
mov ecx,[coord_x]
|
||||
cmp ecx,0
|
||||
jge @f
|
||||
neg ecx
|
||||
cmp eax,ecx ;eax - <20><>ਭ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC> <20><><EFBFBD>⨭<EFBFBD><E2A8AD>
|
||||
jle .copy_end ;<3B> <20><><EFBFBD><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD> <20><>室<EFBFBD><E5AEA4><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20>࠭<EFBFBD>楩 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (coord_x<0 <20> |coord_x|>buf_source.w)
|
||||
sub eax,ecx ;㪮<><E3AAAE>稢<EFBFBD><E7A8A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC> <20><>ப<EFBFBD>
|
||||
add ebx,ecx ;㤫<><E3A4AB><EFBFBD>塞 <20><>ப<EFBFBD> <20><><EFBFBD> ᤢ<><E1A4A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⨭<EFBFBD><E2A8AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
lea ecx,[ecx+ecx*2]
|
||||
mov [lost_bytes],ecx
|
||||
add esi,ecx
|
||||
add edi,ecx ;edi 㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>㤠 <20>㤥<EFBFBD> <20>ந<EFBFBD><E0AEA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD>
|
||||
xor ecx,ecx
|
||||
@@:
|
||||
cmp ecx,ebx
|
||||
jl @f
|
||||
jle @f
|
||||
sub ecx,ebx
|
||||
sub eax,ecx ;㪮<><E3AAAE>稢<EFBFBD><E7A8A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC> <20><>ப<EFBFBD>
|
||||
add ebx,ecx ;㤫<><E3A4AB><EFBFBD>塞 <20><>ப<EFBFBD> <20><><EFBFBD> ᤢ<><E1A4A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⨭<EFBFBD><E2A8AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
lea ecx,[ecx+ecx*2] ;ecx - <20><> <20><><EFBFBD><EFBFBD> <20> 1-<2D> <20><>ப<EFBFBD> <20><><EFBFBD>⨭<EFBFBD><E2A8AD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>뫠<EFBFBD><EBABA0><EFBFBD> <20><> <20>ࠢ<EFBFBD><E0A0A2> <20><><EFBFBD><EFBFBD>
|
||||
mov [right_bytes],ecx
|
||||
lea ecx,[ecx+ecx*2] ;ecx - <20><> <20><><EFBFBD>ᥫ<EFBFBD><EFBFBD> <20> 1-<2D> <20><>ப<EFBFBD> <20><><EFBFBD>⨭<EFBFBD><E2A8AD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>뫠<EFBFBD><EBABA0><EFBFBD> <20><> <20>ࠢ<EFBFBD><E0A0A2> <20><><EFBFBD><EFBFBD>
|
||||
add [lost_bytes],ecx
|
||||
@@:
|
||||
|
||||
lea eax,[eax+eax*2] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ <20><><EFBFBD><EFBFBD> <20> 1-<2D> <20><>ப<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC> <20><><EFBFBD>⨭<EFBFBD><E2A8AD>
|
||||
lea ebx,[ebx+ebx*2] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ <20><><EFBFBD><EFBFBD> <20> 1-<2D> <20><>ப<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20> 1-<2D> <20><>ப<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC> <20><><EFBFBD>⨭<EFBFBD><E2A8AD>
|
||||
|
||||
cld
|
||||
cmp [right_bytes],0
|
||||
cmp [lost_bytes],0
|
||||
jg .copy_1
|
||||
.copy_0: ;<3B><><EFBFBD><EFBFBD>⮥ <20><><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD>
|
||||
mov ecx,eax
|
||||
@@ -2140,7 +2152,7 @@ proc buf_bit_blt, buf_destination:dword, coord_x:dword, coord_y:dword, buf_sourc
|
||||
mov ecx,eax
|
||||
rep movsb
|
||||
add edi,ebx
|
||||
add esi,[right_bytes] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>塞 <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>뫠<EFBFBD><EBABA0><EFBFBD> <20><> <20>ࠢ<EFBFBD><E0A0A2> <20>࠭<EFBFBD><E0A0AD><EFBFBD>
|
||||
add esi,[lost_bytes] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>塞 <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>뫠<EFBFBD><EBABA0><EFBFBD> <20><> <20>ࠢ<EFBFBD><E0A0A2> <20>࠭<EFBFBD><E0A0AD><EFBFBD>
|
||||
dec edx
|
||||
cmp edx,0
|
||||
jg .copy_1
|
||||
@@ -2166,7 +2178,6 @@ proc buf_bit_blt, buf_destination:dword, coord_x:dword, coord_y:dword, buf_sourc
|
||||
cmp edx,0
|
||||
jle .copy_end ;<3B> <20><><EFBFBD><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD> <20><>室<EFBFBD><E5AEA4><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>孥<EFBFBD> <20>࠭<EFBFBD>楩 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (coord_y<0 <20> |coord_y|>buf_source.h)
|
||||
neg ecx
|
||||
;inc ecx
|
||||
imul ecx,eax
|
||||
shl ecx,2 ;<3B><> 4 <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>ᥫ<EFBFBD>
|
||||
add esi,ecx ;ᤢ<><E1A4A2><EFBFBD><EFBFBD><EFBFBD> 㪠<><E3AAA0>⥫<EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>㥬묨 <20><><EFBFBD><EFBFBD>묨, <20> <20><><EFBFBD>⮬ <20>ய<EFBFBD>襭<EFBFBD><E8A5AD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -2199,22 +2210,35 @@ proc buf_bit_blt, buf_destination:dword, coord_x:dword, coord_y:dword, buf_sourc
|
||||
sub ebx,eax
|
||||
mov edi,ecx ;edi 㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>㤠 <20>㤥<EFBFBD> <20>ந<EFBFBD><E0AEA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD>
|
||||
|
||||
mov [right_bytes],0
|
||||
mov dword[lost_bytes],0
|
||||
mov ecx,[coord_x]
|
||||
cmp ecx,0
|
||||
jge @f
|
||||
neg ecx
|
||||
cmp eax,ecx ;eax - <20><>ਭ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC> <20><><EFBFBD>⨭<EFBFBD><E2A8AD>
|
||||
jle .copy_end ;<3B> <20><><EFBFBD><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD> <20><>室<EFBFBD><E5AEA4><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20>࠭<EFBFBD>楩 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (coord_x<0 <20> |coord_x|>buf_source.w)
|
||||
sub eax,ecx ;㪮<><E3AAAE>稢<EFBFBD><E7A8A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC> <20><>ப<EFBFBD>
|
||||
add ebx,ecx ;㤫<><E3A4AB><EFBFBD>塞 <20><>ப<EFBFBD> <20><><EFBFBD> ᤢ<><E1A4A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⨭<EFBFBD><E2A8AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
shl ecx,2
|
||||
mov [lost_bytes],ecx
|
||||
add esi,ecx
|
||||
add edi,ecx ;edi 㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>㤠 <20>㤥<EFBFBD> <20>ந<EFBFBD><E0AEA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD>
|
||||
xor ecx,ecx
|
||||
@@:
|
||||
cmp ecx,ebx
|
||||
jl @f
|
||||
jle @f
|
||||
sub ecx,ebx
|
||||
sub eax,ecx ;㪮<><E3AAAE>稢<EFBFBD><E7A8A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC> <20><>ப<EFBFBD>
|
||||
add ebx,ecx ;㤫<><E3A4AB><EFBFBD>塞 <20><>ப<EFBFBD> <20><><EFBFBD> ᤢ<><E1A4A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⨭<EFBFBD><E2A8AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
shl ecx,2 ;ecx - <20><> <20><><EFBFBD><EFBFBD> <20> 1-<2D> <20><>ப<EFBFBD> <20><><EFBFBD>⨭<EFBFBD><E2A8AD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>뫠<EFBFBD><EBABA0><EFBFBD> <20><> <20>ࠢ<EFBFBD><E0A0A2> <20><><EFBFBD><EFBFBD>
|
||||
mov [right_bytes],ecx
|
||||
shl ecx,2 ;ecx - <20><> <20><><EFBFBD>ᥫ<EFBFBD><EFBFBD> <20> 1-<2D> <20><>ப<EFBFBD> <20><><EFBFBD>⨭<EFBFBD><E2A8AD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>뫠<EFBFBD><EBABA0><EFBFBD> <20><> <20>ࠢ<EFBFBD><E0A0A2> <20><><EFBFBD><EFBFBD>
|
||||
add [lost_bytes],ecx
|
||||
@@:
|
||||
|
||||
;eax - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ <20><><EFBFBD>ᥫ<EFBFBD><E1A5AB> <20> 1-<2D> <20><>ப<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC> <20><><EFBFBD>⨭<EFBFBD><E2A8AD>
|
||||
lea ebx,[ebx+ebx*2] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ <20><><EFBFBD><EFBFBD> <20> 1-<2D> <20><>ப<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20> 1-<2D> <20><>ப<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC> <20><><EFBFBD>⨭<EFBFBD><E2A8AD>
|
||||
|
||||
cld
|
||||
cmp [right_bytes],0
|
||||
cmp [lost_bytes],0
|
||||
jg .copy_3
|
||||
.copy_2: ;<3B><><EFBFBD><EFBFBD>⮥ <20><><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD>
|
||||
mov ecx,eax
|
||||
@@ -2236,7 +2260,7 @@ proc buf_bit_blt, buf_destination:dword, coord_x:dword, coord_y:dword, buf_sourc
|
||||
inc esi
|
||||
loop @b
|
||||
add edi,ebx
|
||||
add esi,[right_bytes] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>塞 <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>뫠<EFBFBD><EBABA0><EFBFBD> <20><> <20>ࠢ<EFBFBD><E0A0A2> <20>࠭<EFBFBD><E0A0AD><EFBFBD>
|
||||
add esi,[lost_bytes] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>塞 <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>뫠<EFBFBD><EBABA0><EFBFBD> <20><> <20>ࠢ<EFBFBD><E0A0A2> <20>࠭<EFBFBD><E0A0AD><EFBFBD>
|
||||
dec edx
|
||||
cmp edx,0
|
||||
jg .copy_3
|
||||
@@ -2288,7 +2312,7 @@ combine_colors_0:
|
||||
align 4
|
||||
proc buf_bit_blt_transp, buf_destination:dword, coord_x:dword, coord_y:dword, buf_source:dword
|
||||
locals
|
||||
lost_bytes dd ?
|
||||
lost_bytes dd ? ;<3B><> <20><><EFBFBD><EFBFBD><EFBFBD>ﭭ<EFBFBD><EFADAD> <20><><EFBFBD>⮢ <20> <20><>ப<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC><EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD> (<28><><EFBFBD> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>)
|
||||
endl
|
||||
pushad
|
||||
|
||||
@@ -2311,7 +2335,6 @@ proc buf_bit_blt_transp, buf_destination:dword, coord_x:dword, coord_y:dword, bu
|
||||
cmp edx,0
|
||||
jle .copy_end ;<3B> <20><><EFBFBD><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD> <20><>室<EFBFBD><E5AEA4><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>孥<EFBFBD> <20>࠭<EFBFBD>楩 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (coord_y<0 <20> |coord_y|>buf_source.h)
|
||||
neg ecx
|
||||
;inc ecx
|
||||
imul ecx,eax
|
||||
shl ecx,2 ;<3B><> 4 <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>ᥫ<EFBFBD>
|
||||
add esi,ecx ;ᤢ<><E1A4A2><EFBFBD><EFBFBD><EFBFBD> 㪠<><E3AAA0>⥫<EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>㥬묨 <20><><EFBFBD><EFBFBD>묨, <20> <20><><EFBFBD>⮬ <20>ய<EFBFBD>襭<EFBFBD><E8A5AD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -2346,15 +2369,14 @@ proc buf_bit_blt_transp, buf_destination:dword, coord_x:dword, coord_y:dword, bu
|
||||
cmp ecx,0
|
||||
jge @f
|
||||
neg ecx
|
||||
;inc ecx
|
||||
cmp eax,ecx ;eax - <20><>ਭ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC> <20><><EFBFBD>⨭<EFBFBD><E2A8AD>
|
||||
jle .copy_end ;<3B> <20><><EFBFBD><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD> <20><>室<EFBFBD><E5AEA4><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20>࠭<EFBFBD>楩 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (coord_x<0 <20> |coord_x|>buf_source.w)
|
||||
sub eax,ecx ;㪮<><E3AAAE>稢<EFBFBD><E7A8A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC> <20><>ப<EFBFBD>
|
||||
add ebx,ecx ;㤫<><E3A4AB><EFBFBD>塞 <20><>ப<EFBFBD> <20><><EFBFBD> ᤢ<><E1A4A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⨭<EFBFBD><E2A8AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
shl ecx,2
|
||||
mov [lost_bytes],ecx
|
||||
add esi,ecx
|
||||
shr ecx,2
|
||||
sub eax,ecx ;㪮<><E3AAAE>稢<EFBFBD><E7A8A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC> <20><>ப<EFBFBD>
|
||||
add ebx,ecx ;㤫<><E3A4AB><EFBFBD>塞 <20><>ப<EFBFBD> <20><><EFBFBD> ᤢ<><E1A4A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⨭<EFBFBD><E2A8AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
lea ecx,[ecx+ecx*2]
|
||||
add edi,ecx ;edi 㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>㤠 <20>㤥<EFBFBD> <20>ந<EFBFBD><E0AEA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD>
|
||||
xor ecx,ecx
|
||||
@@ -2368,17 +2390,6 @@ proc buf_bit_blt_transp, buf_destination:dword, coord_x:dword, coord_y:dword, bu
|
||||
add [lost_bytes],ecx
|
||||
@@:
|
||||
|
||||
; mov [right_bytes],0
|
||||
; mov ecx,[coord_x]
|
||||
; cmp ecx,ebx
|
||||
; jl @f
|
||||
; sub ecx,ebx
|
||||
; sub eax,ecx ;㪮<><E3AAAE>稢<EFBFBD><E7A8A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC> <20><>ப<EFBFBD>
|
||||
; add ebx,ecx ;㤫<><E3A4AB><EFBFBD>塞 <20><>ப<EFBFBD> <20><><EFBFBD> ᤢ<><E1A4A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⨭<EFBFBD><E2A8AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
; shl ecx,2 ;ecx - <20><> <20><><EFBFBD><EFBFBD> <20> 1-<2D> <20><>ப<EFBFBD> <20><><EFBFBD>⨭<EFBFBD><E2A8AD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>뫠<EFBFBD><EBABA0><EFBFBD> <20><> <20>ࠢ<EFBFBD><E0A0A2> <20><><EFBFBD><EFBFBD>
|
||||
; mov [right_bytes],ecx
|
||||
; @@:
|
||||
|
||||
lea ebx,[ebx+ebx*2] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ <20><><EFBFBD><EFBFBD> <20> 1-<2D> <20><>ப<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20> 1-<2D> <20><>ப<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC> <20><><EFBFBD>⨭<EFBFBD><E2A8AD>
|
||||
|
||||
cld
|
||||
@@ -2487,7 +2498,6 @@ proc buf_bit_blt_alpha, buf_destination:dword, coord_x:dword, coord_y:dword, buf
|
||||
cmp edx,0
|
||||
jle .copy_end ;<3B> <20><><EFBFBD><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD> <20><>室<EFBFBD><E5AEA4><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>孥<EFBFBD> <20>࠭<EFBFBD>楩 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (coord_y<0 <20> |coord_y|>buf_source.h)
|
||||
neg ecx
|
||||
;inc ecx
|
||||
imul ecx,eax
|
||||
add esi,ecx ;ᤢ<><E1A4A2><EFBFBD><EFBFBD><EFBFBD> 㪠<><E3AAA0>⥫<EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>㥬묨 <20><><EFBFBD><EFBFBD>묨, <20> <20><><EFBFBD>⮬ <20>ய<EFBFBD>襭<EFBFBD><E8A5AD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
xor ecx,ecx ;<3B><><EFBFBD><EFBFBD><EFBFBD>塞 <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> coord_y
|
||||
@@ -2521,12 +2531,11 @@ proc buf_bit_blt_alpha, buf_destination:dword, coord_x:dword, coord_y:dword, buf
|
||||
cmp ecx,0
|
||||
jge @f
|
||||
neg ecx
|
||||
;inc ecx
|
||||
cmp eax,ecx ;eax - <20><>ਭ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC> <20><><EFBFBD>⨭<EFBFBD><E2A8AD>
|
||||
jle .copy_end ;<3B> <20><><EFBFBD><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD> <20><>室<EFBFBD><E5AEA4><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20>࠭<EFBFBD>楩 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (coord_x<0 <20> |coord_x|>buf_source.w)
|
||||
mov [lost_bytes],ecx
|
||||
sub eax,ecx ;㪮<><E3AAAE>稢<EFBFBD><E7A8A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC> <20><>ப<EFBFBD>
|
||||
add ebx,ecx ;㤫<><E3A4AB><EFBFBD>塞 <20><>ப<EFBFBD> <20><><EFBFBD> ᤢ<><E1A4A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⨭<EFBFBD><E2A8AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
mov [lost_bytes],ecx
|
||||
add esi,ecx
|
||||
lea ecx,[ecx+ecx*2]
|
||||
add edi,ecx ;edi 㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>㤠 <20>㤥<EFBFBD> <20>ந<EFBFBD><E0AEA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD>
|
||||
|
Reference in New Issue
Block a user