forked from KolibriOS/kolibrios
element 't_edit' small speed optimize
git-svn-id: svn://kolibrios.org@2809 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>⥬<EFBFBD><E2A5AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥪<EFBFBD> box_lib.obj
|
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>⥬<EFBFBD><E2A5AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥪<EFBFBD> box_lib.obj
|
||||||
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> TextEditor <20><><EFBFBD> Kolibri OS
|
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> TextEditor <20><><EFBFBD> Kolibri OS
|
||||||
; 䠩<> <20><><EFBFBD><E1ABA5><EFBFBD><EFBFBD> ࠧ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 19.06.2012 IgorA
|
; 䠩<> <20><><EFBFBD><E1ABA5><EFBFBD><EFBFBD> ࠧ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 20.06.2012 IgorA
|
||||||
; <20><> <20><><EFBFBD> <20>ਬ<EFBFBD><E0A8AC><EFBFBD><EFBFBD><EFBFBD> GPL2 <20><>業<EFBFBD><E6A5AD><EFBFBD>
|
; <20><> <20><><EFBFBD> <20>ਬ<EFBFBD><E0A8AC><EFBFBD><EFBFBD><EFBFBD> GPL2 <20><>業<EFBFBD><E6A5AD><EFBFBD>
|
||||||
|
|
||||||
;input:
|
;input:
|
||||||
@@ -849,31 +849,40 @@ endp
|
|||||||
; edx = pointer to 'perv' visible symbol struct
|
; edx = pointer to 'perv' visible symbol struct
|
||||||
align 4
|
align 4
|
||||||
ted_iterat_perv:
|
ted_iterat_perv:
|
||||||
cmp ted_tim_undo,0
|
cmp ted_tim_undo,0
|
||||||
je .else
|
je .else
|
||||||
push ebx
|
push ebx
|
||||||
@@:
|
@@:
|
||||||
call ted_get_text_perv_pos
|
mov edx,dword[edx+2]
|
||||||
cmp edx,ted_tex
|
cmp edx,0
|
||||||
je @f
|
je @f
|
||||||
call ted_symbol_not_vis
|
imul edx,sizeof.symbol
|
||||||
cmp bl,1
|
add edx,ted_tex
|
||||||
je @b
|
call ted_symbol_not_vis
|
||||||
cmp byte[edx],10 ;<3B>ய<EFBFBD><E0AEAF><EFBFBD> ᨬ<><E1A8AC><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> 10
|
cmp bl,1
|
||||||
je @b
|
je @b
|
||||||
@@:
|
cmp byte[edx],10 ;<3B>ய<EFBFBD><E0AEAF><EFBFBD> ᨬ<><E1A8AC><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> 10
|
||||||
pop ebx
|
je @b
|
||||||
ret
|
pop ebx
|
||||||
.else:
|
ret
|
||||||
call ted_get_text_perv_pos
|
@@:
|
||||||
cmp edx,ted_tex
|
mov edx,ted_tex ;<3B><>砫<EFBFBD> 䠩<><E4A0A9>
|
||||||
je .endif
|
pop ebx
|
||||||
cmp dword [edx+14],0
|
ret
|
||||||
jne .else
|
.else:
|
||||||
cmp byte[edx],10 ;<3B>ய<EFBFBD><E0AEAF><EFBFBD> ᨬ<><E1A8AC><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> 10
|
mov edx,dword[edx+2]
|
||||||
je .else
|
cmp edx,0
|
||||||
.endif:
|
je @f
|
||||||
ret
|
imul edx,sizeof.symbol
|
||||||
|
add edx,ted_tex
|
||||||
|
cmp dword [edx+14],0
|
||||||
|
jne .else
|
||||||
|
cmp byte[edx],10 ;<3B>ய<EFBFBD><E0AEAF><EFBFBD> ᨬ<><E1A8AC><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> 10
|
||||||
|
je .else
|
||||||
|
ret
|
||||||
|
@@:
|
||||||
|
mov edx,ted_tex ;<3B><>砫<EFBFBD> 䠩<><E4A0A9>
|
||||||
|
ret
|
||||||
|
|
||||||
|
|
||||||
;input:
|
;input:
|
||||||
@@ -883,31 +892,42 @@ ted_iterat_perv:
|
|||||||
; edx = pointer to 'next' visible symbol struct
|
; edx = pointer to 'next' visible symbol struct
|
||||||
align 4
|
align 4
|
||||||
ted_iterat_next:
|
ted_iterat_next:
|
||||||
cmp ted_tim_undo,0
|
cmp ted_tim_undo,0
|
||||||
je .else
|
je .else
|
||||||
push ebx
|
push ebx
|
||||||
@@:
|
@@:
|
||||||
call ted_get_text_next_pos
|
mov edx,dword[edx+6]
|
||||||
cmp edx,ted_tex_1
|
cmp edx,1
|
||||||
jle @f
|
jle @f
|
||||||
call ted_symbol_not_vis
|
imul edx,sizeof.symbol
|
||||||
cmp bl,1
|
add edx,ted_tex
|
||||||
je @b
|
|
||||||
cmp byte[edx],10 ;<3B>ய<EFBFBD><E0AEAF><EFBFBD> ᨬ<><E1A8AC><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> 10
|
call ted_symbol_not_vis
|
||||||
je @b
|
cmp bl,1
|
||||||
@@:
|
je @b
|
||||||
pop ebx
|
cmp byte[edx],10 ;<3B>ய<EFBFBD><E0AEAF><EFBFBD> ᨬ<><E1A8AC><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> 10
|
||||||
ret
|
je @b
|
||||||
.else:
|
pop ebx
|
||||||
call ted_get_text_next_pos
|
ret
|
||||||
cmp edx,ted_tex_1
|
@@:
|
||||||
jle .endif
|
mov edx,ted_tex_1 ;<3B><><EFBFBD><EFBFBD><EFBFBD> 䠩<><E4A0A9>
|
||||||
cmp dword [edx+14],0
|
pop ebx
|
||||||
jne .else
|
ret
|
||||||
cmp byte[edx],10 ;<3B>ய<EFBFBD><E0AEAF><EFBFBD> ᨬ<><E1A8AC><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> 10
|
.else:
|
||||||
je .else
|
mov edx,dword[edx+6]
|
||||||
.endif:
|
cmp edx,1
|
||||||
ret
|
jle @f
|
||||||
|
imul edx,sizeof.symbol
|
||||||
|
add edx,ted_tex
|
||||||
|
|
||||||
|
cmp dword [edx+14],0
|
||||||
|
jne .else
|
||||||
|
cmp byte[edx],10 ;<3B>ய<EFBFBD><E0AEAF><EFBFBD> ᨬ<><E1A8AC><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> 10
|
||||||
|
je .else
|
||||||
|
ret
|
||||||
|
@@:
|
||||||
|
mov edx,ted_tex_1 ;<3B><><EFBFBD><EFBFBD><EFBFBD> 䠩<><E4A0A9>
|
||||||
|
ret
|
||||||
|
|
||||||
;input:
|
;input:
|
||||||
; bl = symbol end of select
|
; bl = symbol end of select
|
||||||
|
Reference in New Issue
Block a user