|
Я просто не верю что IAR STM8 такой тупой!, Ведь это же всегда был один из самых качественных компиляторов |
|
|
|
May 9 2017, 20:00
|

I WANT TO BELIEVE
     
Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751

|
Код #pragma inline=forced static void inline f(uint8_t i) { while(--i) asm(""); }
int main() { f(10); } В результате: Код 183 int main() 184 { \ main: \ 000000 52 01 SUB SP, #0x1 186 f(10); \ 000002 35 0A .... MOV S:?b0, #0xa \ 000006 20 00 JRA L:??main_0 \ ??main_1: \ ??main_0: \ 000008 B6 .. LD A, S:?b0 \ 00000A 4A DEC A \ 00000B B7 .. LD S:?b0, A \ 00000D 26 F9 JRNE L:??main_1 ЗАЧЕМ? Зачем он делает всё это???? Настройки компилятора по полной программе: Multi-file compilation, High, Speed +No size constraints P.S. Cosmic же на много толковее справился, хотя я конечно по прежнему не понимаю почему нельзя просто с регистром A работать.... Зачем в стек то? Код 60 .text: section .text,new 61 0000 _main: 63 0000 88 push a 64 00000001 OFST: set 1 67 ; 10 f(12); 70 0001 a60c ld a,#12 71 0003 6b01 ld (OFST+0,sp),a 74 0005 L72: 75 ; 5 _asm(""); 79 ; 4 while(--i) 81 0005 0a01 dec (OFST+0,sp) 83 0007 26fc jrne L72 /////////////////////////////////////////////// 84 0009 L73: 86 0009 20fe jra L73 99 xdef _main 118 end
--------------------
The truth is out there...
|
|
|
|
|
 |
Ответов
|
May 10 2017, 06:51
|

фанат дивана
     
Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684

|
Посмотрите, что из вашего кода делает sdcc, и успокойтесь  Вот: (я только заменил asm("") на asm("nop"), для однозначности). Код ld a, #0x0a 00101$: dec a tnz a jrne 00116$ ret 00116$: nop jra 00101$ ret Вот, если интересно, сравнение компиляторов для stm8. По нему видно, что IAR далеко не лидер в области размера кода. Зато он побеждает в тестах скорости.
--------------------
Если бы я знал, что такое электричество...
|
|
|
|
|
May 11 2017, 11:52
|
Знающий
   
Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250

|
Цитата(AHTOXA @ May 10 2017, 09:51)  Посмотрите, что из вашего кода делает sdcc, и успокойтесь  Это да. Никакой оптимизации, к сожалению. Но, учитывая то, что больше свободных компиляторов под STM8 нет, приходится пользоваться им. Хоть что-то… Правда, мне больше нравятся STM32. Но и там не все так хорошо: "изкоробочная" сборка arm-none-eabi-gcc не работает с F0 (операции умножения и деления вызывают зависон), приходится брать готовую сборку. А еще надо от opencm3 полностью уйти на "голый CMSIS" для STM32F1. Под F0 я уже от библиотек ушел. Надо лишь с USB разобраться...
|
|
|
|
Сообщений в этой теме
sigmaN Я просто не верю что IAR STM8 такой тупой! May 9 2017, 20:00 jcxz Цитата(sigmaN @ May 9 2017, 22:00) Cosmic... May 9 2017, 20:57 sigmaN Грустно, потому что я в другом окне смотрю, что из... May 10 2017, 10:01 jcxz Цитата(sigmaN @ May 10 2017, 12:01) Груст... May 10 2017, 12:44 sigmaN Цели никакой нет и холливара тоже. Просто обидно ч... May 10 2017, 13:13 AHTOXA А как, по-вашему, должен выглядеть предложенный ва... May 10 2017, 18:21 jcxz Цитата(sigmaN @ May 10 2017, 15:13) Прост... May 10 2017, 20:01 sigmaN Выглядеть этот кусок может и должен в точности как... May 11 2017, 01:54 AHTOXA Цитата(sigmaN @ May 11 2017, 06:54) Выгля... May 11 2017, 06:20 jcxz Цитата(sigmaN @ May 11 2017, 03:54) Приде... May 11 2017, 08:38 sigmaN Тоже потом подумал про испорченный A. Однако же ни... May 11 2017, 08:34 sigmaN ЦитатаПриведите лучше пример реализации БИХ-фильтр... May 11 2017, 10:24 AHTOXA Цитата(sigmaN @ May 11 2017, 15:24) Удиви... May 11 2017, 14:00  Михась Цитата(AHTOXA @ May 11 2017, 20:00) Раз у... May 11 2017, 14:37   AHTOXA Цитата(Михась @ May 11 2017, 19:37)
Это ... May 11 2017, 17:05    Михась Цитата(AHTOXA @ May 12 2017, 00:05) Это н... May 12 2017, 03:40 sigmaN Cosmic для стм8 нынче абсолютно свободен и без огр... May 11 2017, 13:15 Эдди Космик только под мастдайку — не годится. May 11 2017, 13:24 sigmaN Странно, но космик в удобном виде размеры не вывод... May 12 2017, 10:44 sigmaN Мой товарищ сделал задержку 1us вот таким не хитры... May 13 2017, 17:35 jcxz Цитата(sigmaN @ May 13 2017, 19:35) Рассл... May 14 2017, 06:05  Den64 Цитата(jcxz @ May 14 2017, 09:05) Не поня... May 14 2017, 06:39   jcxz Цитата(Den64 @ May 14 2017, 08:39) Нескол... May 14 2017, 18:36    Den64 Цитата(jcxz @ May 14 2017, 21:36) Это пон... May 14 2017, 18:59 sigmaN ЦитатаЭто из игры fallout. Что это за приложение д... May 14 2017, 20:17 AHTOXA Мне фотки видны.
Он заменил 16 nop-ов на два вызов... May 14 2017, 21:16 jcxz Цитата(sigmaN @ May 14 2017, 22:17) Короч... May 15 2017, 09:38 sigmaN Да, я тоже перепроверил, времянка не соблюдена. Дл... May 14 2017, 21:27 sigmaN Как раз эта часть отлично описана в посте со скрин... May 15 2017, 14:15 jcxz Да похоже так и есть - реально тупой
Функцию, ... Jun 12 2017, 13:36 Эдди Синус на STM8? Зачем???????????????? Jun 12 2017, 14:43 jcxz Цитата(Эдди @ Jun 12 2017, 16:43) Синус н... Jun 12 2017, 17:27 Эдди ШИМ — штука хорошая, но синусоида элементарно по т... Jun 13 2017, 05:25 jcxz Цитата(Эдди @ Jun 13 2017, 07:25) ШИМ ... Jun 13 2017, 06:26 jcxz Цитата(sigmaN @ May 9 2017, 23:00) ЗАЧЕМ?... Jul 25 2017, 11:44 sigmaN ммм, неплохо, неплохо! Затестим обязательно... Jul 26 2017, 19:26 VladislavS Пример из первого сообщения. STM8 Series 3.10.1
Ка... Jul 31 2017, 05:53
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|