Люди, скажите, можно ли как-нибудь написать функцию ArcCos на ассемблере для микроконтроллера с ядром MSC-51 или, другими словами - выразить тригонометрическую функцию с помощь простых математических действий?
Ее можно выразить через atan, а вообще все тригонометрические функции вычисляются через ряды или полиномы (короче см. справочник по высшей математике),вот на x86 с использованием встроенного ATAN (на стеке уже лежит аргумент): Код (Text): fld st(0) fld st(0) fmul fld1 fxch fsub fsqrt fxch fdiv fld1 fpatan
я бы использовал разложение в степенной ряд по степеням х 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 колличестов слагаемых подбирается в соответствии с требуемой точностью подробности смотрим с любом учебнике по матанализу(теория рядов)
yureckor MSC-51 не имеет FPU. Ars_prk Поищите реализации CORDIC - это алгоритмы подсчёта тригонометрических ф-ций через циклические сдвиги и логические операции.
есть много готовых библиотек для КР580ВМ80, или можно глянуть ПЗУ Спека, дизасм и эмулятор его в сети найти легко.