- •2. Этапы выполнения дисковых операций на примере операции «Чтение данных».
- •3. Контроллер fdd. Назначение узлов и регистров контроллера.
- •4. Связь контроллера fdd с накопителем. Физическая реализация интерфейса связи и назначение сигналов интерфейса fdd.
- •5. Блок-схема пк. Назначение чипсетов. Назначение интерфейсов pci, isa, usb, ata, agp, Centronics, rs232c.
- •6. Шина pci. Назначение шины, сигналы шины. Цикл обмена на шине pci.
- •7.Последовательность пакетов при вводе-выводе по шине usb.
- •8.Архитектура шины usb.
- •11. Драйвер принтер (программа int 17h). Операции, используемые при выводе данных на принтер.
- •12. Физическая реализация интерфейса Centronics. Назначение линий интерфейса. Временная диаграмма передачи данных по интерфейсу. Пояснить по диаграмме процесс передачи данных.
- •13. Назначение и организация интерфейса Centronics. Назначение контролера интерфейса (lpt-порта) и его регистров.
- •14.Электрические параметры передаваемых по интерфейсу rs 232c сигналов. Формат асинхронной передачи информации по интерфейсу rs232c.
- •15. Контроллер последовательного интерфейса rs232c (com-порт). Регистры контроллера, программирование контроллера.
- •16.. Назначение сигналов внешнего интерфейса rs 232c.
- •17. Драйвер (программа обслуживания) внешнего интерфейса rs 232. Операции программы и их назначение.
- •18. Назначение и организация интерфейса rs 232c. Суть асинхронного режима передачи данных по интерфейсу.
- •19. Драйвер монитора (программа int 10h). Формирование цветов в графическом режиме для видеосистемы vga.
- •20. Блок-схема и принцип работы графического видеоадаптера agp.
- •21. Режимы работы видеосистем пк. Организация видеопамяти видеоадаптера в текстовых и графических режимах.
- •22. Назначение и принцип работы узла ramdac видеоадаптера. Назначение регистров ramdac, обращение к регистрам.
- •23. Формирование сигналов r, g, b для монитора при работе видеоадаптера cga в графическом режиме.
- •24. Формирование сигналов r, g, b для монитора при работе видеоадаптера cga в текстовом режиме.
- •25.Программа прерывания int 16h (поддержка клавиатуры). Операции программы.
- •26. Назначение контроллера клавиатуры пк. (Основные функции и основные узлы).
- •27. Основные этапы выполнения программы прерывания int 9 (ввод данных из клавиатуры).
- •28. Блок-схема клавиатуры. Формирование данных для передачи в пк. Интерфейс связи клавиатуры с пк. Временная диаграмма передачи данных от клавиатуры в системный блок пк.
- •29. Классификационные характеристики стандартных интерфейсов пк.
- •30 Назначение регистров микросхемы uart, являющейся основой сом-порта, программно доступных cpu. Программирование сом-порта.
24. Формирование сигналов r, g, b для монитора при работе видеоадаптера cga в текстовом режиме.
В текстовом режиме на экран выводятся только - символы, а в графическом можно строить любые сложные изображения.
В текстовом режиме используется алфавитно-цифровой метод формирования изображения. Суть метода заключается в том, что изображение на экран дисплея строится из отдельных фрагментов выводимых символов (букв, цифр, математических знаков, графических элементов и др.). Каждый фрагмент представляется в виде матрицы, имеющей вид прямоугольника стандартных размеров и состоящей из определенного числа ячеек. Каждая ячейка представляет собой битовый сигнал 0 или 1
В текстовом режиме экран дисплея делится на отдельные знакоместа, в каждое из которых может быть помещен символ. Экран разбивается на 25 строк по 80 знакомест в каждой строке, чем обеспечивается вывод одновременно до 2000 символов.
В процессе работы по заданной программе записываются прообразы символьных и графических изображений, выдаваемых на экран дисплея в специальную область оперативной памяти, которая называется видеопамятью или буфером экрана. В текстовом режиме для каждого символа нужно хранить код символа и атрибут символа, т.е. указание, как изобразить символ. Поэтому каждому символу соответствуют два байта: в первом из них записывается, что следует изобразить (код символа), во втором - как это изобразить (код атрибута символа). Так как в текстовом режиме на экран одновременно выводятся 2000 символов, то для запоминания информации полного экрана требуется 4 Кбайт видеопамяти.
M |
R |
G |
B |
I |
R |
G |
B |
Цвет фона Цвет символа
Мигание Интенсивность
Установка бита яркости в "1" делает цвет символа более светлым. Всего можно получить 16 цветов символа. Если бит мерцания установлен в "1", символ начинает мерцать с частотой приблизительно 4 раза в секунду.
25.Программа прерывания int 16h (поддержка клавиатуры). Операции программы.
Команда BIOS INT 16H выполняет специальную операцию, которая в
соответствии с кодом в регистре AH обеспечивает следующие три функции
ввода с клавиатуры.
AH=00: Чтение символа. Данная функция помещает в регистр AL oчередной
ASCII символ, введенный с клавиатуры, и устанавливает скэн-код в регистре
AH. (Скэн-коды объясняются в следующем разделе). Если на клавиатуре нажата
одна из специальных клавишей, например, Номе или F1, то в регистр AL
заносится 00. Автоматическое эхо символа на экран по этой функции не
происходит.
AH=01: Определение наличия введенного символа. Данная функция
сбрасывает флаг нуля (ZF=0), если имеется символ для чтения с клавиатуры;
очередной символ и скэн-код будут помещены в регистры AL и AH
соответственно и данный элемент останется в буфере.
AH=02: Определение текущего состояния клавиатуры. Данная функция
возвращает в регистре AL состояние клавиатуры из адреса памяти шест.417:
Прерывание INТ 16Н может быть использовано программистом.
В данном примере проверяется статус клавиши «Insert» и, если режим вставки выключен, установить бит В7 в «1»:
mov ah,2 ; номер функции
int 16h ; получаем байт статуса
test al, 10000000B ; проверка бит В7
jz INSERT OFF ; если бит В7=0, то режим Insert выключен
Установка бита В7 в «1»:
INSERT OFF: mov ax, 0 ; установка сегмента данных
mov es, ax ; на начало памяти
mov al, 10000000B ; подготовка бита В7 к установке в «1»
or es:[417H] ,al ; установка бита В7 в ячейке статуса.
Рассмотрим пример составления резидентной программы, которая модифицировала бы значения, возвращаемые функцией 0 прерывания INT 16Н, следующим образом. Если на клавиатуре нажата клавиша “1” (скэн-код - 2, код символа - 31Н), то эта функция должна вернуть скэн-код 11 и код символа 30Н, т.е. параметры клавиши "0". Тогда в ПK должен быть введён символ "0", а не "1".
Пример такой программы:
.model tiny ; объявление малой модели
.code ; сегмент кола
jmp start ; новый обработчик для INT 16Н
new: jmp nach ; адрес стандартного прерывания INT 16Н
v1 dw 0
v2 dw 0
nach: sti ; установка флага прерываний
pushf ; сохранение флагов в стеке
cmp ah, 0 ; проверка типа операции прерывания
jne kon ; INT 16Н
popf
pushf ; вызов стандартного прерывания INT 16Н
call dword ptr cs:[vl]
cmp ah, 2 ; проверка скэн-кода клавиши
jne kon1
cmp al, 31 ; проверка кода символа
jne kon1
mov ax, 0B30H ; присвоение новых параметров
kon1: iret ; выход из прерывания
kon: popf ; передача управления стандартному
jmp dword ptr cs:[vl] ; прерыванию INT 16H
; замена адреса программы прерывания INT 16H
start: push cs ; объединение сегментов кода и данных
pop ds
mov ax, 3516H ; сохранение адреса стандартного
int 21H ; прерывания INT 16H в v1и v2
mov v1, bx
mov v2, es
mov ax, 2516H ; замена вектора стандартного
lea dx, new ; прерывания INT 16H на новый
int 21H ; вектор
mov dx, 30 ; закончить и остаться резидентным
mov ax, 3100H
int 21H
end
Различные программные процедуры обработки нажатия клавиш, позволяющие решить некоторые проблемы при работе с клавиатурой, приведены в работе: Джордейн Р. Справочник программиста персонального компьютера типа IBM PC, XT и AT.