hdd model

Тема в разделе "WASM.ASSEMBLER", создана пользователем sproot, 25 дек 2006.

  1. sproot

    sproot New Member

    Публикаций:
    0
    Регистрация:
    25 дек 2006
    Сообщения:
    3
    Как из программы на ассемблере перечислить имена(модель) жестких дисков установленных в системе из DOS ? Например, когда я захожу в BIOS Setup я вижу: Maxtor 30768H1.
     
  2. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Работай напрямую с портами ЖД.
    Сначала выбери нужный тебе диск.
    Код (Text):
    1.         mov     dx, 1F6h         ;Порт выбора диска и головки
    2.         mov     al, 0A0h         ;Диск 0, головка 0
    3.         out     dx, al
    Потом посылай команду идентификации ЖД(0ECh).
    Код (Text):
    1.         mov     dx, 1F7h         ;Коммандный порт
    2.         mov     al, EXh
    3.         out     dx,al
    Прочитать "паспорт" диска.
    Код (Text):
    1. oogle:
    2.         in      al,dx
    3.         test    al,8            ; дождаться готовности секторного буфера
    4.         jz      oogle
    5.        
    6.         mov     cx,512/2        ;Размер сектора /2
    7.         mov     si,offset buffer
    8.         mov     dx,1f0h         ;Порт данных - данные приходят/уходят отсюда.
    9.         rep     outsw           ;Послать в порт. Выполнить операцию.
    Теперь в buffer у тебя информация о ЖД.
    Байты 54-92 - модель диска.
     
  3. sproot

    sproot New Member

    Публикаций:
    0
    Регистрация:
    25 дек 2006
    Сообщения:
    3
    Большое спасибо, это то что надо! Подскажи, где можно по этой теме почитать. Интерфейс работы с жестким диском, наверно, должен быть описан в какой-нибудь спецификации или стандарте...
     
  4. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    В книгах:
    Кулаков. Программирование на аппаратном уровне.
    Ю.С.Лукач, А.Е.Сибиряков "А Р Х И Т Е К Т У Р А В В О Д А - В Ы В О Д А П Е Р С О Н А Л Ь Н Ы Х Э В М I B M P C"
    Михаил Гук - Аппаратные интерфейсы ПК
    Михаил Гук - Интерфейсы ПК. Справочник.
    Морозов и Тарахтелюк "Винчестеры IDE AT, их диагностика и ремонт."
    Также у Гука или Кулакова есть AFAIK книга отдельно по дисковой подсистеме
    Отдельные доки:
    www.t13.org
    "Описание поpтов винчестеpа" http://rusdoc.df.ru


    Это доки которые есть у меня, скорее всего их гораздо больше.
     
  5. sproot

    sproot New Member

    Публикаций:
    0
    Регистрация:
    25 дек 2006
    Сообщения:
    3
    Спасибо за подробные ответы!