Rev 3500 | Rev 3908 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3500 | Rev 3555 | ||
---|---|---|---|
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: 2140 $ |
8 | $Revision: 3284 $ |
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 |