Тригонометрические функции

Тема в разделе "WASM.BEGINNERS", создана пользователем Ars_prk, 29 ноя 2005.

  1. Ars_prk

    Ars_prk New Member

    Публикаций:
    0
    Регистрация:
    29 ноя 2005
    Сообщения:
    1
    Адрес:
    Russia
    Люди, скажите, можно ли как-нибудь написать функцию ArcCos на ассемблере для микроконтроллера с ядром MSC-51 или, другими словами - выразить тригонометрическую функцию с помощь простых математических действий?
     
  2. yureckor

    yureckor New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2004
    Сообщения:
    494
    Адрес:
    Russia
    Ее можно выразить через atan, а вообще все тригонометрические функции вычисляются через ряды или полиномы (короче см. справочник по высшей математике),вот на x86 с использованием встроенного ATAN (на стеке уже лежит аргумент):
    Код (Text):
    1.  
    2.  fld st(0)
    3.  fld st(0)
    4.  fmul
    5.  fld1
    6.  fxch
    7.  fsub
    8.  fsqrt
    9.  fxch
    10.  fdiv
    11.  fld1
    12.  fpatan
    13.  
     
  3. CrazyFun

    CrazyFun New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2005
    Сообщения:
    129
    я бы использовал разложение в степенной ряд по степеням х



    f(x)= f(0)/0! + (f'(0)/1!)*x + (f''(0)/2!)*x^2 +.. +(f''...''(0)/n!)*x^n +

    +.....



    где f''...''(0) - значекние n-й производной функции f в точке 0



    х^n - икс в степенни n



    колличестов слагаемых подбирается в соответствии с требуемой точностью



    подробности смотрим с любом учебнике по матанализу(теория рядов)
     
  4. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    yureckor

    MSC-51 не имеет FPU.



    Ars_prk

    Поищите реализации CORDIC - это алгоритмы подсчёта тригонометрических ф-ций через циклические сдвиги и логические операции.
     
  5. SDragon

    SDragon New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2005
    Сообщения:
    133
    Адрес:
    Siberia
  6. yureckor

    yureckor New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2004
    Сообщения:
    494
    Адрес:
    Russia
    есть много готовых библиотек для КР580ВМ80, или можно глянуть ПЗУ Спека, дизасм и эмулятор его в сети найти легко.