forked from KolibriOS/kolibrios
File Browser control - some code optimization for r9682
git-svn-id: svn://kolibrios.org@9690 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
2e3c29de7d
commit
8f544cdd1d
@ -517,6 +517,21 @@ align 4
|
|||||||
mov [ebx],dl
|
mov [ebx],dl
|
||||||
jmp .size_convert_end
|
jmp .size_convert_end
|
||||||
;-----------------------------------------
|
;-----------------------------------------
|
||||||
|
.qword_div:
|
||||||
|
mov eax,[edx-40+32]
|
||||||
|
mov ebx,[edx-40+32+4]
|
||||||
|
@@: ; /1024
|
||||||
|
shrd eax,ebx,5 ; /32
|
||||||
|
shr ebx,5 ; /32
|
||||||
|
shrd eax,ebx,5 ; /32
|
||||||
|
shr ebx,5 ; /32
|
||||||
|
dec ecx
|
||||||
|
jnz @b
|
||||||
|
; /(1024*1024)
|
||||||
|
shr eax,20
|
||||||
|
test eax,eax
|
||||||
|
ret
|
||||||
|
;-----------------------------------------
|
||||||
align 4
|
align 4
|
||||||
.copy_size:
|
.copy_size:
|
||||||
;/0x1000000000000000 - EB
|
;/0x1000000000000000 - EB
|
||||||
@ -528,88 +543,34 @@ align 4
|
|||||||
mov [eax+6],dword ' '
|
mov [eax+6],dword ' '
|
||||||
mov [eax+6+4],word ' '
|
mov [eax+6+4],word ' '
|
||||||
push ebx edx
|
push ebx edx
|
||||||
mov eax,[edx-40+32]
|
push ecx
|
||||||
mov ebx,[edx-40+32+4]
|
mov ecx,4
|
||||||
; /1024
|
call .qword_div
|
||||||
shrd eax,ebx,5 ; /32
|
pop ecx
|
||||||
shr ebx,5 ; /32
|
|
||||||
shrd eax,ebx,5 ; /32
|
|
||||||
shr ebx,5 ; /32
|
|
||||||
; /1024
|
|
||||||
shrd eax,ebx,5 ; /32
|
|
||||||
shr ebx,5 ; /32
|
|
||||||
shrd eax,ebx,5 ; /32
|
|
||||||
shr ebx,5 ; /32
|
|
||||||
; /1024
|
|
||||||
shrd eax,ebx,5 ; /32
|
|
||||||
shr ebx,5 ; /32
|
|
||||||
shrd eax,ebx,5 ; /32
|
|
||||||
shr ebx,5 ; /32
|
|
||||||
; /1024
|
|
||||||
shrd eax,ebx,5 ; /32
|
|
||||||
shr ebx,5 ; /32
|
|
||||||
shrd eax,ebx,5 ; /32
|
|
||||||
shr ebx,5 ; /32
|
|
||||||
; /(1024*1024)
|
|
||||||
shr eax,20
|
|
||||||
test eax,eax
|
|
||||||
jz @f
|
jz @f
|
||||||
mov dl,byte 'E' ; Exa Byte
|
mov dl,byte 'E' ; Exa Byte
|
||||||
jmp .call_decimal_string
|
jmp .call_decimal_string
|
||||||
@@:
|
@@:
|
||||||
mov eax,[edx-40+32]
|
push ecx
|
||||||
mov ebx,[edx-40+32+4]
|
mov ecx,3
|
||||||
; /1024
|
call .qword_div
|
||||||
shrd eax,ebx,5 ; /32
|
pop ecx
|
||||||
shr ebx,5 ; /32
|
|
||||||
shrd eax,ebx,5 ; /32
|
|
||||||
shr ebx,5 ; /32
|
|
||||||
; /1024
|
|
||||||
shrd eax,ebx,5 ; /32
|
|
||||||
shr ebx,5 ; /32
|
|
||||||
shrd eax,ebx,5 ; /32
|
|
||||||
shr ebx,5 ; /32
|
|
||||||
; /1024
|
|
||||||
shrd eax,ebx,5 ; /32
|
|
||||||
shr ebx,5 ; /32
|
|
||||||
shrd eax,ebx,5 ; /32
|
|
||||||
shr ebx,5 ; /32
|
|
||||||
; /(1024*1024)
|
|
||||||
shr eax,20
|
|
||||||
test eax,eax
|
|
||||||
jz @f
|
jz @f
|
||||||
mov dl,byte 'P' ; Peta Byte
|
mov dl,byte 'P' ; Peta Byte
|
||||||
jmp .call_decimal_string
|
jmp .call_decimal_string
|
||||||
@@:
|
@@:
|
||||||
mov eax,[edx-40+32]
|
push ecx
|
||||||
mov ebx,[edx-40+32+4]
|
mov ecx,2
|
||||||
; /1024
|
call .qword_div
|
||||||
shrd eax,ebx,5 ; /32
|
pop ecx
|
||||||
shr ebx,5 ; /32
|
|
||||||
shrd eax,ebx,5 ; /32
|
|
||||||
shr ebx,5 ; /32
|
|
||||||
; /1024
|
|
||||||
shrd eax,ebx,5 ; /32
|
|
||||||
shr ebx,5 ; /32
|
|
||||||
shrd eax,ebx,5 ; /32
|
|
||||||
shr ebx,5 ; /32
|
|
||||||
; /(1024*1024)
|
|
||||||
shr eax,20
|
|
||||||
test eax,eax
|
|
||||||
jz @f
|
jz @f
|
||||||
mov dl,byte 'T' ; Tera Byte
|
mov dl,byte 'T' ; Tera Byte
|
||||||
jmp .call_decimal_string
|
jmp .call_decimal_string
|
||||||
@@:
|
@@:
|
||||||
mov eax,[edx-40+32]
|
push ecx
|
||||||
mov ebx,[edx-40+32+4]
|
mov ecx,1
|
||||||
; /1024
|
call .qword_div
|
||||||
shrd eax,ebx,5 ; /32
|
pop ecx
|
||||||
shr ebx,5 ; /32
|
|
||||||
shrd eax,ebx,5 ; /32
|
|
||||||
shr ebx,5 ; /32
|
|
||||||
; /(1024*1024)
|
|
||||||
shr eax,20
|
|
||||||
test eax,eax
|
|
||||||
jz @f
|
jz @f
|
||||||
mov dl,byte 'G' ; Giga Byte
|
mov dl,byte 'G' ; Giga Byte
|
||||||
jmp .call_decimal_string
|
jmp .call_decimal_string
|
||||||
@ -832,7 +793,7 @@ fb_get_icon_number:
|
|||||||
je .end
|
je .end
|
||||||
dec ebp
|
dec ebp
|
||||||
test ebp,ebp
|
test ebp,ebp
|
||||||
je .end
|
je .end
|
||||||
@@:
|
@@:
|
||||||
mov edx,fb_ini_file_end
|
mov edx,fb_ini_file_end
|
||||||
sub edx,ebp
|
sub edx,ebp
|
||||||
@ -870,27 +831,27 @@ fb_get_icon_number:
|
|||||||
cmp eax,fb_ini_file_start
|
cmp eax,fb_ini_file_start
|
||||||
je @f
|
je @f
|
||||||
dec eax
|
dec eax
|
||||||
cmp [eax],byte 15
|
cmp [eax],byte 15
|
||||||
ja .end
|
ja .end
|
||||||
@@:
|
@@:
|
||||||
xor ebx,ebx
|
xor ebx,ebx
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
mov ecx,9
|
mov ecx,9
|
||||||
call .calculate
|
call .calculate
|
||||||
cmp al,0x30
|
cmp al,0x30
|
||||||
jb .end
|
jb .end
|
||||||
cmp al,0x39
|
cmp al,0x39
|
||||||
ja .end
|
ja .end
|
||||||
sub eax,0x30
|
sub eax,0x30
|
||||||
@@:
|
@@:
|
||||||
call .calculate_1
|
call .calculate_1
|
||||||
cmp al,0x30
|
cmp al,0x30
|
||||||
jb @f
|
jb @f
|
||||||
cmp al,0x39
|
cmp al,0x39
|
||||||
ja @f
|
ja @f
|
||||||
sub eax,0x30
|
sub eax,0x30
|
||||||
|
|
||||||
lea ebx,[ebx+ebx*4]
|
lea ebx,[ebx+ebx*4]
|
||||||
shl ebx,1
|
shl ebx,1
|
||||||
|
|
||||||
dec ecx
|
dec ecx
|
||||||
|
Loading…
Reference in New Issue
Block a user