- •Манипуляции битами
- •Регистр маскирования прерываний (imr)
- •64 Кбайт 32 Кбайт 32 Кбайт
- •64 Кбайт 128 Кбайт 64 Кбайт
- •Линейный адрес
- •31 Физически адрес Рисунок 12. Цепочка преобразований виртуального адреса в физический.
- •0000 0001 00 00 1000 0010 0110 0111 1000 Индекс каталога Индекс таблицы Смещение страниц Рисунок 14. Пример линейного адреса. 31 22 21 12 11 0
- •Дескриптор-8и байтовый элемент таблицы, в котором хранятся все характеристики ,необходимые для обслуживания данного сегмента .
0000 0001 00 00 1000 0010 0110 0111 1000 Индекс каталога Индекс таблицы Смещение страниц Рисунок 14. Пример линейного адреса. 31 22 21 12 11 0
Индекс каталога составляет 4h. Умножение его на 4 даст смещение от начала каталога. Это смещение равно 10h.
Индекс таблицы страниц оказался равным 82h. После умножения на 4 получаем смещение в таблице страниц, равное в данном случае 210h.
Предположим, что регистр CR3 содержит число 8000h. Тогда физический адрес ячейки в каталоге, откуда надо получить адрес закрепленной за данным участком программы таблицы страниц, составит 8000h + 10h = 8010 h Пусть по этому адресу записано число 46021h. Его 12 младших битов составляют служебную информацию (в частности, бит 1 свидетельствует о присутствии этой таблицы страниц в памяти, а бит 5 говорит о том, что к этой таблице уже были обращения), а старшие биты, т.е. число 46000h. образуют физический базовый адрес таблицы страниц. Для получения адреса требуемой ячейки этой таблицы к базовому адресу надо прибавить смещение 210h. Результирующий адрес составит 46210h.
Будем считать, что по адресу 46210h. записано число 01FF502111. Отбросив служебные биты, получим адрес физической страницы в памяти 01FF5000h. Этот адрес всегда оканчивается тремя нулями, так как страницы выровнены в памяти на границу 4 Кбайт. Для получения физического адреса адресуемой ячейки следует заполнить 12 младших бит полученного адреса битами смещения из линейного адреса нашей ячейки, в которых в нашем примере записано число 678h. В итоге получаем физический адрес памяти 01FF5678h, расположенный в конце 32-го Мбайта.
Основная литература :1[101-129].2[511-569],7[175-196]
Дополнительная литература: 16[570-639],18[242-391]
Контрольные вопросы:
Какие возможности позволяет полностью реализовать перевод микропроцессора в защищенный режим?
Что записывается в сегментные регистры в защищенном режиме?
Какова структура селектора?
Как формируется линейный адрес в защищенном режиме?
Поясните, почему максимальный объем виртуальной памяти равен 64 Т байт?
В каком случае линейный адрес в защищенном режиме равен физическому?
2.3. Планы лабораторных занятий
Занятие №1. Ассемблирование и выполнение программы.
Задание
Подготовить исходную программу к трансляции..
Создать объектную программу.
Создать исполняемую программу.
Отладить исполняемую программу.
Методические рекомендации: Рассмотреть все возможные варианты подготовки исходной программы к трансляции, включая вариант использования редактора WORD. Познакомится подробно с ключами программы TASM.
Основная литература 5[63-82],
Дополнительная литература 15 [56-57]
Контрольные вопросы:
Структура программы на языке ассемблера.
Этапы выполнения программы.
Функции вывода 9Н и 2Н int 21h.
Как создается исходный файл?
Расширение исходного файла.
Имя транслятора.
Что делает транслятор?
Какие выходные файлы получаются в результате трансляции? (с какими расширениями)
Пример командной строки запуска транслятора.
Имя компоновщика.
Какие файлы являются входными при компоновке?
Какие файлы являются выходными при компоновке?
Какое расширение имеет исполняемый файл?
Пример командной строки запуска компоновщика.
Как можно посмотреть файл листинга?
Занятие №2 Описание простых типов данных. Отладчик Turbo Debugger (TD) .
Задание.
Изучить основные возможности Turbo Debugger (TD) ,уметь пользоваться глобальным и локальным меню.
Набрать исходный текст программы согласно выданному варианту.
Получив загрузочный модуль, запустите его в Турбо отладчике (TD). В окне DUMP просмотреть сегмент данных, найти все переменные, заданные в вашем варианте и объяснить местоположение и занимаемый объем этой переменной. Вы ответственны не только за описание переменной в сегменте данных, но и за каждый байт памяти.
Набрать в кодовом сегменте команды:
Mov
al,
Pa
;al
= ?
Mov
bx,
Pb
;bx
= ?
Mov
bl,
byte
ptr Pb
;bl
= ?
Mov
dx,
word
ptr Pc
;dx
= ?
Mov
cx,
word
ptr Pc+2
;cx
= ?
Mov
dl,
byte
ptr Pc
;dl
= ?
Mov
dh,
byte
ptr Pc+1
;dh
= ? 5.
В отладчике посмотреть результат
выполнения этих команд
Методические рекомендации: Просмотрите состояние сегментных регистров до выполнения инициализации и после .Просмотрите дамп памяти сегмента данных и найдите там все описанные в вашей программе переменные.
Основная литература : 5[77-82] 4 [28-31]
Дополнительная литература : 17 [457-464]
Контрольные вопросы:
Как определить переменную размером с байт?
Как определить переменную, размером с слово?
Как определить массив байт?
Как определить массив бит?
Как описать эффективный адрес переменной?
Как определить полный адрес переменной?
С какой опцией должен быть оттранслирован исходный модуль для работы в TD ?
С какой опцией должна быть осуществлена компоновка объектного модуль для работы в TD?
Занятие №3 .Работа с массивами : пересылка, сложение.
Задана программа пересылки массива байтов А на место массива байтов В.
Задание.
Перед выводом массива В на экран вывести текстовую строку: ”Это второй массив В”, т.е. на экране должно быть: Это второй массив В 1 2 3 4 5
Элементы массива вывести через пробелы (или запятую).
Измените количество элементов в массивах, введите необходимые изменения в программу.
Измените данную программу, организовав в теле программы лишь один цикл.
Изменить данную программу в программу для пересылки массива слов.
. Напишите программу для преобразования массива байтов в массив слов.
;сегмен |
Данн |
|
|
т |
ых |
|
|
A |
Db |
1,2,3,4,5,6 |
|
B |
Dw |
3 dup(?) |
|
сегмент |
Кодов |
|
|
(ваша программа). |
|
||
Разработайте программу сложения двух массивов байтов A и B, сумму сохранить в массиве C, взяв за основу рассмотренные примеры.
Методические рекомендации : Обратите внимание на то, что в ассемблере на экран вы может выдавать информацию только в кодах ASCII. При работе с массивами помните, что индекс определяет не номер элемента массива, а смещение в байтах относительно начала массива.
Основная литература : 4[133-144]
Какие ограничения введены на использование команды mov?
Опишите алгоритм работы команды add.
Опишите алгоритм работы команды loop.
Какой режим адресации удобно использовать при работе с массивами?
Что необходимо сделать, чтобы в ассемблерной программе вывести на экран результат арифметической операции?
Занятие №4 Использование команд переходов. Команда сравнения - CMP.
Задание.
Заданы два массива байтов А и В, в третий массив нужно выбрать максимальные элементы, сравнивая поэлементно.
Измените предыдущую программу для выборки минимальных элементов в массив С,
Напишите программу, которая выбирает из элементов заданного массива байтов максимальный элемент.
Измените предыдущую программу для поиска минимального элемента в заданном массиве байтов.
Задан массив А.
A DB 1,1,-2,-4,6
DB 2,-5,2,-2,5
DB 3,-3,-3,4,4
DB 5,-5,6,-7,7
В данной области памяти требуется заменить все отрицательные элементы массива на нулевые байты, т.е.
1 1 0 0 6
0 2 0 5
0 0 4 4
5 0 6 0 7
Методические рекомендации: Обратите внимание на разнообразие команд передачи управления ,определите в каких случаях применяются те или иные команды.
Основная литература : О5[203-235],7 [74-82,123-134],9[63-82]
Дополнительная литература : Д18[ 49-55]
Контрольные вопросы:
. Опишите алгоритм работы команды CMP.
. Когда можно использовать команды условных переходов ?
. В чем заключается разница команд условного перехода для чисел со знаком и без знака ?
. Какие вы знаете команды условного перехода по состоянию определенного флага.
. Назовите разновидности команд безусловного перехода.
. Имеет ли место деление команд условного перехода на ближние и дальние?.
Занятие №5. Логические и строковые команды Задание.
Напишите программу, подсчитывающую количество единиц в заданном байте или слове:
;в сегменте данных
A DB 01101011B или A DW 0010111110101001B
Измените программу для подсчета нулей.
Задан массив байтов А из чисел со знаками. Напишите программу, подсчитывающую количество отрицательных элементов массива. Ваш любой вариант принимается. А теперь напишите с использованием команды TEST.
Измените программу для подсчета положительных элементов массива.
Напишите программу преобразования двух неупакованных BCD- чисел в слове памяти в упакованное BCD-число в регистре AL.
Напишите программу пересылки символов из одной строки в другую
; в сегменте данных
str_source DB ‘Строка_пересылаемая,,’$’ ;строка-источник
str_dest DB 20 dup(?) ;строка-
приемник
Напишите программу посимвольного (поэлементного) сравнения двух строк.
Напишите программу поиска заданного символа в заданной строке, осуществите замену этого символа на другой, введенный с клавиатуры или заранее определенный в памяти.
Напишите программу, которая сравнивает две строки и первый несовпавший элемент помещает в регистр AL.
Основная литература: 4[69-76],5[186-205],7[130-134],9[104-116]. Дополнительная литература: 13[[50-60].
Контрольные вопросы:
С помощью какой команды можно обнулить бит?
С помощью какой команды можно установить бит в единицу?
С помощью какой логической команды осуществляется умножение на степень двойки.
Какая команда определяет направление обработки строки?
Куда заносится длина обрабатываемой строки?
Занятие №6. Использование подпрограмм
83
Задание.
1.Оформить одну из предыдущих программ как процедуру и организовать передачу параметров по значению.
Оформить одну из предыдущих программ как процедуру и организовать передачу параметров по ссылке.
Оформить одну из предыдущих программ как процедуру и организовать передачу параметров по возвращаемому значению.
Оформить одну из предыдущих программ как процедуру и организовать передачу параметров по результату.
Оформить одну из предыдущих программ как процедуру и организовать передачу параметров по имени.
Оформить одну из предыдущих программ как процедуру и организовать передачу параметров в регистрах.
Оформить одну из предыдущих программ как процедуру и организовать передачу параметров в глобальных переменных.
Основная литература : 2[236-246] ,5 [217-225], 7 [82-90]
Дополнительная литература : 18 [62-69]
Контрольные вопросы:
1.Чем процедура отличается от подпрограммы?
Как осуществляется запоминание адреса точки возврата в основную программу?
Как происходит возврат из процедуры в основную программу?
Назовите все разновидности использования команды call.
Каким образом можно передать параметры в процедуру?
Где можно передавать параметры в процедуру?
Как сделать, чтобы использованные параметры не накапливались в стеке?
Занятие №7. Изучение функций ввода с клавиатуры Задание.
Изучить теоретический материал, разобраться с алгоритмом ввода пароля с помощью различных функций и проверки его.
Составить программу. Ответить на контрольные вопросы Методические рекомендации: Программы при запросе информации с клавиатуры на самом деле обращаются к буферу клавиатуры. Вспомнить, как осуществляется обнуление буфера клавиатуры. При необходимости, использовать эту возможность.
Основная литература: 2[151-162], 6[22-64]
Дополнительная литература: 16[85-103],18[45-49],15[45-46],13[1-4]
Контрольные вопросы:
Чем отличаются функции 1,7,8 INT 21h?
Что записывается в первый и во второй байт буфера при использовании функции 0Ah INT 21h?
Как выполняется ввод при нажатии функциональной клавиши?
Чем отличается выполнение функций 0 INT 16h и 7 INT 21h?
Чем отличаются функции 0Ah и 3Fh INT 21h?
Занятие №8 Изучение функций вывода на экран Задание.
Изучить некоторые наиболее полезные функции VESA BIOS, которые поддерживаются распространенными в настоящее время моделями видеоконтроллеров. Согласно индивидуальному заданию осуществить рисование геометрической фигуры.
Методические рекомендации: При написании программы вывода на экран графического элемента осуществите возможность его просмотра.
Основная литература: 6[131-266];
Дополнительная литература: 11[70-81],16[85-103,153-181], 18[152-153]
Контрольные вопросы:
1 Как осуществить вывод символа на экран в текстовом режиме?
Как получить информацию о версии VESA BIOS?
Как получить информацию о параметрах видеорежима?
Как сделать результат по выводу в графическом режиме наблюдаемым?
Занятие №9. Работа с дисковыми файлами Задание.
Изучить функции работы с файлами.
Согласно индивидуальному заданию составить алгоритм или блочное описание программы. Скомпоновать программу.
Методические рекомендации:
Стандартное число открытых файлов для одной программы -20 (15).Вспомните, как можно его увеличить. Примените эту возможность для своей программы.
Основная литература : О2[198-208],4[230-251]
Дополнительная литература : Д20[56-87]
Контрольные вопросы:
Что такое дескриптор файла?
Что такое ASCII-z строка?
Дескрипторы стандартного ввода и стандартного вывода.
Как определяется успешность завершения какой-либо файловой операции?
Атрибуты файла.
Коды доступа при открытии файла.
Назначение регистров AL,CX,DX в функции установки указателя.
Как определить длину файла?
Что делает функция закрытия файла?
2.4 Планы занятий в рамках самостоятельной работы студентов под руководством преподавателя (СРСП)
№ пп |
Задание |
Форма проведен ия |
Методические рекомендации |
Рекоменду емая литератур а |
1 |
Формы представлени я данных Перевод из одной системы в другую. |
Тренинг |
Решение задач по теме «формы представления данных». Перевод чисел из одной системы в другую |
1[2- 16],2[17- 20]12-15] Д 10[17- 20] |
2 |
Архитектура микропроцесс ора. |
Тренинг |
Решить задачи на определение содержимого регистров по их составляющим и на определение состояний флагов при выполнении различных операций |
О:5[16- 36], 38[33- 44],3[7-12] Д19[10- 15] |
3 |
Режимы адресации. |
Тренинг |
Решить задачи по использованию различных режимов адресации |
О5[46,120- 125],8[21- 32]7[40- 50]. |
4 |
Псевдооперат оры, их роль в программе на ассемблере |
Дискусси я |
Ра смотреть все виды псевдооператоров и их роль в программе на ассемблере |
О2[114- 115,134 135]. 8[148-195] |
5 |
Структура программы на ассемблере. Псевдооперат оры описания данных |
Тренинг |
Рассмотреть разновидности структуры программы на ассемблере. Решить задачи на определение порядка расположения данных в памяти при использовании различных псевдооператоров определения данных. |
О2[110- 115],8[18- 21],5[83- 11]9[138- 140] |
6 |
Пересылки, арифметическ ие команды. |
Тренинг |
Решить задачи по использованию арифметических команд и пересылок. |
О5[129- 152],9[42- 46] Д9[78-88]. |
7 |
Переходы, циклы. Массивы, структуры |
Тренинг |
Решить задачи по использованию условных и безусловных переходов. Разобрать программы по работе с массивами. |
О5[203- 235],7 [7482,123- 134],9[63- |
|
|
|
|
82] Д18[ 4955] |
8 |
Псевдооперат оры описания процедуры. Вызовы подпрограмм . |
Дискусси я |
Рассмотреть случаи использования подпрограмм. Директивы описания процедур. Передачу параметров в подпрограмму. |
О 2[236- 246],9[152 168],7[135 -139] Д4[75-79] |
9 |
Прерывания Написание обработчика прерывания |
Дискусси я |
Рассмотрение основных операций, связанных с обработкой прерываний. Разбор примера написания собственного обработчика прерываний |
О1[41-53], 2[269- 281],5[370 -382]. Д [120153] |
1 0 |
Обработка особых ситуаций при помощи собственных обработчиков исключений |
Дискусси я |
Рассмотрение примера обработки особых ситуаций при помощи собственных обработчиков исключений. |
О1[41-53], 2[269- 281],5[370 -382]. Д [120153] |
1 1 |
Ввод символьной информации .Очистка буфера клавиатуры. |
Тренинг |
Решение задач
|
О2[151- 162], 6[22- 64] Д16[85- 103],18[45 -49],15[45- 46] |
1 2 |
Управление программой с клавиатуры . |
Тренинг |
Написание программ по управлению программой с клавиатуры. |
О 6[131- 266]; Д 11 [70- 81],16[85- 103,153181, 18[152- 153] |
|
|
|
|
|
1 3 |
Использовани е различных графических режимов |
Тренинг |
Написание программ рисования линий в различных графических режимах. |
О[131- 266]; Д 11 [70- 81],16[85- 103,153181, 18[152- 153] |
1 4 |
Работа с файлами. |
Дискусси я |
Рассмотреть основные вопросы, связанные с работой с файлами. |
О2[198- 208],4[230 -251] Д20[56- 87] |
1 5 |
Обработка прерываний в защищенном режиме. |
Дискусси я |
Рассмотреть основные вопросы . связанные с обработкой прерываний в защищенном режиме. |
О1[101- 129] .2[511 569],7[175 -196] Д16[570- 639],18[24 2-391] |
2.5. Планы занятий в рамках самостоятельной работы студентов |
(СРС) |
||
№ |
Задания |
Методические рекомендации |
Рекомен дуемая литерат ура |
1 |
Опции командной строки TASM и TLINK. |
Описать возможности операций ассемблировании и компоновки, которые задаются опциями в командной строке. |
Д[56- 58] О5[463- 468] |
2 |
Обработка ошибок ассемблиров ания . |
Определить разницу между сообщениями об ошибках и предупреждениями. Описать структуру сообщения об ошибке. |
О5[654- 665] |
3 |
Работа с Turbo Debugger-ом |
Показать, каким образом используется Turbo Debugger для поиска и исправления логических ошибок. |
О5[77- 83],4[26 -31] |
4 |
Режимы адресации для 386 и выше. Масштабиро вание |
Провести сравнительный анализ режимов адресации для микропроцессоров до 386 и для микропроцессоров 386 и выше. |
O8[50- 56] |
5 |
Применение оператора указания типа PTR |
Рассмотреть, в каких случаях используется оператор указания типа PTR. |
Пильщи ков стр 9[42-47] |
6 |
Разновиднос ти безусловных переходов. |
Рассмотреть различные возможности безусловной передачи управления и вызовы подпрограмм. Дать определение дальних и ближних процедур и способы их описания . |
O7[ 7079] ,9[63 -67] |
7 |
Арифметиче ские команды. |
Рассмотреть основные арифметические команды. Их использование. |
9[42- 57],4[62 -69] |
8 |
Псевдоопера тор описания процедур. |
Ра ссмотреть псевдооператоры описания процедуры. Вызовы подпрограмм. |
О 2[236- 246],9[1 52- 168],7[1 35-139] Д4[75- 79] |
9 |
Перехват прерываний |
Разобраться в понятиях прерывание, ошибка, ловушка, останов. |
2[269- 281],18[ 193-205] |
10 |
Обработчик и прерываний |
Разобраться с основными этапами разработки обработчика прерываний |
2[269- 281],18[ 193-205] |
11 |
Принцип действия устанавлива емо драйвера клавиатуры |
Разобраться с работой программы - драйвером клавиатуры |
O6[59- 65] |
12 |
Работа в режимах SVGA |
Познакомится с процедурами, предназначенными для установки графических режимов и работы в них. |
O6[131- 266] |
13 |
Структура SFT |
Изучить структуру SFT, роль буфера. |
д20 [ 77-91] |
14 |
Структура COM и EXE файлов |
Разобраться с структурой файлов COM и EXE, написать простейшую программу, используя эти форматы, сделать выводы. |
O4[31- 34] |
15 |
Обработка прерываний в защищенном режиме |
Разобраться с процессом обработки прерываний в защищенном режиме. Рассмотреть примеры. |
O5[438- 463] |
Рекомендуемая литература:
Зубков С.В. ASSEMBLER для DOS, Windows, Unix .-М.:ДМК,1999.- 640с.,ил
Сван Том. Освоение^гЬо Assembler пер . с англ, Диалектика ,1966.-544с
Кулаков В. Программирование на аппаратном уровне. Специальный Справочник. -СПб : Питер
,2001-496 с.:ил .
Кулаков В. Программирование дисковых подсистем .-СПБ.: Питер , 2002 .
Бурдаев О. В. , Иванов М. А. , Тетерин И.И. Ассемблер в задачах защиты информации .М.: КУДИЦ-ОБРАЗ, 2002.-320с.
Финогенов К.Г.Самоучитель по системным функциям МS-DOS.- М.:Горячая линия-Телеком, 2001 .- 382с.:ил.
2.6 Тестовые задания для самоконтроля с указанием ключей правильных ответов.
Что такое виртуальная машина?
Программный комплекс, реализующий входной язык программирования
Программа, осуществляющая перевод текстов с одного языка на другой
Программа, обеспечивающая перевод программ с языка высокого уровня на язык более низкого уровня
Программа, обеспечивающая перевод программ с языка низкого уровня (языка Ассемблера) на машинный язык, имеющий примерно тот же уровень
Программный продукт, выполняющий предъявленную программу путем одновременного ее анализа и реализации предписанных ею действий
Что такое компилятор?
Программный комплекс, реализующий входной язык программирования
Программа, осуществляющая перевод текстов с одного языка на другой
Программа, обеспечивающая перевод программ с языка высокого уровня на язык более низкого уровня
Программа, обеспечивающая перевод программ с языка низкого уровня (языка Ассемблера) на машинный язык, имеющий примерно тот же уровень
Е) Программный продукт, выполняющий предъявленную программу путем одновременного ее анализа и реализации предписанных ею действий
Что такое Ассемблер?
Программный комплекс, реализующий входной язык программирования
Программа, осуществляющая перевод текстов с одного языка на другой
Программа, обеспечивающая перевод программ с языка высокого уровня на язык более низкого уровня
Программа, обеспечивающая перевод программ с языка низкого уровня (языка Ассемблера) на машинный язык
Программный продукт, выполняющий предъявленную программу путем одновременного ее анализа и реализации предписанных ею действий
Что такое интерпретатор?
Программный комплекс, реализующий входной язык программирования
Программа, осуществляющая перевод текстов с одного языка на другой
Программа, обеспечивающая перевод программ с языка высокого уровня на язык более низкого уровня
Программа, обеспечивающая перевод программ с языка низкого уровня (языка Ассемблера) на машинный язык, имеющий примерно тот же уровень
Программный продукт, выполняющий предъявленную программу путем одновременного ее анализа и реализации предписанных ею действий
Какое число является двоичным представлением числа -
4?
1011
0101
1010
1100
1101
Какое число является шестнадцатеричным представление числа 1110?
14
в) 6
А
0EH
Q
Как записано слово 4523Н в памяти машины?
4523Н
2345Н
4523
2345
Определите действия функции 01 INT 21h?
Считывает символ с эхом, с ожиданием, с проверкой на Ctrl - Break*
Считывает символ без эха, с ожиданием и без проверки на Ctrl - Break;
Считывает символ без эха, с ожиданием и с проверкой на Ctrl - Break;
Считывает символ без эха, без ожидания и без проверки на Ctrl - Break;
Считывает строку без эха, без проверки на Ctrl - Break;
С помощью какой команды запрещаются аппаратные прерывания?
cli
sti
int
into
iret
Какие два флага относятся к программным средствам, реализующим механизм прерываний?
IF, DF
IF, TF
TF, DF
SF, IF
SF, TF
Какой вход схемы 8259А связан с таймером ( с сигналом от таймера)?
irq 0
irq 1
irq 2
irq 3
irq 4
Укажите правильное описание кольцевого буфера клавиатуры:
Объём 15 слов, дисциплина LIFO, при переполнении прием новых слов блокируется;
Объем 15 слов, дисциплина FIFO, при переполнении прем новых слов блокируется и нажатие на клавиши возбуждает предупреждающий звуковой сигнал;
Объем 15 байт, дисциплина LIFO, при переполнении прием новых кодов блокируется;
Объем 15 байт, дисциплина FIFO, при переполнении прием новых кодов блокируется;
Объем 15 слов, дисциплина LIFO, при переполнении новый код записывается на место первого;
Какое прерывание должно выполнять программа, желая получить скан- код нажатой клавиши?
INT 23
INT 16
INT 10
INT 35
INT 21
Укажите, что находится в младшем байте расширенного ASCII кода:
01
02
03
00
04
Что является результатом работы функции 0 INT 16h? (чтение символа с ожиданием)
AL - ASCII код символа, 0 или префикс скан - кода;
AH - скан-код нажатой клавиши, или расширенный ASCII код;
ZF=1, если буфер пуст;
ZF=0, если в буфере присутствует символ;
AL=ASCII - код символа, 0 или префикс скан-кода;
AH - скан-код нажатой клавиши или расширенный ASCII код;
AL=00h, если операция выполнена успешно;
AL=01h, если буфер клавиатуры переполнен
AL - байт состояния клавиатуры 1;
AH - байт состояния клавиатуры 2;
AL - 00;
AH - ASCII код;
Какой номер внешнего прерывания закреплен за клавиатурой?
0Fh
0Eh
0Bh
09h
08h
Что находится в старшем байте расширенного ASCII кода?
Код, специально назначенный этой командой клавиши;
FF
F0
F1
F7
Номер функция команды int 21h заносится в регистр
АН
в) ВН
CL
DX
ESI
Каким символом должна завершаться строка при использовании функции 9 int 21h
A^
Н
$
%
;
Какое число цветов может воспроизводить режим True Color 32?
216
220
232
224
E)28
Размер сегмента в реальном режиме работы микропроцессора I8086
28
232
212
4 Kb
216
Размер сегмента в защищенном режиме работы микропроцессора
28
232
212
4 Kb
216
Что находится в сегментных регистрах при работе м-ра I8086 в реальном режиме?
Адреса сегментов
Селектор
Дескриптор
Базовый адрес сегмента
Нет правильного ответа
Что находится в сегментном регистре при работе м-ра I8086 в защищенном режиме?
Адреса сегмента
Селектор
Дескриптор
Базовый адрес сегмента
Нет правильного ответа
Физический адрес в реальном режиме =
Сегментный адрес + смещение
Сегментный адрес + смещение * 16
Базовый адрес сегмента + смещение
Сегментный адрес * 16 + смещение
(базовый адрес сегмента) * 16 + смещение
Физический адрес в защищенном режиме при выключенном страничном преобразовании
Сегментный адрес + смещение
Сегментный адрес + смещение * 16
Базовый адрес сегмента + смещение
Сегментный адрес * 16 + смещение
(базовый адрес сегмента) * 16 + смещение
На что указывает запись 0000000000110000 в регистре DS в защищенном режиме?
На шестой по счету дескриптор в таблице GDT
На шестой по счету дескриптор в таблице LDT
На двенадцатый по счету дескриптор в таблице LDT
На двенадцатый по счету дескриптор в таблице GDT
Нет правильного ответа
На что указывает запись 0000000000110100 в регистре DS в защищенном режиме?
На шестой по счету дескриптор в таблице GDT
На шестой по счету дескриптор в таблице LDT
На двенадцатый по счету дескриптор в таблице LDT
На двенадцатый по счету дескриптор в таблице GDT
Нет правильного ответа
Где определяется базовый адрес сегмента?
В дескрипторе
В селекторе
В TR
В LDTR
В GDT
Где находится адрес локальной таблицы дескрипторов?
В дескрипторе
В селекторе
В TR
В LDTR
В GDT
№ |
Код |
№ |
Код |
№ |
Код |
вопрос |
правильно |
вопрос |
правильно |
вопроса |
правильно |
а |
го ответа |
а |
го ответа |
|
го ответа |
1 |
A |
11 |
A |
21 |
E |
2 |
C |
12 |
B |
22 |
B |
3 |
D |
13 |
B |
23 |
A |
4 |
E |
14 |
D |
24 |
B |
5 |
C |
15 |
A |
25 |
D |
6 |
D |
16 |
D |
26 |
C |
7 |
D |
17 |
A |
27 |
A |
8 |
A |
18 |
A |
28 |
B |
9 |
A |
19 |
C |
29 |
A |
10 |
B |
20 |
D |
30 |
D |
2.8. Перечень экзаменационных вопросов по пройденному курсу .
Системное программное обеспечение, назначение, составляющие 2.Операционные системы как одна из основных составляющих системного программного обеспечения.
Файловые системы, назначение,основные виды.
Представление данных в компьютерах.
Архитектура Э5М,определение , составляющие.
Структурная схема ЭВМ
Пользовательские регистры
Регистры состояния и управления.
Стек. Регистры для работы со стеком.
Язык Ассемблер. Структура программы на ассемблере.
Прохождение программы через ЭВМ: этапы ввода программы,
трансляции, компоновки, отладки.
Отладчики .Работа с Tubo Debugger-ом
Псевдооператоры, их роль в программе на ассемблере
Использование сегментов в микропроцессоре I 8086.
Формирование физического адреса в реальном режиме
Описание данных
Псевдооператоры описания данных
Режимы адресации.
Основные виды адресации операндов в памяти.
Команды микропроцессора. Классификация.
Группа команд пересылки данных.
Команда mov. Ограничения, применение.
Стек. Команды работы со стеком.
Группа команд передачи управления (обзор) .
Прямые и косвенные безусловные переходы.
Условные переходы
Группа команд организации цикла.
Логические команды.
Команды сдвига
Строковые команды.
Дублирования участков программного кода
Процедуры. Назначение. Описание. Передача параметров.
Прерывания. Классификация прерываний
Контроллер прерываний
Обработка прерываний в реальном режиме.
Обработка особых ситуаций при помощи собственных обработчиков исключений
Обработка прерываний в защищенном режиме.
Система ввода - вывода.
Программное и аппаратное разделение устройств «типа памяти» и устройств «ввода - вывода».
Представление символов и управляющих кодов в памяти компьютера.
Схема взаимодействия системы с клавиатурой.
Системные средства ввода данных с клавиатуры.
Ввод символьной информации. Очистка буфера клавиатуры
Управление программой с клавиатуры
Функций BIOS работа с клавиатурой
Вывод на экран. Видеопамять.
Формирование изображений.
Управление видеодисплеем.
Организация видеопамяти в режимах типа Direct Drow.
Основные понятия, связанные с файловым вводом-выводом.
Работа с длинными именами файлов в DOS 7.0 (Windows 95) и старше.
Структура SFT.
Структура COM и EXE файлов.
Виртуальные адреса. Расчет объема виртуального адресного пространства
Формирование линейного адреса в защищенном режиме.
Формирование физического адреса в защищенном режиме.
Глоссарий
Ассемблер - (англ . assembler, от assemble - собирать, монтировать), вспомогательная
программа в составе операционной системы для автоматического перевода исходной
программы, подлежащей выполнению на ЭВМ, на машинный язык. Один из видов
транслятора.
Абсолютный адрес - физический адрес оперативной памяти.
Адаптер - интерфейсный блок, через который устройства ввода-вывода подключаются к системной магистрали
База - часть дескриптора, определяющая базовый адрес сегмента .
Байт - минимально адресуемая величина памяти в машине. Байт содержит 8 разрядов,
именуемых битами.
