Поиск:

Ответ в темуСоздание новой темы Создание опроса
> e^x, возведение Е в степень Х 
:(
    Опции темы
kuller
Дата 12.6.2009, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 15.11.2007

Репутация: нет
Всего: нет



Здравствуйте!!!!
Подскажите пожалуйста как возвести e^x командами СОПРОЦЕССОРА!!!
Заранее спасибо!!!
PM MAIL   Вверх
ФедосеевПавел
Дата 13.6.2009, 07:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 7.2.2009

Репутация: нет
Всего: 10



Вот, выдрал из одной библиотеки для TP (отсюда и опкоды вместо мнемоник операторов).
Код

FUNCTION exp(x:Extended):Extended;assembler;

        {вычисление экспоненты по формуле: 2**(x*log2(e))}

VAR     Wc,Wcnew : word;

asm
  fld   [x]             {x=y+z; y-целое, z=0..1}

  fstcw [Wc]            {сохранить упр. слово}

  { fldl2e}
  db    0CDh, 35h, 0eah {x,log2(e)}

  fmul            {x*log2(e)=r+i}

  mov   ax,[Wc]
  and   ah,11110011b
  or    ah,00000100b
  mov   [WCnew],ax

  fld   st(0)           {x*log2(e),x*log2(e)}

  fldcw [WCnew]         {установить округление к -бесконечности}

  frndint               {i,x*log2(e)}

  fldcw [Wc]            {восстановить упр. слово}

  fsub  st(1),st        {i,r}
  { fld1}
  db    0CDh, 35h, 0e8h {1,i,r}
  fscale                {2**i,i,r}
  fstp  st(1)           {2**i,r}
  { fld1}
  db    0CDh, 35h, 0e8h {1,2**i,r}
  fchs                  {-1,2**i,r}
  fxch                  {2**i,-1,r}
  fxch  st(2)           {r,-1,2**i}
  fscale                {r/2,-1,2**i}
  f2xm1                 {2**(r/2)-1,-1,2**i}
  fsubr                 {2**(r/2),2**i}
  fmul  st,st           {2**r,2**i}
  fmul                  {2**(r+i)=exp}
END;


PM   Вверх
Mikl_
Дата 15.6.2009, 03:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 9.11.2007

Репутация: 6
Всего: 14



kuller, смотри здесь -- по сути, то же что у  
ФедосееваПавела, но с кучей комментариев smile 
PM MAIL   Вверх
kuller
Дата 15.6.2009, 08:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 15.11.2007

Репутация: нет
Всего: нет



ФедосеевПавелMikl_, спасибо, попробую разобраться!!! 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0636 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.