Page 68 - 4875
P. 68

Число  прочитаних    секторів    повертається  в  регістр    AL.
                           Регістри  DS,  BX,  CX  і  DX  зберігають свої значення.
                                  У більшості  випадків  програма  вказує  тільки один сектор або
                           усі сектори  на  доріжці.  Для послідовного читання  секторів  програма
                           повинна  збільшувати  вміст регістрів  CH  і  CL.  Слід зауважити,  що
                           коли  номер  сектора досягає максимального значення,  його необхідно
                           скинути в 01, а номер доріжки збільшити на 1 чи змінити сторону 0 на
                           1 (для двосторонніх дискет).
                                  Для  виклику  певної  функції  переривання  int  13h  програма
                           повинна занести її в регістр АН. При чому в інші регістри слід записати
                           параметри  –  номер  FDD  та  HDD,  номер  циліндру,  головки,  адрес
                           таблиці параметрів.
                                  Розглянемо  детальніше  основні  функції  роботи  з  пристроями
                           збереження даних FDD і HDD:
                                  1  Скидання (Reset) дискової системи
                                       На вході:АХ = 00h
                                                       DL = <адреса пристрою FDD чи HDD>
                                       На виході:      Регістри не використовуються
                                Функцію  використовують  традиційно  в  системах  не  більше  4-х
                           HDD,  і  2-ох  FDD  (рекомендують  використовувати)  після  того,  як
                           виникла  помилка  при  виконанні  операцій  запису  або  читання.
                           (Виконують команду Reset, потім повторюють операцію.)
                                Адреси  пристрою  в  підсистемі  представляються  наступним
                           чином:
                                                        0 – FDD ”A”
                                                        1 – FDD ”B”
                                                        …
                                                        80h – HDD ”0”
                                                        81h – HDD ”1”
                                                        …
                                  Після виклику переривань функція виконує Reset і рекалібровку
                           дискового  контролера.  В  ході  цієї  операції  зчитуючі  головки
                           встановлюються на нульову доріжку після чого пристрій знову готовий
                           до виконання операцій. Якщо в байті адреса, старший біт встановити в
                           „1”, то відбудеться скидання контролера HDD.
                                  2  Визначення стану дискової системи
















                                                           67
   63   64   65   66   67   68   69   70   71   72   73