Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Команды умножения




В отличие от сложения и вычитания, умножение беззнаковых и знаковых чисел осуществляется по разным алгоритмам и, следовательно, разными командами. Операция умножения беззнаковых чисел выполняется командой MUL (от англ. MULtiply – умножить), а знаковых – IMUL (от англ. Integer MULtiply – умножить целые числа). Формат этих команд показан на рис.10.3.

 

Рис. 10.3. Формат команд MUL и IMUL

 

Единственным операндом этих команд является один из сомножителей, который может находиться в регистре или в памяти и не может быть непосредственным операндом. Местоположение второго сомножителя, а также результата фиксировано и зависит от размера сомножителей. Причем в общем случае под результат отводится в два раза больше места, чем под сомножители.

Расположение операндов и результата при умножении приведено в табл.10.1.

Таблица 10.1. Расположение операндов и результата при умножении

Первый сомножитель Второй сомножитель Результат
Байт AL 16 бит в регистре AX: AL – младшая часть результата; AH – старшая часть результата
Слово AX 32 бита в паре регистров DX и AX: AX – младшая часть результата; DX – старшая часть результата

Рассмотрим несколько примеров использования команд умножения:

perem DB 5

MOV AL,3

MUL perem; AH = 00H, AL = 0FH

MOV AL,60

MUL perem; AH = 01H, AL = 2CH

MOV AX,6

MOV BX,-1

IMUL BX; DX = FFFFH, AX = FFFAH

 

Как следует из этих примеров, не всегда величина произведения столь велика, что для нее требуется удвоенный размер. Для определения размера результата в программе можно использовать флаги переноса CF и переполнения OF. Если после операции произведения CF = 0 и OF = 0, то старшую часть результата можно отбросить (достаточно младшей части). Если же эти флаги ненулевые, то результат операции вышел за пределы младшей части и нужно учитывать их обе.

 





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


Дата добавления: 2015-10-01; Мы поможем в написании ваших работ!; просмотров: 706 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Начинайте делать все, что вы можете сделать – и даже то, о чем можете хотя бы мечтать. В смелости гений, сила и магия. © Иоганн Вольфганг Гете
==> читать все изречения...

2335 - | 2134 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.