buf2d: 1) small optimize 2) add examples

git-svn-id: svn://kolibrios.org@2185 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
IgorA
2011-09-13 20:27:29 +00:00
parent 40d376403a
commit 882f26ac9d
13 changed files with 1344 additions and 14 deletions

View File

@@ -1080,11 +1080,19 @@ proc buf_line_h, buf_struc:dword, coord_x0:dword, coord_y0:dword, coord_x1:dword
jle @f
xchg ebx,esi ;<3B>᫨ x0 > x1 <20><> <20><><EFBFBD><20><><EFBFBD><EFBFBD> x0 <20> x1
@@:
bt ebx,31
jae @f
;<3B><20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> x0 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥫쭠<E2A5AB>
xor ebx,ebx
@@:
cmp esi,buf2d_w
jl @f
;<3B><20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> x0 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mov esi,buf2d_w
;dec esi
@@:
cmp ebx,esi
jge .end24 ;<3B>᫨ x0 >= x1 <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> x0, x1 <20><><EFBFBD><E5AEA4><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><EFBFBD><E0A5A4><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
;<3B> eax <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD> 1-<2D> <20><><20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A0A6><EFBFBD><EFBFBD>
mov eax,buf2d_w ;size x
@@ -1093,21 +1101,17 @@ proc buf_line_h, buf_struc:dword, coord_x0:dword, coord_y0:dword, coord_x1:dword
lea eax,[eax+eax*2] ;(size_x*y+x)*3
add eax,buf2d_data ;ptr+(size_x*y+x)*3
mov ecx,esi
sub ecx,ebx ;<3B> ecx <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EBA2AE><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>
mov edx,dword[color]
mov ebx,edx ;<3B><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD> x0 <20> ebx 㦥 <20><> <20><EFBFBD>
ror edx,16 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E7A8A2><EFBFBD><><E0A5A3><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> 3-<2D> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> dl
cld
@@: ;横<> <20><> <20><><EFBFBD> x <20><> x0 <20><> x1
cmp ebx,esi
jge @f
bt ebx,31
jc .otr_x
mov word[eax],dx ;copy pixel color
ror edx,16
mov byte[eax+2],dl
ror edx,16
.otr_x:
add eax,3
inc ebx
jmp @b
@@:
mov word[eax],bx ;copy pixel color
mov byte[eax+2],dl
add eax,3
loop @b
.end24:
popad
ret