Page 6 of 7

Re: нужно uInt32.toString() на асме

PostPosted: 28 Dec 2011, 07:42
by fk0
TS-Labs wrote:Насколько я понимаю, гцц под авр перепиливали на коленке.


Некоторые не умеют пользоваться ни опенсоурсом, ни ворованным. А только звездят и дальше ассемблерного листинга (куда нормальные люди смотрят только когда уж совсем припёрло, а так вообще никогда и не заглядывают).
GCC не идеал, но по сравнению с некоторыми вполне достойный компилятор, и в некоторых вещах очень даже превосходит других.

Re: нужно uInt32.toString() на асме

PostPosted: 28 Dec 2011, 07:48
by fk0
TS-Labs wrote:Мне какая разница как он изнутре? Он наружу ахинею генерит.


Ты вначале научись сравнивать адекватно -- на проектах более чем десяток КБайт.

Re: нужно uInt32.toString() на асме

PostPosted: 28 Dec 2011, 07:52
by fk0
Распрямляй руки вообще:

Code: Select all
unsigned char f(unsigned long v)
{
unsigned long x;
unsigned char y;
   x=v+1;
   y=x>>24;
   return y;
}



avr-gcc -O2 -S test.c

Code: Select all
   .file   "test.c"
__SREG__ = 0x3f
__SP_H__ = 0x3e
__SP_L__ = 0x3d
__CCP__ = 0x34
__tmp_reg__ = 0
__zero_reg__ = 1
   .text
.global   f
   .type   f, @function
f:
/* prologue: function */
/* frame size = 0 */
/* stack size = 0 */
.L__stack_usage = 0
   subi r22,lo8(-(1))
   sbci r23,hi8(-(1))
   sbci r24,hlo8(-(1))
   sbci r25,hhi8(-(1))
   mov r24,r25
/* epilogue start */
   ret
   .size   f, .-f


$ avr-gcc --version
avr-gcc (GCC) 4.5.3
Copyright (C) 2010 Free Software Foundation, Inc.
This software is жалкая поделка финских студентов.

Re: нужно uInt32.toString() на асме

PostPosted: 28 Dec 2011, 08:18
by TS-Labs
fk0 wrote:Я тебе как профессионал PIC-программирования могу сказать

Господа, напомните о чем мы тут сремся?
У меня такое чювство, что все трое говорят про разные вещи, и оба обсирают друг друга.
Я говорю о двух вещах:
1) гцц делает страшные проебы в генерации кода, в остальном замечательнейший компилер, особенно когда его нечем заменить.
2) асмовые вставки нужны когда требуется рассчитать все по тактам. Например нарисовать строку на лапе видео на монитор по инту.

Re: нужно uInt32.toString() на асме

PostPosted: 28 Dec 2011, 08:33
by fk0
1) ты пиздишь -- не подтверждается (см. код выше). Если точней, у тебя компилятор где-то 2007-2008 года (в нём именно так и есть).

2) не нужны. для этого аппаратный таймер есть обычно, или прерывание.

Ассемблер нужен для оптимизации на уровне алгоритма (а не кодогенерации -- нефиг сравнивать компиляторы) в том числе. Экзотика нужная вообще редко. Давайте уж скажем прямо -- просто некоторые C ниасилили.

Re: нужно uInt32.toString() на асме

PostPosted: 28 Dec 2011, 08:47
by TS-Labs
fk0 wrote: у тебя компилятор где-то 2007-2008 года

WinAVR-20100110, гцц вкомплекте.
Где скачать новее?
fk0 wrote: для этого аппаратный таймер есть обычно, или прерывание.

Офигеть... "Для этого есть молоток или гвоздь".
Таймер же и вызывает прерывание. А вот действия проца с этого момента должны начинаться чотко по тактам. Я о процедуре обработки инта. Асм это обеспечивает, си - нет.
fk0 wrote:Экзотика нужная вообще редко.

Согласен, рассматриваю экзотический случай. В большинстве кейзов такая точность не нужна.
fk0 wrote:просто некоторые C ниасилили.

Си вполне винрарный езык, и что его осиливать? Я на нем вполне нормально пишу и не имею ничего против. Почитай лучше сколько ненависти я сгенерил по поводу того что ево-досы пишутся на асме, а потом говори.

Да и вообще, сбавь тон. Я не тролю. У тебя какой то нервный тик уже начинается, ёмаё.

Re: нужно uInt32.toString() на асме

PostPosted: 28 Dec 2011, 08:53
by TS-Labs
avr-gcc (WinAVR 20100110) 4.3.3
Извиняюсь, жыву подвиндовсом. Свежее нема. Линукс ипал врот...

Re: нужно uInt32.toString() на асме

PostPosted: 28 Dec 2011, 09:29
by KOE
lvd wrote:Все мои прошивки %username% может откомпилить на фрее квартусе и авр-гцц.

Спокойно и без проблем пользуешь ворованный софт, при этом призываешь других так не делать?

Re: нужно uInt32.toString() на асме

PostPosted: 28 Dec 2011, 09:31
by lvd
KOE wrote:Спокойно и без проблем пользуешь ворованный софт, при этом призываешь других так не делать?

Где я ПРИЗЫВАЛ?

Re: нужно uInt32.toString() на асме

PostPosted: 28 Dec 2011, 09:32
by lvd
Кзаде КОЕ, раз уж ты закастовался в тред, напоминаю про фотки111!