Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
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 Сообщения: 2950
|
Добавлено: Пн Дек 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 |
ох лол Ну любой ассемблер на ПЦ имеет инструкции сопроцессора. Как иначе? Сопроцессор же часть архитектуры 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 байт же искать, забыл название  _________________ вначале было крактро, а потом такое началось,когда праникся дэмоспиритом апасля вайнспирита!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 Сообщения: 2950
|
Добавлено: Пн Дек 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), т.е. арифмитические апирации с выталкиванием со стэка. осталось допилить интересующий эффект  _________________ вначале было крактро, а потом такое началось,когда праникся дэмоспиритом апасля вайнспирита!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) подразумевается по умолчанию. |
качаем исходник, убеждаемся. или эта мы интрушку писали и не меняли?  _________________ вначале было крактро, а потом такое началось,когда праникся дэмоспиритом апасля вайнспирита!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 в одном флаконе
Я программист, Зип Файл! |
|
Вернуться к началу |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|