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



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

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

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

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

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

Пример:

xor           ax,ax                    

mov         al,a_                     

cbw

 

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

Общего назначения: 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

 

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

Синтаксис:

pop приемник

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

push источник

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

пример:

push ax

pop bx

 

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

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 заключается в последовательном выполнении вычитания (элемент цепочки-источника - элемент цепочки-получателя) над очередными элементами обеих цепочек.

 


Дата добавления: 2018-05-09; просмотров: 383; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!