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

Команды преобразования типов: CBW, CWD, CWDE, CDQ.

CBW — команда преобразования байта (в регистре AL) в слово (в регистре АХ) путем распространения значения старшего бита AL на все биты регистра АН;

CWD — команда преобразования слова (в регистре АХ) в двойное слово (в регистрах DX:AX) путем распространения значения старшего бита ах на все биты регистра DX;

CWDE — команда преобразования слова (в регистре АХ) в двойное слово (в регистре ЕАХ) путем распространения значения старшего бита АХ на все биты старшей половины регистра ЕАХ;

CDQ — команда преобразования двойного слова (в регистре ЕАХ) в учетверенное слово (в регистрах EDX:EAX) путем распространения значения старшего бита ЕАХ на все биты регистра EDX;

Пример:

xor ax,ax

mov al,a_

cbw

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

Общего назначения: mov, xchg.

Синтаксис:

mov <операнд назначения>,<операнд-источник>

xchg <операнд1>,<операнд2>

mov - это основная команда пересылки данных. Она реализует самые разнообразные варианты пересылки. Алгоритм работы: копирование второго операнда в первый операнд.

xchg - обмен двух значений между регистрами или между регистрами и памятью. Алгоритм работы: обмен содержимого операнд_1 и операнд_2.

Команды работы со стеком: push, pop.

Синтаксис:

push источник

pop назначение

pop - запись значения из вершины стека по месту, указанному операндом назначение.

push - запись значения источник в вершину стека.

Команды преобразования данных: xlat

xlat - подмена байта в регистре al байтом из последовательности (таблицы) байтов в памяти. Вычисляется адрес, равный ds:bx+(al), выполняется замена байта в регистре al байтом из памяти по вычисленному адресу.

Пример:

mov ah,1h

push ds

pop es

xchg ax,bx

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

stos -- Эта команда позволяет произвести действие, обратное команде lods, т.е. сохранить значение из регистра-аккумулятора в элементе цепочки. Эту операцию удобно использовать вместе с операциями поиска (сканирования) и загрузки с тем, чтобы, найдя нужный элемент, извлечь его в регистр и записать на его место новое значение. Команды, поддерживающие эту операцию, могут работать с элементами размером 8, 16 или 32 бита. Микропроцессор предоставляет четыре команды сохранения элемента цепочки из регистра-аккумулятора, работающие с элементами разного размера:

сохранить элемент из регистра-аккумулятора al /ax /eax в цепочке:

stos адрес_приемника

сохранить байт из регистра-аккумулятора al в цепочке:

stosb адрес_приемника

сохранить слово из регистра-аккумулятора ax в цепочке:

stosw адрес_приемника

сохранить двойное слово из регистра-аккумулятора еax в цепочке:

stosw адрес_приемника

Команда пересылает элемент из аккумулятора в элемент цепочки по адресу, соответствующему содержимому пары регистров es : edi / di . При этом содержимое edi / di подвергается инкременту или декременту (что зависит от состояния флага df ) на значение, равное размеру элемента цепочки.

  1. Дайте определение понятия «стек». Перечислите команды работы со стеком. Опишите синтаксис каждой команды и принцип ее работы. Приведите примеры использования команд работы со стеком.

Стек - форма организации памяти.

Команды работы со стеком Push, Pop.

Синтаксис:

pop приемник 

Выгружает из стека 2байта(4байта) и помещает их в приёмник.

push источник 

Погружает в стек 2байта(4байта) из источника

пример:

push    ax

pop    bx

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

1)CMPS адрес_приемника,адрес_источника — сравнить строки (CoMPare String);

2)CMPSB — сравнить строку байтов (CoMPare String Byte);

3)CMPSW — сравнить строку слов (CoMPare String Word);

4)CMPSD — сравнить строку двойных слов (CoMPare String Double word).

Синтаксис команды CMPS:cmps адрес_приемника,адрес_источника

Здесь: адрес_источника определяет цепочку-источник в сегменте данных, адрес цепочки должен быть заранее загружен в пару ds:esi/si; адрес_приемника определяет цепочку-приемник, которая должна находиться в дополнительном сегменте, а ее адрес должен быть заранее загружен в пару регистров es:edi/di Алгоритм работы команды cmps заключается в последовательном выполнении вычитания (элемент цепочки-источника - элемент цепочки-получателя) над очередными элементами обеих цепочек.

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