русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

MUL - Умножение без знака AL или AX


Дата добавления: 2015-06-12; просмотров: 547; Нарушение авторских прав


-----------------------------------------------------------------|Код Команда Число Описание ||операции тактовых || циклов || ||F6 /4 MUL AL,r/m8 13/18,13/18 Умножение без знака || (AX <- AL * байт r/m) ||F7 /4 MUL AX,r/m16 13/26,13/26 Умножение без знака || (DX:AX <- AX * слово r/m) ||F7 /4 MUL EAX,r/m32 13/42,13/42 Умножение без знака || (EDX:EAX <- EAX * || двойное слово r/m) |----------------------------------------------------------------- Примечания: Процессор i486 использует алгоритм умножения типа "early-out".Фактическое число тактовых циклов зависит от позиции наиболее значащегобита в оптимизируемом множителе. Оптимизация выполняется как дляположительных, так и для отрицательных значений. Вследствие данногоалгоритма даются минимальные и максимальные количества тактовых циклов.Для вычисления фактического числа тактовых циклов используется следующаяформула: Фактическое число тактовых циклов = если m <> 0 то max(наименьшее целоечисло, большее (log |m|)) + 6 циклов. 2 Фактическое число тактовых циклов= если m = 0 то 9 циклов. (где m это множитель) Работа команды IF операция байтового размераTHEN AX <- AL * r/m8ELSE (* Операция размером в слово или двойное слово *) IF OperandSize = 16 THEN DX:AX <- AX * r/m16 ELSE (* OperandSize = 32 *) EDX:EAX <- EAX * r/m32 FI;FI; ОписаниеКоманда IMUL выполняет умножение без знака. Ее действие зависит от размераоперандов следующим образом: - Операнд размером в байт умножается на значение AL; результат помещаетсяв регистр AX. Если значение AH равно 0, то флаги CF и OF очищаются; впротивном случае они установлены.- Операнд размером в слово умножается на значение AX; результат помещаетсяв пару регистров DX:AX. Регистр DX содержит при этом старшие 16 битовпроизведения. Если значение DX равно 0, то флаги CF и OF очищаются; впротивном случае они установлены.- Операнд размером в двойное слово умножается на значение EAX; результатпомещается в пару регистров EDX:EAX. Регистр EDX содержит при этом старшие32 бита произведения. Если значение EDX равно 0, то флаги CF и OFочищаются; в противном случае они установлены. Изменяемые флагиЕсли старшая половина результата равна 0, то флаги OF и CF очищаются; впротивном случае они установлены; флаги SF, ZF, AF, PF и CF неопределены. Исключения защищенного режима#GP(0) в случае недопустимого исполнительного адреса операнда памяти всегментах CS, DS, ES, FS или GS; #SS(0) в случае недопустимого адреса всегменте SS; #PF(код сбоя) в случае страничного сбоя; #AC дляневыравненной ссылки к памяти при текущем уровне привилегированности,равном 3. Исключения режима реальных адресовПрерывание 13, если какая-либо часть операнда лежит вне пространстваисполнительных адресов от 0 до 0FFFFH. Исключения виртуального режима 8086Те же исключения, что и для режима реальных адресов: #PF (код сбоя) длястраничных сбоев; #AC для невыравненной ссылки к памяти при текущем уровнепривилегированности, равном 3.


<== предыдущая лекция | следующая лекция ==>
MOVSX - Пересылка с расширением знаком | NEG - Отрицание с дополнением до двух


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.608 сек.