AVR GCC&IAR

Jan 06, 2004 Last reply: 22 years ago 1699 Replies

MP>> Кто-нибудь считает, что он смог бы такое написать? ;)

AM> кто он?

MP> Кто-то кроме тебя в здравом уме и без шпаргалки.

Это наезд? Аргументы кончились?

MP>> Как на счет поменять битики (ножки портов) ? ;) AM> #define P10 0x90 AM> #define P11 0x91 AM> #define P12 0x92 AM> #define P13 0x93

MP> Претензии только к этому куску, если я каким-то образом должен помнить MP> соответствие байта операнда бит-функции какому-либо мнемоническому обозначению MP> - чем это вообще отличается от программирования в машинных кодах?

Поясни еще раз, где здесь программирование в машинных кодах?

for (;;) { LED = BUTTON; }

MP> Следущая стадия маразма - запомнить 2 опкода переброса через C флаг и писать MP> такие конструкции через db ;)

Это стадия маразма при писании на ассемблере. На Си вообще нет доступа к флагу С, там более возможности всовывать куда-то db.

MP>> Кто-нибудь понял бы это, если бы там небыло коментариев? AM> где ты видишь комментарии?

MP> А там где 0x90 в define были - и правильно были, а то мало бы кто понял откуда MP> берется 0x90 и как оно коррелирует с p1.0

Ну что ты из себя изображаешь дурочка? Сам все понял, ответить по существу нечего, взамен начинаешь глупо улыбаться и придираться к запятым.

Я тебе привел более понятный код

Это обычно в файле типа 8x51.h #define P10 0x90 #define P11 0x91 #define P12 0x92 #define P13 0x93

Это в каком нибудь файле pins.h #define BUTTON_PORT P10 #define LED_PORT P11

А это собственно объявление пинов. sbit BUTTON = BUTTON_PORT; sbit LED = LED_PORT;

Смущает sbit ? Ну введено расширение языка в Кейл х51, чтобы можно было использовать битовые опреции. И что?

В твоем приеме эти же 2 строки выглядят как: #define LED P0.0 #define BUTTON P3.0

чем это лучше/хуже. А главное - это собственно не код программы, а объявляения переменных. К понятности собственно кода без каких либо комментарием претензии есть?

for (;;) { LED = BUTTON; }

MP> >> Специально умолчал для какого процессора переписывал? ;) Если для DO> Для того же самого.

MP> Для меня сама идея - бредова, что можно такого написать на асме 11-го проца, MP> что нельзя было-бы вопервых понять до последнего байта, во вторых поддерживать MP> в том виде что есть... была бы задача и оплата.

У тебя видимо в запасе есть машина времени, или какой-то замедлитель времени. Поделись, а?

DO> Эффективный код - не самоцель.

MP> Для тебя - может быть.

Да для всех. Пока релтайм соблюдается и программа влазит, бОльшая эффективность не дает никакого выигрыша.

MP> В любом случае набор процессоров доступных в одном конкретно взятом городе MP> ограничен и сильно.

:)))) Этот аргумент у меня вызвал почти истерический хохот. Спасибо, повеселил с утра.

MP> Кроме того для малых задач существуют абсолютно паралельные MP> архитектуры которые полностью заменяют друг друга, и можно выбирать то, что MP> нравится. Практически PIC и AVR например полностью взаимозаменяемые MP> архитектуры. Конечно где-то есть достоинства и недостатки, но если бы например MP> одного из этих семейств небыло - мир бы не остановился!

А если бы в твоем городе не было доступно ни одного семейства, ты бы наверное пошел в дворники ? :)

Hi Ilia.

15 Jan 2004, 22:03, Ilia Tarasov writes to Dimmy Timchenko:

DT> á ðë-ÛÎÙÊ ÐpÏÃÅÓÓÏp "ÎÅ ÞÉÈÁÌ" ÎÁ Îţ? ÷ӣ pÁ×ÎÏ ×ӣ × ÍÁÛÉÎÎÙÅ ÓÌÏ×Á DT> ÏÔÏÂpÁÖÁÅÔÓÑ. á ËÏÅ-ËÔÏ, ×pÏÄÅ ÂÙ, ×ÏÏÂÝÅ ÆÕÎËÃÉÏÎÁÌØÎÙÅ ÑÚÙËÉ ÎÁ íë DT> ÐpÉÍÅÎÑÅÔ...

IT> ÷ÏÔ ÉÍÅÎÎÏ ÞÔÏ ÞÉÈÁÌ. ïÎ ×ÅÄØ ÔÏÖÅ ÃÉÆpÏ×ÁÑ ÜÌÅËÔpÏÎÉËÁ. ;)

åÓÌÉ ÔÙ ÚÎÁÅÛØ ÁpÈÉÔÅËÔÕpÕ ÖÅÌÅÚÁ, ÔÏ É ÔÉÐÙ ÂÕÄÅÛØ ÉÓÐÏÌØÚÏ×ÁÔØ "ÐpÉÂÌÉ֣ÎÎÙÅ Ë pÅÁÌØÎÏÓÔÉ". á ÐÌÏÈÏÍÕ ÐpÏÇpÁÍÍÉÓÔÕ É ÁÓÓÅÍÂÌÅp ÎÅ ÐÏÍÏÖÅÔ. :)

IT> á ËÔÏ ÐpÉÍÅÎÑÅÔ ÆÕÎËÃÉÏÎÁÌØÝÉÎÕ ÎÁ íë? é ÇÌÁ×ÎÏÅ, ÚÁÞÅÍ?

úÁÇÌÑÎÕÌ ×ÞÅpÁ × SU.SOFTW (ÕÖ ÎÅ ÐÏÍÎÀ ÓËÏÌØËÏ ÌÅÔ Ñ ÔÁÍ ÎÅ ÂÙÌ) É Õ×ÉÄÅÌ ×ÏÔ ÞÔÏ:

Area : SU.Softw Date : Wed Jun 18, 00:29 From : Vadim Radionov 2:5020/400 To : "Nikita V. Belenki" Subj : éÎÔÅpÆÅÊÓÙ É óÏÏÂÝÅÎÉÑ

From: Vadim Radionov snipped-for-privacy@zfs.lg.ua>

Nikita V. Belenki snipped-for-privacy@kits.net wrote:

NVB>>> äÁ ÞÔÏ ×ÁÓ ×ÓÅÈ ÔÁË ÎÁ ×ÙÞÉÓÌÅÎÉÑ ÔÑÎÅÔ?

NVB>>> ëÏÇÄÁ Ñ ÚÁÐÉÓÙ×ÁÀ ÎÅËÏÔÏpÏÅ ÚÎÁÎÉÅ (ÎÕ, ÎÁÐpÉÍÅp, ×ӣ ÔÏ ÖÅ "ÐpÉ NVB>>> ÉÚÍÅÎÅÎÉÉ ÌÉÞÎÙÈ ÄÁÎÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÑ ÎÕÖÎÏ ÏÔÐpÁ×ÉÔØ ÐÏ email NVB>>> Õ×ÅÄÏÍÌÅÎÉÅ ×ÓÅÍ ÁÄÍÉÎÉÓÔpÁÔÏpÁÍ" (*)), Ñ ÔÅÍ ÓÁÍÙÍ ÎÅ _ÏÐpÅÄÅÌÑÀ_ NVB>>> ËÁËÏÅ-ÔÏ ×ÙÞÉÓÌÅÎÉÅ.

ëÓÔÁÔÉ, ÅÓÔØ ÐpÉÍÅpÙ É ÐÏÐpÉËÏÌØÎÅÅ: ÎÁÐpÉÍÅp interrupt-driven ÐpÏÇpÁÍÍÁ × ËÏÎÔpÏÌÌÅpÅ, × ËÏÔÏpÏÍ ïúõ ÐÏpÑÄËÁ 256 ÂÁÊÔ. (ÉÍÅÎÎÏ ÂÁÊÔ, ÎÁ ÎÅ ËÉÌÏÂÁÊÔ) âÕÄÅÛØ ÕÄÉ×ÌÅÎ, ÎÏ ÏÄÎÁ ÉÚ ÔÁËÉÈ ÐpÏÇpÁÍÍ ÎÁÐÉÓÁÎÁ ÎÁ æñ, ÐÏÔÏÍÕ ËÁË ÕÄÏÂÎÅÅ:

(ÄÁÌÅÅ ÉÄÅÔ ÕÐpÏÝÅÎÎÙÊ ËÏÄ ÅÅ)

-- òÅÇÕpÉpÏ×ËÁ ÓËÏpÏÓÔÉ ×pÁÝÅÎÉÑ Ä×ÉÇÁÔÅÌÑ Ó ÐÏÍÏÝØÀ ûéí ds = init x = 0 in -- ds - ÜÔÁÌÏÎÎÁÑ ÓËÏpÏÓÔØ { IncSpd ==> x + 1, DecSpd ==> x - 1}, s = init x = 0 in -- s - pÅÁÌØÎÁÑ ÓËÏpÏÓÔØ × ÍÏÍÅÎÔ Timer1 { Timer1 ==> 0 later, Stripe ==> x + 1}, dc = init x = 0 in { Timer1 ==>

if x < 100 and s < ds then x + 1 else if x > 0 and s > ds then x - 1 else x}, count = init x = 0 in { Timer0 ==> if x >= 100 then 0 else x + 1}, output = if count < dc then 1 else 0 -- output - pÅÇÉÓÔp

üÔÏ ÄÏÌÖÎÏ pÁÚ×ÅÑÔØ ÔÁËÉÅ ÍÉÆÙ, ËÁË: 1) æñ × ÏÂÑÚÁÔÅÌØÎÏÍ ÐÏpÑÄËÅ (ÔÏÅÓÔØ ×ÓÅÇÄÁ) ÔpÅÂÕÅÔ GC. 2) ÔpÅÂÕÅÔ ÍÎÏÇÏ ÐÁÍÑÔÉ. 3) ÄÌÑ ÐpÏÇpÁÍÍÉpÏ×ÁÎÉÑ ÍÉËpÏËÏÎÔpÏÌÌÅpÏ× ÎÅ ÐÏÄÈÏÄÉÔ
÷ÏÏÂÝÅ-ÔÏ ÐÏÔÅÎÃÉÁÌ Õ ÆÕÎËÃÉÏÎÁÌØÎÙÈ ÑÚÙËÏ× ÄÌÑ íë ÅÓÔØ, ÎÏ, ×ÉÄÉÍÏ, É ÖÅÌÅÚÏ ÎÕÖÎÏ ÞÕÔØ ÄpÕÇÏÅ.

DT> á ÚÁÞÅÍ ÉÈ ÐpÉ×ÏÄÉÔØ? íÏÖÎÏ ÐpÅÏÂpÁÚÏ×Ù×ÁÔØ Ó ÐÏÍÏÝØÀ Ñ×ÎÏ ÚÁÄÁ×ÁÅÍÙÈ DT> ÐpÁ×ÉÌ.

IT> äÁ, ÔÏÇÄÁ ÜÔÏ × compile-time ÍÏÖÎÏ ÄÅÌÁÔØ. é ÚÁÏÄÎÏ ÐpÁ×ÉÌÁ IT> ÐÏÄÏÇÎÁÔØ ÐÏÄ ËÌÁÓÓ ÚÁÄÁÞ.

ëÏÎÅÞÎÏ! íÅÎÑ ÐÏËÁ ËÏpÏÂÉÔ, ÞÔÏ Ñ × ÔÏÍ ÖÅ IAR C ÓÐÏËÏÊÎÏ ÐpÉÓ×ÁÉ×ÁÀ ÐÅpÅÍÅÎÎÏÊ bool ÃÅÌÏÅ ÚÎÁÞÅÎÉÅ. ;)

DT> äÌÑ ÆÏpÔÁ ÎÁÄÏ ÉÍÅÔØ ÏÂpÁÔÎÏÅ ÐÏÌØÓËÏÅ ÍÙÛÌÅÎÉÅ. :) èÏÔÑ ËÁË DT> ÉÎÔÅpÐpÅÔÉpÕÀÝÉÊ ÑÚÙË - ÏÞÅÎØ ÓẸ́Î...

IT> ôÁË ÐÏÌÕÞÉÌÏÓØ, ÞÔÏ ÉÍÅÀ. :) ëpÏÍÅ ÔÏÇÏ, ÎÁ æÏpÔÅ ÐpÉ ÖÅÌÁÎÉÉ ÍÏÖÎÏ IT> ÐÉÓÁÔØ É ÉÎÆÉËÓÎÏ, ÎÅ ÔÁË ÕÖ É ÔpÕÄÎÏ ÄÅÌÁÅÔÓÑ.

äÁ, ÇÉÂËÏÓÔØ ÔÁÍ ÚÁÍÅÞÁÔÅÌØÎÁÑ. HÏ ËÁË ÓpÅÄÓÔ×Ï ÏÂÝÅÎÉÑ ÐpÏÇpÁÍÍÉÓÔÏ× ÏÎ ÍÁÌÏÐpÉÇÏÄÅÎ.

Dimmy.

Thu, 15 Jan 2004 17:15:36 +0300 Yuriy K wrote to Harry Zhurov:

YK>>>>> ðÒÉ ÁËËÕÒÁÔÎÏÍ ÎÁÐÉÓÁÎÉÉ ÐÒÏÂÌÅÍ ÂÕÄÅÔ ÓÕÝÅÓÔ×ÅÎÎÏ ÍÅÎØÛÅ. HZ>>>> ðÒÉ ÞÅÍ ÔÕÔ "ÁËËÕÒÁÔÎÏÅ ÉÓÐÏÌØÚÏ×ÁÎÉÅ"?

HZ>> ÉÍÅÅÍ ÏÞÅÎØ ÐÒÏÓÔÏÊ ÍÁËÒÏÓ: HZ>> #define SQUARE(x) x*x

HZ>> int b = SQUARE(a + 2);

HZ>> ðÏÓÌÅ ÍÁËÒÏÐÏÄÓÔÁÎÏ×ËÉ ÐÏÌÕÞÉÍ: a + 2 * a + 2 => a + 2*a + 2 => 3*a + HZ>> 2, Á ÎÅ a*a + 2*a*2 + 2*2 => a*a + 4*a + 4

YK> ëÌÁÓÓÉÞÅÓËÉÊ ÐÒÉÍÅÒ ÎÅÐÒÁ×ÉÌØÎÏ ÎÁÐÉÓÁÎÎÏÇÏ ÍÁËÒÏÓÁ, ÚÁÍÅÞÁÔÅÌØÎÏ YK> ÐÏÄÔ×ÅÒÖÄÁÀÝÉÊ ÍÏÉ ÓÌÏ×Á. YK> éÍÅÎÎÏ Ï ÜÔÏÍ Ñ É ÇÏ×ÏÒÉÌ, ÞÔÏ ÐÉÓÁÔØ ÎÁÄÏ _ÁËËÕÒÁÔÎÏ_.

ôÙ, ËÁË ×ÓÑËÉÊ ÍÕÖÉË, ÚÁÄÎÉÍ ÕÍÏÍ ËÒÅÐÏË! ô.Å. ÏÂßÑÓÎÑÔØ ÐÒÉÞÉÎÕ ÐÒÏÉÚÏÛÅÄÛÅÇÏ ÔÙ ÇÏÒÁÚÄ!! îÏ ÅÓÔØ Õ×ÅÒÅÎÎÏÓÔØ, ÞÔÏ ËÏÇÄÁ ×ÏÚÎÉËÎÕÔ ÇÒÁÂÌÉ Ó ÍÁËÒÏÓÁÍÉ, ÔÏ ÔÙ, ËÁË É ×ÓÅ, ÂÌÁÇÏÐÏÌÕÞÎÏ ÎÁÓÔÕÐÉÛØ ÎÁ ÎÉÈ!!! ñ ÔÅÂÅ ÐÒÉÎÃÉÐ ÐÒÏÄÅÍÏÎÓÔÒÉÒÏ×ÁÌ, Á ÔÙ × ÞÁÓÔÎÏÓÔÉ ÌÅÚÅÛØ... ìÁÄÎÏ, ÈÏÞÅÛØ ÂÙÔØ ÓÁÍ ÓÅÂÅ ÚÌÏÂÎÙÍ ÂÕÒÁÔÉÎÏÊ - ÂÕÄØ!

YK> #define SQUARE(x) ((x)*(x))

YK> ëÁË ÔÙ ÓÐÒÁ×ÅÄÌÉ×Ï ÚÁÍÅÔÉÌ, Ï ÜÔÏÍ ÎÁÐÉÓÁÎÏ ×Ï ×ÓÅÈ ÕÞÅÂÎÉËÁÈ.

÷ ÕÞÅÂÎÉËÁÈ ÎÅ ÜÔÏÔ ÐÒÉÍÅÒ ÐÒÉ×ÏÄÉÔÓÑ, Á ÐÒÉÍÅÒ Ó ÎÉÚËÏÐÒÉÏÒÉÔÅÔÎÙÍÉ ÏÐÅÒÁÃÉÑÍÉ ÔÉÐÁ:

#define doubling(x) x+x

ÇÄÅ ×Ï ÉÚÂÅÖÁÎÉÅ ÐÒÏÂÌÅÍ ÒÅËÏÍÅÎÄÕÀÔ ÓËÏÂËÉ ÉÓÐÏÌØÚÏ×ÁÔØ. á ÔÕÔ ÕÍÎÏÖÅÎÉÅ. üÔÏ ÒÁÚ. ÷Ï-×ÔÏÒÙÈ, ÏÎÏ ×ÓÅ ÒÁ×ÎÏ ÐÒÏÂÌÅÍ ÎÅ ÒÅÛÁÅÔ:

int a; int f() { a++; return a; };

void slon() { int b = SQUARE(f()); }

ðÏÌÕÞÉÛØ ÓÏ×ÓÅÍ ÎÅ ÔÏ, ÞÔÏ ÏÖÉÄÁÅÛØ! é ÇÒÁÂÌÅÊ ÔÁËÉÈ ÔÁÍ ÍÏÒÅ. é ÚÁÍÁÅÛØÓÑ ÏÂÏ ×ÓÅÍ ÐÏÍÎÉÔØ É "ÐÉÓÁÔØ ÁËËÕÒÁÔÎÏ". ôÅÍ ÂÏÌÅÅ, ÞÔÏ É ÔÁË ÅÓÔØ ÎÁ ÞÔÏ ÐÏÔÒÁÔÉÔØ ÕÓÉÌÉÑ É ÁËËÕÒÁÔÎÏÓÔØ.

HZ>> åÝÅ ÏÄÉÎ ÐÒÉÍÅÒ, ÔÏÖÅ ÏÞÅÎØ ÐÒÏÓÔÏÊ: HZ>> #define MAX(x, y) ((x) > (y) ? (x) : (y)) HZ>> int c = MAX(a, b++); HZ>> þÔÏ ÉÍÅÅÍ × ÓÌÕÞÁÅ ÍÁËÒÏÐÏÄÓÔÁÎÏ×ËÉ: HZ>> (a) > (b++) ? (a) : (b++)

HZ>> inline void max(int a, int b) { return x > y ? x : y; } HZ>> ÔÁËÉÈ ÇÒÁÂÌÅÊ ÇÁÒÁÎÔÉÒÏ×ÁÎÎÏ ÎÅÔ.

YK> úÁÍÅÔÉÍ, ÞÔÏ ÇÒÁÂÌÅÊ ÓÏ×ÓÅÍ ÎÅ ×ÏÚÎÉËÁÅÔ ÅÓÌÉ ÎÅ ÉÓÐÏÌØÚÏ×ÁÔØ ×ÙÒÁÖÅÎÉÑ Ó YK> side effects × ÁÒÇÕÍÅÎÔÁÈ ÍÁËÒÏÓÁ, ÞÔÏ ÓÁÍÏ ÐÏ ÓÅÂÅ ÈÏÒÏÛÉÊ ÔÏÎ.

á ÇÄÅ ÔÁÍ ×ÙÒÁÖÅÎÉÅ Ó side effects? éÎËÒÅÍÅÎÔ ÁÒÇÕÍÅÎÔÁ, ÞÔÏ ÌÉ? ôÕÔ ×ÓÅ ÎÏÒÍÁÌØÎÏ É ÞÅÔËÏ ÏÐÒÅÄÅÌÅÎÏ Ó ÔÏÞËÉ ÚÒÅÎÉÑ ÑÚÙËÁ - ÓÏÚÄÁÅÔÓÑ ËÏÐÉÑ 'b', ÐÏÔÏÍ 'b' ÉÎËÒÅÍÅÎÔÉÒÕÅÔÓÑ, ÐÏÔÏÍ ×ÙÚÙ×ÁÅÔÓÑ ÆÕÎËÃÉÑ, ËÏÔÏÒÏÊ ÐÅÒÅÄÁÅÔÓÑ ÔÁ ËÏÐÉÑ 'b'. üÔÏÔ ËÏÄ ÓÏ×ÅÒÛÅÎÎÏ ÌÅÇÁÌÅÎ, ÞÉÔÁÂÅÌÅÎ É ÕÄÏÂÅÎ. é ÚÁÄÎÉÃÁ ×ÏÚÎÉËÁÅÔ ÔÏÌØËÏ ÉÚ-ÚÁ ÍÁËÒÏÓÁ.

YK> ÷ Ô×ÏÅÍ ÓÌÕÞÁÅ, ×ÍÅÓÔÏ

HZ>> int c = MAX(a, b++);

YK> ÎÁÄÏ ÐÉÓÁÔØ

YK> int c = MAX(a, b); YK> b++;

÷ÏÏÂÝÅ-ÔÏ, ÎÅ ×ÓÅÇÄÁ ÍÏÖÎÏ ÔÁË ÓÄÅÌÁÔØ - 'b' ÓÁÍÁ ÐÏ ÓÅÂÅ ÍÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ×ÎÕÔÒÉ ÆÕÎËÃÉÉ, ËÕÄÁ ÐÅÒÅÄÁÎÏ ÅÅ ÚÎÁÞÅÎÉÅ, Ô.Þ. ÜÔÏ ÎÅÐÏÌÎÏÃÅÎÎÁÑ ÚÁÍÅÎÁ.

YK> úÁÏÄÎÏ ÉÓÈÏÄÎÙÊ ÔÅËÓÔ ÓÔÁÎÅÔ ÐÏÎÑÔÎÅÅ ÐÒÉÛÅÄÛÅÍÕ ÐÏÓÌÅ ÔÅÂÑ ÐÒÏÇÒÁÍÍÉÓÔÕ.

á-Á, ÎÕ ÅÓÌÉ × ÜÔÏÍ ÐÒÉÞÉÎÁ, ÔÏ ÔÏÇÄÁ ÓÔïÉÔ ÐÏÔÒÁÔÉÔØ ÕÓÉÌÉÑ ÎÁ ÏÂÕÞÅÎÉÅ ÜÔÏÇÏ ÐÒÏÇÒÁÍÍÉÓÔÁ, ÐÏÔÏÍÕ ËÁË ÅÓÌÉ ÕÖ ÏÎ ÔÁËÉÅ ×ÅÝÉ ÎÅ ÚÎÁÅÔ, ÔÏ ÞÔÏ ÏÎ ×ÏÏÂÝÅ ÚÎÁÅÔ? ÷ ÏÂÝÅÍ, Ô×ÏÉ ×ÏÚÒÁÖÅÎÉÑ ÄÁÖÅ ÎÁ ÏÔÍÁÚËÉ ÎÅ ÔÑÎÕÔ.

HZ>> üÔÉÈ ÐÒÉÍÅÒÏ×, ÄÕÍÁÀ, ÄÏÓÔÁÔÏÞÎÏ. ïÎÉ ÏÞÅÎØ ÐÒÏÓÔÙÅ É ÎÁÇÌÑÄÎÏ HZ>> ÉÌÌÀÓÔÒÉÒÕÀÔ ÓËÒÙÔÎÏÅ ÎÅÐÒÁ×ÉÌØÎÏÅ ÐÏ×ÅÄÅÎÉÅ, ×ÏÚÎÉËÁÀÝÉÅ ÏÔÎÀÄØ ÎÅ ÉÚ HZ>> ÓÌÏÖÎÏÓÔÉ ÍÁËÒÏÓÏ×, Á ÉÚ ÓÏÞÅÔÁÎÉÑ ÏÔÓÕÔÓÔ×ÉÑ ÐÒÏ×ÅÒËÉ ÐÒÁ×ÉÌ ÑÚÙËÁ É HZ>> ËÏÎÔÅËÔÓÁ ÉÓÐÏÌØÚÏ×ÁÎÉÑ.

YK> ôÏÞÎÅÅ ÏÎÉ ÐÏÄÔ×ÅÒÖÄÁÀÔ, ÞÔÏ ÍÁËÒÏÓÙ ÎÕÖÎÏ ÐÉÓÁÔØ É ÉÓÐÏÌØÚÏ×ÁÔØ YK> _ÁËËÕÒÁÔÎÏ_. ï ÞÅÍ Ñ É ÇÏ×ÏÒÉÌ.

ô.Å. ÉÈ ÌÕÞÛÅ ÎÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÒÉ ÌÀÂÏÊ ×ÏÚÍÏÖÎÏÓÔÉ. ôÙ, Ñ ×ÉÖÕ, × Ó×ÏÅÍ ÒÅÐÅÒÔÕÁÒÅ - ÕУÒÓÑ É ÎÉ × ËÁËÕÀ ÎÅ ÈÏÞÅÛØ ÐÒÉÚÎÁÔØ Ó×ÏÀ ÎÅÐÒÁ×ÏÔÕ ÄÁÖÅ × ÜÔÏÍ Ñ×ÎÏÍ ÓÌÕÞÁÅ. úÎÁÑ ÔÅÂÑ ÕÖÅ ÎÅ ÐÅÒ×ÙÊ ÇÏÄ, × ÏÞÅÒÅÄÎÏÊ ÒÁÚ ×ÉÖÕ, ÞÔÏ ÄÏËÁÚÙ×ÁÔØ ÄÁÖÅ Ó ÐÒÉÍÅÒÁÍÉ ÂÅÓÐÏÌÅÚÎÏ: ÈÏÞÅÛØ ÕÐÏÒÓÔ×Ï×ÁÔØ × Ó×ÏÅÊ ÎÅÐÒÁ×ÏÔÅ - Ô×ÏÅ ÐÒÁ×Ï, ÎÏ Õ ÍÅÎÑ ÂÏÌÅÅ ÎÅÔ ÎÉ ÓÉÌ, ÎÉ ×ÒÅÍÅÎÉ, ÎÉ ÖÅÌÁÎÉÑ ÕÞÁÓÔ×Ï×ÁÔØ × ÜÔÏÍ.

Thu, 15 Jan 2004 17:28:43 +0300 Yuriy K wrote to Harry Zhurov:

[...]

HZ>> ÷ ÎÅÐÌÀÓÏ×ÏÍ ÎÁÄÏ ÐÒÏÓÔÏ ÐÉÓÁÔØ ÅÝÅ ÓÌÏ×Ï static:

HZ>> static const c = 10;

HZ>> ðÏÓÌÅ ÜÔÏÇÏ ÏÂßÅËÔ ÐÏÌÕÞÁÅÔ ×ÎÕÔÒÅÎÎÅÅ Ó×ÑÚÙ×ÁÎÉÅ, É ÅÓÌÉ ÁÄÒÅÓ ÜÔÏÇÏ HZ>> ÏÂßÅËÔÁ ÎÅ ÂÅÒÅÔÓÑ, ÔÏ ÌÀÂÏÊ ÐÒÉÌÉÞÎÙÊ ËÏÍÐÉÌÑÔÏÒ ÄÏÌÖÅÎ ÓÏÐÔÉÍÉÚÉÒÏ×ÁÔØ HZ>> ÏÂÒÁÝÅÎÉÅ ÄÏ ÒÁÂÏÔÙ ÓÏ ÚÎÁÞÅÎÉÅÍ.

YK> IAR C for 6812 rev 2.43F (the latest and greatest one)

YK> //------------------------------------------------------------------- YK> typedef unsigned char U8; // 8 bits

YK> static const U8 c = 8; YK> //#define c 8 YK> //------------------------------------------------------------------ YK> U8 func (U8 val) { return val;} YK> //------------------------------------------------------------------ YK> void main (void) YK> { YK> U8 i; YK> for (i = 0; i < c; i++) YK> { YK> func(i + c); YK> } YK> } YK> //-------------------------------------------------------------------

YK> ÒÁÄÏÓÔÎÏ ÓÏÚÄÁÅÔ ÐÅÒÅÍÅÎÎÕÀ "Ó".

úÎÁÞÉÔ ÌÁÖÏ×ÙÊ ËÏÍÐÉÌÑÔÏÒ - ÎÁÐÉÛÉ éáòÁÍ ÐÉÓØÍÏ É ÓËÁÖÉ, ÞÔÏ ÉÈ ËÏÍÐÉÌÑÔÏÒ ÇÅÎÅÒÉÔ ÇÏףÎÎÙÊ ËÏÄ - ÎÅÔ ÎÉ ÏÄÎÏÊ ÐÒÉÞÉÎÙ ÒÁÚÍÅÝÁÔØ ÏÂßÅËÔ × ÐÁÍÑÔÉ - ÏÎ ÄÏÌÖÅÎ ÂÙÔØ ÓÏÐÔÉÍÉÚÉÒÏ×ÁÎ. ÷ ÓÌÅÄÕÀÝÅÊ ×ÅÒÓÉÉ ÉÓÐÒÁ×ÑÔ.

YK> ôÅÐÅÒØ ÅÝÅ ÒÁÓÓËÁÖÉ ÞÔÏ ÄÅÌÁÔØ, ÅÓÌÉ "Ó" ÉÓÐÏÌØÚÕÅÔÓÑ ËÁË ËÏÎÓÔÁÎÔÁ YK> × _ÎÅÓËÏÌØËÉÈ_ ÆÁÊÌÁÈ.

õÇÁÄÁÊ Ó ÔÒÅÈ ÒÁÚ, ÞÔÏ ÂÕÄÅÔ, ÅÓÌÉ static const U8 c = 8; ÐÏÌÏÖÉÔØ × ÚÁÇÏÌÏ×ÏÞÎÙÊ ÆÁÊÌ? ðÒÁ×ÉÌØÎÏ, ËÁÖÄÁÑ ÉÚ ÎÉÈ ÂÕÄÅÔ ÉÍÅÔØ ÌÏËÁÌØÎÕÀ ÏÂÌÁÓÔØ ×ÉÄÉÍÏÓÔÉ É ÎÅ ÂÕÄÅÔ ËÏÎÆÌÉËÔÏ×ÁÔØ, ÎÏ ÚÎÁÞÅÎÉÑ ÜÔÉÈ ËÏÎÓÔÁÎÔ ÏÓÔÁÎÕÔÓÑ ÔÅ ÖÅ. [...]

HZ>> ðÒÏ HC12 ÎÉÞÅÇÏ HZ>> ÓËÁÚÁÔØ ÎÅ ÍÏÇÕ, ÎÅ ÉÎÔÅÒÅÓÕÀÓØ. õ éáòÁ ÎÅÔ (ÐÏËÁ?). íÏÖÅÔ GCC ÅÓÔØ? åÝÅ, HZ>> ÓÌÙÛÁÌ, ÄÁ×ÎÏ ÅÓÔØ ËÁËÏÊ-ÔÏ ÏÔ HiWare.

YK> íÏÖÅÔ É ÅÓÔØ. ôÏÌØËÏ ÏÔÓÕÔÓ×ÉÅ inline ÜÔÏ ÎÅ ÅÓÔØ ÄÏÓÔÁÔÏÞÎÙÊ ÐÏ×ÏÄ ÔÒÁÔÉÔØ >> $10K ÎÁ ÁÐÇÒÅÊÄ ÓÏÆÔÁ É ÐÅÒÅÕÞÉ×ÁÔØ ×ÓÅÈ ÐÒÏÇÒÁÍÍÉÓÔÏ× ÎÁ ÄÒÕÇÏÊ YK> ËÏÍÐÉÌÑÔÏÒ. åÝÅ ÉÎÔÅÒÅÓÎÅÅ ÂÕÄÅÔ ÓÍÏÔÒÅÔØÓÑ ÓÏÐÒÏ×ÏÖÄÅÎÉÅ ÕÖÅ ÎÁÐÉÓÁÎÎÏÇÏ YK> ÓÏÆÔÁ. HÅÔ ÕÖ, ÓÐÁÓÉÂÏ, ÎÅ ÎÁÄÏ. ÷ ËÁËÏÍ-ÔÏ ÆÉÌÏÓÏÆÓËÏÍ ÓÍÙÓÌÅ ÔÙ ×ÏÚÍÏÖÎÏ YK> É ÐÒÁ×, ÎÏ ÓÕÒÏ×ÁÑ ÐÒÁ×ÄÁ ÖÉÚÎÉ ÐÏÂÅÖÄÁÅÔ Ô×ÏÒÞÅÓËÉÊ ÐÏÒÙ× ÐÒÏÇÒÁÍÍÉÓÔÁ...

îÁ×ÅÒÎÑËÁ ÅÓÔØ ÂÅÓÐÌÁÔÎÙÊ GCC.
ðÒÉ×ÅÔ Maxim!

Friday January 16 2004 03:24, Maxim Polyanskiy wrote to Alexander Torres:

MP> Hello, Alexander! MP>

MP> þÅÔ ñÎ× 15 2004, Alexander Torres ÐÉÓÁÌ Ë Maxim Polyanskiy ÐÏ ÐÏ×ÏÄÕ "AVR MP> GCC&IAR." MP>

MP>>> ÐÏ×ÏÄÕ "AVR GCC&IAR." âÙÓÔÒÅÅ ÍÉÛËÉ ÎÁ ÓÅ×ÅÒÅ cÄÏÈÎÕÔ, ÞÅÍ Õ ÍÅÎÑ MP>>> × ÍÁËÒÏÓÁÈ djnz/jz/jnz/jb/jnb × ÐÉËÅ ÇÌÀËÉ ÐÏÓÅÌÑÔÓÑ. AT>>>> äÁ ÜÌÅÍÅÎÔÁÒÎÏ - ÐÉÛÅÛØ ÉÈ Ä×Á ÒÁÚÁ ÐÏÄÒÑÄ, É ÐÒÉ×ÅÔ.. MP>>> HÅ ÐÏÎÑÌ ÐÒÉËÏÌÁ? ÷ ÏÄÎÏÊ ÓÔÒÏËÅ? úÁÞÅÍ? AT>> ðÏÞÅÍÕ × ÏÄÎÏÊ ÓÔÒÏËÅ? ÷ Ä×ÕÈ. HÏ ÐÏÄÒÑÄ. ÷ ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÍÁËÒÏÓÏ× AT>> - × ÜÔÏ ÍÅÓÔÅ ÍÏÇÕÔ ÂÙÔØ ÇÌÀËÉ. MP>

MP> HÅ ÍÏÖÅÔ ÂÙÔØ ÇÌÀËÏ× ÎÉËÁËÉÈ. ðÁÒÓÉÎÇ ÔÅËÓÔÁ ÐÒÉ ËÏÍÐÉÌÑÃÉÉ ÉÄÅÔ ÞÅÔËÏ MP> ÐÏÓÔÒÏÞÎÏ, ÒÁÚÎÙÅ ÓÔÒÏËÉ ÎÅ ÍÏÇÕÔ ×ÌÉÑÔØ ÄÒÕÇ ÎÁ ÄÒÕÇÁ ÎÉËÁËÉÍ ÏÂÒÁÚÏÍ, MP> ÔÁË ÞÔÏ ÉÌÉ ÐÒÉÍÅÒ, ÉÌÉ ÇÏÌÏÓÌÏ×ÎÏ.., ÉÌÉ ÇÌÀË ËÏÍÐÉÌÌÅÒÁ (ÞÔÏ ÎÅ ÅÓÔØ MP> ÇÌÀË ÑÚÙËÁ ÉÌÉ ÐÒÏÇÒÁÍÍÅÒÁ É ÍÏÖÅÔ ÒÁÓÓÍÁÔÒÉ×ÁÔÓÑ ÔÏÌØËÏ × ËÏÎÔÅÓÔÅ "ÇÕÁÎÏ MP> ÌÉ ËÏÍÐÉÌÌÅÒ X")!

ëÏÍÐÉÌÑÔÏÒ ÂÙÌ íðáóí, ÎÏ ×ÏÚÍÖÎÏ Ñ ÚÁ ÄÁ×ÎÏÓÔØÀ ÌÅÔ ÕÖÅ ÐÏÄÚÁÂÙÌ ÞÔÏ ÉÍÅÎÎÏ ÔÁÍ ÂÙÌÏ. ëÁÖÅÔÓÑ ×ÓÅ-ÔÁËÉ ÎÅ Ä×Á ÍÁËÒÏÓÁ ÐÏÄÒÑÄ, Á ÓÍÅÓØ ÍÁËÒÏÓÏ× × ÐÒÏÓÙÍÉ ÁÓÓÅÍÂÌÅÒÎÙÍÉ ËÏÍÁÎÄÁÍÉ, ÔÉÐÁ btfsz M djnz L

Alexander Torres, 2:461/28 aka 2:461/640.28 aka 2:5020/6400.28 aka snipped-for-privacy@yahoo.com

formatting link
,
formatting link
, ftp://altor.sytes.net

ðÒÉ×ÅÔ Maxim!

Friday January 16 2004 03:28, Maxim Polyanskiy wrote to Dima Orlov:

DO>> á ÍÎÅ ÐÏ-ÆÉÇ ÐÏÄ ËÁËÏÊ ÐÒÏÃÅÓÓÏÒ ÐÉÓÁÔØ ÎÁ ó. é ÍÏÊ ×ÙÂÏÒ ÐÒÏÃÅÓÓÏÒÁ DO>> ÏÐÒÅÄÅÌÑÅÔÓÑ ÅÇÏ ÔÅÈÎÉÞÅÓËÉÍÉ ÐÁÒÁÍÅÔÒÁÍÉ É ÃÅÎÏÊ, Á ÎÅ ÔÅÍ ÚÎÁÀ Ñ DO>> ÅÇÏ ÁÓÓÅÍÂÌÅÒ ÉÌÉ ÎÅÔ. MP>

MP> ÷ ÌÀÂÏÍ ÓÌÕÞÁÅ ÎÁÂÏÒ ÐÒÏÃÅÓÓÏÒÏ× ÄÏÓÔÕÐÎÙÈ × ÏÄÎÏÍ ËÏÎËÒÅÔÎÏ ×ÚÑÔÏÍ ÇÏÒÏÄÅ MP> ÏÇÒÁÎÉÞÅÎ É ÓÉÌØÎÏ.

á ÜÔÏ ÌÏËÁÌØÎÙÅ ÐÒÏÂÌÅÍÙ ÍÅÌËÉÈ ÉÚÇÏÔÏ×ÉÔÅÌÅÊ. ðÒÉ ÐÁÒÔÉÉ 20-100ÔÙÓ/ÇÏÄ - ÎÁÂÏÒ ÐÒÏÃÅÓÓÏÒÏ× ÂÕÄÅÔ ÌÀÂÏÊ ÉÚ ÓÕÝÅÓÔ×ÕÀÝÉÈ × ÍÉÒÅ.

MP> ëÒÏÍÅ ÔÏÇÏ ÄÌÑ ÍÁÌÙÈ ÚÁÄÁÞ ÓÕÝÅÓÔ×ÕÀÔ ÁÂÓÏÌÀÔÎÏ ÐÁÒÁÌÅÌØÎÙÅ MP> ÁÒÈÉÔÅËÔÕÒÙ ËÏÔÏÒÙÅ ÐÏÌÎÏÓÔØÀ ÚÁÍÅÎÑÀÔ ÄÒÕÇ ÄÒÕÇÁ, É ÍÏÖÎÏ ×ÙÂÉÒÁÔØ MP> ÔÏ, ÞÔÏ ÎÒÁ×ÉÔÓÑ.

HÕ ÜÔÏ, ÓËÁÖÅÍ, ÎÅ ÓÏ×ÓÅÍ ÔÁË.

MP> ðÒÁËÔÉÞÅÓËÉ PIC É AVR ÎÁÐÒÉÍÅÒ ÐÏÌÎÏÓÔØÀ ×ÚÁÉÍÏÚÁÍÅÎÑÅÍÙÅ MP> ÁÒÈÉÔÅËÔÕÒÙ.

HÅ ×ÓÅÇÄÁ. åÓÌÉ ËÁËÏÊ-ÔÏ ÐÉË É ËÁËÏÊ-ÔÏ á÷ò ×ÚÁÉÍÏÚÁÍÅÎÑÅÍÙÅ, ÔÏ ÄÌÑ ÍÅÌËÏÊ ÓÅÒÉÉ ÂÅÚÒÁÚÌÉÞÎÏ, Á ÄÌÑ ËÒÕÐÎÏÊ - Ñ ×ÏÚØÍÕ ÉÚ ÎÉÈ ÔÏÔ, ËÏÔÏÒÙÊ ÎÁ 5 ÃÅÎÔÏ× ÄÅÛÅ×ÌÅ.

MP> ëÏÎÅÞÎÏ ÇÄÅ-ÔÏ ÅÓÔØ ÄÏÓÔÏÉÎÓÔ×Á É ÎÅÄÏÓÔÁÔËÉ, ÎÏ ÅÓÌÉ ÂÙ MP> ÎÁÐÒÉÍÅÒ ÏÄÎÏÇÏ ÉÚ ÜÔÉÈ ÓÅÍÅÊÓÔ× ÎÅÂÙÌÏ - ÍÉÒ ÂÙ ÎÅ MP> ÏÓÔÁÎÏ×ÉÌÓÑ!

íÉÒ ËÏÎÅÞÎÏ ÎÅ ÏÓÔÁÎÏ×ÉÌÓÑ-ÂÙ, ÎÏ ÎÅÏÄÎÏËÒÁÔÎÙÅ ÐÏÐÙÔËÉ ÐÅÒÅÊÔÉ ÎÁ á÷ò × ÎÁÛÉÈ ÕÓÔÒÏÊÓÔ×ÁÈ - ÎÉÞÅÍ ÎÅ ÚÁËÏÎÞÉÌÉÓØ (ÐÏÓÍÏÔÒÉÍ ÞÔÏ ÂÕÄÅÔ × ÜÔÏÔ ÒÁÚ), ÐÏÐÙÔËÁ ÐÅÒÅÊÔÉ ÎÁ ST7Lite09 - ÁÎÁÌÏÇÉÞÎÏ, ÈÏÔÑ ÐÒÏÃÅÓÓÏÒ ÔÖÅ ÐÒÉÍÅÒÎÏ ÁÎÁÌÏÇÉÞÎÙÊ PIC/AVR

DO>> äÁ×ÁÊ ÌÕÞÛÅ Bight spot ÌÁÍÐÏÞËÕ ÐÒÏÇÒÅÅÍ ÔÁË, ÞÔÏÂÙ ÏÎÁ ÎÅ ÇÁÓÌÁ. MP>

MP> ìÁÍÐÏÞËÉ - ÜÔÏ ÖÅ ÁÐÐÁÒÁÔÎÁÑ ÐÒÏÂÌÅÍÁ.

äÁ, ÜÔÏ ÁÐÐÁÒÁÔÎÁÑ ÐÒÏÇÂÌÅÍÁ _ËÏÎËÔÒÅÔÎÏÇÏ ÔÉÐÁ ÌÁÍÐÏÞÅË_, ÎÏ ÎÅ ËÏÎËÒÅÔÎÏÇÏ ÔÉÐÁ ÐÉÔÁÔÅÌÑ ÄÌÑ ÜÔÉÈ ÌÁÍÐÏÞÅË. é ÒÅÛÅÎÁ ÐÒÏÂÌÅÍÁ ÂÙÌÁ ÞÉÓÔÏ ÓÏÆÔ×ÅÒÎÏ. HÁ óÉ+áóí, ÎÁ ÞÉÉÓÔÏÍ áóíÅ - ÜÔÏ ÚÁÎÑÌÏ-ÂÙ ÎÁ ÎÅÓËÏÌØÏËÏ ÄÎÅÊ ÂÏÌØÛÅ.

Alexander Torres, 2:461/28 aka 2:461/640.28 aka 2:5020/6400.28 aka snipped-for-privacy@yahoo.com

formatting link
,
formatting link
, ftp://altor.sytes.net

[Answering from] [FOR.SYSOP]

What do you think about sharp blades, Kirill?

[Answer on] [Kirill Frolov wrote to Lev Serebryakov at [16 Jan 04 04:38]]:

KF>>> "éÓËÕÓÓÔ×Ï ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ" ëÎÕÔÁ. ðÒÉÍÅÒÙ ÎÁ ÁÓÓÅÍÂÌÅÒÅ. LS>> óËÏÌØËÏ ÌÅÔ ËÎÉÇÅ? KF> 2004-1976 == 28 ÌÅÔ. üÔÏ ÄÁÖÅ ÎÅ ÏÄÎÁ ÜÐÏÈÁ × ÜÌÅËÔÒÏÎÉËÅ É ËÏÍÐØÀÔÅÒ-ÓÁÅÎÓ.

LS>> é ÞÔÏ ÂÕÄÅÔ × ÓÌÅÄÕÀÝÅÍ ÉÚÄÁÎÉÉ -- ÚÎÁÅÛØ? KF> HÅÔ. Java, C++, Ocaml ? RISC'Ï×ÙÊ ÐÒÏÃÅÓÓÏÒ (MMIX2000 ÞÔÏ ÌÉ, ÎÅ ÐÏÍÎÀ ËÁË ÅÇÏ ÎÁÚÏ×ÕÔ) É ËÁËÏÊ-ÔÏ ÐÁÓËÁÌÅ-ÐÏÄÏÂÎÙÊ ÑÚÙË. HÅ ÁÓÓÅÍÂÌÅÒ ÕÖÅ -- ÐÉÓÁÔØ ÎÁ RISC-ÁÓÓÅÍÂÌÅÒÅ -- ÉÚ×ÒÁÝÅÎÉÅ, ÂïÌØÛÅ ËÏÔÏÒÏÇÏ -- ÔÏÌØËÏ ÐÉÓÁÔØ ÎÁ VLIW-ÁÓÓÅÍÂÌÅÒÅ.

Remember, pain is part of pleasure, Kirill. ... é ÐÅÓ ÏÄÉÎÏÞÅÓÔ×Á Ò×ÁÌ ÅÇÏ ÇÏÒÌÏ ÔÕÐÙÍÉ ËÌÙËÁÍÉ ÈÍÅÌØÎÏÊ ÔÏÓËÉ...

ðÒÉ×ÅÔ Andy!

Friday January 16 2004 08:24, Andy Mozzhevilov wrote to Maxim Polyanskiy:

MP>> óÌÅÄÕÝÁÑ ÓÔÁÄÉÑ ÍÁÒÁÚÍÁ - ÚÁÐÏÍÎÉÔØ 2 ÏÐËÏÄÁ ÐÅÒÅÂÒÏÓÁ ÞÅÒÅÚ C ÆÌÁÇ É MP>> ÐÉÓÁÔØ ÔÁËÉÅ ËÏÎÓÔÒÕËÃÉÉ ÞÅÒÅÚ db ;) AM>

AM> üÔÏ ÓÔÁÄÉÑ ÍÁÒÁÚÍÁ ÐÒÉ ÐÉÓÁÎÉÉ ÎÁ ÁÓÓÅÍÂÌÅÒÅ. HÁ óÉ ×ÏÏÂÝÅ ÎÅÔ ÄÏÓÔÕÐÁ AM> Ë ÆÌÁÇÕ ó,

÷ ÓÔÁÎÄÁÒÔÓÎÏÍ ó - ÎÅÔÕ, × ËÏÎËÒÅÔÎÙÈ ÒÅÁÌÉÚÁÃÉÑÈ - ×ÐÏÌÎÅ ÍÏÖÅÔ ÂÙÔØ, ËË É Ë ÄÒÕÇÉÍ ÆÌÁÇÁÍ. õ ÍÅÎÑ × ÏÄÎÏÍ ÐÒÏÅËÔÅ ÎÁ 51-Í, ÉÄÅÔ ÐÅÒÅÄÁÞÁ RS232 Ó ÐÁÒÉÔÅÔÏÍ, ×ÓÅ ÎÁÐÉÓÁÎÏ ÎÁ óÉ ÂÅÚ ÁÓÓÅÍÂÌÅÒÎÙÈ ×ÓÔÁ×ÏË (× ÜÔÏÍ ÍÅÓÔÅ, ×ÏÏÂÝÅ ÏÎÉ × ÐÒÏÇÒÁÍÍÅ ÅÓÔØ), Ó ÄÏÓÔÕÐÏÍ Ë ÂÉÔÕ ÐÁÒÉÔÅÔÁ.

AM> ÔÁÍ ÂÏÌÅÅ ×ÏÚÍÏÖÎÏÓÔÉ ×ÓÏ×Ù×ÁÔØ ËÕÄÁ-ÔÏ db.

é ÜÔÏ ÏÂÙÞÎÏ ÅÓÔØ × ×ÉÄÅ ÚÁÄÁÎÉÑ ÁÂÓÏÌÀÔÎÏÇÏ ÁÄÒÅÓÁ.

Alexander Torres, 2:461/28 aka 2:461/640.28 aka 2:5020/6400.28 aka snipped-for-privacy@yahoo.com

formatting link
,
formatting link
, ftp://altor.sytes.net

Hello unrau_for snipped-for-privacy@papillon.ru.

14 Jan 04 21:12, you wrote to all:

un> ñ ÎÅ ÁÇÉÔÉÒÕÀ ÚÁ IAR, Ñ ÅÇÏ Åݣ ÎÅ ÐÏÌØÚÏ×ÁÌ, ÎÏ ×ÏÔ ÔÁËÏÊ ËÏÄ avr-gcc un> ÍÅÎÑ ÐÒÏÓÔÏ ÕÂÉ×ÁÅÔ:

un> gcc version 3.3.2 un> 114 tsbGetChipVersion: un> 115 /* prologue: frame size=0 */ un> 116 /* prologue end (size=0) */ un> 117 00aa 8091 007F lds r24,32512 un> 118 00ae 9091 017F lds r25,(32512)+1 un> 119 00b2 A091 027F lds r26,(32512)+2 un> 120 00b6 B091 037F lds r27,(32512)+3 un> 121 00ba BC01 movw r22,r24 un> 122 00bc CD01 movw r24,r26 un> 123 /* epilogue: frame size=0 */ un> 124 00be 0895 ret

un> ðÏÞÅÍÕ ÂÙ ÓÒÁÚÕ ÎÅ ÐÏÌÏÖÉÔØ ÄÁÎÎÙÅ × ÎÕÖÎÙÅ ÒÅÇÉÓÔÒÙ? un> üÔÏ ÐÒÏÓÔÅÎØËÁÑ ÆÕÎËÃÉÑ ÞÉÔÁÀÝÁÑ É ×ÏÚ×ÒÁÝÁÀÝÁÑ 32-È ÒÁÚÒÑÄÎÙÊ ÒÅÇÉÓÔÒ un> ÎÅËÏÅÇÏ ÞÉÐÁ.

õ gcc ÏÞÅÎØ ÕÓÔÁÒÅ×ÛÉÊ register allocator, ËÏÔÏÒÙÊ, ËÓÔÁÔÉ, ÏÞÅÎØ ÐÌÏÈÏ ÐÏÄÈÏÄÉÔ ÄÌÑ 8-ÂÉÔÏË, × ËÏÔÏÒÙÈ ÞÁÓÔÏ ÐÅÒÅÍÅÎÎÁÑ ÒÁÚÂÉ×ÁÅÔÓÑ ÎÁ ÎÅÓËÏÌØËÏ ÒÅÇÉÓÔÒÏ×.

un> á ×ÏÔ ÔÁËÁÑ ÓÔÒÏÞËÁ un> tsbRegVersionRevision = 0xFFFFFFFF; un> ÐÒÅ×ÒÁÝÁÅÔÓÑ × un> 202 017a 2FEF ldi r18,lo8(-1) un> 203 017c 3FEF ldi r19,hi8(-1) un> 204 017e 4FEF ldi r20,hlo8(-1) un> 205 0180 5FEF ldi r21,hhi8(-1) un> 206 0182 2093 007F sts 32512,r18 un> 207 0186 3093 017F sts (32512)+1,r19 un> 208 018a 4093 027F sts (32512)+2,r20 un> 209 018e 5093 037F sts (32512)+3,r21 un> ôÕÔ ÎÅ ÐÌÏÈÏ ÂÙÌÏ-ÂÙ "ÄÏÇÁÄÁÔØÓÑ" ÞÔÏ r18=r19=r20=r21 É ×ÉËÉÎÕÔØ 3 un> ËÏÍÁÎÄÙ ldi.

äÁ ÎÅÔ, ÎÅ ÏÂÑÚÁÎ ÏÎ ÔÕÔ ÄÏÇÁÄÙ×ÁÔØÓÑ. ÏÞÅÎØ ÒÅÄËÁÑ ÓÉÔÕÁÃÉÑ. õ ÎÅÇÏ ÅÓÔØ ÐÒÁ×ÉÌÏ, ËÁË × ÐÁÍÑÔØ ÌÏÖÉÔØ ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏÅ ÚÎÁÞÅÎÉÅ, ×ÏÔ ÏÎ É ÌÏÖÉÔ. åÓÌÉ ÈÏÞÅÛØ - ÄÏÐÉÛÉ × ÎÅÇÏ ÎÏ×ÏÅ ÐÒÁ×ÉÌÏ, ËÏÔÏÒÏÅ ÐÒÏ×ÅÒÑÅÔ ÚÎÁÞÅÎÉÅ ÎÁ ÏÄÉÎÁËÏ×ÏÓÔØ ÂÁÊÔÏ× É ÏÐÔÉÍÉÚÉÒÕÅÔ.

Alexey

Hi George.

15 Jan 2004, 09:08, George Shepelev writes to Dimmy Timchenko:

DT> ôÙ ÎÅ ÐÏÎÑÌ. éÍÅÀÔÓÑ × ×ÉÄÕ ÔÉÐÙ, ÎÅ ÐpÉ×ÑÚÁÎÎÙÅ Ë ÍÁÛÉÎÎÏÍÕ DT> ÐpÅÄÓÔÁ×ÌÅÎÉÀ, ÎÁÐpÉÍÅp, ËÁË × áÄÅ: DT> type Temperature is delta 0.01 range -100..100; DT> Á ËÏÍÐÉÌÑÔÏp ÕÖÅ ÎÁÊģÔ ÏÐÔÉÍÁÌØÎÏÅ ÐpÅÄÓÔÁ×ÌÅÎÉÅ.

GS> ðÏÎÑÔÉÅ ÏÐÔÉÍÁÌØÎÏÓÔÉ, pÅÁÌÉÚÏ×ÁÎÎÏÅ × ËÏÍÐÉÌÑÔÏpÅ, ÍÏÖÅÔ GS> ÎÅ ÓÏ×ÐÁÓÔØ Ó ËÏÎËpÅÔÎÏÊ ÚÁÄÁÞÅÊ.

ëÁË ÐÏÎÉÍÁÅÔ ÏÐÔÉÍÁÌØÎÏÓÔØ ËÏÍÐÉÌÑÔÏp, ÏÂÙÞÎÏ ÐÏÎÑÔÎÏ ÉÚ ÄÏËÕÍÅÎÔÁÃÉÉ. é ÏÂÙÞÎÏ ÔÕÔ ÕÞÉÔÙ×ÁÀÔÓÑ ÏÓÏÂÅÎÎÏÓÔÉ ÖÅÌÅÚÁ. ðpÅÄÓÔÁ×ÌÅÎÉÅ ÖÅ ÚÁÄÁÞÉ ÎÁ ñ÷õ ÄÏÌÖÎÏ ÂÙÔØ ÂÌÉÖÅ Ë ÐpÅÄÍÅÔÎÏÊ ÏÂÌÁÓÔÉ ÚÁÄÁÞÉ. åÓÌÉ ÔÙ, ÎÅ ÚÎÁÑ áÄÙ, Õ×ÉÄÉÛØ ×ÙÛÅÏÔË×ÏÞÅÎÎÕÀ ÓÔpÏÞËÕ, ÔÙ ÓÏ×ÅpÛÅÎÎÏ ÏÄÎÏÚÎÁÞÎÏ ÐÏÊͣÛØ ţ ÚÎÁÞÅÎÉÅ. ÷ ÏÔÌÉÞÉÅ ÏÔ ÓÉÛÎÙÈ unsigned char É Ô.Ð.

GS> ÷ӣ-ÔÁËÉ Ñ×ÎÁÑ ÔÉÐÉÚÁÃÉÑ ÎÁģÖÎÅÅ ÂÕÄÅÔ, ÞÅÍ ÎÁÄÅÖÄÁ ÎÁ ÓÏÆÔ, GS> ËÏÔÏpÙÊ ÐÙÔÁÅÔÓÑ ÂÙÔØ ÕÍÎÅÅ ÐpÏÇpÁÍÍÉÓÔÁ...

üÔÏ É ÅÓÔØ Ñ×ÎÁÑ (É ÓÔpÏÇÁÑ) ÔÉÐÉÚÁÃÉÑ. :) HÏ ÎÁ ÄpÕÇÉÈ ÐpÉÎÃÉÐÁÈ, ÞÅÍ pÁÚÍÅp ÍÁÛÉÎÎÏÇÏ ÓÌÏ×Á.

Dimmy.

MP>> Следущая стадия маразма - запомнить 2 опкода переброса через C флаг и MP>> писать такие конструкции через db ;)

AM> Это стадия маразма при писании на ассемблере. Hа Си вообще нет доступа AM> к флагу С,

AT> В стандартсном С - нету, в конкретных реализациях - вполне может быть, кк и к AT> другим флагам. AT> У меня в одном проекте на 51-м,

В х51 доступ к флагу CY получился автоматически, поскольку PSW замаплен в один и SFR адресов. Специально сделанного доступа к флагам из Си, а не в виде побочного эффекта, я не видел. Если доступ к флагам действительно нужен, то вводятся расширения языка, типа EI(), DI() и т.п. Хотя может приведешь другие примеры?

AT> идет передача RS232 с паритетом, все написано AT> на Си без ассемблерных вставок (в этом месте, вообще они в программе есть), с AT> доступом к биту паритета.

AM> там более возможности всовывать куда-то db.

AT> И это обычно есть в виде задания абсолютного адреса.

Если ты имеешь ввиду инициализированный массив по определенному адресу, то можно, хотя и не во всех Си. Но я не про это, а про то, чтобы писать по ходу:

void main (void) { a = b;

db ....

b = c;

}

Именно это было названо маразмом, насколько я ничего не понял.

Hello, Vladimir!

ðÑÔ ñÎ× 16 2004, Vladimir Vassilevsky ÐÉÓÁÌ Ë Maxim Polyanskiy ÐÏ ÐÏ×ÏÄÕ "AVR GCC&IAR." MP>> ôÅÚÉÓ: "ìÀÂÁÑ ÚÁÄÁÞÁ ËÏÔÏÒÁÑ ÉÍÅÅÔ ÒÅÛÅÎÉÅ ÍÏÖÅÔ ÂÙÔØ ÒÅÛÅÎÁ ÎÁ MP>> ÁÓÍ x86" óÐÏÒÉÔØ ÂÕÄÅÛØ? HÅÔ ÎÉËÁËÏÊ ÏÇÒÁÎÉÞÅÎÎÏÓÔÉ! VV> ìÀÂÁÑ ÓÆÅÒÉÞÅÓËÁÑ ÚÁÄÁÞÁ, ÉÍÅÀÝÁÑ ÁÂÓÔÒÁËÔÎÏÅ ÒÅÛÅÎÉÅ, ÚÁ VV> ÐÏÌÕÂÅÓËÏÎÅÞÎÏÅ ×ÒÅÍÑ ÍÏÖÅÔ ÂÙÔØ ÒÅÛÅÎÁ ÎÁ ×ÉÒÔÕÁÌØÎÏÍ ÁÓÓÅÍÂÌÅÒÅ VV> ÍÁÛÉÎÙ ôØÀÒÉÎÇÁ. "×ÎÕÛÁÉÔØ" ;) AM>>> HÁÐÒÉÍÅÒ, ÅÓÔØ ÓÔÅË PPP/IP/TCP - ÏÃÅÎÉ ×ÒÅÍÑ ÐÅÒÅ×ÏÄÁ Ó ÏÄÎÏÇÏ AM>>> ÁÓÓÅÍÂÌÅÒÁ ÎÁ ÄÒÕÇÏÊ. MP>> 2 ÄÎÑ ÍÁËÓÉÍÕÍ ÐÒÉÞÅÍ ËÏÄ ÍÏÖÅÔ ÂÙÔØ ×ÏÏÂÝÅ ÂÅÚ ÉÓÈÏÄÎÏÇÏ ÔÅËÓÔÁ! VV> á×ÔÏÍÁÔÉÞÅÓËÉÊ ÔÒÁÎÓÌÑÔÏÒ ÔÉÐÁ ÓÏÒÓÅÒÁ? HÕ-ÎÕ. á ÞÅÇÏ ÚÁ ÐÒÏÂÌÅÍÁ tcp-ip ÓÔÅË ÔÏ ÐÅÒÅÐÉÓÙ×ÁÔØ? ôÏÖÅ ÍÎÅ... HÅÔ ÅÓÌÉ ËÏÎÅÞÎÏ ×ÁÌÑÔØ ×ÁÎØËÕ É ÒÁÓÓÕÖÄÁÔØ Ï ÑÚÙËÁÈ, ÉÌÉ ËÁÖÄÙÅ 5 ÍÉÎÕÔ ÈÏÄÉÔØ ËÏÆÅÊËÕ ÔÑÐÎÕÔØ ÉÌÉ ÐÏËÕÒÉÔØ - ÔÏ ÚÁ 2 ÎÅ ÐÏÌÕÞÉÔÓÑ. ;)

VV> VLV WBR! Maxim Polyanskiy.

Fri, 16 Jan 2004 08:36:19 +0300 Dimmy Timchenko wrote to Ilia Tarasov:

[...]

IT>> äÁ, ÔÏÇÄÁ ÜÔÏ × compile-time ÍÏÖÎÏ ÄÅÌÁÔØ. é ÚÁÏÄÎÏ ÐpÁ×ÉÌÁ IT>> ÐÏÄÏÇÎÁÔØ ÐÏÄ ËÌÁÓÓ ÚÁÄÁÞ.

DT> ëÏÎÅÞÎÏ! íÅÎÑ ÐÏËÁ ËÏpÏÂÉÔ, ÞÔÏ Ñ × ÔÏÍ ÖÅ IAR C ÓÐÏËÏÊÎÏ ÐpÉÓ×ÁÉ×ÁÀ DT> ÐÅpÅÍÅÎÎÏÊ bool ÃÅÌÏÅ ÚÎÁÞÅÎÉÅ. ;)

îÕ, ÔÏÇÄÁ ÓÄÅÌÁÊ ÓÅÂÅ ÂÉÔÏ×ÏÅ ÐÏÌÅ:

struct { bool A : 1; bool B : 1; bool C : 1; bool D : 1; bool E : 1; } flags;

flags.A = true; flags.B = false;

òÅÁÌÉÚÁÃÉÑ ÏÞÅÎØ ÜÆÆÅËÔÉ×ÎÁÑ - ËÁË ÎÁ ÁÓÍÅ ÒÕËÁÍÉ ÅÓÌÉ ÐÉÓÁÔØ.
úÄÒÁÓÔ×ÕÊÔÅ George, *15.01.04* *9:21:12* ÷Ù ÐÉÓÁÌÉ × *RU.EMBEDDED* ÓÏÏÂÝÅÎÉÅ Ë *Igor Ulanov* Ï *"AVR GCC&IAR"*.

IU>> âÅÊÓÉË ÅÝÅ ÌÅÇÞÅ,

GS> äÁ ÔÙ ÞÔÏ? ðÏÓÔÏÑÎÎÙÅ "GO TO ÃÉÆÅÒËÉ" - "Åݣ ÌÅÇÞÅ"? ;)

HÁ ÚÁËÁÔÅ ÍÏÅÊ ÐÉÓÁÔÅÌØÓËÏÊ ÄÅÑÔÅÌØÎÏÓÔÉ ÎÁ BASIC'Å (ËÁÖÅÔÓÑ ÜÔÏ ÂÙÌ MS Quick Basic 4.5) Ñ *goto* ÎÅ ÐÏÌØÚÏ×ÁÌÓÑ ×ÏÏÂÝÅ. ÷ÓÅ, ÞÔÏ ÎÅÏÂÈÏÄÉÍÏ ÄÌÑ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ × "ÈÏÒÏÛÅÍ" ÓÔÉÌÅ, × ÜÔÏÍ BASIC'Å ÂÙÌÏ.

IU>> óÉ ÂÏÌÅÅ ÓÌÏÖÅÎ, ÎÏ ÞÉÔÁÅÔÓÑ ÐpÏÝÅ ÁÓÓÅÍÂÌÅpÁ.

GS> þÉÔÁÅÔÓÑ ÐÒÏÝÅ ÂÕÌØ×ÁÒÎÁÑ ÌÉÔÅÒÁÔÕÒÁ, ËÏÔÏÒÏÊ ÎÁ ÌÏÔËÁÈ ÔÏÒÇÕÀÔ. á GS> ÐÒÏÇÒÁÍÍÙ ÎÕÖÎÏ _ÐÏÎÉÍÁÔØ_, Á ÎÅ ÞÉÔÁÔØ. óÉÛÎÙÅ ÖÅ ÐÒÏÇÒÁÍÍÙ ÚÁÞÁÓÔÕÀ GS> Ñ×ÌÑÀÔÓÑ write only...

äÁ, ÎÁÐÒÉÍÅÒ:

if (t > 5) {...}

É

movf t, W sublw 5 btfsc STATUS, C goto Label1 ... Label1:

ðÏÐÒÏÂÕÊ ÓÈÏÄÕ ÐÏÊÍÉ, ÞÅÍ ÚÁÎÉÍÁÅÔÓÑ ×ÔÏÒÁÑ ÐÒÏÇÒÁÍÍÁ :) ... ó Õ×ÁÖÅÎÉÅÍ, Den

Hi,George !

GS> Какие сказки? Для похожих систем работают два программиста, GS> один пишет на сях, второй на асме. Программы по длине отличаются GS> на порядок.

Ну так уж и на порядок. Конечно, знаменитое "Hello, world!", может, и на порядок будет больше асмовского, но чем крупнее проект, тем сишные "надстройки", отнесенные к общему об'ему кода, будут менее "весомыми".

Года этак 3-4 назад в нашей дискуссии мейлом на эту тему с DO у него я встретил фразу "Тут Шепелев прав" - жаль, думаю, он этого не прчитает :-)

Мне казалось, что эта вечная тема "C - ASM" уже закрыта, как и "PIC - AVR" - ан нет. По-моему, тут чистая экономика - если у тебя большие тиражи, и переплачивать лишние 3-5 гринов за экземпляр проца не хочется, труд программера дешев (как у нас в Белораше), а лишний месяц срока не давит, а библиотеки на асме написаны и оттестированы уже на нескольких изделиях - почему бы и не асм ? По крайней мере у меня с кодированием проблем не было - вот разобраться, что у дивайса внутри происходит не так на уровне алгоритма при отладке железа - тут надо напрягать извилины по полной, а когда просек - исправить код не вопрос что на асме, что на С. Вопрос портирования. У меня по крайней мере не встречалось случая, чтобы переносить на другой проц 1:1 - ради чего ? А вот когда идет модернизация, вводятся новые фичи - когда я переходил со ST6265 на АВР, портировать библиотеки было был самой приятной и недолгой частью работы (на АСМе) . Я не С-ненавистник, его нежно люблю :-) , все тестовые наборы и константы генерю на ем, родимом, и с удовольствием бы сварганил прожект достаточной сложности на сях, был бы компилятор. "Я так думаю !" (C) Мимино WBR Eugene Gavruk

Hello Dimmy.

15 Jan 04 12:54, you wrote to Alexei Zaiko:

DT> ñ Åݣ ÐÏÌØÚÕÀÓØ ÓÔpÕËÔÕpÎÙÍÉ ÍÁËpÏÓÁÍÉ (DOIF - ELSIF - DOELSE - DONE, DT> DO - LOOP). HÁ AVR ÉÈ, ×ÐpÏÞÅÍ, ÐÏËÁ ÎÅ ÐÅpÅΣÓ. éÌÉ, ÎÁÐpÉÍÅp, (× DT> IAR AVR ASM):

DT> PushList macro list DT> repti item,list DT> push item DT> endr DT> endm

DT> PopList macro list DT> repti item,list DT> pop item DT> endr DT> endm

DT> Á ÐÏÔÏÍ

DT> PushList <r24,r25,r26,r27,r28,r29,r30,r31>

DT> PopList <r31,r30,r29,r28,r27,r26,r25,r24>

çÙ. ÷ ARM ÔÁËÁÑ ËÏÍÁÎÄÁ ÕÖÅ ÅÓÔØ.

Alexey

Hello, George Shepelev !

Значит ты и есть представитель того самого бездумного проектирования.

С уважением, Дима Орлов.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required