-
- Не рекомендуется. По той причине, что компилятор не понимает ваших хотелок и работает с ресурсами по-своему. Так, как он считает оптимальным. Чтобы достигнуть консенсуса вы должны ему пояснить, что вы от него хотите, что ему можно делать и что rezident(83 знак., 15.04.2011 20:26)
- "По той причине, что компилятор не понимает ваших хотелок" Скажем так - IAR не имеет средств для объяснения ему таких хотелок. Cepгeй Бopщ(565 знак., 16.04.2011 11:43)
- Ситуация прояснилась. При выносе функции с asm вставкой во внешнюю либу всё в порядке. При обработке компилятором обоих функций с одном файле происходит ошибка. Фраза из manual " Xитpый Kитaeц(428 знак., 16.04.2011 13:53)
- Если ва полностью "строите" свою функцию (пишете ее на асме) - применима. Если часть функции строит компилятор (читай- "асм-вставка") - то неприменима, она относится к функции в целом, а не к ее части. - Cepгeй Бopщ(16.04.2011 23:38)
- Так вроде тут как раз нарушение соглашения о вызове функций. Vallav(185 знак., 17.04.2011 13:43)
- Всё верно, это шиза оптимизатора. При no_cse или no_code_motion всё работает. - Xитpый Kитaeц(17.04.2011 11:57)
- "все работает" в данном случае - удачное стечение обстоятельств. В следующей версии компилятора может перестать. Или пишите функцию полностью на асме (файл .s43), или всю на С. Асм-вставки годятся только для действий типа nop, не влияющих на Cepгeй Бopщ(22 знак., 18.04.2011 13:05)
- Это как раз и понятно , печально. - Xитpый Kитaeц(19.04.2011 02:13)
- "все работает" в данном случае - удачное стечение обстоятельств. В следующей версии компилятора может перестать. Или пишите функцию полностью на асме (файл .s43), или всю на С. Асм-вставки годятся только для действий типа nop, не влияющих на Cepгeй Бopщ(22 знак., 18.04.2011 13:05)
- Если ва полностью "строите" свою функцию (пишете ее на асме) - применима. Если часть функции строит компилятор (читай- "асм-вставка") - то неприменима, она относится к функции в целом, а не к ее части. - Cepгeй Бopщ(16.04.2011 23:38)
- Ситуация прояснилась. При выносе функции с asm вставкой во внешнюю либу всё в порядке. При обработке компилятором обоих функций с одном файле происходит ошибка. Фраза из manual " Xитpый Kитaeц(428 знак., 16.04.2011 13:53)
- "По той причине, что компилятор не понимает ваших хотелок" Скажем так - IAR не имеет средств для объяснения ему таких хотелок. Cepгeй Бopщ(565 знак., 16.04.2011 11:43)
- Не рекомендуется. По той причине, что компилятор не понимает ваших хотелок и работает с ресурсами по-своему. Так, как он считает оптимальным. Чтобы достигнуть консенсуса вы должны ему пояснить, что вы от него хотите, что ему можно делать и что rezident(83 знак., 15.04.2011 20:26)