Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CП_Ответы.doc
Скачиваний:
15
Добавлен:
27.09.2019
Размер:
281.09 Кб
Скачать
  1. Перечислите возможные типы операторов ассемблера. Опишите синтаксические правила формирования выражений ассемблера. Приведите примеры, поясняющие правила формирования выражений.

Перечислим теперь возможные типы операторов ассемблера и синтаксические правила формирования выражений ассемблера. Арифметические операторы Операторы сдвига Операторы сравнения Логические операторы Индексный оператор Оператор переопределения типа Оператор переопределения сегмента Оператор именования типа структуры Оператор получения сегментной составляющей адреса выражения Оператор получения смещения выражения Дадим краткую характеристику операторов: Арифметические операторы. К ним относятся: унарные “+” и “”; бинарные “+” и “”; умножения “*”; целочисленного деления “/”; получения остатка от деления “mod”. Операторы сдвига выполняют сдвиг выражения на указанное количество разрядов

Операторы сравнения (возвращают значение “истина” или “ложь”) предназначены для формирования логических выражений Операторы сдвига выполняют сдвиг выражения на указанное количество разрядов Операторы сравнения (возвращают значение “истина” или “ложь”) предназначены для формирования логических выражений

Допустимыми символами при написании текста программ являются:

  1. все латинские буквы: AZ, az. При этом заглавные и строчные буквы считаются эквивалентными;

  2. цифры от 0 до 9;

  3. знаки ?, @, $, _, &;

  4. разделители , . [ ] ( ) < > { } + / * % ! ' " ? \ = # ^.

Предложения ассемблера формируются из лексем, представляющих собой синтаксически неразделимые последовательности допустимых символов языка, имеющие смысл для транслятора.

  1. Дайте определение понятий ‘массив’, ‘индекс элемента массива’ в ассемблере. Опишите способы описания, инициализации и организации доступа к элементам массива в программе на ассемблере. Перечислите способы адресации, которые могут использоваться при работе с массивами в ассемблере. Приведите пример работы с массивами.

Массивструктурированный тип данных, состоящий из некоторого числа элементов одного типа(Последовательность значений определённой размерности записанной в памяти).

В языке ассемблера индексы массивов — это обычные адреса, но с ними работают особым образом. Другими словами, когда при программировании на ассемблере говорится об индексе, то, скорее, подразумевается под этим не номер элемента в массиве, а некоторый адрес.

Способы моделирования массивов:

  • Можно перечислить элементы массива При перечислении элементы разделяются запятыми.

  • Можно использовать оператор повторения DUP. mas dw 5 dup (0)

  • Можно использовать директивы LABEL и REPT.

Организация доступа к элементам:

  • Индексная адресация со смещением

  • Базовая индексная адресация со смещением

Способы адресации:

  • Базовая адресация

  • Индексная адресация

  • Базово-индексная адресация.

Пример:

mas dw 0, 1, 2, 3, 4, 5

mov si, 4

mov ax, mas[si]

  1. Приведите синтаксис директивы model. Опишите функциональное назначение и принцип ее работы. Перечислите модели памяти с описанием назначения модели и указанием типа кода и типа данных.

Обязательным параметром директивы MODEL является модель памяти. Этот параметр определяет модель сегментации памяти для программного модуля. Предполагается, что программный модуль может иметь только определенные типы сегментов, которые определяются упрощенными директивами описания сегментов. При использовании директивы MODEL транслятор делает доступными несколько идентификаторов, к которым можно обращаться во время работы программы, с тем, чтобы получить информацию о тех или иных характеристиках данной модели памяти. Операнды директивы MODEL используют для задания модели памяти, которая определяет набор сегментов программы, размеры сегментов данных и кода, способ связывания сегментов и сегментных регистров

TINY Код и данные объединены в одну группу с именем DGROUP. Используется для создания программ формата .com. SMALL Эту модель обычно используют для большинства программ на ассемблере. MEDIUM Данные объединены в одной группе; все ссылки на них — типа near. COMPACT Код в одном сегменте;  ссылка на данные — типа far. LARGE Код в нескольких сегментах, по одному на каждый объединяемый программный модуль.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]