Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпорки_2.docx
Скачиваний:
9
Добавлен:
09.02.2015
Размер:
874.63 Кб
Скачать

Вопрос №39

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

В общем случае для получения адреса элемента в массиве необходимо начальный (базовый) адрес массива сложить с произведением индекса (номер элемента минус единица) этого элемента на размер элемента массива:

база + (индекс • размер элемента).

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

Для доступа к третьему элементу нужно к адресу массива нужно к адресу массива прибавить 6

Архитектура процессора предоставляет довольно удобные программно-аппаратные средства для работы с массивами:

  1. базовые и индексные регистры

  2. различные режимы адресации

    1. Индексная адресация

режим адресации, при котором эффективный адрес формируется из двух компонентов:

  1. постоянный (базовый) компонент формируется указанием прямого адреса массива в виде имени идентификатора, обозначающего начало массива;

  2. переменный (индексный) компонент формируется указанием имени индексного регистра.

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

Этот вид адресации удобно использовать при обработке двухмерных массивов.

Режим адресации, при котором эффективный адрес формируется максимум из трех компонентов:

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

  2. переменный (базовый) компонент формируется указанием имени базового регистра;

  3. переменный (индексный) компонент формируется указанием имени индексного регистра.

Вопрос №40

Также команды условного перехода осуществляют переход на метку, анализируя состояние регистра флага.

Регистр ECX/CXимеет определенное функциональное назначение - счетчик команд управления циклами. С этим регистром связана определенная команда условного перехода.

Jcxz– метка перехода

<мнемоническая команда> <адрес перехода>

Мнемоника команд условного перехода:

JZ - переход по "ноль";

JE - переход по "равно";

JNZ - переход по "не нуль";

JNE - переход по "не равно";

JL - переход по "меньше";

JNG, JLE - переход по "меньше или равно ";

JG - переход по "больше";

JNL, JGE - переход по "больше или равно ";

JA - переход по "выше" (беззнаковое больше);

JNA, JBE - переход по "не выше"(беззнаковое не больше);

JB - переход по "ниже" (беззнаковое меньше);

JNB, JAE - переход по"не ниже" (беззнаковое не меньше).

Все команды имеют однобайтовое поле адреса, следовательно, смешение не должно превышать -128...127 байт. Если смещение выходит за указанные пределы, то используется специальный прием: (читайте в методичке)

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