Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
kratkie_otvety_ekzamen_CP_2011-12.docx
Скачиваний:
19
Добавлен:
14.04.2019
Размер:
132.13 Кб
Скачать

Общие команды передачи данных

В эту подгруппу входят команды, осуществляющие передачу регистр-регистр, регистр-память и память-регистр. Наиболее мощной среди них является команда MOV.

Команда mov

Эта команда имеет следующее обобщенное представление: MOV dst, src

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

Команда осуществляет передачу:

регистр - регистр,

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

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

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

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

регистр - сегментный регистр,

память - сегментный регистр,

сегментный регистр - регистр,

сегментный регистр - память.

Допустимые форматы команды:

MOV mem/reg1, mem/reg2

MOV mem/reg, data

MOV sreg, mem/reg

MOV mem/reg, sreg

Команда обмена xchg

Команда обмена XCHG позволяет обменивать содержимое любого общего регистра и ячейки памяти, а также любой пары общих регист­ров.

Формат команды: XCHG reg, mem/reg

Команда xlat

Команда преобразования XLAT применяется для быстрого преоб­разования символов из одного кода в другой. Она заменяет содержи­мое аккумулятора AL на байт из 256-байтовой таблицы, начальный адрес которой находится в регистре BX, а восьмибитовое смещение - в регистре AL. В качестве сегментного используется регистр DS.

Формат команды: XLAT

Команды lea, lds и les

Команды LEA, LDS и LES предназначены для загрузки эффектив­ного адреса.

Команда LEA извлекает из памяти 16-битовый адрес и помещает его в один из общих регистров. Практически эта команда дублирует один из вариантов команды MOV, но выполняется быстрее.

Команда LDS извлекает из памяти 32-битовый адрес и помещает первое считанное из памяти слово в заданный общий регистр, а вто­рое - в сегментный регистр DS.

Команда LES извлекает из памяти 32-битовый адрес и помещает первое считанное из памяти слово в заданный общий регистр, а вто­рое - в сегментный регистр ES.

Обычно в команде LDS указывается регистр SI, а в команде LES регистр DI.

Формат команд:

LEA reg, mem

LDS reg, mem

LES reg, mem

Команды lahf и sahf

Команда LAHF передает младший байт регистра флажков в регистр AH, а команда SAHF реализует обратную передачу - содержи­мое регистра AH передается в младший байт регистра флажков (стар­ший байт не изменяется).

Формат команд: LAHF

SAHF

Стековые команды

Каждая команда занесения данных в стек PUSH имеет соот­ветствующую ей команду извлечения из стека POP. Для адресации вершины стека используется стековый указатель SP. Все стековые команды манипулируют только словами и сопровождаются автоматичес­кой модификацией указателя стека: при включении в стек произво­дится декремент, а при извлечении из стека - инкремент SP.

До выполнения стековых команд регистры SP и SS должны быть инициализированы.

Команда PUSH включает в стек содержимое адресуемого регистра или ячейки памяти, а команда POP извлекает содержимое вершины стека и передает его в регистр или ячейку памяти.

Команды POSHF и POPF предназначены для временного запомина­ния в стеке и последующего восстановления из стека содержимого регистра флагов. С их помощью можно изменять состояние флага трассировки TF, так как команд прямого воздействия на этот флаг нет.

Формат команд:

PUSH mem/reg                              POP mem/reg

PUSH sreg                              POP sreg

PUSHF                              POPF

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