- •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) Опишите архитектуру драйверов.И функции
Опишите способы использования языка Ассемблер в языках высокого уровня.
Передача параметров
Язык высокого уровня – передают параметры вызываемое процедуры в стеке и ожидают возврощение параметров в регистре АХ, ЕАХ, если результат не уменшается в ЕАХ то используется пара ДХ : АА . Ассемблер на языках высокого уровня используются для организации прерываний, приоброзований сложных бытовых структур.
Приведите отличия Pascal-концепции и с-концепции при взаимодействии Ассемблера с языками высокого уровня.
Канцепция паскаль это способ размещать пораметры в стеке в естественном порядке.
Same_proc(a,b,c,d); ЯВУ
Push a Push b push c, push d
Call same_proc
Это значит процедура Same_proc во первых должна очистить ТЭК по окончанию работы и во вторых параметры переданные ей в стеке находятся в обратном порядке. Главным недостатком этого подхода заключается создание фун. Со изменяемым числом пораметров. Чтоб определить число параметров переданных функции, процедуры должна прочитать сначала первый параметр, размещение в стеке которого она не знает.
Концептия С
Параметры передаются в обратном порядке
Same_proc(a,b,c,d); ЯВУ
Push d Push c push b, push a
Call same_proc
Регистр ВР в С концепции служат для хранения числа пораметров и его же в коем случае не льзя изменять , преимуществом перед паскаль канцепции является то что асвабождение стека возлогается на вызывающую процедуру. Так же существует смещенная концепция котороя использует для передачи параметров РОН и СТЭК.
38. Дайте определение понятию «прерывание». Приведите классификацию прерываний для IBMPC.
Прерывание означает временное прекращение основного процесса вычислений для выполнения некоторых запланированных или незапланированных действий, вызываемых работой аппаратуры или программы.Нажимая клавишу на клавиатуре, мы инициируем немедленный вызов программы, которая распознает клавишу, заносит ее код в буфер клавиатуры, из которого он считывается другой программой. Т.е. на некоторое время микропроцессор прерывает выполнение текущей программы и переключается на программу обработки прерывания, так наз. обработчик прерывания. После того, как обработчик прерывания завершит свою работу, прерванная программа продолжит выполнение с точки, где было приостановлено ее выполнение.Адрес программы-обработчика прерывания вычисляется по таблице векторов прерываний.Механизм прерываний поддерживается на аппаратном уровне.
Классификация прерываний
В зависимости от источника, прерывания делятся на аппаратные - возникают как реакция микропроцессора на физический сигнал от некоторого устройства, по времени возникновения эти прерывания асинхронны, т.е. происходят в случайные моменты времени;программные - вызываются искусственно с помощью соответствующей команды из программы (int), предназначены для выполнения некоторых действий операционной системы, являются синхронными;исключения - являются реакцией микропроцессора на нестандартную ситуацию, возникшую внутри микропроцессора во время выполнения некоторой команды программы. Общая классификация прерываний
· внешние - вызываются внешними по отношению к микропроцессору событиями (по существу - это группа аппаратных прерываний) Вложенных прерываний нет!
· внутренние - возникают внутри микропроцессора во время вычислительного процесса (по существу - это исключительные ситуации и программные прерывания).
! В реальном и защищенном режиме работы микропроцессора обработка прерываний осуществляется принципиально разными методами.
. 39.Опишите организацию аппаратных прерываний
К аппаратным средствам системы прерываний относятся:
· выводы микропроцессора - на них формируются сигналы, извещающие микропроцессор либо о том, что некоторое внешнее устройство «просит уделить ему внимание» (INTR), либо о том, что требуется безотлагательная обработка некоторого события или катастрофическая ошибка (NMI)
· INTR - вывод для входного сигнала запроса на прерывание,
· NMI - вывод для входного сигнала немаскируемого прерывания
· INTA - вывод для выходного сигнала подтверждения получения сигнала прерывания микропроцессором (этот сигнал поступает на одноименный вход микросхемы конроллера 8259А;
· программируемый контроллер прерываний 8259А · внешние устройства (таймер, клавиатура, магнитные диски и т.п.)Процессор получив сигнал по линии INT на выполнение прерывания сохраняет в стеке выполняемой программы содержимое регистров FLAGS, CS:IP .Загружает CS и IP из соответствующего вектора прерываний, и тем самым на обработчик прерываний, связанный с этим вектором и передает ей управление. Обработчик прерываний всегда завершается командой iret (interruptreturn, возврат из прерывания) , которая возвращает старые значения CS , IP и регистра флагов , тем самым приводя к возврату в точку программы, где она была прервана.
40.Опишите структуру контроллера прерываний, назначение его основных узлов.
Для того, чтобы написать программу обработки прерываний от какого-либо устройства . необходимо быть знакомым с особенностями функционирования и программирования контроллера. Логически в контроллере можно выделить 4 основных узла :
Регистр входных запросов
Регистр маски
Схема приоритетов
Регистр обслуживаемых запросов
Последовательность обработки внешнего аппаратного прерывания имеет следующий вид:
Сигнал запроса прерывания поступает на вход регистра запросов и устанавливает в 1 соответствующий бит. значение регистра маски ( программируемый через порт 21h) равное 0 разрешает прохождение сигнала на схему анализатора приоритетов. , значение равное 1 запрещает .
Сигнал запроса прерывания поступает на вход регистра обслуживаемых запросов и дает разрешение на установку в 1 его бита
Микропроцессор , получив сигнал INT формирует выходной сигнал INTA, который устанавливает бит регистра обслуживаемых запросов, разрешенный сигналом запроса прерывания и сбрасывает аналогичный бит регистра запросов.