Цитата(defunct @ Dec 22 2008, 18:20)

Зависит от вашей конкретной ситуации.
Главное не применять "==" к флоат.
Всегда можно инициировать исключение, например DataAbort и соотв. его обработать...
Пишем прототип для этого дела
Код
extern void raise_exception( U32 code);
оформляем asm функайку:
Код
DeadBeef EQU 0xDEADBEEF
raise_exception:
LDR R1, =DeadBeef
LDR R1, [R1]
MOV pc, lr
В DAbt обработчике смотреть код исключения в R0, если R1 == 0xDEADBEEF..
Есть вопрос? DataAbort в каком случае генерируется? В случае ошибки с плавающей запятой разве?
Понимание пока отсутствует. Можете обяснить подробнее желательно с наглядными кусками кода?
Цитата(scifi @ Dec 22 2008, 20:46)

Посмотрите файлы math.h и fenv.h, там много интересного.
Пожалуйста ткните пальцем куда в файл math.h нужно посмотреть чтобы разрешить тему с определнием ошибок с плавающей запятой или определения на валидность значений флоат-типа.
Заголовочный файл fenv.h у меня присутствует в библиотеки quartusa. Чем он может помочь в моем случае?
Буду признателен за помощь, потому как в голове некоторое не понимание или скорее всего полное не понимание как подобную проблему можно решить на ARM.