Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Asm для начинающих > tan(x)


Автор: Чердак 9.5.2005, 16:18
smile
Нужно написать программку, которая выводит график функции - tan(x). У сопроцессора есть такая функция? Т.е. функция, которая просто бы значения считала в зависимости от х.

Автор: DeHunter 9.5.2005, 16:37
Если есть sin и cos тогда можно получить и tan.
tan(x)=sin(x)/cos(x) ;

Автор: Чердак 9.5.2005, 19:07
DeHunter, smile
Тогда как получить sin(x) и cos(x)?Просто написать : "sin x" или "sin ax" - синтаксически не правильно.

Автор: Chingachguk 9.5.2005, 20:28
Скачай что-нибудь себе типа книжки что-ли...

Из книги Зубкова С.В.

Цитата
Команда:
FPTAN
Назначение:
Тангенс
Процессор:
8087

Вычисляет тангенс числа, находящегося в регистре ST(0), заменяет его на вычисленное значение и затем помещает 1 в стек, так что результат оказывается в ST(1), ST(0) содержит 1, а ТОР уменьшается на единицу. Как и для остальных тригонометрических команд, операнд считается заданным в радианах и не может быть больше 263 или меньше -263. Если операнд выходит за эти пределы, флаг С2 устанавливается в 1 и значение ST(0) и стек не изменяются. Единица помещается в стек для того, чтобы можно было получить котангенс вызовом команды FDIVR сразу после FPTAN.

Автор: oleg1973 9.5.2005, 22:30
можно либу сишную подключить для этого
там тоже есть

Автор: Mephisto 14.5.2005, 03:01
Можно самому припаять. Парачка операционников и сумматоров + резисторов несколько, кандеров и твой Тан на аппаратке.
ГЫ.
Не бейте за smile

Автор: Чердак 20.5.2005, 16:24
smile Спасибо, воспользовался книгой Юрова (отличная книга) и написал прогу которая рисует tan(n*x), при нажатии '+' , '-' n соответственно увеличивается и уменьшается на 0.01.
C увеличением все норм, а вот с уменьшением smile ..... доходит до n=0,8 и прога виснит, виснит когда вводит в стек n smile почему это может происходить?

З.Ы. при отладки в момент зависания n=3F7AE146h

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)