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

Команда imul

Команда IMUL аналогична команде MUL, но сомножители и произ­ведение интерпретируются как знаковые двоичные числа в дополни­тельном коде.

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

IMUL reg

IMUL mem

Команды деления

Микропроцессор 8086 имеет две команды деления: для беззнако­вых и для знаковых двоичных чисел. Деление десятичных чисел также требует использования специальных команд коррекции.

Команда div

Команда деления беззнаковых чисел DIV производит деление содержимого аккумулятора и его расширения на содержимое адресуе­мого операнда.

При делении 16-битного делимого на 8-битный делитель делимое помещают в регистр AX. В результате выполнения операции частное формируется в регистре AL, а остаток - в AH.

При делении 32-битного делимого на 16-битный делитель стар­шая часть делимого помещается в регистр DX, а младшая - в AX. В результате выполнения операции частное формируется в регистре AX, а остаток - в DX.

При делении на 0 автоматически происходит прерывание и пере­ход к специальной программе обработки.

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

DIV reg

DIV mem

Команда idiv

Команда IDIV аналогична команде DIV, но делимое, делитель и частное интерпретируются как знаковые двоичные числа в дополни­тельном коде.

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

IDIV reg

IDIV mem

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

Команда преобразования байта в слово CBW расширяет знак содержимого регистра AL в регистр AH. Команда преобразования сло­ва в двойное слово CWD передает знак содержимого регистра AX во все биты регистра DX.

Команды преобразования не влияют на состояния флагов.

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

CBW

CWD

Команды десятичной арифметики

Микропроцессор 8086 допускает два представления десятичных чисел: упакованный формат (BCD-формат) и неупакованный (ASCII- формат). В формате BCD байт содержит две десятичные цифры (по одной в каждой тетраде). В ASCII-формате байт содержит одну десятичную цифру в коде ASCII. В обоих форматах многоразрядные десятичные числа представляются последовательностями байт.

Команды десятичной арифметики оперируют только с байтами, причем основным рабочим регистром во всех десятичных операциях является регистр AL.

Операции с числами в форматах BCD и ASCII выполняются в два этапа: сначала над 8-битными операндами выполняются обычные операции двоичной арифметики, а затем осуществляется коррекция результата. Команды коррекции являются безадресными, так как работают с содержимым аккумулятора AL.

Команды для формата bcd

Команда десятичной коррекции для сложения DAA выполняет кор­рекцию суммы, полученной в результате выполнения команд ADD и ADC и должна следовать непосредственно за ними.

Команда десятичной коррекции для вычитания DAS выполняет коррекцию разности, полученной в результате выполнения команд SUB и SBB и должна следовать непосредственно за ними.

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

DAA

DAS

Команды для формата ascii

Команда десятичной коррекции для сложения AAA выполняет кор­рекцию суммы, полученной в результате выполнения команд ADD и ADC и должна следовать непосредственно за ними.

Команда десятичной коррекции для вычитания AAS выполняет коррекцию разности, полученной в результате выполнения команд SUB и SBB и должна следовать непосредственно за ними.

Команда десятичной коррекции для умножения AAM выполняет кор­рекцию произведения,  полученного в результате выполнения команды MUL  и  должна  следовать непосредственно за ней.  Старший разряд результата помещается в регистр AH, младший - в AL.

Команда десятичной коррекции для деления AAD отличается тем, что должна выполняться перед командой деления DIV.

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

AAA

AAS

AAM

AAD

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