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

Вопрос №19

Классификации операндов

  1. операнд задается неявно на микропроцессорном уровне – алгоритм выполнения команды использует некоторые объекты по умолчанию.

  2. Непосредственный операнд – операнд задается в самой команде. Непосредственный операнд может быть только вторым.

Add sum, 2/ sum=sum+2

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

Mov ax, 0000h

Mov ds, ах

Movax,ds: 0000h/ физический адрес 0000h:0000h

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

Data segment

……………...

Mas_w dw 25 dup (0)

Code segment

………………

LeaS1,mas_w/ смещение адресаmas_wпомещается вS1

Mas_w– символьное имя, значением которого является адрес первого байта области памяти размером 25 слов.

  1. Счетчик адреса $. Когда транслятор ассемблера встречает символ $, то он подставляет вместо него текущее значение счетчика адреса.

Jmp $+3

Cld

Mov al, 1

  1. Регистр-операнд. В программе можно использовать имена всех регистров общего назначения и некоторых системных регистров.

Mov al, 4

Mov al, pass + 4

Addal,dl

  1. операнд порт ввода/вывода. Для любого устройства компьютера в пространстве 64 кб адреса. Конкретное значение адреса в пределах этого пространства называется портом ввода – вывода. Физически порту I/0 соответствует аппаратный регистр. Доступ к портам осуществляется с помощью специальных командIn,Out.

In,al, 60h

…………

Movdx, 20h/ записать Х порт 20 вdx

Moval, 20h/ записать значение 20 вal

Outdx,al/ вывести значение 20 в порт 20

Данные команды работают только с регистром ЕАХ, АХ, АL.

Вопрос №20

Адресация операндов.

Операнды – объекты, над которыми или при помощи которых выполняются действия, задаваемые инструкциями или директивами.

В двухоперандной команде возможны следующие сочетания:

Регистр-регистр

Регистр-память

Память-регистр

Непосредственный операнд-регистр

Непосредственный операнд-память

Вопрос 21

Раздирают 2 вида адресации:

  1. Прямая - Значение адреса задано в конце кода команды на языке assembler прямая адресация обозначается именем переменной или числом в квадратных скобках. При этом требуется явное указание размерности операнда.

    1. Относительная

    2. Абсолютная

  2. Косвенная - Адрес данных в памяти может быть задан косвенно. Это означает, что в команде указано местоположение элемента памяти, где находится адрес опернда.

    1. Косвенная базовая(регистровая)

    2. Косвенная базовая(регистровая) со смещением

    3. Косвенная индексная со смещением

    4. Косвенная индексная со смещением

    5. Косвенная базовая индексная

    6. Косвенная базовая индексная со смещением

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