|
Я просто не верю что 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 12 2017, 10:44
|

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

|
Странно, но космик в удобном виде размеры не выводит. короче сравниваем .text я так понимаю Cosmic 574 байта Код -------- Segments --------
start 00008080 end 0000808c length 12 segment .const start 0000808f end 000082cd length 574 segment .text start 00004000 end 00004000 length 0 segment .eeprom start 00000000 end 00000000 length 0 segment .bsct start 00000000 end 00000096 length 150 segment .ubsct start 00000096 end 00000096 length 0 segment .bit start 00000096 end 00000096 length 0 segment .share start 00000100 end 00000100 length 0 segment .data start 00000100 end 00000100 length 0 segment .bss start 00000000 end 0000036c length 876 segment .info. start 00000000 end 000003ca length 970 segment .debug start 00008000 end 00008080 length 128 segment .const start 0000808c end 0000808f length 3 segment .init IAR 635байт Код "P3": 0x27b .near_func.text ro code 0x008080 0x14c main.o [1] .near_func.text ro code 0x0081cc 0xcc long.o [4] .iar.init_table const 0x008298 0x8 - Linker created - .near_func.text ro code 0x0082a0 0x1e init_small.o [4] .near_func.text ro code 0x0082be 0x17 init.o [4] .near_func.text ro code 0x0082d5 0x13 cstartup.o [4] .near_func.text ro code 0x0082e8 0x5 cexit.o [4] .near_func.text ro code 0x0082ed 0x3 interrupt.o [4] .near_func.text ro code 0x0082f0 0x3 low_level_init.o [4] .near_func.text ro code 0x0082f3 0x3 exit.o [4] .near_func.text ro code 0x0082f6 0x3 unhandled_exception.o [4] .near_func.text ro code 0x0082f9 0x2 xxexit.o [3] - 0x0082fb 0x27b SDCC что-то не сдюжил.... D:\Poligon\FIR_TEST\sdcc>sdcc -lstm8 -mstm8 --out-fmt-elf main.c main.c:126: error 9: FATAL Compiler Internal Error in file '/home/sdcc-builder/build/sdcc-build/orig/sdcc/src/SDCCopt.c' line number '805' : 0 Contact Author with source code Странно, строка 126 в тестовом файле это for (i=0;i<N;i++) в общем тут в этом посте есть исходник теста, каждый может по развлекаться и сравнить лично https://electronix.ru/forum/index.php?s=&am...t&p=1498198Вот даже готовые проекты для IAR, STVD и AVR Studio 7 Можно с опциями оптимизации поиграться на досуге https://drive.google.com/file/d/0B7dMRxCEo4...iew?usp=sharing
--------------------
The truth is out there...
|
|
|
|
Сообщений в этой теме
sigmaN Я просто не верю что IAR STM8 такой тупой! May 9 2017, 20:00 jcxz Цитата(sigmaN @ May 9 2017, 22:00) Cosmic... May 9 2017, 20:57 AHTOXA Посмотрите, что из вашего кода делает sdcc, и успо... May 10 2017, 06:51 Эдди Цитата(AHTOXA @ May 10 2017, 09:51) Посмо... May 11 2017, 11:52 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 Мой товарищ сделал задержку 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
|
|
|