Пишем программу начальной загрузки компьютера
Стоянка 10 минут
Доплелись до остановки.
Аналогично первой компилируем
программу st2.asm, записываем на дискету и загружаем
с нее компьютер.
Давайте посмотрим, чего мы добились.
Ну, вот, какое-то осмысленное действие проявляется на экране и даже
можно наблюдать реакцию программы на нажатие некоторых клавиш клавиатуры.
Таким образом, основы человеко-машинного интерфейса мы освоили .
- Во-первых, ввод информации с помощью клавиатуры. Для выбора цвета символов на экране
используются цифровые клавиши, коды которых легко преобразуются в численные значения цифр.
- Во-вторых, визуализация результата на экране в нужном нам формате, используя функции прерывания INT 10h.
Кроме того, мы научились замещать подпрограмму BIOS своей подпрограммой. Для примера,
мы заменили обработчик INT 1Ch - SYSTEM TIMER TICK подпрограммой, которая подсчитывает количество
ее вызовов, то есть представляет счетчик. Значение счетчика используется в цикле вне обработчика прерывания для
посекундного изменения значения таймера на экране. На время изменения значения вектора в таблице все прерывания запрещаются. Обратим внимание на команду выхода из обработчика.
Используется команда IRET вместо RET для обычной подпрограммы. В нашем случае, так как INT 1Ch
не является аппаратным прерыванием, то дополнительного сброса контроллера прерываний не требуется.
В отличие от первой программы, мы теперь можем выбрать "ПЕРЕЗАГРУЗКУ" или "СТОП".
[Назад] [↑] [Вперед]