Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мобильная.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆

7.Какую инфу дает функция WinApi ReadConsoleInput?

Функция ReadConsoleInput считывает данные из входного буфера консоли и удаляет их оттуда. Параметры:

1. hConsoleInput - Дескриптор консольного буфера ввода. 2. lpBuffer - Указатель на массив структур INPUT_RECORD, который получит данные из входного буфера.

3. nLength - Число элементов в буфере lpBuffer, которое необходимо получить. 4. lpNumberOfEventsRead - 32-х разрядную переменную, которая получит число реально прочитанных элементов.

Возвращаемое значение

В случае успеха возвращается ненулевое значение. Если функция завершается неудачно, возвращается ноль.

Билет №3.

1. Отчего зависит максимальный размер сегмента?

Определяется разрядностью указательного регистра, Разрядностью сегментных регистров.

232 = 4Гб

3. Какие обращения к памяти осуществляются при выполнении команды LFS EDI, [EBP +8] в защищенном режиме МП Intel x86?

4. Режимы ввода/вывода?

Ввод вывод может происходить в следующих режимах:

-Программно-управляемый обмен(синхронный и асинхронный)

-С прерыванием

-Прямой доступ к памяти

5. Когда устанавливается сигнал запроса прерывания INTR в режиме стробируемого порта параллельного порта Intel 8255?

Сигнал INTR устанавливается в режиме стробируемого вывода по переднему фронту сигнала /STB если установлен сигнал INTE разрешения прерывания.

7. Функции WinApi для записи в консоль

Функция WriteConsole записывает символьную строку в экранный буфер консоли, начинающийся с текущей позиции курсора. Параметры:

hConsoleOutput – Дескриптор экранного буфера консоли. lpBuffer – Указатель на буфер, содержащий символы, которые будут записаны в экранный буфер консоли. nNumberOfCharsToWrite – Число TCHARs для чтения. lpNumberOfCharsWritten – Указатель на переменную, которая принимает число фактических записей TCHARs. lpReserved – Зарезервировано, 0.

Возвращаемые значения: Если функция завершается успешно, величина возвращаемого значения - не ноль. Если функция завершается с ошибкой, величина возвращаемого значения - ноль.

Билет №4.

4. Порты ввода/вывода при прямой адресации памяти.

Каждое адресуемый элемент адресного пространства ввода-вывода именуется портом ввода, портом вывода или портом ввода-вывода. Для обращения к портам предназначены четыре основные команды процессора: In (ввод в порт), Out (вывод из порта), Ins (ввод из порта в элемент строки памяти) и Outs (вывод элемента из строки памяти).

5. Мп и inta. 8 векторов прерываний. Как они взаимосвязаны между собой.

Взаимосвязаны управляющим словом ICW2. Старшие биты(3,4,5,6,7) – номера прерываний(вектор). В младшие биты подставляется номер входа. Чтобы получить полный номер прерывания, соответствующему i-ому входу, надо в младшие 3 бита поставить номер входа в двоичной коде.

6. Стробируемый ввод, Stb сигнал.

Этот режим служит для однонаправленного обмена данными по выбранному каналу с периферийным устройством. Для управления передачей или приемом по каналу A используется младшая тетрада канала C, канал B управляется старшей тетрадой канала C.

STB –входной управляющий сигнал, по которому данные от внешнего устройства записываются в порт.

7. Сканкоды клавиш. Отличия нажатий от отжатий.

Сканкоды клавиатуры являются условными кодам клавиш. Каждой клавише клавиатуры соответствует особый номер – сканкод, через который драйвер клавиатуры распознает, какая клавиша была нажата. Именно сканкод передается по проводу в компьютер.

Нажатие клавиши приводит от передачи клавиатуры к компьютеру от одной последовательности scan кодов, или от 1 до 6. При нажатии обычных клавиш 1, 3 f1-f10 передается 1 байт содерж scan-код(84 клав), другие клавиши посылаются посл. кодовых пар.(первый байт E0). При отпускании клавиши также передается scan-код. Для получения скан-кода отпускания клавиши нужно прибавить к скан-коду ее нажатия 80h.

При каждом получении кодов контроллер прерываний формирует запрос прерываний IRQ1, которому соответствует прерывание int 9. Обработчик прерываний считывает scan-код и обрабатывает. Результат обработки помещает в буфер клавиатуры, расположенной в основной памяти. В случае переполнения очередное слово не записывается и передается звуковой сигнал.

Билет №8.