- •3)Опишите этапы трансляции. Приведите общую схему транслятора.
- •4)Дайте определение транслятора. Приведите характеристики однопроходных и много проходных трансляторов.
- •5) Опишите принцип работы интерпретатора. Перечислите особенности постороения интерпретаторов.
- •6) Дайте определение таблиц идентификаторов. Опишите простейшие способы организации таблиц идентификаторов.
- •8)Опишите организацию таблиц идентификаторов методом хэширования.
- •9) Опишите организацию таблиц идентификаторов смешанным способом.
- •10) Дайте характеристику моделям памяти.
- •11)Назначение и функции компоновщика?
- •12) Опишите назначение и функции загрузчика.
- •13) Опишите назначение и функции отладчика.
- •14) Опишите формат представления данных в ibm pc.
- •15) Опишите формат директив и машинных команд.
- •16) Опишите директивы эквивалентности и присваивания.
- •18) Опишите вычисление арифметических выражений в языке Ассемблер. Приведите примеры?
- •19)Опишите логические команды и команды сдвига.
- •20.)Опишите применение условных и безусловных переходов в языке Ассемблер. Приведите примеры.
- •21)Опишите организацию работы циклов в языке Ассемблер. Перечислите особенности использования оператора loop. Приведите примеры
- •26)Опишите обработку цепочечных команд. Приведите примеры.
- •29)Опишите макросредства в языке Ассемблер. Перечислите их преимущества и недостатки.
- •31)Запись в файл или устройство
- •33. Работа с файлами, каталогами и дисками под управлением ms-dos
- •34.Приведите общую структуру жесткого диска. Опишите процесс обращения с главной загрузочной записью (mbr).
- •35) Опишите способы защиты программ от копирования и несанкционированного использования.
- •Опишите способы использования языка Ассемблер в языках высокого уровня.
- •Приведите отличия Pascal-концепции и с-концепции при взаимодействии Ассемблера с языками высокого уровня.
- •41) Опишите принципы функционирования контроллера прерываний, взаимодействие его с процессором.
- •42) Опишите правила проектирования программных прерываний, взаимодействие прикладных и системных обработчиков прерываний.
- •Опишите способы ввода/вывода текстовой информации на языке Ассемблер
- •44Способы ввода информации:
- •46 Программы типа .Exe
- •47) Префикс программного сегмента.
- •48 Окружение
- •51) Дайте определение резидентным программам. Опишите особенности применения.
- •53) Опишите архитектуру драйверов.И функции
48 Окружение
Представляет собой область памяти, в котором виде символьных строк записаны значения переменных, которые имеют след. Формат – переменная=значение и заканчивается нулевым байтом. Ряд переменных окружения, имена которые зарезервированы системе, но пользователь может добавлять свой. COMSPEC,PATH,FILES. Окружение для командного процессора загружается из файла config.sys, autoexe.bat.
49 )Формат и назначение блока управления памятью. Каждой программе в MS DOS отводится блок памяти. С каждым таким блоком ассоциирован дескриптор, называемый MCB - Memory Control Block. Этот дескриптор содержит размер блока, идентификатор программы, которой принадлежит этот блок и признак того, является ли данный блок последним в цепочке. Размер сегментов и их адреса отсчитываются в параграфах размером 16 байт. После запуска.com-файл получает сегмент размером 64К, а.exe - всю доступную память. Обычно.exe-модули сразу после запуска освобождают ненужную им память и устанавливают brklevel на конец своего сегмента, а потом увеличивают brklevel и наращивают сегмент по мере необходимости. Естественно, что наращивать сегмент можно только за счет следующего за ним в цепочке MCB, и MS DOS разрешит делать это только в случае, если этот сегмент не принадлежит никакой программе. При запуске программы DOS берет последний сегмент в цепочке, и загружает туда программу, если этот сегмент достаточно велик. Если он недостаточно велик, то появляется сообщение Not enough memory и отказывается загружать программу. При завершении программы DOS освобождает все блоки, принадлежавшие программе. При этом соседние блоки объединяются. Пока программы, действительно, завершаются в порядке, обратном тому, в котором они запускались, - все вполне нормально. Другое дело, что в реальной жизни возможны отклонения от этой схемы. Формат блока MCB. Внутри блока MCB хранится длина описываемого данным MCB фрагмента памяти. Следующий фрагмент памяти начинается сразу за предыдущим. Все блоки управления памятью связаны в список. Блоки MCB бывают двух типов - M и Z. M-блоки - это промежуточные блоки. Блок типа Z является последним блоком в списке и может быть только один. Приведем формат блока MCB: Смещение, байт Размер, байт Имя, поля Описание
0 1 type Тип блока MCB (M или Z)
1 2 owner Сегментная компонента адреса владельца блока; этот блок всегда выровнен на границу параграфа (если 0, то блок описывает сам себя)
3 2 size Число параграфов в этом блоке
5 11 reserve Зарезервировано.
Организация дочерних процессов.
50 )Организация дочерних процессов. Программа загружается в память при выполнении функции DOSexec(int 21h, 4BH ) которая играет роль встречного загрузчика.Способы загрузки выполнения:1.набор текста в каждой строке с нажатием Enter. В этом случаефукцию exec вызывает командный процессор command.com 2.операционная система.3.программа пользователя может вызывать функцию exec.Последовательный вызов функции exec различными спосабами порождает дочернии процессы.процесс который иницировал функцию exec называеться родительным.Программа функций exec в памяти вклбчает три важных компанента :1.окружение2.префикс программного окруженя3.программы.Окружение и сама программа предваряются блоком управления памяти 16-байт.в процессе начальной загрузки DOS создает так называемое окружение в катором будут работать активированные программы.Первое окружение получает командный процессор command.com .