- •Вопрос 1. Структура машин фон-Неймана, с общей шиной, с каналами прямого доступа в память. Сравнительный анализ и область применения.
- •Вопрос 11. Защита памяти с помощью ключей защиты. Структурная схема памяти с защитой. Достоинства и недостатки.
- •Вопрос 17. Методы параметрического диагностирования.
- •Вопрос 19. Детерминированный структурный подход к синтезу тестов.
- •Вопрос 20. Применение логического моделирования к синтезу тестов.
- •Асинхронное событийное моделирование
- •Видно, что на выходе схемы образуется последовательность значений 01011, что приводит к ложному импульсу. Троичное моделирование
- •Вопрос 21. Методы анализа выходных реакций.
- •Вопрос 40. Однокристальные м-эвм фирмы Intel
- •Вопрос 74. Com и exe программы. Их особенности и правила написания.
- •Вопрос 75. Принципы организации взаимодействия пользовательской программы с клавиатурой ibm pc.
- •Вопрос 76. Принципы организации вывода информации на экран ibm pc.
- •Вопрос 78. Файловая система ms dos, функции с использованием fcb и дескриптора
- •Вопрос 80. Компоновщики и загрузчики. Назначение и применение.
- •Вопрос 81. Отладчики, дизассемблеры и профайлеры. Назначение. Функции и возможности.
- •Вопрос 82. Утилиты. Назначение. Примеры использования.
- •Вопрос 97. Авм. Основные решающие элементы.
- •Вопрос 102. Квантование информации. Теорема Котельникова.
- •3.2. Выбор частоты отсчётов при дискретизации.
- •Вопрос 119. Алгоритмическая структура вычислительных сетей. Назначение протоколов соответствующих уровней.
- •Вопрос 120. Стандарты комитета ieee в области локальных вычислительных сетей. Протоколы ieee 802.3, ieee 802.4, ieee 802.5.
- •Вопрос 122. Стандарты скоростных магистралей Fast Ethernet, Switch Ethernet, 100vg.
- •Вопрос 123. Архитектурные особенности малых локальных сетей. Структура сети битбас.
- •Вопрос 124. Структура региональных сетей эвм.
- •Вопрос 141. Векторный операционный автомат с изменяющейся разрядностью данных и размерностью вектора.
- •Вопрос 156. Управляющий автомат с принудительной адресацией, с проверкой двух логических условий и с одним укороченным адресом в поле микрокоманды.
- •Вопрос 167. Принципы иерархической организации памяти эвм. Роль взу в иерархической структуре памяти современных эвм.
- •4.1 Основные понятия и классификация взу
- •Вопрос 184. Современные методологии разработки сложных информационных систем и их программного обеспечения. Case-системы, особенности организации и применения.
Вопрос 74. Com и exe программы. Их особенности и правила написания.
В ОС MS-DOS существуют два типа исполняемых программ: COM и EXE. COM-программы ограничены в размере 64 Кбайтами (1 сегмент). При этом в одном сегменте находятся код программы, ее данные и ее стек. При старте программы типа COM вершина стека находится в самых старших адресах сегмента. Если количества свободной памяти в старших адресах сегмента недостаточно, программа может выделить под стек доп-ный блок памяти и переустановить содержимое регистров SS и SP.
EXE-программы, как правило, используют несколько сегментов. При этом код программы, ее данные и ее стек находятся в разных сегментах.
Программы типа COM хранятся на диске в таком виде, в котором они будут загружены в память. Программы типа EXE имеют заголовок, находящиеся в котором данные влияют на процесс загрузки программы в память.
Заголовок EXE-программы состоит из форматированной зоны, которая содержит 14 фиксированных полей, и таблицы перемещения сегментов (Relocation Table), которая может находиться в любом месте программы.
Содержимое форматированной зоны заголовка EXE-файла:
Смещение Размер Содержимое
0h 2 Идентификатор EXE-файла ('MZ')
2h 2 Длина неполной страницы (байт, <= 512)
4h 2 Длина программы (вкл. заголовок, в страницах по 512 б)
6h 2 Количество элементов в Relocation Table
8h 2 Длина заголовка (в параграфах)
0Ah 2 Мин. необходимое программе количество памяти (в парагр.)
0Ch 2 Макс. необходимое программе количество памяти (в парагр.)
0Eh 2 Начальное значение регистра SS
10h 2 Начальное значение регистра SP
12h 2 Контрольная сумма всех слов файла
14h 2 Начальное значение регистра IP } точка
16h 2 Начальное значение регистра CS } входа
18h 2 Адрес первого элемента Relocation Table относительно начала файла (как правило, 001Ch)
1Ah 2 Номер оверлея (0 для главного модуля)
Процесс загрузки программ в память.
I. Общая часть для программ обоих типов.
1) Определяется сегментный адрес свободного участка памяти для загрузки программы.
2) Создаются 2 блока памяти (для переменных среды, и для PSP+программы).
3) Формируется блок переменных среды.
4) Заполняются поля PSP (Int 21h fn 26h).
5) Адрес DTA (Data Transfer Area, используется в файловых операциях с применением FCB) устанавливается на вторую половину PSP.
II. Для программ типа COM.
6) Сегментные регистры DS, CS, SS и ES устанавливаются по PSP.
7) Регистр SP устанавливается на конец сегмента PSP.
8) Файл считывается в память по адресу <сегмент PSP>:0100h.
9) В стек записывается слово 0.
10) Выполняется операция jmp PSP:100h - начинается выполнение программы.
III. Для программ типа EXE.
6) В локальную область памяти считывается 1Ch байт заголовка EXE-файла.
7) Определяется размер загружаемого блока данных:
<размер> = ((<кол-во страниц> * 512) - (<размер заголовка> * 16)) + <длина неполной страницы>
8) Определяется смещение в файле загружаемого блока данных: <смещение> = <размер заголовка * 16>
9) Выбирается сегментный адрес, START_SEG, для загрузки блока данных (как правило, PSP+10h).
10) Выделяется память (с учетом значений минимального и максимального необходимого количества памяти).
11) Загрузочный модуль считывается в память по адресу START_SEG:0000.
12) Сканируются элементы Relocstion Table (RT). Для каждого элемента RT выполняются следующие действия:
а) элемент считывается, как два слова (OFF, SEG);
б) по формуле REL_SEG = (START_SEG + SEG) вычисляется сегментный адрес;
в) к слову по адресу REL_SEG:OFF добавляется значение START_SEG.
13) Инициализируются сегментные регистры:
а) ES = DS = PSP
б) SS = START_SEG + <значение SS>, SP = <значение SP>
в) CS = START_SEG + <значение CS>, IP = <значение IP>
Правила написания COM и EXE программ.
При написании COM-программ необходимо:
1) Включать в текст программы директиву компилятора org 100h для правильного вычисления адресов (с учетом того, что по адресу CS:0000 после загрузки программы в память находится PSP).
2) Использовать только один сегмент, в который включаются как код программы, так и ее данные.
При написании EXE-программ необходимо:
1) Инициализировать регистра DS адресом сегмента данных программы.
2) Для использования в качестве возврата из программы команды retf можно сохранять в стеке сегментный адрес PSP и слово 0:
start: ; точка входа
push ds
xor ax, ax
push ax
. . .
retf ; возврат в MS-DOS
Последняя команда retf вызывает переход к началу PSP, где записана
команда завершения программы (int 20h).