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 @@
; ¬ ªà®á ¤«ï á¨á⥬­®© ¡¨¡«¨®â¥ª¨ box_lib.obj
; í«¥¬¥­â TextEditor ¤«ï Kolibri OS
; ä ©« ¯®á«¥¤­¨© à § ¨§¬¥­ï«áï 19.06.2012 IgorA
; ä ©« ¯®á«¥¤­¨© à § ¨§¬¥­ï«áï 20.06.2012 IgorA
; ­  ª®¤ ¯à¨¬¥­¥­  GPL2 «¨æ¥­§¨ï
;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 ;¯à®¯ã᪠ᨬ¢®«  á ª®¤®¬ 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 ;¯à®¯ã᪠ᨬ¢®«  á ª®¤®¬ 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 ;¯à®¯ã᪠ᨬ¢®«  á ª®¤®¬ 10
je @b
pop ebx
ret
@@:
mov edx,ted_tex ;­ ç «® ä ©« 
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 ;¯à®¯ã᪠ᨬ¢®«  á ª®¤®¬ 10
je .else
ret
@@:
mov edx,ted_tex ;­ ç «® ä ©« 
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 ;¯à®¯ã᪠ᨬ¢®«  á ª®¤®¬ 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 ;¯à®¯ã᪠ᨬ¢®«  á ª®¤®¬ 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 ;¯à®¯ã᪠ᨬ¢®«  á ª®¤®¬ 10
je @b
pop ebx
ret
@@:
mov edx,ted_tex_1 ;ª®­¥æ ä ©« 
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 ;¯à®¯ã᪠ᨬ¢®«  á ª®¤®¬ 10
je .else
ret
@@:
mov edx,ted_tex_1 ;ª®­¥æ ä ©« 
ret
;input:
; bl = symbol end of select