IPB
ЛогинПароль:

> ПРАВИЛА РАЗДЕЛА!!!

1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!

> Немного о вещественном асме., нубский вопрос
TarasBer
сообщение 6.03.2009 16:29
Сообщение #1


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


У меня вопрос - почему не компилируется этот кусок кода?


procedure SinCos(var d, c, s: extended); assembler;
asm
fld d
fsincos
fstp c
fstp s
end;



И как его правильно переписать. Компилятор говорит что инвалид комбинатион оф опкоде энд операндс. Вот глобальные переменные можно передавать, локальные можно, а передаваемые в процедуру - нельзя! Что за странное ограничение?


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 6.03.2009 18:05
Сообщение #2


Гость






Такой порядок - более приемлемый:
procedure FSinCos(X: Extended; var Sin, Cos: Extended); assembler;
? Так тоже работает...

Цитата
команда FWAIT что делает, насколько тут нужна
Этак команда заставляет процессор ждать, пока со-процессор не закончит свои действия (в данном случае - сохранение результата). Все-таки желательно этого дождаться, если не хочешь потом иметь глюков с частично записанным, а частично - нет результатом вычисления (по той простой причине, что ты не подождал сигнала от FPU об окончании сохранения, а начал использовать их раньше...)
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 8.07.2025 16:45
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"