-
- Может он в курсе что результат будет 16 бит. - PlainUser(13.01.2017 13:34)
- А у инструкции MUL для 8х8 результат всего 8 бит? Какая неприятность! - Petrovich(13.01.2017 13:51, )
- Я недавно глянул окно дизассемблера и в ужасе закрыл его обратно. Теперь при малейших проблемах в проекте чувствую себя очень хреново. - VLLV(13.01.2017 10:06)
- А мне не нужно на дизассемблер глядеть, потоиу как я пишу на ассемблере. Головная функция, правда, - на Си. - Bill(13.01.2017 10:35 - 11:12)
- Вообще-то сломанного кода пока ни разу не встречал, так что не волнуйтесь. Просто делаю цифровой фильтр. Скорее всего, конечно, и без оптимизации всё успеет, но зудит, зараза :-) - SciFi(13.01.2017 10:27)
- Может все-таки код в студию, или Гуру считают себя настолько непогрешимыми, чтобы утруждать общественность такой мелочью ? :-) - il-2(13.01.2017 10:03)
- Пожалуйста: SciFi(176 знак., 13.01.2017 10:26)
- Как предположение - может тупой(не глючный) компилятор тупо инт-промотит твою var1? Может такое прокатит: il-2(62 знак., 13.01.2017 10:43)
- Без разницы. - Bill(13.01.2017 10:54)
- Как предположение - может тупой(не глючный) компилятор тупо инт-промотит твою var1? Может такое прокатит: il-2(62 знак., 13.01.2017 10:43)
- Пожалуйста: SciFi(176 знак., 13.01.2017 10:26)
- Можно попытаться напугать компилятор крошечной моделью памяти. - Олдфаг(12.01.2017 21:33, )
- Это его язык C заставляет так делать. На ассемблере напишите функцию умножения. Я на X-меге так же поступала,когда не могла на C написать умножение двух int с результатом в long. Еще в хидер intrinsics.h загляните (если он для STM8 есть) - там Ксения(50 знак., 12.01.2017 17:52)
- Нет там, к сожалению, такой функции. Но у меня генерируется именно инструкция mul: Bill(316 знак., 13.01.2017 08:32)
- Ой! Умножение 8x8=8 делает через MUL. А вот 8x8=16 - уже нет. Ну понятно, забили на оптимизацию в этом месте. - SciFi(13.01.2017 10:21 - 10:31)
- Самый, что ни на есть IAR! V 2.20 - Bill(13.01.2017 10:32)
- У меня 1.40. Попробуйте, пожалуйста, 8x8=16: SciFi(75 знак., 13.01.2017 10:34)
- вот Bill(409 знак., 13.01.2017 10:41)
- Спасибо. Ну да, новые версии не улучшают компилятор. Конкуренции не хватает. Даже в таком виде другие компиляторы для stm8 - У.Г. - SciFi(13.01.2017 11:00)
- Ну и, опять же, умноженин 8Х8 не гарантирует правильный результат. - Bill(13.01.2017 10:56)
- вот Bill(409 знак., 13.01.2017 10:41)
- У меня 1.40. Попробуйте, пожалуйста, 8x8=16: SciFi(75 знак., 13.01.2017 10:34)
- Самый, что ни на есть IAR! V 2.20 - Bill(13.01.2017 10:32)
- Ой! Умножение 8x8=8 делает через MUL. А вот 8x8=16 - уже нет. Ну понятно, забили на оптимизацию в этом месте. - SciFi(13.01.2017 10:21 - 10:31)
- Ничего он не заставляет. Сам видел на другом проце, что нормально оптимизирует. Просто яр для стм8 тупой - это и в других местах видно. Делали они его спустя рукава. - SciFi(12.01.2017 17:58)
- Возможно оптимизация не включена? - Yft(12.01.2017 18:02)
- Включена. - SciFi(12.01.2017 18:06)
- Возможно оптимизация не включена? - Yft(12.01.2017 18:02)
- Нет там, к сожалению, такой функции. Но у меня генерируется именно инструкция mul: Bill(316 знак., 13.01.2017 08:32)
- Может он в курсе что результат будет 16 бит. - PlainUser(13.01.2017 13:34)