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