element 't_edit' small speed optimize

git-svn-id: svn://kolibrios.org@2809 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
IgorA
2012-06-20 10:05:50 +00:00
parent 195ca78286
commit b409bc1b4a

View File

@@ -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><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>
;input:
@@ -849,31 +849,40 @@ endp
; edx = pointer to 'perv' visible symbol struct
align 4
ted_iterat_perv:
cmp ted_tim_undo,0
je .else
push ebx
@@:
call ted_get_text_perv_pos
cmp edx,ted_tex
je @f
call ted_symbol_not_vis
cmp bl,1
je @b
cmp byte[edx],10 ;<3B><EFBFBD><E0AEAF><EFBFBD><><E1A8AC><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> 10
je @b
@@:
pop ebx
ret
.else:
call ted_get_text_perv_pos
cmp edx,ted_tex
je .endif
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
.endif:
ret
cmp ted_tim_undo,0
je .else
push ebx
@@:
mov edx,dword[edx+2]
cmp edx,0
je @f
imul edx,sizeof.symbol
add edx,ted_tex
call ted_symbol_not_vis
cmp bl,1
je @b
cmp byte[edx],10 ;<3B><EFBFBD><E0AEAF><EFBFBD><><E1A8AC><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> 10
je @b
pop ebx
ret
@@:
mov edx,ted_tex ;<3B><><EFBFBD><><E4A0A9>
pop ebx
ret
.else:
mov edx,dword[edx+2]
cmp edx,0
je @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 ;<3B><><EFBFBD><><E4A0A9>
ret
;input:
@@ -883,31 +892,42 @@ ted_iterat_perv:
; edx = pointer to 'next' visible symbol struct
align 4
ted_iterat_next:
cmp ted_tim_undo,0
je .else
push ebx
@@:
call ted_get_text_next_pos
cmp edx,ted_tex_1
jle @f
call ted_symbol_not_vis
cmp bl,1
je @b
cmp byte[edx],10 ;<3B><EFBFBD><E0AEAF><EFBFBD><><E1A8AC><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> 10
je @b
@@:
pop ebx
ret
.else:
call ted_get_text_next_pos
cmp edx,ted_tex_1
jle .endif
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
.endif:
ret
cmp ted_tim_undo,0
je .else
push ebx
@@:
mov edx,dword[edx+6]
cmp edx,1
jle @f
imul edx,sizeof.symbol
add edx,ted_tex
call ted_symbol_not_vis
cmp bl,1
je @b
cmp byte[edx],10 ;<3B><EFBFBD><E0AEAF><EFBFBD><><E1A8AC><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> 10
je @b
pop ebx
ret
@@:
mov edx,ted_tex_1 ;<3B><><EFBFBD><EFBFBD><EFBFBD><><E4A0A9>
pop ebx
ret
.else:
mov edx,dword[edx+6]
cmp edx,1
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:
; bl = symbol end of select