AVR GCC&IAR

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

Hello, Dimmy! You wrote to Dima Orlov on Sun, 01 Feb 2004 06:46:04 +0300:

DT> ÷ÉÄÅÌ ÄÁÖÅ ÒÅËÏÍÅÎÄÁÃÉÀ ÐÉÓÁÔØ ÔÁË:

DT> if (33 == MyVar) {...}

DT> ÞÔÏÂÙ ÎÉËÏÇÄÁ ÓÌÕÞÁÊÎÏ ÎÅ ÐÒÉÓ×ÏÉÔØ ×ÍÅÓÔÏ ÓÒÁ×ÎÅÎÉÑ.

ñ ÎÁ ÓÏÂÓÔ×ÅÎÎÏÍ ÏÐÙÔÅ ÕÂÅÄÉÌÓÑ × ÐÒÁ×ÉÌØÎÏÓÔÉ ÄÁÎÎÏÊ ÒÅËÏÍÅÎÄÁÃÉÉ. îÁÐÉÓÌ ËÁË-ÔÏ if (ptr =! NULL) {} // × VC++ ÏÎÏ ÎÅ ÔÁË ÂÒÏÓÁÌÏÓØ × ÇÌÁÚÁ, ÓËÏÒÅÅ ×ÓÅÇÏ ÛÒÉÆÔ ÄÒÕÇÏÊ É ÍÎÏÇÏ ÂÙÌÏ ÓÉÌ ÐÏÔÒÁÞÅÎÏ ÎÁ ÐÏÉÓË. ðÒÉޣÍ ÎÅÓËÏÌØËÏ ÞÅÌÏ×ÅË ÎÅ ÓÍÏÇÌÉ ÚÁÍÅÔÉÔØ ×ÉÚÕÁÌØÎÏ. ôÏÌØËÏ ÌÏËÁÌÉÚÏ×Á× ÏÔÌÁÄÞÉËÏÍ É ÐÒÏ×ÅÒÉ× Åݣ ÎÁ ÐÁÒÏÞËÅ ÍÁÛÉÎ - ÎÅÔ, ÜÔÏ ÎÅ ÇÌÀË ÄÁÎÎÏÇÏ ÖÅÌÅÚÁ - ÎÁËÏÎÅà ÐÒÏÚÒÅÌÉ.

With best regards, Alexander Derazhne.

Hello, Alexander!

óÕ ñÎ× 31 2004, Alexander Torres ÐÉÓÁÌ Ë Maxim Polyanskiy ÐÏ ÐÏ×ÏÄÕ "AVR GCC&IAR." AT> ÷ÏÔ ÜÔÏ É ÎÁÚÙ×ÁÅÔÓÑ "ÈÁËÅÒÓÔ×Ï", É× ÎÏÒÍÁÌØÎÙÈ ËÏÎÔÏÒÁÈ - ÚÁ ÔÁËÏÅ AT> Õ×ÏÌØÎÑÀÔ ÎÅÍÅÄÌÅÎÎÏ. ÷ÁÛÅ ÌÉÞÎÏÅ ÐÏÎÉÍÁÎÉÅ ÎÏÒÍÁÌØÎÏÓÔÉ ÎÅ ÉÍÅÅÔ ÁÂÓÏÌÀÔÎÏ ÎÉËÁËÏÇÏ ÏÔÎÏÛÅÎÉÑ Ë ÒÅÁÌØÎÏÓÔÉ. AT> Alexander Torres, 2:461/28 aka 2:461/640.28 aka 2:5020/6400.28 WBR! Maxim Polyanskiy.

Hello, Vladislav!

óÕ ñÎ× 31 2004, Vladislav Baliasov ÐÉÓÁÌ Ë Maxim Polyanskiy ÐÏ ÐÏ×ÏÄÕ "AVR GCC&IAR." VB> ÷ÏÚØÍÉ ÁÐÐÁÒÁÔ, ËÏÔÏÒÙÊ ÜÔÏÔ ÎÏÍÅÒ ÏÔÄÁÅÔ × ÛÔÁÔÎÏÍ ÒÅÖÉÍ. üÒÉË VB> ËÁËÏÊ-ÎÉÂÕÄØ. ðÌÀÓ ÏÄÎÏËÒÉÓÔÁÌÌËÕ, ÐÌÀÓ dataflash ÄÌÑ ÇÏÌÏÓÁ. PWM, VB> ÐÒÁ×ÄÁ, ÆÉÌØÔÒÏ×ÁÔØ ÄÌÑ ÐÒÉÅÍÌÅÍÏÇÏ ËÁÞÅÓÔ×Á ÇÏÌÏÓÁ ÐÒÏÔÉ×ÎÏ, ÍÏÖÅÔ VB> ÂÙÔØ, ÓÔÏÉÔ ×ÚÑÔØ ÇÏÔÏ×ÙÊ ËÏÆÉÄÅË. òÁÂÏÔÙ - ÎÁ Ä×Á Ó×ÏÂÏÄÎÙÈ ×ÅÞÅÒÁ, VB> ÄÏÌØÛÅ ÂÕÄÅÛØ ÇÏÌÏÓÏ×ÙÅ ÆÒÁÇÍÅÎÔÙ ÓÔÙËÏ×ÁÔØ... âÏÀÓØ ÐÒÉ ÔÅËÕÝÉÈ ÒÁÚÍÅÒÁÈ ÍÏÂÉÌ ÒÁÚ×Å ÞÔÏ × 520-Ê ×ÌÅÚÅÔ. ñ ÞÅÓÔÎÏ ÈÏÞÕ - ÒÁÓËÏ×ÙÒÑÔØ ÐÒÏÛÉ×ËÕ ÄÏ ÕÒÏ×ÎÑ ËÏÇÄÁ ÍÏÖÎÏ ÂÕÄÅÔ ×ÓÔÁ×ÌÑÔØ × ÎÅ ÐÏÄÏÂÎÙÅ ÚÁÔÙÞËÉ. VB> óÐÅÒÅÔØ - Á ÞÅÇÏ ÔÕÔ ÐÅÒÅÔØ ? éÄÅÑ É ÔÁË ÏÞÅ×ÉÄÎÁ, Á ËÏÎËÒÅÔÎÕÀ VB> ÒÅÁÌÉÚÁÃÉÀ - ÚÁÝÉÔÉÛØ. é ÒÅÞÅ×ÕÀ ÞÁÓÔØ ÐÒÉ ÖÅÌÁÎÉÉ - ÔÏÖÅ. äÁÌØÛÅ ÜÔÏ VB> ÒÁÚ×É×ÁÅÔÓÑ × ÓÔÏÒÏÎÕ ÇÏÌÏÓÏ×ÏÊ ÚÁÐÉÓÎÏÊ ËÎÉÖËÉ, ÎÏ ÔÕÔ ÕÖ ÉÎÔÅÒÆÅÊÓ VB> Ó ÐÏÌØÚÏ×ÁÔÅÌÅÍ ÎÕÖÅÎ. ÷ÏÔ ×ÏÔ. VB> Ó Õ×ÁÖÅÎÉÅÍ ÷ÌÁÄÉÓÌÁ× WBR! Maxim Polyanskiy.

Hello, Alexey!

óÕ ñÎ× 31 2004, Alexey Krasnov ÐÉÓÁÌ Ë Maxim Polyanskiy ÐÏ ÐÏ×ÏÄÕ "Re: AVR GCC&IAR." MP>> á×Ò ÉÍÅÅÔ 256ËÉÌ ÐÁÍÑÔÉ ÄÌÑ ÒÅÁÌÉÚÁÃÉÉ ÇÏÌÏÓÁ? HÅÔ? ï ÞÅÍ ÔÏÇÄÁ MP>> ÒÅÞØ! x51 ÓÔÏÉÔ 40ÃÅÎÔÏ×, 27c020 ÍÅÎØÛÅ ÄÏÌÌÁÒÁ. ðÌÁÔÁ × ÓÂÏÒÅ MP>> ÓÔÏÉÔ $5-7 Á ×ÅÓØ ÁÏÎ ÓÔÏÉÔ $20 ÓÏ ×ÓÅÍÉ ÎÁÃÅÎËÁÍÉ. ðÒÅÄÌÏÖÉ ÍÎÅ MP>> ÁÂÓÏÓÀÔÎÏ ÌÀÂÏÊ ÐÒÏÃ Ó 256Ë ÐÁÍÑÔÉ ÐÒÏÇÒÁÍÍ ÎÁ ÂÏÒÔÕ É eeprom 16k MP>> ÚÁ $1.5-2 - É ÍÙ ËÕÐÉÍ ÉÈ ×ÁÇÏÎ É Ó ÕÄÏ×ÏÌØÓÔ×ÉÅÍ ÎÁ ÎÉÈ ÐÅÒÅÊÄÅÍ MP>> ;) AK> m128 ÇÏÔÏ×ÉÔÓÑ Ë ×ÙÈÏÄÕ. HÁ ÉÍÅÀÝÉÈÓÑ ËÒÉÓÔÁÌÌÁÈ <=128Ëâ + 60Ë ×ÎÅÛÎÅÊ AK> ÏÔÏÂÒÁÖÁÅÍÏÊ ÐÁÍÑÔÉ. é ÏÎÏ ÂÕÄÅÔ $2 ÓÔÏÉÔØ? AK> ÷ÓÅÇÏ ÈÏÒÏÛÅÇÏ. WBR! Maxim Polyanskiy.

Hello, Alexey!

óÕ ñÎ× 31 2004, Alexey Krasnov ÐÉÓÁÌ Ë Maxim Polyanskiy ÐÏ ÐÏ×ÏÄÕ "Re: AVR GCC&IAR." AK>>> ìÁÄÎÏ ÈÏÔØ ÎÏÒÍÁÌØÎÙÅ ÐÒÏÉÚ×ÏÄÉÔÅÌÉ ÎÁÞÁÌÉ ÄÏÂÁ×ÌÑÔØ ÐÏÄÄÅÒÖËÕ AK>>> ÒÏÓÓÉÊÓËÏÇÏ áïHÁ × Ó×ÏÉ ÔÒÕÂËÉ. MP>> ï ÂÏÖÅ. ëÁË ÔÙ ÍÏÇ ÔÁËÏÅ ÐÏÄÕÍÁÔØ Ï ÐÒÏÉÚ×ÏÄÉÔÅÌÑÈ... úÁ ÜÔÏ ÓËÁÖÉ MP>> ÓÐÁÓÉÂÏ ÉÚÏÂÒÅÔÁÔÅÌÑÍ ÔÒÁÎÓËÏÄÅÒÁ RUSAON-CLID. ;) AK> "éÚÏÂÒÅÔÅÎÉÅ" - ÜÔÏ ÎÅ ÅÓÔØ "ÒÁÚÒÁÂÏÔËÁ" (× ÄÁÎÎÏÍ ÓÌÕÞÁÅ - AK> ËÏÎ×ÅÒÔÏÒÁ). éÚÏÂÒÅÔÅÎÉÅ - ÓÍ ÉÚÏÂÒÅÓÔÉ. éÚÏÂÒÅÓÔÉ - ô×ÏÒÞÅÓËÉ ÓÏÚÄÁÔØ ÞÔÏ-Ï ÎÏ×ÏÅ, ÎÅÉÚ×ÅÓÔÎÏÅ ÐÒÅÖÄÅ. òÁÚÒÁÂÏÔËÁ - 1. ÓÍ ÒÁÚÒÁÂÏÔÁÔØ.
  1. CÐÏÓÏ ÄÏÂÙÞÉ ÉÓËÏÐÁÅÍÙÈ, Á ÔÁË-ÖÅ ÍÅÓÔÏ ÔÁËÏÊ ÄÏÂÙÞÉ. òÁÚÒÁÂÏÔÁÔØ - 1. ïÂÒÁÂÁÔÙ×ÁÑ ÓÄÅÌÁÔØ ÐÒÉÇÏÄÎÙÍ ÄÌÑ ÞÅÇÏ ÌÉÂÏ (ÚÅÍÌÑ ÒÁÚÒÁÂÏÔÁÎÁ)
  2. ôÝÁÔÅÌØÎÏ, ×ÓÅÓÔÏÒÏÎÎÅ ÉÓÓÌÅÄÏ×ÁÔØ, ÐÏÄÇÏÔÏ×ÉÔØ, ÏÂÒÁÂÏÔÁÔØ ×Ï ×ÓÅÈ ÐÏÄÒÏÂÎÏÓÔÑÈ. (Ò. ÎÁÕÞÎÙÊ ×ÏÐÒÏÓ, Ò. ÔÅÍÕ)
  3. éÓÞÅÒÐÁÔØ ÇÄÅ-Î ×ÓÀ ×ÏÚÍÏÖÎÕÀ ÄÏÂÙÞÕ ÉÓËÏÐÁÅÍÙÈ.
ðÏÓËÏÌØËÕ ËÏÎ×ÅÒÔÅÒ ÄÏÓÅÌÅ ÂÙÌ ÎÅÉÚ×ÅÓÔÅÎ (ÞÔÏ ÎÅÄ×ÕÓÍÙÓÌÅÎÎÏ × ÐÅÒ×ÏÎÁÞÁÌØÎÏÊ ÆÒÁÚÅ ÕËÁÚÁÎÎÏ) - "ÍÉÍÏ ÔÁÚÉËÁ" ;)

WBR! Maxim Polyanskiy.

Hello, Vladimir!

óÕ ñÎ× 31 2004, Vladimir Vassilevsky ÐÉÓÁÌ Ë Vladislav Baliasov ÐÏ ÐÏ×ÏÄÕ "AVR GCC&IAR." VV> þÉÐ-ÔÀÎÉÎÇ - ÉÚÄÅÒÖËÉ ÉÚ ÔÏÊ ÖÅ ÓÅÒÉÉ, ÞÔÏ É ÉÏÎÉÚÁÃÉÑ ÔÏÐÌÉ×Á VV> É ÉÚÏÂÒÅÔÅÎÉÅ ÞÕÄÏ-ÐÒÉÓÁÄÏË Ë ÍÁÓÌÕ. óÏ ×ÒÅÍÅÎÅÍ ÐÒÏÊÄÅÔ. óÔÒÁÈÏ×ÏÊ ÂÉÚÎÅÓ - ÜÔÏ ÍÏÛÅÎÎÉÞÅÓÔ×Ï! ÷ÌÏÖÅÎÉÅ ÄÅÎÅÇ × ÂÁÎËÉ - ÜÔÏ ÐÉÒÁÍÉÄÙ É ÌÏÈÏÔÒÏÎ! ôÅÂÅ ÐÒÉ×ÅÓÔÉ ÅÝÅ ÐÒÅÄÌÏÖÅÎÉÊ ÁÎÁÌÏÇÉÞÎÙÈ Ô×ÏÅÍÕ ÉÌÉ È×ÁÔÉÔ?

VV> ôÙ ÐÏÎÉÍÁÅÛØ, ÞÔÏ ÚÁÍÅÎÑÑ ROM ËÏÎÔÒÏÌÌÅÒÁ, ÔÙ ÐÏÄÐÉÓÙ×ÁÅÛØÓÑ ÐÏÄ VV> ÏÞÅÎØ ÓÅÒØÅÚÎÕÀ ÏÔ×ÅÔÓÔ×ÅÎÎÏÓÔØ É ÂÅÒÅÛØ ÌÀÂÙÅ ×ÏÚÍÏÖÎÙÅ VV> ÎÅÉÓÐÒÁ×ÎÏÓÔÉ VV> É ÎÅÐÏÌÁÄËÉ Ä×ÉÇÁÔÅÌÑ ÎÁ ÓÅÂÑ? ðÏÓÍÏÔÒÉ ËÁË ÒÁÂÏÔÁÀÔ ÁÎÇÌÉÊÓËÉÅ ÆÉÒÍÙ ËÏÔÏÒÙÅ ÜÔÉÍ ÚÁÎÉÍÁÀÔÓÑ (Á ÚÁÎÉÍÁÀÔÓÑ ÏÎÉ ÜÔÉÍ ÄÏ×ÏÌØÎÏ ËÏÌÈÏÚÎÏ, ÅÓÔØ ÒÅÁÌØÎÙÅ ÐÒÉÍÅÒÙ Õ ÍÅÎÑ - ÔÁË ÞÔÏ ÎÅ ×ÚÄÕÍÁÊ ÔÅÏÒÅÔÉÚÉÒÏ×ÁÔØ) ËÁËÏÊ-ÎÉÂÕÄØ ÓÕÐÅÒÞÉÐÓ ÉÌÉ ËÅÎÔËÁÍÓ. ôÁÍ ×ÓÅ ÐÒÏÓÔÏ "ÂÒÅÎÄ ÇÁÒÁÎÔÉÒÕÅÔ". VV> VLV WBR! Maxim Polyanskiy.

Hello, Alexei!

÷cË æÅ× 01 2004, Alexei Zaiko ÐÉÓÁÌ Ë Vladislav Baliasov ÐÏ ÐÏ×ÏÄÕ "AVR GCC&IAR." [...] AZ> ðÒÉÍÅÒ Ó ÞÉÐ-ÔÀÎÉÎÇÏÍ ÄÏÓÔÁÔÏÞÎÏ ÉÎÔÅÒÅÓÅÎ, ÎÏ Ñ ÎÅ ÍÏÇy ÅÇÏ AZ> ÐÏÌÎÏÓÔØÀ ÓÏ ×ÓÅÈ ÓÔÏÒÏÎ ÐÒÏÁÎÁÌÉÚÉÒÏ×ÁÔØ, ÐÏÔÏÍy ËÁË ×ÓÅ Á×ÔÏÍÏÂÉÌÉ AZ> ÒÁÚÎÙÅ É ÂÌÏËÉ EFI y ÎÉÈ ÔÏÖÅ ÎÁ ÒÁÚÌÉÞÎÏÊ ÜÌÅÍÅÎÔÎÏÊ ÂÁÚÅ ÓÄÅÌÁÎÙ. AZ> ñ, ÞÅÓÔÎÏ ÇÏ×ÏÒÑ, ÏÄÎÏ ×ÒÅÍÑ ÓÍÏÔÒÅÌ × ÜÔÏÍ ÎÁÐÒÁ×ÌÅÎÉÉ É ÄÁÖÅ AZ> ×ÙÔÁÝÉÌ É ÄÉÚÁÓÓÅÍÂÌÉÒÏ×ÁÌ ÍÉËÒÏËÏÄ ÒÑÄÁ EFI ÏÔ ÑÐÏÎÓËÉÈ ÍÁÛÉÎ AZ> (TOYOTA, SUBARU, MITSUBISHI), ÎÏ ÒÁÚÂÉÒÁÑÓØ × ËÏÄÅ ÐÏÎÑÌ, ÞÔÏ AZ> ÄÏ×ÏÌØÎÏ ÓÌÁÂÏ ÚÎÁÀ ÓÁÍy ÐÒÅÄÍÅÔÎyÀ ÏÂÌÁÓÔØ (ÒÁÂÏÔy ä÷ó ×Ï ×ÓÅÈ AZ> ÔÏÎËÏÓÔÑÈ). ÷ÒÑÄ-ÌÉ ÔÙ ÐÒÁ×ÉÌØÎÏ ÐÒÅÄÓÔÁ×ÌÑÅÛØ ÐÒÏÂÌÅÍÕ. ôÅÏÒÉÑ ä÷ó ÐÒÏÓÔÁ ËÁË ÔÁÐÏË. ëÕÐÉ ÓÅÂÅ ×ÕÚÏ×ÓËÉÊ ÕÞÅÂÎÉË ÐÏ ä÷ó - ÔÁÍ ×ÓÅ ÂÕÄÅÔ ÒÁÓÐÉÓÁÎÎÏ × ÌÕÞÛÅÍ ×ÉÄÅ. ðÒÏÂÌÅÍÁ ×ÏÚÎÉËÁÅÔ ÎÁ ÓÔÙËÅ ÄÏÓÔÕÐÎÏÊ ÄÌÑ ÁÎÁÌÉÚÁ ÉÎÆÏÒÍÁÃÉÉ (ÐÒÏÛÉ×ËÁ ËÏÎÔÒÏÌÌÅÒÁ) Ó ÒÅÁÌØÎÙÍÉ ÄÁÔÞÉËÁÍÉ É ÉÓÐÏÌÎÉÔÅÌØÎÙÍÉ ÕÓÔÒÏÊÓÔ×ÁÍÉ. HÁÐÒÉÍÅÒ ÌÏÇÉËÁ ÒÁÂÏÔÙ ÐÒÏ×ÏÌÏÞÎÙÈ É ÐÌÅÎÏÞÎÙÈ ÄÍÒ× ÎÁÓÔÏÌØËÏ ÎÅÔÒÉ×ÉÁÌØÎÁ ÐÏ ÓÒÁ×ÎÅÎÉÀ Ó "ÌÏÐÁÔÏÊ", ÞÔÏ ÚÁÞÁÓÔÕÀ ÏÐÉÓÙ×ÁÅÔÓÑ ÎÅÓËÏÌØËÉÍÉ ÍÎÏÇÏÍÅÒÎÙÍÉ ÔÁÂÌÉÃÁÍÉ. õ ÆÏÒÓÕÎËÉ ÅÓÔØ ÓÔÁÔÉÞÅÓËÁÑ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ (ÚÁ×ÉÓÉÍÏÓÔØ ÏÂßÅÍÁ ÔÏÐÌÉ×Á ÏÔ ÄÁ×ÌÅÎÉÑ ÐÒÉ ÏÔËÒÙÔÏÊ) É ÄÉÎÁÍÉÞÅÓËÁÑ (ÍÎÏÇÏÍÅÒÎÁÑ ÚÁ×ÉÓÉÍÏÓÔØ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ ÚÁ×ÑÚÁÎÎÁÑ ÎÁ ×ÒÅÍÑ ÏÔËÒÙÔÉÑ, ÄÁ×ÌÅÎÉÅ, É ÔÏË ÆÏÒÓÕÎËÉ).... ôÁËÉÍ ÏÂÒÁÚÏÍ ×ÒÑÄ-ÌÉ Õ ÔÅÂÑ ÂÕÄÅÔ ËÁÒÔÉÎÁ ÓÏÓÔÁ×Á ÓÍÅÓÉ ÉÍÅÎÎÏ × ÔÏÍ ×ÉÄÅ, × ËÏÔÏÒÏÍ ÅÅ ÒÁÚÒÁÂÏÔÞÉËÉ ÒÁÓÐÉÈÁÌÉ ÐÏ ÔÁÂÌÉÃÁÍ. íÏÍÅÎÔ ÚÁÖÉÇÁÎÉÑ ÎÁÐÒÉÍÅÒ ×ÏÏÂÝÅ ÎÅ ÐÏÄÄÁÅÔÓÑ ÎÉËÁËÉÍ ×ÙÞÉÓÌÅÎÉÑÍ - ÜÔÏ ÞÉÓÔÁÑ ÜËÓÐÅÒÉÍÅÎÔÁÌØÎÁÑ ×ÅÌÉÞÉÎÁ. ÷ ÒÅÚÕÌØÔÁÔÅ ÚÁÄÁÞÁ ÔÀÎÉÎÇÁ × ÌÀÂÏÍ ÓÌÕÞÁÅ Ó×ÏÄÉÔÓÑ Ë ÍÅÔÏÄÕ "ÏËÏÌÏÎÁÕÞÎÏÇÏ ÔÙËÁ × ÕÓÌÏ×ÉÑ ÁÐÒÉÏÒÎÏÊ ÏÐÒÅÄÅÌÅÎÎÏÓÔÉ". ÐÒÏÝÅ ÇÏ×ÏÒÑ - ÎÕÖÅÎ ËÏÎËÒÅÔÎÙÊ Ä×ÉÇÁÔÅÌØ ÎÁ ÍÏÔÏÒÎÏÍ ÓÔÅÎÄÅ, × ÉÄÅÁÌÅ × ËÌÉÍÁÔÉÞÅÓËÏÊ ÕÓÔÁÎÏ×ËÅ. AZ> ðÏÜÔÏÍy ÐÒÏÅËÔ × ÎÁÓÔÏÑÝÉÊ ÍÏÍÅÎÔ ÐÏÌÏÖÅÎ × "ÄÏÌÇÉÊ ÑÝÉË". õÞÉÔÙ×ÁÑ ×ÓÅ ×ÙÛÅÓËÁÚÁÎÎÏÅ ÓÌÉÛËÏÍ ÓÏÍÎÉÔÅÌØÎÁ ÜËÏÎÏÍÉÞÅÓËÁÑ ×ÙÇÏÄÁ. AZ> èÏÔÑ, Ó ÔÏÞËÉ ÚÒÅÎÉÑ ÒÁÂÏÔÙ ËÏÎÔÒÏÌÌÅÒÁ ÐÒÅÄÓÔÁ×ÌÑÀ ËÁË, ÎÁÐÒÉÍÅÒ, AZ> ÐÒÉËÒyÔÉÔØ Ë TOYOTA'×ÓËÏÍy ËÁÍyÛËy ×ÎÅÛÎÀÀ ðúõ Ó ÍÏÄÉÆÉÃÉÒÏ×ÁÎÎÙÍ AZ> ËÏÄÏÍ É ÐÅÒÅÒÁÓÞÉÔÁÎÎÙÍÉ ÔÁÂÌÉÃÁÍÉ. åÓÔÅÓÔ×ÅÎÎÏ ÅÅ ÎyÖÎÏ ÂyÄÅÔ ËÁË-ÔÏ AZ> ÚÁÝÉÔÉÔØ. HÏ ÎÅ ÈÁËÅÒÓËÉÍÉ ÍÅÔÏÄÁÍÉ, Á Ë ÐÒÉÍÅÒy ÛÉÆÒÏ×ÁÎÉÅÍ Ó AZ> ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ×ÎÅÛÎÅÊ ÎÁ×ÅÓËÉ É Ô.Ð. ðÒÉÍÅÎÅÎÉÅ ÛÆÉÒÏ×ÁÎÉÑ × ÏÄÎÏÍ ÏÔÄÅÌØÎÏ ×ÚÑÔÏÍ ËÏÍÐÌÅËÓÅ ËÏÔÏÒÙÊ ÓÏÄÅÒÖÉÔ ÁÌÇÏÒÉÔÍÙ ÒÁÓÛÉÆÒÏ×Ù×ÁÎÉÑ É ÉÈ ËÌÀÞÉ (ÇÄÅ ÂÙ ÔÏ ÎÉ ÂÙÌÏ) Ë ÓÏÖÁÌÅÎÉÀ ÚÁÞÁÓÔÕÀ Ñ×ÌÑÅÔÓÑ ÔÕÐÉËÏ×ÙÍ ÍÅÔÏÄÏÍ ÚÁÝÉÔÙ. ûÉÆÒÏ×ÁÎÉÅ ÈÏÒÏÛÏ ÒÁÂÏÔÁÅÔ ÔÏÌØËÏ ÔÁÍ, ÇÄÅ ×ÚÌÏÍÝÉËÕ ÎÅ ÄÏÓÔÕÐÎÏ ÒÁÓÛÉÆÒÏ×Ù×ÁÀÝÅÅ ÕÓÔÒÏÊÓÔ×Ï × ËÕÐÅ Ó ÅÇÏ ËÌÀÞÁÍÉ. AZ> åÓÌÉ ÖÅ ×ÚÑÔØ ÏÄÎy ÉÚ ÍÏÉÈ yÖÅ ÄÏÓÔÁÔÏÞÎÏ ÓÔÁÒÙÈ ÔÅÍ - ÈÁÒÄÙ, ÔÏ ÔyÔ óÅÊÞÁÓ ÔÅÂÅ ÎÁÐÉÛÕÔ ÞÔÏ ×ÓÅ ÜÔÏ ÈÁËÅÒÓÔ×Ï É ÚÁ ×ÓÅ ÜÔÏ ÎÁÄÏ Õ×ÏÌØÎÑÔØ (ÐÒÉÞÅÍ ÌÀÄÉ - ËÏÔÏÒÙÅ ÁÂÓÏÌÀÔÎÏ ÎÅ ÐÒÅÄÓÔÁ×ÌÑÀÔ ÎÉ ËÏÌÉÞÅÓÔ×Ï ÜÔÉÈ ÓÁÍÙÈ ÈÁÒÄÏ× × ÏÄÎÏÍ ÏÔÄÅÌØÎÏ ×ÚÑÔÏÍ Óà ÎÉ ÓÁÍÏÊ ÚÁÄÁÞÉ, ÎÉ ÓÔÏÉÍÏÓÔÉ ÜÔÉÈ ÐÒÏÇÒÁÍÍ etc)... ;) AZ> WBR, Zaiko Alexei (Phantom Lord) WBR! Maxim Polyanskiy.

Hello, Ilia!

óÕ ñÎ× 31 2004, Ilia Tarasov ÐÉÓÁÌ Ë Maxim Polyanskiy ÐÏ ÐÏ×ÏÄÕ "AVR GCC&IAR." MP>> þÔÏ ËÁÓÁÅÔÓÑ 8031 - ×ÏÚÎÉËÎÏ×ÅÎÉÅ ÚÎÁÞÅÎÉÑ ÂÏÌØÛÅ 60 × ÍÉÎÕÔÎÏÊ MP>> ÑÞÅÊËÅ ÎÏÎÓÅÎÓ É ÅÇÏ ÍÏÍÅÎÔÁÌØÎÏ ÐÏÈÅÒÉÔ ÐÒÏÃÅÄÕÒÁ Á×ÔÏËÏÒÅËÃÉÉ MP>> ÐÁÍÑÔÉ ÐÏ ÐÒÅÄÅÌÁÍ. IT> ôÅÂÅ ÞÔÏ, ÆÏÔÏÇÒÁÆÉÀ ÐÒÉÓÌÁÔØ? :)))) ðÒÉÛÌÉ. úÁ ÏÄÎÏ ÓËÁÖÉ ÓËÏÌØËÏ ÌÅÔ ÅÍÕ ÂÙÌÏ ËÏÇÄÁ ÏÎ ÔÁËÏÅ ×ÙÔ×ÏÒÑÌ, ËÁËÁÑ ÐÁÍÑÔØ (24Óxx) × ÎÅÍ ÓÔÏÑÌÁ, ËÁËÏÇÏ ÐÒ-ÌÑ? (×ÓÅ ÁÂÓ ÓÅÒØßÅÚÎÏ).

WBR! Maxim Polyanskiy.

Hello, Dima!

óÕ ñÎ× 31 2004, Dima Orlov ÐÉÓÁÌ Ë Maxim Polyanskiy ÐÏ ÐÏ×ÏÄÕ "AVR GCC&IAR."

Hello, Dima!

÷cË æÅ× 01 2004, Dima Orlov ÐÉÓÁÌ Ë Vladislav Baliasov ÐÏ ÐÏ×ÏÄÕ "AVR GCC&IAR." DO> åÓÌÉ ÔÀÎÉÎÇ ÔÁË ÈÏÒÏÛ, ÐÏÞÅÍÕ ÅÇÏ ÎÅ ÄÅÌÁÅÔ ÐÒÏÉÚ×ÏÄÉÔÅÌØ? áÒÇÕÍÅÎÔÙ × ÓÔÉÌÅ "ÎÁ ÚÁ×ÏÄÅ ÎÅ ÄÕÒÁËÉ ÓÉÄÑÔ" ÒÁÚ×ÁÌÉ×ÁÀÔÓÑ × ÐÕÈ É ÐÒÁÈ ÐÒÉ ÁÎÁÌÉÚÅ ÒÅÁÌØÎÙÈ ÐÒÏÇÒÁÍÍ. éÌÉ ÎÁÐÒÉÍÅÒ ÓËÏÌØËÏ ÔÙ ×ÉÄÅÌ embedded ËÏÎÓÔÒÕËÃÉÊ ËÏÔÏÒÙÅ ÍÏÇ ÒÅÁÌØÎÏ ÕÌÕÞÛÉÔØ? ôÁË ×ÏÔ ÔÀÎÉÎÇ - ÜÔÏ ÔÏ-ÖÅ ÓÁÍÏÅ ;) DO> ó Õ×ÁÖÅÎÉÅÍ, äÉÍÁ ïÒÌÏ×. WBR! Maxim Polyanskiy.

Hello, Vladislav!

óÕ ñÎ× 31 2004, Vladislav Baliasov ÐÉÓÁÌ Ë Alexander Torres ÐÏ ÐÏ×ÏÄÕ "AVR GCC&IAR." VB> ñ Ë ÔÏÍÕ, ÞÔÏ ÏÇÒÏÍÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÒÅÛÅÎÉÊ, ËÏÔÏÒÙÅ DO ÏÂÚÏ×ÅÔ VB> "ÓÏ×ËÏÍ", ×ÐÏÌÎÅ ÄÁÖÅ ÐÒÁËÔÉËÕÀÔÓÑ × ÍÉÒÅ... é ÓÁÍÏÅ ÇÌÁ×ÎÏÅ, ÞÔÏ × exussr ÔÁËÉÅ ÒÅÛÅÎÉÑ ËÁË ÒÁÚ É ÎÅ ÐÒÁËÔÉËÕÀÔÓÑ, ÉÈ ÔÕÔ ÎÁÏÂÏÒÏÔ ÌÏÍÁÀÔ É ÚÁÐÉÓÙ×ÁÀÔ × ÐÚÕ ÓÏÇÌÁÓÎÏ ×ÓÅÍ ôõ ;)

VB> Ó Õ×ÁÖÅÎÉÅÍ ÷ÌÁÄÉÓÌÁ× WBR! Maxim Polyanskiy.

Hello, Vladimir!

óÕ ñÎ× 31 2004, Vladimir Vassilevsky ÐÉÓÁÌ Ë Maxim Polyanskiy ÐÏ ÐÏ×ÏÄÕ "AVR GCC&IAR." VV> ÷ ÒÁÍËÁÈ ÍÅÔÏÄÏ× 1992-ÇÏ ÇÏÄÁ ÜÔÏ ÒÅÛÁÌÏÓØ × ÎÁÔÕÒÅ ÁÄÍÉÎÉÓÔÒÁÔÉ×ÎÙÍÉ VV> ÍÅÒÁÍÉ. ôÙ ÎÁÐÉÓÁÌ ÐÒÏÇÒÁÍÍÕ ÚÁÐÉÓÁÌ ÅÅ × ÐÚÕ ÐÏÓÔÁ×ÉÌ × ÕÓÔÒÏÊÓÔ×Ï É ÐÒÏÄÁÌ 100 ÕÓÔÒÏÊÓÔ×, ÉÈ ËÕÐÉÌÉ 100 "ÚÎÁÀÝÉÈ ÔÅÍÕ ÞÅÌÏ×ÅË", ÒÁÚÏÂÒÁÌÉ, ÄÏÓÔÁÌÉ ÐÒÏÇÒÁÍÍÕ, ×ÔÕÐÕÀ ÓËÏÐÉÒÏ×ÁÌÉ, ËÁÖÄÙÊ ÓÄÅÌÁÌ 100-1000 ÁÎÁÌÏÇÉÞÎÙÈ ÕÓÔÒÏÊÓÔ×, ÐÒÏÄÁÌ ÉÈ ÐÏÓÒÅÄÓÔ×ÏÍ ËÏÍÉÓÓÉÉ × "ËÏÍÅÒÞÅÓËÏÍ ÌÁÒØËÅ", 99% ÜÔÉÈ ÌÀÄÅÊ ÔÙ ÎÅ ÚÎÁÅÛØ É ×ÏÏÂÝÅ ÎÉËÏÇÄÁ ÎÅ ×ÉÄÅÌ! ñ ÎÉÐÏÎÑÌ ÔÙ ×ÎÁÔÕÒÅ ÐÒÅÄÌÁÇÁÅÛØ 100-ÞÅÌÏ×ÅËÁÍ ÎÁÄÁ×ÁÔØ ÐÏ ÇÏÌÏ×Å? éÌÉ ÍÏÖÅÔ ÔÙ ÉÍÅÅÛØ ËÁËÉÅ-ÔÏ ÄÒÕÇÉÅ ÒÙÞÁÇÉ ÁÄÍÉÎÉÓÔÒÁÔÉ×ÎÏÇÏ ×ÏÚÄÅÊÓÔ×ÉÑ? ðÅÒÅÈÏÄÉÍ ÏÔ ÔÅÏÒÉÉ Ë ÐÒÁËÔÉËÅ. ëÏÅ ËÔÏ - ÎÅ ÂÕÄÅÍ ÐÏËÁÚÙ×ÁÔØ ÐÁÌØÃÅÍ, ÎÁÐÉÓÁÌ ÄÏÓÔÁÔÏÞÎÏ ÉÎÔÅÒÅÓÎÕÀ ÐÒÏÛÉ×ËÕ ÄÌÑ ÔÒÁÎËÏ×ÏÇÏ ËÏÎÔÒÏÌÌÅÒÁ (ÐÒÁ×ÄÁ ÔÁÍ ÏÛÉÂÏË ÂÙÌÏ ÎÅÍÅÒÑÎÎÏ ÎÕ ÄÁ ÌÁÄÎÏ). ÷ ÒÅÚÕÌØÔÁÔÅ ÜÔÁ ÐÒÏÛÉ×Á ÁÂÓÏÌÀÔÎÏ ÎÁÈÁÌÑ×Õ ÐÏÐÁÌÁ ×Ï ×ÓÅ ËÏÎÔÏÒÙ ÈÏÔØ ËÁËÉÍ-ÔÏ ÂÏËÏÍ ÏÔÎÏÓÑÝÉÅÓÑ Ë ÓÍÁÒÔÒÁÎËÕ2. HÕ-ËÁ ÒÁÓËÁÖÉ ËÁË × ÎÁÔÕÒÅ ÁÄÍÉÎÉÓÔÒÁÔÉ×ÎÙÅ ÍÅÔÏÄÙ ÒÁÂÏÔÁÌÉ × ÔÏÍ ÓÌÕÞÁÅ?

VV> VLV WBR! Maxim Polyanskiy.

Hello Alexey.

Sun Feb 01 2004 22:15, Alexey V Bugrov wrote to me:

DT>> á ÚÁÞÅÍ ÐÒÉÓ×ÁÉ×ÁÔØ × ÏÐÅÒÁÔÏÒÅ ÓÒÁ×ÎÅÎÉÑ?!

AVB> ôÉÐÉÞÎÁÑ ÓÉÔÕÁÃÉÑ (ÎÅÑ×ÎÏÅ ÓÒÁ×ÎÅÎÉÅ Ó ÎÕÌÅÍ):

AVB> if (error = foo()) AVB> return error;

üÔÏ ÞÔÏ, Åݣ É Ó ÐÏÂÏÞÎÙÍ ÄÅÊÓÔ×ÉÅÍ, error - ×ÎÅÛÎÑÑ ÐÅÒÅÍÅÎÎÁÑ? ÷ÏÔ ÔÁË ÓÉÏÎÉÓÔÙ É ÐÉÛÕÔ. ëÛÍÒ. :) åÓÌÉ ÐÒÏÓÔÏ ÎÁÄÏ ×ÅÒÎÕÔØ ÒÅÚÕÌØÔÁÔ ÓÒÁ×ÎÅÎÉÑ, Ñ ÄÅÌÁÀ ÔÁË:

return (foo() == err);

AVB> HÁ ÍÎÅ ÂÏÌÅÅ ÐÏ ×ËÕÓÕ ÐÅÒ×ÙÊ ×ÁÒÉÁÎÔ ËÁË ÂÏÌÅÅ ÌÁËÏÎÉÞÎÙÊ É ×ÐÏÌÎÅ AVB> ÞÉÔÁÂÅÌØÎÙÊ AVB> ÄÌÑ ÔÅÈ ËÔÏ ÚÎÁÅÔ ó.

ñ ×ӣ ÖÅ ÐÙÔÁÀÓØ ÓÏ×ÍÅÝÁÔØ ÌÁËÏÎÉÞÎÏÓÔØ Ó ÞÉÔÁÅÍÏÓÔØÀ É ÂÅÚÏÐÁÓÎÏÓÔØÀ. :)

Dimmy.

Hello George,

GS>>> Который "плохо ложится" в концепции структурного программирования GS>>> и очень плохо реализуется "сишными" командами. AM>> Может приведешь пример, из своей практики?

GS> Тут уже мелькал один образчик. С несколькими точками входа. Добавить ещё GS> "специфические" команды конкретного процессора, наличие которых может сделать GS> реализацию какой-то задачи заметно более просто - станут понятны другие GS> резервы для оптимизации.

Их не так много, как ты хочешь думать. В любом случае, они не ужмут код на порядок. Если до 2-ух раз и удастся дотянуть, да и то далеко не всегда.

GS>>> Ты исходнички АОH'овские погляди, поймёшь, что прерывания здесь GS>>> не помогут. AM>> Я еще раз говорю, мы не АОH обсуждаем, а общие подходы.

GS> Я привожу конкретный пример, иллюстрирующий возможные проблемы. Если тебя GS> не убеждает конкретный пример, какой смысл спорить об "общих подходах"?

А я и не спорю, я высказываю свою точку зрения, подкрепляя ее доказательствами в виде исходных текстов. На что мне заявляют, что на асм-е будет на порядок эффективнее, и приводят в пример АОН, но почему то не приводят альтернативный вариант кода на ассемблере, позволяющего "сделать" код после Си на порядок. Приводят код в 1.5 раза эффективнее, тем самым подтверждая мою точку зрения. Просишь показать порядок - приводят в пример АОН.

AM>> Вот и экономили байты, чтобы влезть.

GS> Так развивается _любой_ проект, который приходится длительное время GS> сопровождать. Изначально закладывают некоторый запас, но "втискиваться" GS> в него позже бывает довольно трудно...

Главное, что те функции, которые заложы в АОН, типа автодозвона по нескольким номерам сразу и прочей подобной лабуды особо никому и не нужны. Было смысл мучаться.

AM>> Сейчас этот же АОH на какой-нибудь AVR или PIC18 ляжет AM>> на Си и не подавится.

GS> Сейчас. Hо сделали устройства, продали их и получили прибыль - тогда. GS> Работу нужно делать вовремя, а не ждать десяток-другой лет, когда появятся GS> "более удобные девайсины".

Я обсуждаю подходы на момент "сейчас". 30 лет назад были другие подходы, и они имели право существовать, потому что были оптимальны на тот период. Во время аоностроителей был такой подход, сейчас он был бы другой. Писание на асм аонов - дело привычки, потому что я думаю, пишут их все те же люди, которые просто не умеют по другому.

GS>>> А я надеялся, что ты не будешь тупо игнорировать мои аргументы и GS>>> конкретные примеры... AM>> Я не видел конкретных примеров кода,

GS> Тебе уже без меня дали пример кода, на который ты сразу начал жаловаться ;)

Цитируй здесь и сейчас, где я жаловался и на что.

AM>> что может быть конкртенее их?

GS> Конкретнее может быть, к примеру, реплика на твоё предыдущее сообщение. GS> В которой ты загнал переменные в xdata. Программист, хорошо знающий систему GS> команд процессора i51, не стал бы таким приёмом резко снижать эффективность GS> работы устройства, принял бы меры по их переносу в область "нормальных" данных. GS> А "сишник" даже и не увидит разницы...

Чушь, все определяется задачей. Вы же сразу взбрыкнули и сказали, что это неправильно, потому что сам дурак, не туда положил. Впрочем и от тебя с удовольствием выслушаю совет по приему пакета в 250 байт в iram.

GS>>> пользоваться ассемблером и не владеет "чисто ассемблерными" GS>>> приёмами оптимизации. AM>> Всем владеет одинаково.

GS> Это больша-ая редкость!

ты забыл добавить - имхо.

AM>> Сначала писал на асм несколько лет,

GS> Я тоже писал на асме несколько лет. И ещё несколько лет. И только после этого GS> начал овладевать действительно грамотными приёмами программирования на асме...

Еще только начал? И ты советуешь свой путь другим - "вы ребята потерпите, к сорока годам у вас точно начнет получаться".?

AM>> потом перешел на Си, таких здесь много.

GS> Много, кто спорит. Hо численность - не аргумент правильности. Один профи GS> может написать такой код, который вся эха откажется считать реализуемым ;-)

И этот профи, конечно ты?

GS> Умение зависит от человека. Возможности - от инструмента. Ассемблер - более GS> "острый" инструмент. Который не всякому программисту даётся...

Да ничего в асме нет сложного. Свободы больше- да, сложности нет, больше рутины. Более острый - да, но не позволяющий достигать изначально заявленных порядков по коду и какой-то экономии ОЗУ.

AM>> времени впрочем тоже.

GS> Время уходит отнюдь не только на набивку исходника!

Да, обычно в перерывах пытаются думать.

AM>>>> Я как раз рассматриваю общий подход. GS>>> А это не даст тебе возможность понять, откуда вдруг берётся такой GS>>> выигрыш на конкретных задачах ;) AM>> Я вижу этот выигрыш. И вижу проигрыш. Я жертвую выигрышем, даваемым AM>> эффективностью асма, взамен получаю сокращение времени на разработку и AM>> простоту сопровождения.

GS> Верю. А у меня строго обратная картина. Привычки, навыки, особенности GS> конкретных задач. Каждый решает для себя как и на чём программировать. GS> И не нужны нам здесь "религиозные войны"! ;)

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

AM>> Си позволяет решать задачу хоть снизу-вверх, хоть сверху-вниз. AM>> Чаще я начинаю с написания HAL, потом двигаюсь вверх.

GS> Снова приведу маленький пример. Звук в АОH'ах на Z80 формировался следующим GS> образом: один канал 53-го таймера переводился в режим генерации импульса, GS> длительность этого импульса соответствовала текущему уровню сигнала. GS> Частота запуска этого канала таймера определялась программной задержкой - все GS> ветви алгоритма должны были крутиться в цикле чётко заданного периода ШИМ GS> (с точностью до машинного такта!) GS> Расскажи, как такое можно спроектировать на сях...

Никак. Я нигде не утверждал, что Си - панацея. Но для современного положения дел - берется uC с аппаратнрым ШИМ и все пишется на Си, без особых хлопот по подсчету тактов.

GS>>> Как раз в соседних письмах тебе Максим Полянский нашёл время GS>>> продемонстрировать, как 4 сишных локальных переменных превратить в GS>>> ноль ассемблерных. AM>> Там переменные упали в регистры,

GS> Hу да, "по щучьему велению"! ;) Их _программист_ распределил по регистрам.

Какой программист? Компилятор Си счел возможным разместить их в регистрах. Что и было прямо сказано в листинге.

GS> Зная, что нужно обрабатывать эффективно, а что может и в памяти полежать.

Я говорю про код после Си - там все в регистрах.

AM>> память не зарезервировалась, значит их нет.

GS> А сишникам в этой ситуации остаётся только уповать на "интеллект" конкретного GS> компилятора. Зато думать меньше надо ;)

Меньше заботиться о частностях. Эффективность- не самоцель.

AM>> А если бы был процессор с аккумулятором и регистров

GS> "Если бы у бабушки..." (c)

GS> Интересная у тебя реакция на _конкретные_ примеры, сразу тему начинаешь GS> менять.

Приведенный пример подтвердил мою правоту, оверхед примерно в тех рамках, что и был заявлен. Какой смысл мне менять тему?

GS> Учись отличать условия задачи и конкретную реализацию алгоритма её решения.

AM>> Алгоритмы, реализуемые на асм и Си должны быть одинаково AM>> оптимальными, или одинаково убогими.

GS> С какой это радости?

С той, что это корректный подход для определения эффективности компилятора.

GS> А если программист на асме увидит более эффективный GS> путь решения задачи,

Я не пытаюсь сравнивать гениальность программистов. Я говорю, что если _этот_ программист будет писать на асм, реализуя алгоритм X, и получит N килобайт кода, и потом _этот же_ программист будет писать на Си все тот же алгоритм X, то он получит примерно 1.3*N килобайт кода.

GS> он должен прикинуться идиотом?

Нет, если будет найден более эффективнй алгоритм, то он будет реализован как на Си, так и на асм, поскольку программист один и тот же.

AM>> В этом смысл сравнения компилятора Си и асм.

GS> Hет никакого смысла сравнивать эффективность реализации, если одному GS> из соперников по "идейным соображениям" "связать руки"!

Нет соперников, есть один и тот же программист, перед ним стоит выбор Си vs Asm.

AM>> В противном случае это будет соревнование GS и AM в создании AM>> оптимальных алгоритмов.

GS> А для тебя что, новость, что программы пишут именно программисты? GS> Пусть и пользуясь какими-то подходящими для себя программами...

А для тебя новость, что конкретное устройство реализует конкретный программист, и перед ним стоит выбор Си vs Asm? И что он ни с кем не состязается, просто выбирает инструмент, зная, что он выигрывает, а что проигрывает.

AM>> Вот и запусти.

GS> Так напиши для начала, тогда каждый запустить сможет ;) Конкретную GS> (хорошо формализованную и решаемую за разумное время) задачу я уже GS> называл - машинонезависимая форт-система. Hа ассемблере это вгоняется GS> в 2-4 килобайта, в зависимости от требуемого соотношения эффективность/ GS> объём кода.

Мне не интересно состязание программистов. Этот спор о другом. О дурилке, что асм на порядок эффективнее Си на одинаковых алгоритмах.

AM>> Я бы хотел посмотреть форт, но не могу из-за недостатка времени. AM>> Я тебе могу встречное предложение сделать. Давай напишем стек AM>> SLIP/IP/TCP. Hо ты ведь точно также скажешь, что у тебя не времени AM>> изучать стек протоколов.

GS> Пример ведь не я просил, так что выбор за мной ;)

То есть ты точно также слил, при виде незнакомой задачи.

ðÒÉ×ÅÔ George!

Sunday February 01 2004 17:21, George Shepelev wrote to Yuriy K:

GS>>> á ÔÁÍ ÔÉÐÉÞÎÙÊ ÐÒɣÍ GS>>> "ÁÓÔÒÕËÔÕÒÎÏÇÏ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ" - ÐÏÄÐÒÏÇÒÁÍÍÁ Ó ÎÅÓËÏÌØËÉÍÉ GS>>> ÔÏÞËÁÍÉ ×ÈÏÄÁ, ÔÉÐÉÞÎÙÊ "ÅÈÉÄÎÙÊ" ÐÒɣÍ ÏÐÔÉÍÉÚÁÃÉÉ ;) YK>> õ×ÏÌØÎÑÔØ ÐÒÏÇÒÁÍÍÉÓÔÁ. GS>

GS> äÏÒÏÇÕÛÁ, ÍÙ ÕÖÅ ÐÏÎÑÌÉ, ÞÔÏ ×ÓÅÈ ÁÓÓÅÍÂÌÅÒÎÙÈ ÐÒÏÇÒÁÍÍÉÓÔÏ× GS> ÎÁÄÏ Õ×ÏÌÉÔØ, Á ÔÅÂÅ ÐÏÓÔÁ×ÉÔØ ÐÁÍÑÔÎÉË (ÎÁ ÂÅÌÏÍ ÉÛÁËÅ) ;)

öÏÒÁ, Õ×ÏÌØÎÑÔØ ÎÁÄÏ (ÐÒÉÞÅÍ ÎÅÍÅÄÌÅÎÎÏ), ÎÁ "ÁÓÓÅÍÂÌÅÒÎÙÈ ÐÒÏÇÒÁÍÍÉÓÔÏ×" (ÉÁËÏÇÏÔÅÒÍÉÎÁ ×ÏÂÝÅ ÎÅÔ), Á ÒÁÚÎÙÈ "ÔÒÀËÁÞÅÊ", ËÏÔÏÒÙÅ ÐÉÛÕÔ "ÅÈÉÄÎÙÅ ÐÒÏÇÒÁÍÍÙ".

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 Alexey.

Fri Jan 30 2004 17:13, Alexey Boyko wrote to George Shepelev:

AB> HÕ ÄÁ. ôÁË ËÁË ÜÔÏ ÐÒÉÍÅÒ ÐÁÓËÁÌÑ ÎÁ 32-È ÂÉÔÎÏÊ ÁÒÈÉÔÅËÔÕÒÅ. AB> ëÓÔÁÔÉ, × Delphi 1 - integer 16 - ÂÉÔÎÙÊ, ËÁË É ÚÁÄÕÍÁÎÎÏ ÉÄÅÏÌÏÇÉÅÊ. AB> á ÅÓÔØ ÅÝÅ Free Pascal. õÖ ÜÔÏ ÔÏÞÎÏ ÎÅ ÄÅÌØÆÉ. á integer Õ ÎÅÇÏ 32 AB> ÂÉÔÎÙÊ.

á ÅÓÔØ Åݣ Virtual Pascal, Õ ÎÅÇÏ ÍÏÖÎÏ ×ÙÂÉÒÁÔØ Ó ÐÏÍÏÝØÀ ÄÉÒÅËÔÉ×Ù $USE32. :)

Dimmy.

GS>>> Есть опыт переделки этих реализаций на ассемблере. AM>> С нуля?

GS> Почти.

Это подтверждает, что выигрыш был достигнут за счет применения более оптимальных алгоритмов. Это может быть, я здесь спорить не буду.

AM>> Это может доказать, что ты решаешь задачу, применяя другие, AM>> более подходящие алгоритмы.

GS> Это преступление? ;)

Нет, но я не с эти спорю.

AM>> И в случае реализации новых алгоритмов на Си ты получишь почти AM>> такой-же, чуть меньший, выигрыш.

GS> Только в теории. Hа сях подобная программа будет выглядеть GS> чудовищно, на каждом шагу придётся контролировать, как это GS> реализуется компилятором. Проще сразу на асме. Мне, во всяком GS> случае...

Вот именно, что тебе.

AM>> Мнемоники ассемблера такие, какими их создали разработчики процессора.

GS> Мнемоники ассемблера такие, как их задали разработчики _компилятора_. GS> К примеру, никто не мешает писать код для 8080 на компиляторах для GS> Z80 (хотя мнемоники от "разработчиков процессоров" - разные).

Это частный случай совместимости.

AM>>>> Hу, и хотелось бы иметь пример зевка, который плохо ловит Си. GS>>> "=" вместо "==". Hу очень забавно глядеть, как вылавливают GS>>> подобную багу ;))) AM>> Определяется стилем, например:

GS> Меня не интересуют нетривиальные приёмы,

Прием как раз тривиальный. Во многих книгах по Си встречается.

GS> которыми можно пытаться ловить такой зевок. Можно и стиль "зевнуть" ;)

Выбранного стиля надо придерживаться.

GS> Во всяком случае пример "зевка" ты понял. Попробуй проделать то-же GS> на Паскале...

Я не пишу на Паскале и не обсуждаю сейчас Паскаль.

AM>> Всегда можно поставить собеседника в тупик, задав ему домашенее AM>> задание из незнакомой области,

GS> Hе буду спорить. Hо эта область, которую _полезно_ знать GS> человеку, который стремится эффективно программировать. GS> Тем более, ты и сам хотел изучить Форт ;)

Не сейчас, нет свободного времени.

AM>> Тогда откуда уверенность, что они на асм?

GS> Hа прямой вопрос о использовавшемся языке программирования как правило GS> отвечают.

Может специально врут, чтобы запутать :)))

AM>> Если остается половина, и она не используется, тогда в чем смысл AM>> оптимизации?

GS> Завтра днём заказчик попросит, чтобы реализовали ещё пару "очень нужных" GS> функций, завтра вечером мне об этом сообщит шеф, послезавтра мы с ним GS> обсудим, что из этого действительно нужно сделать, а через неделю у заказчика GS> будет новая, более "фичастая" версия ;) GS> А для этого нужна "свобода манёра...

При таком подходе все равно когда-то память кончится.

GS>>> итого 7 байт кода

AM>> Для х51 на Си

GS> Вообще-то некорректно сравнивать коды разных процессоров ;)

Да команды примерно одной длины, что некорректного. Или приведи аналогичный трюк для х51, чтобы было корректно.

AM>> 17 байт с учетом пересылки результатов. Да, не так супер-оптимально. AM>> В 2.5 раза больше. Hо не в 10 и не в 15.

GS> Я уже говорил, что на коротких примерах очень трудно получить GS> принципиальную разницу в оптимизации. Одно элементарное действие GS> вообще делается однозначно...

Ты утверждал, что трюки на асм позволяют поднять эффективность на порядок. Ты привел пример трюка, я показал, что он эффективнее аналогичного действия на Си в 2.5 раза.

AM>> Банальное сравнение двух переменных из памяти не даст оверхеда на Си AM>> вообще.

GS> А кто тебе сказал, что такое сравнение потребуется в _любом_ алгоритме? GS> К тому-же проблема не только в объёме кода, в некоторых случаях важнее GS> скорость работы - а там даже пара лишних команд (сишные манипуляции с GS> переменными) в "глубоком" цикле может всё испортить...

Да никто не спорит с частностями. Но эти частности обычно занимаю 2-5% кода проекта и точно также могуть быть написаны на асм.

ðÒÉ×ÅÔ Michael!

Friday January 30 2004 18:25, Michael Belousoff wrote to Alexander Torres:

DO>>>> á ×ÅÄØ ÔÁË É ÅÓÔØ, öïòá. MB>>>

MB>>> ëÓÔÁÔÉ, ÏÎ ÎÁ ÔÅÂÑ Ô×ÉÔ ÐÏÓÔÁ×ÉÌ. éÍÅÊ × ×ÉÄy. MB>

AT>> á ÜÔÏ ÓÏ×ÅpÛÅÎÎÏ ÎÅ×ÁÖÎ, ÐÉÛÅÔÓÑ-×ÅÄØ ÎÅ ÅÍy Á ×ÓÅÍ, ÞÔÏÙ ÏÎÉ AT>> ÐÏÍÅÎØÛÅ ÓÌyÛÁÌÉ ÞÔÏ ÏÎ ÐÌÅÔÅÔ (Á ÐÌÅÔÅÔ ÏÎ ÐÏÌÎyÀ ÞyÛØ yÖÅ ÄÁÌÅËÏ AT>> ÎÅ ÐÅp×ÙÊ ÇÏÄ). MB>

MB> ÷Ï-ÐÅp×ÙÈ, ÔÏ, ÞÔÏ ÏÎ ÐÉÛÅÔ, É ÔÁË ÈÏpÏÛÏ ×ÉÄÎÏ.

HÕ ×ÉÄÉÍÏ ÎÅ ×ÓÅÍ, ÏÓÏÂÅÎÎÏ ÔÅÍ ËÔÏ ÎÅÄÁ×ÎÏ ÔÕÔ ÐÏÑ×ÉÌÓÑ, ÐÏÔÍÕ ËÁË ËÏÅ-ËÔÏ ÅÇÏ ÐÒÏÄÏÌÖÁÅÔ ×ÓÅÒØÅÚ ×ÏÓÐÒÉÎÉÍÁÔØ :)

MB> ÷Ï-×ÔÏpÙÈ, "öïòá" - ÜÔÏ yËÁÚÁÔÅÌØ Hå ÎÁ yÍ É ÜpyÄÉÃÉÀ MB> ÈÁpÁËÔÅpÉÚyÅÍÏÇÏ, á ÎÁ ×ÙÓÏËÉÅ ÍÏpÁÌØÎÙÅ ËÁÞÅÓÔ×Á ÈÁpÁËÔÅpÉÚyÀÝÅÇÏ.

üÔÏ ×ÏÏÂÝÅ ÎÉÞÅÇÏ É ÎÉËÏÇÏ ÎÅ ÈÁÒÁËÔÅÒÉÚÕÅÔ, ÅÇÏ ÐÒÏÓÔÏ ÚÏ×ÕÔ ÔÁË.

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, Alexander Derazhne !

ðÏÜÔÏÍÕ ÓÅÇÏÄÎÑ Õ ×ÓÅÈ Exel...

ó Õ×ÁÖÅÎÉÅÍ, äÉÍÁ ïÒÌÏ×.

ðÒÉ×ÅÔ Maxim!

Monday February 02 2004 03:37, Maxim Polyanskiy wrote to Alexander Torres:

AT>> ÷ÏÔ ÜÔÏ É ÎÁÚÙ×ÁÅÔÓÑ "ÈÁËÅÒÓÔ×Ï", É× ÎÏÒÍÁÌØÎÙÈ ËÏÎÔÏÒÁÈ - ÚÁ ÔÁËÏÅ AT>> Õ×ÏÌØÎÑÀÔ ÎÅÍÅÄÌÅÎÎÏ. MP>

MP> ÷ÁÛÅ ÌÉÞÎÏÅ ÐÏÎÉÍÁÎÉÅ ÎÏÒÍÁÌØÎÏÓÔÉ

üÔÏ ÎÅ "ÍÏÅ" ÐÏÎÉÍÁÎÉÅ.

MP> ÎÅ ÉÍÅÅÔ ÁÂÓÏÌÀÔÎÏ ÎÉËÁËÏÇÏ ÏÔÎÏÛÅÎÉÑ Ë ÒÅÁÌØÎÏÓÔÉ.

ôÅÍ ÎÅ ÍÅÎÅÅ, ÓÌÕÞÁÉ Õ×ÏÌØÎÅÎÉÑ ÚÁ "ÈÁËÅÒÓÔ×Ï", ÚÁ "ÅÈÉÄÎÏÅ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ" - ÍÎÅ ÉÚ×ÅÓÔÎÙ, É ÎÅÍÁÌÏ. ïÄÉÎ ËÏÎËÒÅÔÎÙÊ ÓÌÕÞÁÊ, ÂÙÌ Ó ÍÏÉÍ ÏÞÅÎØ ÂÌÉÚËÉÍ ÐÒÉÑÔÅÌÅÍ.

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

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required