- •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) Опишите архитектуру драйверов.И функции
41) Опишите принципы функционирования контроллера прерываний, взаимодействие его с процессором.
Прерывание означает временное прекращение основного процесса вычислений для выполнения некоторых запланированных или незапланированных действий, вызываемых работой аппаратуры или программы.
Т.е. это процесс, временно переключающий микропроцессор на выполнение другой программы с последующим возвратом к прерванной программе.Нажимая клавишу на клавиатуре, мы инициируем немедленный вызов программы, которая распознает клавишу, заносит ее код в буфер клавиатуры, из которого он считывается другой программой. Т.е. на некоторое время микропроцессор прерывает выполнение текущей программы и переключается на программу обработки прерывания, так наз. обработчик прерывания. После того, как обработчик прерывания завершит свою работу, прерванная программа продолжит выполнение с точки, где было приостановлено ее выполнение.Адрес программы-обработчика прерывания вычисляется по таблице векторов прерываний.Механизм прерываний поддерживается на аппаратном уровне.
42) Опишите правила проектирования программных прерываний, взаимодействие прикладных и системных обработчиков прерываний.
Набор и назначение внутренних прерываний строго регламентированы для конкретной модели процессора. Каждое внутренне прерывание связано с определенным событием в процессоре и с определенным номером в списке обрабатываемых прерываний. Например, в процессорах серии Intel 80x86 при делении на нуль возникает внутреннее прерывание с номером 0. При обработке внутренних запросов внешний контроллер прерываний не используется, т.к. процессор уже имеет информацию о номере прерывания. Переход на нужную процедуру обработки выполняется в соответствии с принципом, реализованном в конкретном процессоре.Если нужно вызвать программное прерывание из текущей программы, программист в соответствующем месте программы должен разместить специальную команду. Для процессоров серии Intel 80x86 такой командой является INTn, где n – номер нужного прерывания. При выполнении такой команды процессор получает информацию о номере прерывания непосредственно из кода команды и выполняет переход на нужную процедуру так же, как и в случае обработки других видов прерываний. При обработке программных прерываний внешний контроллер не используется.
Опишите способы ввода/вывода текстовой информации на языке Ассемблер
Ассемблер, ориентированный на МП 8086 использует графический адаптер EGA. Этот адаптер обеспечивает хранение 2 графических страниц с разрешением 340х350 пикселей и 16 цветов на каждый.Адаптер поддерживает 64 цвета, хотя в каждый момент времени на экране может содержаться только 16 цветов. Этот набор 16цветов,выводимых на экран(цветная палитра) задается программа и может легко изменяться.Фоновый цвет всего экрана может принимать любое из 16 текущих значений палитры, причем на обеих страницах он изменяется одновременно. Смена цвета фона не затрагивает выведенного на экран изображения.Помимо произвольных изображений, рисуемых по пикселам, на экране в графическом режиме можно отображать и текстовую информацию, используя функции DOS и BIOS. (например INT21h с функцией 09h, или 0Аh). Для позицирования строк на экране можно использовать ф-цию 02Н драйвера BIOS (int10h) , устанавливающую местоположения курсора в текстовых координатах(номер строки от 0 до 24, номер столбца от 0 до 79).При программировании графического изображения можно использовать след. Функции видеодрайвера BIOS(INT10h) 00Н- установка видеорежима, 05Н – установка видео страницы, 0Fh –получение видеорежима,10Н, подфункция 00Н – установка цветового регистра, 10Н, подфункция 02Н – установка цветовых регистров палитры.00Н позволяет переключать режимы видеосистемы. Для адаптеров EGA текстовый режим имеет код 03, графический 10Н.Программа использующая оба режима может использовать функцию 0Fh(определяет номер видеорежима).Функция 05Н переключает видеостраницу, номер страницы заносится в регистр al.Для рисования изображения предусмотрена единственная функция 0Ch – вывод пиксела. В регистр al заносится значение цвета пиксела, в регистр bh -номер страницы( не обязательно активный), в регистре cx,dx координаты пиксела.(х= от 0 до 639,y= 0 до 349).
Цвета пикселов на экране, как и цвета фона задаются содержимым цветовых регистров. Всего а адаптере EGA имеется 17 цветовых регистров, каждый из которых может содержать коды от 0 до 63. Регистр 0 определяет цвет фона, 16 – цвет края экрана, а с 1 по 15 – цвета пикселов. Код цвета, указываемого в программе(al функции 0Cн) определяет не цвет, а номер цветового регистра используемого для вывода на экран заданного пиксела. Цвет пиксела определяется числом, хранящемся в регистре.
Каждый цветовой регистр содержит 6 значащих разрядов, которые определяют интенсивность красного, зеленого, синего цветов. Разряды 0,1,2 закреплены за цветами красный, зеленый и синий с интенсивностью 2/3 от максимальной, а 3,4,5 за теми же цветами, с интенсивностью 1/3.
Mov ah, 0ch
Mov al,5
Mov bh,0
Mov cx,100
Mov dx,150
Int 16h