Subversion Repositories Kolibri OS

Rev

Rev 6471 | Rev 6798 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6471 Rev 6576
Line 3... Line 3...
3
;; Copyright (C) KolibriOS team 2004-2016. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2016. All rights reserved. ;;
4
;;  Distributed under terms of the GNU General Public License.  ;;
4
;;  Distributed under terms of the GNU General Public License.  ;;
5
;;                                                              ;;
5
;;                                                              ;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 7... Line 7...
7
 
7
 
Line 8... Line 8...
8
$Revision: 6471 $
8
$Revision: 6576 $
9
 
9
 
10
; FAT external functions
10
; FAT external functions
11
;   in:
11
;   in:
Line 1404... Line 1404...
1404
        mov     [esi+32], eax   ; file size (low dword)
1404
        mov     [esi+32], eax   ; file size (low dword)
1405
        xor     eax, eax
1405
        xor     eax, eax
1406
        mov     [esi+36], eax   ; file size (high dword)
1406
        mov     [esi+36], eax   ; file size (high dword)
1407
        test    ebp, ebp
1407
        test    ebp, ebp
1408
        jz      .ret
1408
        jz      .ret
-
 
1409
        add     esi, 40
1409
        push    ecx edi
1410
        push    edi esi
1410
        lea     edi, [esi+40]
1411
        mov     edi, esi
1411
        mov     esi, ebp
1412
        mov     esi, ebp
1412
        mov     ecx, 263
-
 
1413
        test    byte [esi-4], 1
1413
        test    byte [ebp-4], 1
1414
        jz      .ansi
1414
        jz      .ansi
-
 
1415
.uni:
1415
        mov     ecx, 260/2
1416
        lodsw
1416
        rep movsd
1417
        stosw
1417
        mov     [edi-2], ax
1418
        test    eax, eax
1418
@@:
1419
        jnz     .uni
1419
        mov     esi, edi
1420
        pop     esi edi
1420
        pop     edi ecx
1421
        add     esi, 520
1421
.ret:
1422
.ret:
1422
        ret
1423
        ret
Line 1423... Line 1424...
1423
 
1424
 
1424
.ansi:
1425
.ansi:
1425
        lodsw
1426
        lodsw
1426
        call    uni2ansi_char
1427
        call    uni2ansi_char
-
 
1428
        stosb
1427
        stosb
1429
        test    al, al
1428
        loop    .ansi
1430
        jnz     .ansi
1429
        xor     eax, eax
1431
        pop     esi edi
1430
        stosb
1432
        add     esi, 264
Line 1431... Line 1433...
1431
        jmp     @b
1433
        ret
1432
 
1434
 
1433
bdfe_to_fat_entry:
1435
bdfe_to_fat_entry:
1434
; convert BDFE at edx to FAT entry at edi
1436
; convert BDFE at edx to FAT entry at edi