- •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) Опишите архитектуру драйверов.И функции
14) Опишите формат представления данных в ibm pc.
Слово оперативной памяти размещается в перевернутом виде.В двойном слове на ряду с перевертованием байта происходит перевертывание слов .Предостовление символьных данных:1)Каждому символу в памяти ЭВМ ставится в соответствии не отрицательное число размером 3 байта.для каждой строки отводится нужное кол-во соседних байт памяти адресом строки считается адрес первого символа.Символы хранятся в памяти в двоичном виде.
15) Опишите формат директив и машинных команд.
Помимо машинных команд в программе надо указывать и другие вещи. Например, надо сообщать, какие константы и переменные используются в программе и какие имена мы им дали.Синтаксис директив следующий:
[<имя>] <название директивы> [<операнды>] [< ; комментарий>]
Пример: X DB 10, -5, 0FFh ; массив X
Как видно, формат директив в целом совпадает с форматом команд. Единственное отличие - в директиве после имени, если оно есть, не ставится двоеточие. Имя, указываемое в начале директивы, - это, как правило, имя константы или переменной, описываемой данной директивой. В нашем примере X - это имя переменной - массива из трех элементов. Директивы определения данных:Для того чтобы в программе на ASM зарезервировать ячейки памяти под константы и переменные, необходимо воспользоваться директивами определения данных - с названиями DB (описывает данные размером в байт), DW (размером в слово) и DD (размером в двойное слово). В ASM числа записываются в нормальном (неперевернутом) виде в системах счисления с основанием 10, 16, 8 или 2. Десятичные числа записываются как обычно, за шестнадцатеричным числом ставится буква h (если число начинается с "цифры" A, B, ..., F, то вначале обязателен 0), за восьмеричным числом - буква q или o, за двоичным числом - буква b.
16) Опишите директивы эквивалентности и присваивания.
Директива эквивалентности - EQU (Equal, равно), имеет синтаксис
<имя> equ <операнд> - обязательно имя и один операнд. Директива означает, что указанному операнду присваивается указанное имя и при вхождении этого имени в текст программы ассемблер заменяет его на этот операнд, например если есть
name equ ‘pers’ то ассемблер будет рассматривать предложение
nm db name как nm db ‘pers’.
Директива носит чисто информационный характер и при ее появлении ассемблер ничего не заносит в машинную программу.Директива присваивания. <имя> = <константное выражение> определяет константу с именем, указанным в левой части и с числовым значением, равным выражению справа. В отличие от констант, определенных с помощью директивы equ данная константа может менять свое значение, обозначая в разных частях программы разные числа.
17)Перечислите этапы создания программ. Приведите общую структуру программ на языке Ассемблер.1Постановка задачи 2Разработка алгоритма программы 3Формализация алгоритма (запись алгоритма на языке программирования).4Компиляция программы;5Компоновка программы;6Запуск и тестирование
|
|
data segment |
|
|
|
|
|
mes db 'Привет!$' |
|
|
|
data ends |
|
|
|
|
|
|
|
|
|
code segment |
|
|
|
|
start: |
|
|
|
|
|
assume cs:code, ds: data |
|
|
|
|
mov ax, data |
|
|
|
|
mov ds, ax |
|
|
|
|
|
|
|
|
|
mov ah, 9 |
|
|
|
|
lea dx, mes |
|
|
|
|
int 21h |
|
|
|
|
|
|
|
|
|
mov ax, 4c00h |
|
|
|
|
int 21h |
|
|
|
code ends |
|
|
|
|
end start |
|