Page 66 - 4875
P. 66

Лекція 8
                             РОБОТА З ПРИСТРОЯМИ ЗБЕРЕЖЕННЯ ДАНИХ FDD, HDD

                                  Найбільш безпечним з погляду системи спосіб роботи з дисками
                           на фізичному рівні є використання функцій BIOS, які враховують всі
                           особливості  функціонування  апаратної  частини  і  мають  достатньо
                           широкий набір засобів доступу до FDD, HDD, на фізичному рівні. Вся
                           дискова  підсистема  обслуговується  перериванням    int  13h,  функції
                           якого дозволяють визначати стан здійснених операцій запису/читання,
                           Reset, тощо.
                                 Для  дискових  операцій  можна  програмувати  безпосередньо
                           на  рівні  BIOS,   хоча BIOS і не забезпечує автоматично використання
                           вмісту  або  блокування/деблокування  записів.  Дискова  операція  BIOS
                           int  13h    розглядає    всі    "записи",  як  ті  які  мають    розмір    сектора,  а
                           адресацію    диска    здійснює      в    термінах    дійсних  номера  доріжки  і
                           номера сектора.
                                  Для дискових операцій  читання,  запису і верифікації необхідна
                           ініціалізація наступних регістрів:
                                     AH           Визначає тип операції: читання, запис,
                           верифікація, форматування.
                                     AL           Визначає число секторів.
                                     CH           Визначає номер доріжки.
                                     CL           Визначає номер початкового сектора.
                                     DH          Номер головки (сторони) : “0” або “1” для
                           дискети.
                                     DL           Номер дисководу: “0” = A, “1” = B і т.д.
                                     ES:BX       Адреса буфера введення/висновку в області
                           даних (без верифікації).
                                  Для прикладу розглянемо читання сектора в область INSECT,
                           що повинна бути досить великою, щоб умістити всі дані:

                                              mov  ah,02           ; Запит на читання
                                    mov  al,01                ; один сектор
                                    lea  bx,INSERT      ; Буфер вводу в ES:BX
                                    mov  ch,05                ; Доріжка 05
                                    mov  cl,03          ; Сектор 03
















                                                           65
   61   62   63   64   65   66   67   68   69   70   71