Приветствую Вас Гость | RSS


Главная страница » Как я забавляюсь... - Страница 3 - ZX-Форум » Регистрация » ВходПятница
2024-12-13
03:38:27
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Как я забавляюсь...
KOEДата: Воскресенье, 2008-01-20, 20:59:24 | Сообщение # 31
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 2318
Репутация: 5
Статус: Offline
Quote (lvd)
Я ниасилел, ты что, размер кода меряешь по размеру ihex??? Можно сделать ихекс по 1 байту на строчке, тогда он раз в 10 будет больше, чем ихекс со всем кодом в 1 строчке...

Адрес последнего байта 3ca, или я чего напутал? Я же сравнивал с похожим файлом на асме, в том же формате. Поэтому, для сравнения, нормально.


Мы рождены, чтоб сказку сделать былью
"Кто не обломался, тем еще предстоит"


Сообщение отредактировал KOE - Воскресенье, 2008-01-20, 21:02:03
 
lvdДата: Воскресенье, 2008-01-20, 21:21:01 | Сообщение # 32
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 2528
Репутация: 13
Статус: Offline
Код для винавра в аврстудии:
Code

#include <avr/io.h>
#include <avr/interrupt.h>

//__interrupt void timer(void);    

//__interrupt void knopka(void);    

unsigned char a;  
unsigned char tempo;  
unsigned char flajok;  
unsigned char drebezg;  

// ---------------------------------------------------  

int main(void)  
{    
      
    DDRA = 0xff;    
    DDRE = 0;       
    PORTE =0;       
      
    TCCR1A = 0;  
    TCCR1B = 2;  
    TIMSK = 128;  

    GICR = 32;  
    EMCUCR = 0;  
       
    SREG = 128;     
       
    a=1;  
    PORTA=a;  
    flajok=0;  
    drebezg=0;  
    tempo = 0x1f;  

       
    while(1) { }; // Âå÷íûé êàéô  
       
};  

// ---------------------------------------------------  

ISR(TIMER1_OVF_vect)
{  
    if (flajok) {a<<=1; if(!a) {flajok=0; a=64;}}  
    else {a>>=1; if(!a) {flajok=1; a=2;}};  

    PORTA = a;  
       
    TCNT1H = tempo;  
    TCNT1L = 0;  
    drebezg=0;  
       
};  

// ---------------------------------------------------  
ISR(INT2_vect)
    {  
    if(!drebezg) {  
    drebezg=1; tempo=tempo+10; if (tempo>200) tempo=0;  
    }; };  

// ---------------------------------------------------


Многого нет здесь: http://lvd.nedopc.com
 
lvdДата: Воскресенье, 2008-01-20, 21:21:50 | Сообщение # 33
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 2528
Репутация: 13
Статус: Offline
Конец листинга:
Code


0000012a <_exit>:
  12a:    ff cf        rjmp    .-2       ; 0x12a <_exit>

То есть, последний байт $254

ИАР СОСЁТ!!! happy happy happy

В аттаче полный листинг и хекс

Прикрепления: aaa.hex (0.8 Kb) · aaa.lss (6.9 Kb)


Многого нет здесь: http://lvd.nedopc.com
 
fk0Дата: Воскресенье, 2008-01-20, 21:23:52 | Сообщение # 34
Активист
Группа: Человеки
Сообщений: 178
Репутация: 0
Статус: Offline
Quote (lvd)
Иначе же - получится как тут. =)))

Аффтар того поста как бы хочет сказать нам, что он как бы ебанулся. ©

Quote (lvd)
Это свидетельствует о том, что если не юзать принтф, флоаты и длинные инты, не хуярить по массивам, указателям и не заниматься прочими извратами (с т.з. мелкого 8битного проца), то использование сей вместо асма даст фиксированный оверхед.

Ты можешь поверить, что абсолютно всем похуй на оверхед. Нужно, чтоб работало через время T и за сумму S.

Quote (KOE)
Получил код длиной в 971 байт. В настройках компилера поставил максимальную оптимизацию по объему. А на асме почти в 2 раза короче получается.

Не знаю как ты этого добился. readelf -a < file.elf (если это GCC) -- в студию. Если IAR, то там компоновщик должен иметь средства вывода чего сколько занимает. Явно что-то лишнее и возможно библиотечное затесалось.

Quote (KOE)
Серийное производство в России - смешно и глупо.

Иногда, тем не менее, встречается. Несколько раз натыкался, когда люди целенаправленно интересуются ассемблером и я их понимаю. Но это когда в "приборе" "пик-контроллер" занимает 3/4 объёма. Иначе просто пофиг, хоть z80 туда впереть, весь вопрос только в том, что нетехнологично в сборке.


[САМОЗАБАНЕН]
 
KOEДата: Воскресенье, 2008-01-20, 21:26:25 | Сообщение # 35
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 2318
Репутация: 5
Статус: Offline
Quote (lvd)
ИАР СОСЁТ!!!

Ну это еще не показатель. Тестировать надо на более сложных программах.


Мы рождены, чтоб сказку сделать былью
"Кто не обломался, тем еще предстоит"
 
lvdДата: Воскресенье, 2008-01-20, 21:31:09 | Сообщение # 36
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 2528
Репутация: 13
Статус: Offline
Quote (KOE)
Ну это еще не показатель. Тестировать надо на более сложных программах.

Ну померяй... К авростудии и виноавру ключей полдня искать не надо =)

А я для себя сделал вывод, что винавр говна ненужного не цепляет или цепляет по минимуму для простейших проектов. wink


Многого нет здесь: http://lvd.nedopc.com
 
KOEДата: Воскресенье, 2008-01-20, 21:34:44 | Сообщение # 37
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 2318
Репутация: 5
Статус: Offline
ОГА! А фко-то прав был. Перекомпилил и передизасмил проект. Получил адрес последнего байта - 194 (hex). А если отбросить мусор, то 110 (hex).

Прикрепления: 5376116.png (7.2 Kb) · 7833168.png (10.7 Kb)


Мы рождены, чтоб сказку сделать былью
"Кто не обломался, тем еще предстоит"


Сообщение отредактировал KOE - Воскресенье, 2008-01-20, 21:43:59
 
fk0Дата: Воскресенье, 2008-01-20, 21:43:46 | Сообщение # 38
Активист
Группа: Человеки
Сообщений: 178
Репутация: 0
Статус: Offline
Quote (KOE)
Ну это еще не показатель. Тестировать надо на более сложных программах.

Собери, посмотри, сравни.

Прикрепления: dhry.zip (15.7 Kb)


[САМОЗАБАНЕН]
 
lvdДата: Воскресенье, 2008-01-20, 21:44:14 | Сообщение # 39
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 2528
Репутация: 13
Статус: Offline
Quote (KOE)
ОГА! А фко-то прав был. Перекомпилил и передизасмил проект. Получил адрес последнего байта - 194 (hex).

А где ихекс?


Многого нет здесь: http://lvd.nedopc.com
 
fk0Дата: Воскресенье, 2008-01-20, 21:47:45 | Сообщение # 40
Активист
Группа: Человеки
Сообщений: 178
Репутация: 0
Статус: Offline
Quote (KOE)
Перекомпилил и передизасмил проект. Получил адрес последнего байта - 194 (hex).

<del>Не байта, а слова -- умножай на два.</del> таки уже умножено...


[САМОЗАБАНЕН]

Сообщение отредактировал fk0 - Воскресенье, 2008-01-20, 21:50:48
 
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Поиск:

the DLCorp © 2006