| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Asm: Общие вопросы > Вычислить арктангенс2 комплексного числа на ассемб |
| Автор: VAB 6.2.2013, 08:26 |
| Приветствую! Такая задача: В одном из регистров группы XMM (128-битный регистр для операций над парами чисел блока SSE2 P4 и выше) находится комплексное число. Мне необходимо вычислить арктангенс2 по нему, т.е. найти угол: arg = atan(Im/Re); Im и Re лежат в младших и старших 64 битах регистра XMM соответственно. Какими командами это можно сделать? Команды для нахождения аргумента для SSE2 я не нашел. Есть идея использовать математический сопроцессор, тогда получается: FLD (младшие 64 бита XMM0, мнимая часть) FLD (старшие 64 бита XMM0, действительная часть) FPATAN (какой-то 64-битный регистр) Но тут две проблемы: 1) я не знаю какие 64 битные регистры выбрать для частей и результата и как туда загрузить эти части из XMM0 2) возможно, сопроцессор может не понять, что это тип double. Помогите, пожалуйста, решить задачу. |