Subversion Repositories Kolibri OS

Rev

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

Rev 3284 Rev 3539
Line 3... Line 3...
3
;; Copyright (C) KolibriOS team 2011-2012. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2011-2012. 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: 3284 $
8
$Revision: 3539 $
9
 
9
 
10
; This function is intended to replace the old 'hd_read' function when
10
; This function is intended to replace the old 'hd_read' function when
11
; [hdd_appl_data] = 0, so its input/output parameters are the same, except
11
; [hdd_appl_data] = 0, so its input/output parameters are the same, except
Line 395... Line 395...
395
        cmp     dword [esi+8], 2        ; if cache slot is not different
395
        cmp     dword [esi+8], 2        ; if cache slot is not different
396
        jne     .write_chain
396
        jne     .write_chain
397
        mov     dword [esi+8], 1        ; same as in hd
397
        mov     dword [esi+8], 1        ; same as in hd
398
        mov     eax, [esi]
398
        mov     eax, [esi]
399
        mov     edx, [esi+4]            ; edx:eax = sector to write
399
        mov     edx, [esi+4]            ; edx:eax = sector to write
400
; Îáúåäèíÿåì çàïèñü öåïî÷êè ïîñëåäîâàòåëüíûõ ñåêòîðîâ â îäíî îáðàùåíèå ê äèñêó
400
; Объединяем запись цепочки последовательных секторов в одно обращение к диску
401
        cmp     ecx, 1
401
        cmp     ecx, 1
402
        jz      .nonext
402
        jz      .nonext
403
        cmp     dword [esi+12+8], 2
403
        cmp     dword [esi+12+8], 2
404
        jnz     .nonext
404
        jnz     .nonext
405
        push    eax edx
405
        push    eax edx