Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SP.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
166.62 Кб
Скачать

40)Описать принципы использования прерывания бсвв int 10h для установки курсора.

Функция 02h. Установка позиции курсора.

Задаёт положение курсора на экране в текстовых координатах, с которых в дальнейшем будет выводиться текст. Отсчёт номера строки и столбца ведётся от верхнего левого угла. Курсор можно установить как в текстовом, так и в графическом режиме, однако, в графическом режиме курсор не виден. BIOS поддерживает до восьми независимых курсоров – по одному на каждую страницу (см. табл. 2) независимо от того, какая страница является активной. Функцию 02hBIOS можно использовать в комбинации с функциями DOS для организации вывода на экран.

Вызов: AH = 02hBH = номер страницы (0,1,...7),обычно 0;

DH = строка; DL = столбец.

Вызов разрушает регистры AX, BP, SI и DI.

41)Описать принципы использования прерывания бсвв int 10h для очистки экрана.

Функция 00h. Установка видеорежима (таблица 2) текущей видеостраницы с очисткой экрана(быстрая очистка экрана реализуется функцией 06h и 07h).

Вызов: AH = 00h,

Al = видеорежим (код режима задаётся в младших 7 битах, установка в 1 старшего бита запрещает очистку экрана).

Вызов разрушает регистры AX, BP, SI, и DI.

42)Описать принципы использования прерывания бсвв int 13h, описать его основные функции и выполняемые операции.

Int 13h: Дисковый ввод-вывод.

Прерывание Int 13h, функция 01 h: определить текущее состояние дисковой системы

Функция возвращает код завершения последней операции, выполненной на указанном дисководе.

Перед вызовом прерывания требуется записать в регистры следующие значения:

•            в АН — значение Olh;

•       в DL — номер дисковода (0Qh-7Fh — гибкий диск, 80h—FFh — жесткий диск).

После завершения операции функция возвращает в регистре АН состояние дисковой системы.

Прерывание Int 13h, функция 02h: читать сектор

Функция выполняет операцию считывания в заданную область оперативной памяти информации из одного или нескольких секторов диска.

ПРИМЕЧАНИЕ

При использовании жестких дисков старшие два бита 10-разрядного номера цилиндра помещаются в старшие два бита регистра CL.

Перед вызовом прерывания требуется записать в регистры следующие значения:

•            в АН — значение 02h;

•            в AL — число считываемых секторов (должно быть больше 0);

[1]в СН — номер цилиндра;

•           в CL — номер начального сектора;

•           в DH — номер головки;

•       в DL — номер дисковода (00h-7Fh — гибкий диск, 80h-FFh — жесткий диск);

•       в ES ВХ — указатель на адрес буфера, в который производится считывание информации.

После завершения операции функция возвращает в регистре АН состояние дисковой системы. В случае успешного завершения операции будет возвращена следующая информация:

•           в AL — число прочитанных секторов;

•           в буфере — прочитанная с диска информация.

Прерывание Int 13h, функция 03h: записать сектор

Функция переписывает данные из заданной области оперативной памяти в один или несколько указанных секторов диска. Перед вызовом прерывания требуется записать в регистры следующие значения:

•           в АН — значение 03h;

•           в AL — число записываемых секторов (должно быть больше 0);

•            в СН — номер цилиндра;

•           в CL — номер начального сектора;

•           в DH — номер головки;

•       в DL — номер дисковода (00h-7Fh — гибкий диск, BOh-FFh — жесткий диск);

•       в ES • ВХ — указатель на адрес буфера, из которого производится считывание информации.

Прерывание Int 13h, функция 04h: проверить правильность записи

Функция предназначена для контроля правильности выполнения записи данных на диск путем считывания данных и проверки контрольного кода CRC.

Перед вызовом прерывания требуется записать в регистры следующие значения:

•           в АН — значение 04h;

•           в AL — число проверяемых секторов (должно быть больше 0);

•           в СН — номер цилиндра;

•           в CL — номер начального сектора;

•           в DH — номер головки;

•       в DL — номер дисковода (00h-7Fh — гибкий диск, 80h-FFh — жесткий диск);

•       в ES: ВХ — указатель на адрес буфера, в который производится считывание информации.

функция 05h: форматировать дорожку гибкого диска

Функция предназначена для форматирования дорожек, то есть подготовки поверхности диска к выполнению операций чтения/записи данных.

Перед вызовом прерывания требуется записать в регистры следующие значения:

•           в АН — значение 05h;

•           в СН — номер цилиндра (дорожки);

•           в DH — номер головки;

•           в DL — номер дисковода (00h-7Fh);

• в ES: ВХ — указатель на адрес буфера, в котором содержится список адресных полей. Список состоит из 4-байтных элементов (формат которых описан в табл. 6.12) — по одному элементу на каждый создаваемый сектор. После завершения операции функция возвращает в регистре АН состояние дисковой системы.

функция 08h: получить параметры дисковода

Функция предназначена для определения параметров дисководов. Перед вызовом прерывания требуется записать в регистры следующие значения:

•           в АН — значение 08h;

•       в DL — номер дисковода (00h-7Fh — гибкий диск, 80h-FFh — жесткий диск).

После завершения операции функция возвращает в регистре АН состояние дисковой системы.

В случае успешного завершения операции функция возвращает в регистрах следующую информацию:

•       в BL — код типа дисковода (код выдается только для гибких дисков, возможные значения кода описаны в табл. 6.13);

•             в СН — младшие 8 разрядов максимального номера цилиндра;

•       в CL — максимальный номер сектора (разряды 0-5) и два старших бита максимального номера цилиндра (разряды 6-7);

•             в DH — максимальный номер головки;

•             в DL — общее число дисководов в системе;

•       в ES: DI — указатель на таблицу параметров гибкого диска (выдается только для гибких дисков).

Таблица 6.13. Значения кодов типа дисковода

Код

Тип дисковода

1

5,25", 360 Кбайт, 40 дорожек

2

5,25", 1,2 Мбайт, 80 дорожек

3

3,5", 720 Кбайт, 80 дорожек

4

3,5", 1,44 Мбайт, 80 дорожек

функция ODh: i сброс контроллера жесткого диска

Функция выполняет инициализацию контроллера жесткого диска, не затрагивая (в отличие от функции OOh) контроллер гибких дисков. Головки заданного дисковода перемещаются при этом на нулевую дорожку.

Перед вызовом прерывания требуется записать в регистры следующие значения:

•             в АН — значение ODh;

•             в DL — номер жесткого диска (80h-FFh).

После завершения операции функция возвращает в регистре АН состояние дисковой системы.

Вызывать данную функцию следует при возникновении ошибок в работе контроллера (см. табл. 6.11 кодов состояния системы).

Прерывание Int 13h, функция 10h: проверить готовность жесткого диска к работе

Функция определяет готовность диска к выполнению операций ввода-вывода.

Перед вызовом прерывания требуется записать в регистры следующие значения:

•           в АН — значение 10h;

•           в DL — номер жесткого диска (80h-FFh).

После завершения операции функция возвращает в регистре АН состояние дисковой системы.

Прерывание Int 13h, функция 11 h: рекалибровка жесткого диска

Функция выполняет перемещение головок заданного дисковода на нулевую дорожку.

Перед вызовом прерывания требуется записать в регистры следующие значения:

•           в АН — значение llh;

•           в DL — номер жесткого диска (80h-FFh).

После завершения операции функция возвращает в регистре АН состояние дисковой системы.

Вызывать данную функцию следует в случае возникновении сбоев в работе диска (см. табл. 6.11).

Прерывание Int 13h, функция 16h: проконтролировать смену гибкого диска

Функция предназначена для обеспечения целостности данных на диске, то есть для защиты прикладной программы от внезапной смены пользователем гибкого диска. В дисковых дупликаторах (специальных программах, предназначенных для копирования гибких дисков) и инсталляторах (программах, обеспечивающих установку на компьютер прикладных пакетов) данная функция, наоборот, обеспечивает замену уже использованного гибкого диска на следующий. Перед вызовом прерывания требуется записать в регистры следующие значения:

•           в АН — значение 16h;

•           в DL — номер дисковода гибких дисков (00h-7Fh).

После завершения операции функция возвращает в регистре АН результат проверки (значение 0 — диск не менялся, значение 06h — диск был заменен).

Прерывание Int 13h, функция 18h: установить тип носителя для форматирования

Функция позволяет установить основные параметры, используемые при форматировании диска. Эту функцию необходимо вызвать перед началом работы с функцией 05h, чтобы система BIOS могла установить корректное значение скорости передачи данных для используемого дисковода.

Перед вызовом прерывания требуется записать в регистры следующие значения:

•           в АН — значение 18h;

•           в СН — число цилиндров;

•           в CL — число секторов на дорожке;

•           в 0L — номер дисковода (00h-7Fh).

После завершения операции функция возвращает в регистре АН состояние дисковой системы.

В случае успешного завершения операции функция возвращает в ES:DI указатель на таблицу параметров гибкого диск

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]