Как я забавляюсь...
|
|
KOE | Дата: Воскресенье, 2008-01-20, 20:59:24 | Сообщение # 31 |
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 2318
Статус: 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
Статус: 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
Статус: Offline
| Конец листинга: Code
0000012a <_exit>: 12a: ff cf rjmp .-2 ; 0x12a <_exit> То есть, последний байт $254 ИАР СОСЁТ!!! В аттаче полный листинг и хекс
Многого нет здесь: http://lvd.nedopc.com
|
|
| |
fk0 | Дата: Воскресенье, 2008-01-20, 21:23:52 | Сообщение # 34 |
Активист
Группа: Человеки
Сообщений: 178
Статус: 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
Статус: Offline
| Ну это еще не показатель. Тестировать надо на более сложных программах.
Мы рождены, чтоб сказку сделать былью "Кто не обломался, тем еще предстоит"
|
|
| |
lvd | Дата: Воскресенье, 2008-01-20, 21:31:09 | Сообщение # 36 |
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 2528
Статус: Offline
| Quote (KOE) Ну это еще не показатель. Тестировать надо на более сложных программах. Ну померяй... К авростудии и виноавру ключей полдня искать не надо =) А я для себя сделал вывод, что винавр говна ненужного не цепляет или цепляет по минимуму для простейших проектов.
Многого нет здесь: http://lvd.nedopc.com
|
|
| |
KOE | Дата: Воскресенье, 2008-01-20, 21:34:44 | Сообщение # 37 |
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 2318
Статус: Offline
| ОГА! А фко-то прав был. Перекомпилил и передизасмил проект. Получил адрес последнего байта - 194 (hex). А если отбросить мусор, то 110 (hex).
Мы рождены, чтоб сказку сделать былью "Кто не обломался, тем еще предстоит"
Сообщение отредактировал KOE - Воскресенье, 2008-01-20, 21:43:59 |
|
| |
fk0 | Дата: Воскресенье, 2008-01-20, 21:43:46 | Сообщение # 38 |
Активист
Группа: Человеки
Сообщений: 178
Статус: Offline
| Quote (KOE) Ну это еще не показатель. Тестировать надо на более сложных программах. Собери, посмотри, сравни.
[САМОЗАБАНЕН]
|
|
| |
lvd | Дата: Воскресенье, 2008-01-20, 21:44:14 | Сообщение # 39 |
Retry, Abort, Ignore?
Группа: Человеки
Сообщений: 2528
Статус: Offline
| Quote (KOE) ОГА! А фко-то прав был. Перекомпилил и передизасмил проект. Получил адрес последнего байта - 194 (hex). А где ихекс?
Многого нет здесь: http://lvd.nedopc.com
|
|
| |
fk0 | Дата: Воскресенье, 2008-01-20, 21:47:45 | Сообщение # 40 |
Активист
Группа: Человеки
Сообщений: 178
Статус: Offline
| Quote (KOE) Перекомпилил и передизасмил проект. Получил адрес последнего байта - 194 (hex). <del>Не байта, а слова -- умножай на два.</del> таки уже умножено...
[САМОЗАБАНЕН]
Сообщение отредактировал fk0 - Воскресенье, 2008-01-20, 21:50:48 |
|
| |