ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Переривання BIOS
         

     

    Інформатика, програмування

    INT 13H: Дисковий ввід-вивід

    Цей сервіс надає прямий доступ до адаптерам дискети і твердогодиска.
    Рекомендується там, де це можливо, використовувати INT 25H і INT 26H (INT
    25H/26H - пряма дискова операція читання/запису:

    INT 25H читає сектори

    INT 26H записує сектори), щоб надати драйверів пристроїв
    DOS виконувати всю низькорівневий обробку. Зрозуміло, для таких операцій,як форматування диска або установка захисту від копіювання, переривання
    INT 13H може виявитися єдиною альтернативою.

    підфункції:

    (підфункції> 8 - тільки для твердих дисків)

    00H скидання контролера 0aH довге читання
    01H дати статус 0bH довга запис
    02H читати сектори 0cH шукати циліндр
    03H писати сектори 0dH альтернативний скидання
    04H верифікація
    05H форматувати доріжку
    08H дати параметри диска
    09H ініціалізувати параметри диска
    10H перевірити готовність
    11H рекалібрація
    14H діагностика
    15H дати тип диска
    16H змінити статус
    17H встановити тип диска

    AH Сервіс
    ___
    ____________________________________________________________________________

    00H Скидання пристрою. Викликає рекалібрацію контролера.

    Якщо DL дорівнює 80H або 81H, виконаний скидання контролера твердого диска.

    ___
    ____________________________________________________________________________

    01H Дати статус помилки останньої операції.

    Вхід: DL = диск. DL <80H = дискета; DL> 7FH = твердий диск

    Вихід: AL містить код помилки диска (те ж, що значення за адресою
    0:0441)
    ___
    ____________________________________________________________________________

    02H Читати сектори

    Вхід: DL = номер диска (0 = диск A. ..; 80H = твердий диск 0; 81H = твердийдиск 1)

    DH = номер головки читання/запису

    CH = номер доріжки (циліндра) (0-n)? +

    CL = номер сектора ( 1-n) ?------+- Див зауваження нижче.

    AL = число секторів (у сумі не більше ніж один циліндр)

    ES: BX => адреса буфера викликає програми

    0:0078 => Таблиця параметрів дискети (для гнучких дисків)

    0:0104 => Таблиця параметрів твердого диску (для твердих дисків) < p> Вихід: Carry-прапор = 1 при помилку і код помилки диска в AH.

    ES: BX буфер містить дані, прочитані з диска

    Зауваження: на сектор і циліндр відводиться відповідно 6 і 10біт:

    1 1 1 1 1 1

    ? 5 +4 +3 +2 +1 +0 +9 +8? 7 +6 +5 +4 +3 +2 +1 +0 +
    CX: | cccccccc C c S sssss |

    +-+-+-+-+-+-+-+-?-+-+-+-+- +-+-+-+

    +-+---? ісп. як старші біти номера циліндра

    ___
    ____________________________________________________________________________

    03H Писати сектори

    Вхід: (аналогічно підфункції 02H)

    ES: BX => дані, що записуються на диск.

    Вихід: Carry-прапор = 1 при помилку і код помилки диска в AH.
    ___
    ____________________________________________________________________________

    04H Перевірити сектори. Перевіряє CRC для зазначених секторів на помилки.

    Вхід: (аналогічно підфункції 02H. ES: BX краще також надати)

    Вихід: Carry-прапор = 1 при помилку і код помилки диска в AH.
    ___
    ____________________________________________________________________________

    05H Форматувати доріжку. Дані на доріжці, якщо є, руйнуються.

    Вхід: DL, DH, CH = диск, голівка, доріжка (див. подф. 02H)

    ES: BX => дескриптори секторів (потрібно 512-байтовий буфер) дискета: 1 4-байтовий 'CHNS' (Циліндр, Головка, N сектора,
    Розмір) для кожного сектора на доріжці (тобто 36 байт для 9-секторальнихдоріжок); номери секторів д.б.н. впорядковані.

    'Z' - код розміру сектора: 0 = 128; 1 = 256; 2 = 512;
    3 = 1024

    _AT_ Твердий диск: 1 2-байтовий 'FN' (Прапор, N сектору) для кожного сектора на доріжці. Послідовність полів 'N' визначає

    "коефіцієнт прослаіванія" ( "interleave factor ").

    _XT_ Твердий диск: ES: BX не використовується. Замість цього AL міститьзначення "прослаіванія" між 1 і 16 (10H).

    Вихід: Carry-прапор = 1 при помилку і код помилки диска в AH.

    (твердий диск: 'F'- поля встановлені в 80H, щоб позначити поганісектори)
    ___
    ____________________________________________________________________________

    08H _AT_ _XT_ Дати параметри диска. Повертає інформацію про пристрій.

    Вхід: DL = диск

    Вихід: DL = число тв. дисків на першому контролері

    DH = максимальний номер головки

    CH = максимальний номер циліндра (молодші 8 біт)

    CL = максим. номер сектора (і старші біти макс. номерациліндра)
    ___
    ____________________________________________________________________________

    09H _AT_ ініціалізувати параметри диска. Повідомляє BIOS про будь -динамічному зміні таблиць параметрів пристрою.

    Вхід: Вектори для INT 41H і INT 46H адресують Табл. параметрів тв.диска відповідно для пристроїв 0 і 1.

    Зауваження: _XT_ повинен вказувати обидві таблиці через вектор INT 40H.
    ___
    ____________________________________________________________________________

    0aH _AT_ _XT_ Читання довге: 512 байт + 4-байтоий ECC (код корекціїпомилок).

    Вхід: (як для подф. 02H)

    Вихід: Carry-прапор = 1 при помилку і код помилки диска в AH.

    ES : BX => у буфері (дані сектору + 4 байти) * число секторів
    (з AL)
    ___
    ____________________________________________________________________________

    0bH _AT_ _XT_ Запис довга. Пише 512 байт + 4-байтовий ECC.

    Вхід: (як для подф. 02H)

    ES: BX => буфер містить дані сектору + 4 байти на коженсектор

    Вихід: Carry-прапор = 1 при помилку і код помилки диска в AH.
    ___
    ____________________________________________________________________________

    0cH _AT_ _XT_ Шукати циліндр. Переміщення голівку до потрібної доріжці.

    Вхід: DL, DH, CH = диск, голівка, доріжка (див. подф. 02H)

    Вихід: Carry-прапор = 1 при помилці і код помилки диска в AH.
    ___
    ____________________________________________________________________________

    0dH _AT_ _XT_ Альтернативний скидання пристрою

    Вхід: DL = диск
    ___
    ____________________________________________________________________________

    0eH _AT_ читати буфер секторів

    Вхід: (як для подф. 02H)

    Вихід: Carry-прапор = 1 при помилку і код помилки диска в AH.
    ___
    ____________________________________________________________________________

    0fH _AT_ писати буфер секторів

    Вхід: (як для подф. 02H)

    Вихід: Carry-прапор = 1 при помилку і код помилки диска в AH.
    ___
    ____________________________________________________________________________

    10H _AT_ _XT_ перевірити готовність пристрою

    Вхід: DL = диск

    Вихід: код помилки диска (статус) в AH.
    ___
    ____________________________________________________________________________

    11H _AT_ _XT_ Рекалібровать пристрій

    Вхід: DL = диск

    Вихід: код помилки диска (статус) в AH.
    ___
    ____________________________________________________________________________

    12H _AT_ Діагностика RAM контролера

    Вихід: код помилки диска (статус) в AH.
    ___
    ____________________________________________________________________________

    13H _AT_ Діагностика пристрою

    Вихід: код помилки диска (статус) в AH.
    ___
    ____________________________________________________________________________

    14H _AT_ _XT_ Внутрішня діагностика контролера

    Вихід: код помилки диска (статус) в AH.
    ___
    ____________________________________________________________________________

    15H _AT_ Читати тип диска (недоступна в XT BIOS)

    Вхід: DL = диск

    Вихід: AH = код пристрою: < p> 0 = пристрій DL відсутній

    1 = дискета; логіка заміни диску відсутній

    2 = дискета; логіка заміни диску доступна (більшістьвипадків)

    3 = твердий диск
    ___
    ____________________________________________________________________________

    16H _AT_ Читати статус заміни диску

    Вихід: AH = код статусу:

    0 = диск не був замінений

    6 = заміна активна (відкрита дискова двері);

    DL = номер якого замінюють диска
    ___
    ____________________________________________________________________________

    17H _AT_ встановити тип дискети (використовується перед операцієюформатування)

    Вхід: DL = номер пристрою для диску (0 або 1)

    AL = тип носія диска:

    0 = не використовується < p> 1 = 360K дискета в 360K пристрої

    2 = 360K дискета в 1.2M пристрої

    3 = 1.2M дискета в 1.2M пристрої

    КОДИ ПОМИЛОК ДИСКУ

    INT 13H повертає Carry-прапор (CF = 1), якщо сталася помилка. При цьому врегістр
    AH поміщається один з наведених нижче кодів помилок. Ці ж значення можутьбути повернуті при запиті стану диска (підфункції 00H).

    Зауваження: при помилку рекомендується скидання підфункції 00H і повторити 3рази.

    # Ош. Опис
    ____< br>__________________________________________________________________________< br> 00H остання операція виконана без помилок
    01H погана команда: невірний запит до контролера
    02H погана адресна марка
    03H захист запису: спроба запису на захищену дискету
    04H ID сектора запорчен або не знайдено .
    05H помилка скидання - _AT_
    08H збій DMA
    09H перекриття DMA: спроба запису через 64K-байтове кордон.
    0bH зустрівся прапор поганий доріжки - _AT_
    10H збій CRC: розбіжність контрольної суми даних.
    11H дані виправлені; поправна помилка; виправлено алгоритмом ECC -
    _AT_
    20H збій контролера
    40H невдалий пошук. Запрошення доріжка не знайдено
    80H Таймаут. Пристрій не відповіло
    0bbH невизначена помилка - _AT_
    0ffH збій операції опитування (sense) - _AT_

    Примітка.

    _AT_ ...... позначає IBM AT або сумісний; базується на 80286 CPU

    _XT_ ...... позначає XT (зазвичай посилається на відмінності в BIOS твердогодиска)


         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status