Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

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






Команда IMUL





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

1-ый формат команды (однооперандный): IMUL И

где И – источник информации. В качестве источника информации могут использоваться РОН или ячейка памяти.

В данном формате команды используются неявные операнды:

- если И 8-ми разрядный, то AX=AL*И. Если в результате AH=0 или AH=FF16, то CF=OF=0, иначе CF=OF=1;

- если И 16-ти разрядный, то DX:AX=AX*И. Если в результате DX=0 или DX=FFFF16, то CF=OF=0, иначе CF=OF=1;

- если И 32-ух разрядный, то EDX:EAX=EAX*И. Если в результате EDX=0 или EDX=FFFF'FFFF16, то CF=OF=0, иначе CF=OF=1.

 

Значение флагов SF,ZF,AF,PF неопределенно, т.е. стоит считать их значения после выполнение команды случайными.

 

2-ой формат команды (двухоперандный): IMUL П,И

где И – источник информации. В качестве источника информации могут использоваться РОН, константа или значение из памяти;

П – приемник информации. В качества приемника может выступать только РОН.

Возможные варианты команды IMUL в двухоперандном виде:

 

П   П   И
16-ти разрядный РОН = 16-ти разрядный РОН * 16-ти разрядный РОН или ЯП
32-ух разрядный РОН = 32-ух разрядный РОН * 32-ух разрядный РОН или ЯП
16-ти разрядный РОН = 16-ти разрядный РОН * 8-ми разрядная константа1
32-ух разрядный РОН = 32-ух разрядный РОН * 8-ми разрядная константа2
16-ти разрядный РОН = 16-ти разрядный РОН * 16-ми разрядная константа
32-ух разрядный РОН = 32-ух разрядный РОН * 32-ми разрядная константа

1 - 8-ми разрядная константа, перед умножение знакорасширяется до 16-ти разрядов.

2 - 8-ми разрядная константа, перед умножение знакорасширяется до 32-ух разрядов.

 

3-ий формат команды (трехоперандный): IMUL П,И1,И2

где И1 – первый источник информации. В качестве И1 могут использоваться РОН или значение из памяти;

И2 – второй источник информации. В качестве И2 может использоваться только константа;

П – приемник информации. В качества приемника может выступать только РОН.

Возможные варианты команды IMUL в трехоперандном виде:

П   И1   И2
16-ти разрядный РОН = 16-ти разрядный РОН или ЯП * 8-ми разрядная константа1
32-ух разрядный РОН = 32-ух разрядный РОН или ЯП * 8-ми разрядная константа2
16-ти разрядный РОН = 16-ти разрядный РОН или ЯП * 16-ми разрядная константа
32-ух разрядный РОН = 32-ух разрядный РОН или ЯП * 16-ми разрядная константа3
32-ух разрядный РОН = 32-ух разрядный РОН или ЯП * 32-ми разрядная константа

1 - 8-ми разрядная константа, перед умножение знакорасширяется до 16-ти разрядов.

2 - 8-ми разрядная константа, перед умножение знакорасширяется до 32-ух разрядов.

3 - 16-ти разрядная константа, перед умножение знакорасширяется до 32-ух разрядов.

 

Когда используется однооперандная форма команды IMUL, то результат умножения доступен, даже если установлен флаг переполнения, так как РОН результата в два раза больше по размеру, чем множимое и множитель. Этого достаточно, чтобы сохранить любой возможный результат.

Для форм с двумя и тремя операндами возможна потеря старших значащих битов результата. Если это происходит, то флаги CF и OF устанавливаются.

 

 







Date: 2015-10-19; view: 545; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию