Сейчас на форуме: bartolomeo, -Sanchez- (+3 невидимых)

 eXeL@B —› Вопросы новичков —› CDQ
Посл.ответ Сообщение

Ранг: 4.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 25 февраля 2006 19:56
· Личное сообщение · #1

Что означает команда в ассемблере CDQ. искал в инете но так толком ниче не нашел. подскажите плз.



Ранг: 45.5 (посетитель)
Активность: 0.050
Статус: Участник

Создано: 25 февраля 2006 19:58
· Личное сообщение · #2

Схема команды: cdq
Назначение: расширение двойного слова со знаком до размера учетверенного слова (64 бита) со знаком.
Синтаксис
Алгоритм работы:
копирование значения старшего бита регистра eax на все биты регистра edx. Состояние флагов после выполнения команды:

выполнение команды не влияет на флаги

Применение:
Команду cdq можно использовать для распространения значения знакового бита в регистре eax на все биты регистра edx. Данную операцию, в частности, можно использовать для подготовки к операции деления, для которой размер делимого должен быть в два раза больше размера делителя. .386
delimoe dd ...
delitel dd ...
...
mov eax,delimoe
cdq
idiv delitel ;частное в eax, остаток в edx



Ранг: 45.5 (посетитель)
Активность: 0.050
Статус: Участник

Создано: 25 февраля 2006 19:59
· Личное сообщение · #3

Преобразование двойного слова в учетверенное слово



Ранг: 162.2 (ветеран)
Активность: 0.090
Статус: Участник

Создано: 25 февраля 2006 23:12
· Личное сообщение · #4

Встречал чаще всего связку
xor eax,eax
cdq
т.е. обнуление edx за 1 байт


 eXeL@B —› Вопросы новичков —› CDQ
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати