www.demoscene.ruenglish version
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация   ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как ассемблер относится к командам FPU?

 
Начать новую тему   Ответить на тему    Список форумов Demoscene.Ru -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
numerouno



Зарегистрирован: 04.09.2011
Сообщения: 390


СообщениеДобавлено: Пн Дек 05, 2011 20:53    Заголовок сообщения: Как ассемблер относится к командам FPU? Ответить с цитатой

в общем..папалась тут интра с исходником:
Код:


   fmul   [cs:CONST5]
   fild   [cs:framecounter]
   fmul   [cs:ROTSPEED1]
   fadd
   fsin
   fadd   CONST1_5
   fxch;   st(1),st(0)
   ;st(1) = atan     st(1) = mul1    st(2) = atan    st(3) = expmul


синтаксис похож на TASM, ан нет, FASM давится на fadd, што синтаксисеррор.
и таких инструкций очинь многа, фик разбирешь, што за невнятность такая?
ну и как мне понемать fadd st(0),st(1) или еще как?
интра была скачана с pouet.net, называлась paridisio_by_itchi___lonely_coders.zip, линк не сохранил.
какже с этай псякрэв разобрацца-то? я фтупике.
на помащь, кодеры!!!111
_________________
вначале было крактро, а потом такое началось,когда праникся дэмоспиритом апасля вайнспирита!1
Аднажды на ДемосценеРупоявился невежа. его с позором прогнали. Так появились тролли.
миниатюры 256bytes.net в одном флаконе
Я программист, Зип Файл!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
BiTL
DOS lover


Зарегистрирован: 22.09.2007
Сообщения: 2938


СообщениеДобавлено: Пн Дек 05, 2011 20:59    Заголовок сообщения: Re: Как ассемблер относится к командам FPU? Ответить с цитатой

numerouno писал(а):
в общем..папалась тут интра с исходником:
Код:


   fmul   [cs:CONST5]
   fild   [cs:framecounter]
   fmul   [cs:ROTSPEED1]
   fadd
   fsin
   fadd   CONST1_5
   fxch;   st(1),st(0)
   ;st(1) = atan     st(1) = mul1    st(2) = atan    st(3) = expmul


синтаксис похож на TASM, ан нет, FASM давится на fadd, што синтаксисеррор.
и таких инструкций очинь многа, фик разбирешь, што за невнятность такая?
ну и как мне понемать fadd st(0),st(1) или еще как?
интра была скачана с pouet.net, называлась paridisio_by_itchi___lonely_coders.zip, линк не сохранил.
какже с этай псякрэв разобрацца-то? я фтупике.
на помащь, кодеры!!!111


ох лол Smile Ну любой ассемблер на ПЦ имеет инструкции сопроцессора. Как иначе? Сопроцессор же часть архитектуры PC. И естественно любые современные мини-интры пишутся с использованием fpu-инструкций. И вообще сопр юзается в интрах лет 15 как минимум.

Как их понимать? Читай маны по ассемблеру 80386, а именно "работа с сопроцессором". Там довольно просто. Только у сопра не регистры а стэк.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
numerouno



Зарегистрирован: 04.09.2011
Сообщения: 390


СообщениеДобавлено: Пн Дек 05, 2011 21:20    Заголовок сообщения: Re: Как ассемблер относится к командам FPU? Ответить с цитатой

BiTL писал(а):
Как их понимать? Читай маны по ассемблеру 80386, а именно "работа с сопроцессором". Там довольно просто. Только у сопра не регистры а стэк.

Лолка, у меня ТАСМА нету, штоп проеврить, как в коды загоняется.
маны, как коаны, мойшно понемать скока угодно. нипанятно, как будет команда:
fadd st(0),st(1)
или faddp ..........чуть более, чем столько же параметров стэка.

заморочка с тем, што эффект не идет проста, подозреваю, што дурит ассемблер, хочется просто разобраться, как flare работает. не 256 байт же искать, забыл название Laughing
_________________
вначале было крактро, а потом такое началось,когда праникся дэмоспиритом апасля вайнспирита!1
Аднажды на ДемосценеРупоявился невежа. его с позором прогнали. Так появились тролли.
миниатюры 256bytes.net в одном флаконе
Я программист, Зип Файл!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
numerouno



Зарегистрирован: 04.09.2011
Сообщения: 390


СообщениеДобавлено: Пн Дек 05, 2011 21:44    Заголовок сообщения: Ответить с цитатой

сунулся со скуки в долбанную compo версию типерь fadd в кодах выглядит как faddp st(1),st

этопятьблин

_________________
вначале было крактро, а потом такое началось,когда праникся дэмоспиритом апасля вайнспирита!1
Аднажды на ДемосценеРупоявился невежа. его с позором прогнали. Так появились тролли.
миниатюры 256bytes.net в одном флаконе
Я программист, Зип Файл!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
BiTL
DOS lover


Зарегистрирован: 22.09.2007
Сообщения: 2938


СообщениеДобавлено: Пн Дек 05, 2011 21:51    Заголовок сообщения: Ответить с цитатой

так трудно маны почитать штоле?

Команда fadd складывает операнд-источник и операнд-адресат и сохраняет сумму в адресате. Операндом-адресатом всегда должен быть регистр FPU, если источник – это расположение в памяти, то адресат это регистр ST(0) и нужно указать только источник.

Команда faddp складывает операнд-источник и операнд-адресат, сохраняет сумму в адресате и далее выталкивает значение из стека, освобождая st0. Операндом-адресатом должен быть регистр FPU, а операндом-источником – st0. Если операнды не указаны, то в качестве операнда-адресата используется st1. Например, просто написав faddp, мы прибавляем st0 к st1 и выдвигаем вершину стека, а команда faddp st2,st0 прибавляет st0 к st2 и выдвигает вершину стека.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
numerouno



Зарегистрирован: 04.09.2011
Сообщения: 390


СообщениеДобавлено: Пн Дек 05, 2011 22:30    Заголовок сообщения: Ответить с цитатой

BiTL писал(а):
так трудно маны почитать штоле?

а зачем ты мне даступным языком пересказываежь? этаже ачевидно.
но мне о5 неясно, пачиму fadd на языке долбокодерофф irl выглядет па-другому, и fmulp тоже хз, как будет насамам деле в олгоритме.

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

мне проста разобраться хочется, как работает, в дальнейшее planetbump смотреть не буду, хатя интересно.

што это за ассемблер такой, а?
_________________
вначале было крактро, а потом такое началось,когда праникся дэмоспиритом апасля вайнспирита!1
Аднажды на ДемосценеРупоявился невежа. его с позором прогнали. Так появились тролли.
миниатюры 256bytes.net в одном флаконе
Я программист, Зип Файл!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
numerouno



Зарегистрирован: 04.09.2011
Сообщения: 390


СообщениеДобавлено: Вт Дек 06, 2011 10:45    Заголовок сообщения: Ответить с цитатой

нуфсе, эффект работает.
действительно fadd и fmul заменены на
faddp st(0),st(1) и fmulp st(0),st(1), т.е. арифмитические апирации с выталкиванием со стэка. осталось допилить интересующий эффект Laughing
_________________
вначале было крактро, а потом такое началось,когда праникся дэмоспиритом апасля вайнспирита!1
Аднажды на ДемосценеРупоявился невежа. его с позором прогнали. Так появились тролли.
миниатюры 256bytes.net в одном флаконе
Я программист, Зип Файл!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Александр



Зарегистрирован: 03.01.2008
Сообщения: 22
Откуда: Москва

СообщениеДобавлено: Вт Дек 13, 2011 11:17    Заголовок сообщения: Ответить с цитатой

Вообще то ни кто ничего никуда не менял. В мануалах по командам сопроцессора парным регистром используется в основном ST(0) (как приемник), и в некоторых ассемблерах его отбрасывают, указывая только источник данных, соответственно st(0) подразумевается по умолчанию.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
numerouno



Зарегистрирован: 04.09.2011
Сообщения: 390


СообщениеДобавлено: Ср Дек 14, 2011 06:57    Заголовок сообщения: Ответить с цитатой

Александр писал(а):
Вообще то ни кто ничего никуда не менял. В мануалах по командам сопроцессора парным регистром используется в основном ST(0) (как приемник), и в некоторых ассемблерах его отбрасывают, указывая только источник данных, соответственно st(0) подразумевается по умолчанию.

качаем исходник, убеждаемся. или эта мы интрушку писали и не меняли? Laughing
_________________
вначале было крактро, а потом такое началось,когда праникся дэмоспиритом апасля вайнспирита!1
Аднажды на ДемосценеРупоявился невежа. его с позором прогнали. Так появились тролли.
миниатюры 256bytes.net в одном флаконе
Я программист, Зип Файл!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Александр



Зарегистрирован: 03.01.2008
Сообщения: 22
Откуда: Москва

СообщениеДобавлено: Ср Дек 14, 2011 11:06    Заголовок сообщения: Ответить с цитатой

Ну к примеру в Delphi-овом асме можно писать хоть fadd; хоть fadd st(1); хоть fadd st(0),st(1); - тот же опкод.
Во всех современных компиляторах асма тот же синтаксис поддерживается. В Visual Microsoft помоему нет, а в GCC да, также на TASM.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
numerouno



Зарегистрирован: 04.09.2011
Сообщения: 390


СообщениеДобавлено: Ср Дек 14, 2011 12:22    Заголовок сообщения: Ответить с цитатой

Александр писал(а):
Ну к примеру в Delphi-овом асме можно писать хоть fadd; хоть fadd st(1); хоть fadd st(0),st(1); - тот же опкод.
Во всех современных компиляторах асма тот же синтаксис поддерживается. В Visual Microsoft помоему нет, а в GCC да, также на TASM.

вооот.. вопрос решился тащемта..
_________________
вначале было крактро, а потом такое началось,когда праникся дэмоспиритом апасля вайнспирита!1
Аднажды на ДемосценеРупоявился невежа. его с позором прогнали. Так появились тролли.
миниатюры 256bytes.net в одном флаконе
Я программист, Зип Файл!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Demoscene.Ru -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах