adfun.ru
| |
BIGLIB |
| большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно |
|
| |
ФАНТАСТИКА |
| фентези,
фантастика, фантастические повести |
|
| |
ФИЛОСОФИЯ |
книги, которые заставляют
задуматься над окружающим тебя миром.
|
|
| |
МЕДИЦИНА |
медицинские книги,
методички,
народные лечебники |
|
| |
КУЛИНАРИЯ |
рецепты
тортов, консервирование,
все о спиртных
напитках. |
|
| |
СТИХИ |
| стихи популярных
и не очень авторов |
|
| |
ТВОРЧЕСТВО |
| народное творчество,
стихи, песни и т.д. |
|
| |
ЮМОР |
| анекдоты, приколы,
смешные истории |
|
| |
ЭРОТИКА |
| эротические рассказы,
книги о технике секса,
кама-сутра и др. |
|
|
| |
 |
7 6 5 4 3 2 1 0
ЪДДДВДДДВДДДВДДДВДДДВДДДВДДДВДДДї
і і і 0 і і 0 і і і і Бит:
АДВДБДВДБДДДБДВДБДДДБДВДБДВДБДВДЩ ДДДД
і і і і і АД>0: 1=адресный маркер данных не
і і і і і найден
і і і і АДДДДД>1: 1=ошибка на нулевой дорожке
і і і АДДДДДДДДД>2: 1=выполнение команды прекра-
і і і щено программно, команда
і і і не завершилась
і і АДДДДДДДДДДДДДДДДД>4: 1=идентификатор сектора не
і і найден
і АДДДДДДДДДДДДДДДДДДДДДДДДД>6: 1=неисправимая ошибка в дан-
і ных, ошибка контрольной
і суммы
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДД>7: 1=дефектный сектор
Порт 1F2h.
Чтение/запись числа секторов для последующей операции.
Порт 1F3h.
Чтение/запись параметра "номер сектора" для последующей
операции.
- 106 -
Порт 1F4h.
Чтение/запись старших битов номера цилиндра для последующей
операции (биты 0 - 1 - это биты 8 - 9 в 10-битовом номере
цилиндра).
Порт 1F5h.
Чтение/запись младших восьми битов номера цилиндра для
последующей операции.
Порт 1F6h.
Чтение/запись номера устройства и головки для последующей
операции.
Порт 1F7h (запись).
Вывод команды по управлению накопителем.
Порт 1F7h (чтение).
Чтение состояния накопителя и результатов предыдущей
команды:
7 6 5 4 3 2 1 0
ЪДДДВДДДВДДДВДДДВДДДВДДДВДДДВДДДї
і і і і і і і і і Бит:
АДВДБДВДБДВДБДВДБДВДБДВДБДВДБДВДЩ ДДДД
і і і і і і і АД>0: 1=предыдущая команда завер-
і і і і і і і шилась с ошибкой
і і і і і і АДДДДД>1: 1=сигнал "индекс"
і і і і і АДДДДДДДДД>2: 1=данные при выполнении пос-
і і і і і ледней операции были скор-
і і і і і ректированы при помощи
і і і і і алгоритма ECC
і і і і АДДДДДДДДДДДДД>3: 1=идет процесс обмена данными
і і і АДДДДДДДДДДДДДДДДД>4: 1=поиск завершен
і і АДДДДДДДДДДДДДДДДДДДДД>5: 1=ошибка записи
і АДДДДДДДДДДДДДДДДДДДДДДДДД>6: 1=устройство готово для чте-
і ния, записи или поиска
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДД>7: 1=устройство занято выполне-
нием команды ( остальные
биты не несут смысловой
нагрузки)
E9.2.2. Система командF
Код команды заносится в порт 1F7h после того, как
подготовлены все параметры в портах 1F2h - 1F6h. Выполнение
команды начинается сразу после занесения в порт 1F7h кода
команды. Команда состоит из одного байта. Старшие 4 бита
содержат код требуемой операции, младшие содержат параметры.
Перечень команд с возможными значениями параметров приведен в
таблице.
- 107 -
ЪДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
і Код і Назначение і Параметры і
іоперацииі і і
ГДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і 1 і Рекалибровать (сброс і Период импульсов сигнала і
і і головок на цилиндр 0) і "шаг" і
ГДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і 2 і Чтение секторов і Биты, определяющие необходи-і
ГДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДґ мость повторных обращений і
і 3 і Запись секторов і к диску и повторных попыток і
ГДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДґ считывания при ошибках і
і 4 і Проверка секторов і контрольной суммы і
ГДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і 5 і Форматирование дорожкиі Параметр = 0 і
ГДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і 7 і Поиск цилиндра і Период импульсов сигнала і
і і і "шаг" і
ГДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і 9 і Диагностика і Параметр = 0 і
і ГДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
і і Установка параметров і Параметр = 1 і
і і накопителя (максималь-і і
і і ное число головок и і і
і і секторов) і і
АДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
- 108 -
E10. Печатающее устройствоF
Устройство печати IBM PC-подобных компьютеров обычно
подключается к параллельному интерфейсу. Для подключения
используется стандартный разъем Centronix, имеющий 36 контактных
выходов (отечественный аналог ИРПР-М). Допускается три варианта
подключения принтеров к ПЭВМ:
- адаптер принтера может находится на одной плате с
адаптером монохромного дисплея, при этом используются порты
3BCh - 3BEh;
- к ПЭВМ могут подключены два отдельных адаптера для
управления принтерами, использующие порты 378h - 37Ah (первый
адаптер) и 278h - 27Ah (второй адаптер).
При программировании принтера важно знать адрес базового
порта ввода-вывода (первого порта из трех); адреса базовых
портов хранятся в области данных BIOS, начиная с адреса 0:408h
(LPT1) и далее по слову на принтер до LPT4. Дальнейшее описание
предполагает, что базовый адрес принтера равен 378h.
Порт Операция Описание
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
378h Запись Регистр данных - сюда засылается байт, посылае-
мый на печать
Чтение Регистр данных - позволяет считать последний
байт, переданный принтеру
379h Чтение Регистр состояния принтера:
7 6 5 4 3 2 1 0
ЪДДВДДВДДВДДВДДВДВДВДї
і і і і і іXіXіXі Биты:
АВДБВДБВДБВДБВДБДБДБДЩ ДДДДД
і і і і АДДДДДДДДД> 3: 0=при печати возникла ошибка
і і і АДДДДДДДДДДДД> 4: 0=принтер в автономном режиме
і і АДДДДДДДДДДДДДДД> 5: 1=сигнал "конец бумаги"
і АДДДДДДДДДДДДДДДДДД> 6: 0=принтер готов к печати
і следующего символа
АДДДДДДДДДДДДДДДДДДДДД> 7: 0=принтер занят, находится в
автономном режиме или
произошла ошибка
- 109 -
37Ah Чтение/ Регистр управления принтером:
Запись
7 6 5 4 3 2 1 0
ЪДВДВДВДДВДДВДДВДДВДДї
іXіXіXі і і і і і Биты:
АДБДБДБВДБВДБВДБВДБВДЩ ДДДДД
і і і і АДДД> 0: бит запуска печати (см. ниже)
і і і АДДДДДД> 1: 1=после возврата каретки выводить
і і і перевод строки (в MS-DOS должен
і і і быть сброшен)
і і АДДДДДДДДД> 2: 1=инициализировать принтер
і АДДДДДДДДДДДД> 3: 1=разрешить вывод на печать (должен
і быть всегда установлен)
АДДДДДДДДДДДДДДД> 4: 1=разрешить прерывания от принтера
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Примечания.
1. Для запуска печати символа нужно на короткое время
установить бит 0 регистра управления, а затем сбросить его.
2. Прерывание происходит по окончании вывода символа на
печать: для первого принтера на седьмом уровне контроллера
прерываний (IRQ7, вектор прерывания 0Fh), для второго принтера -
на пятом уровне (IRQ5, вектор 0Dh). Следует отметить также, что
IRQ5 используется XT-контроллером жестких дисков для генерации
своих прерываний. Обычно этот бит не используется
(сбрасывается), а проверка готовности принтера производится на
основании опроса регистра состояния.
Типичная последовательность действий для вывода на печать
одного символа такова:
- вывести передаваемый байт в регистр данных;
|
adfun.ru
|
|
|
|