AVR GCC&IAR

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

Kirill, ÔÙ Åݣ ÚÄÅÓØ ÓÉÄÉÛØ?

ðÏÎÅÄÅÌØÎÉË æÅ×ÒÁÌØ 02 2004 22:51, Kirill Frolov wrote to George Shepelev:

GS>> çÌÕÐÏÓÔÉ ÍÏÖÎÏ ÄÅÌÁÔØ ÎÁ ÌÀÂÏÍ ÑÚÙËÅ. HÏ ÎÁ ðÁÓËÁÌÅ ÔÁËÉÅ GS>> ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ ÎÕÖÎÏ ÄÅÌÁÔØ _Ñ×ÎÏ_, ÞÔÏ Á×ÔÏÍÁÔÉÞÅÓËÉ ÏÂÒÁÝÁÅÔ GS>> ×ÎÉÍÁÎÉÅ ÐÒÏÇÒÁÍÍÉÓÔÏ× ÎÁ KF> çÄÅ × ÐÁÓËÁÌÅ ÎÕÖÎÏ ÄÅÌÁÔØ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅ Ñ×ÎÏ, Á × C ÍÏÖÎÏ KF> ÐÒÏÐÕÓÔÉÔØ ÐÒÉ×ÅÄÅÎÉÅ ÔÉÐÏ×?

ðÏËÁÚÙ×ÁÀ. ÷ÙËÉÎØ ÐÅÒ×ÙÊ ÓÉÍ×ÏÌ ËÏÍÍÅÎÔÁÒÉÑ × ÌÀÂÏÊ ÓÔÒÏÞËÅ ÐÒÏÇÒÁÍÍÙ É ÐÏÐÒÏÂÕÊ ÓËÏÍÐÉÌÉÔØ. üË×É×ÁÌÅÎÔ ÎÁ "ËÌÁÓÓÉÞÅÓËÏÍ ÓÉ" ÏÔ K&R, ËÏÔÏÒÙÊ _ÓËÏÍÐÉÌÉÔÓÑ_, ÎÁÄÏ ÐÒÉ×ÏÄÉÔØ?

Program test_;

Var B1 : Byte; { 0..255 } W1 : Word; { 0..65535 } I1 : Integer; { -32768..32767 } R1 : Real; C1 : Char; { ASCII character } F1 : Boolean;

begin { B1 := -3; { constant out of range } { B1 := 256; { constant out of range } { I1 := 32768; { constant out of range } { C1 := 0; { type mismatch } { F1 := 1; { type mismatch }

{ C1 := B1; { type mismatch } { W1 := C1; { type mismatch } { I1 := R1; { type mismatch } { R1 := F1; { type mismatch }

{ W1 = B1; { ":=" expected } { if (W1 := B1) then Write('çÌÕÐÏÓÔØ ËÁËÁÑ!'); { ")" expected } { if (B1) then Write('ôÏÖÅ ÇÌÕÐÏÓÔØ...'); { boolean expression expected } end.

çÅÏÒÇÉÊ

Kirill, ÔÙ Åݣ ÚÄÅÓØ ÓÉÄÉÛØ?

ðÏÎÅÄÅÌØÎÉË æÅ×ÒÁÌØ 02 2004 23:00, Kirill Frolov wrote to George Shepelev:

GS>> ðÁÓËÁÌÅ×ÓËÉÊ Word ÂÅÚÚÎÁËÏ×ÙÊ. á Integer (É ÓÉÛÎÙÊ int) - GS>> ÚÎÁËÏ×ÙÅ. üÔÏ ÓÌÉÛËÏÍ ÐÒÉÎÃÉÐÉÁÌØÎÁÑ ×ÅÝØ, ÞÔÏÂÙ ÐÕÔÁÔØ... KF> âÅÚÚÎÁËÏ×ÙÊ ÔÉÐ -- Åݣ ÏÄÎÉ ÏÐÁÓÎÙÅ ÇÒÁÂÌÉ.

ëÁËÉÅ Ë ޣÒÔÕ "ÇÒÁÂÌÉ"? üÔÏÔ ÔÉÐ ÏÐÉÓÙ×ÁÅÔ _ÒÅÁÌØÎÙÅ_ ÄÁÎÎÙÅ (Ë ÐÒÉÍÅÒÕ ÕÒÏ×ÅÎØ ÓÉÇÎÁÌÁ × 8-ÍÉ ÂÉÔÎÏÍ wav ÆÁÊÌÅ ÉÌÉ ÚÎÁÞÅÎÉÅ, ÓÞÉÔÁÎÎÏÅ Ó áãð ÏÄÎÏËÒÉÓÔÁÌÌËÉ)!

GS>> ìÉÞÎÏ Ñ ÐÒÅÄÐÏޣÌ ÂÙ ÂÏÌÅÅ ×ÍÅÎÑÅÍÙÅ int16 / uint16. KF> #include <stdint.h>

÷ _ÓÔÁÎÄÁÒÔÅ_ ÑÚÙËÁ, Á ÎÅ ÄÏÂÁ×ÌÅÎÎÙÅ ÏÔÄÅÌØÎÙÍ ÐÒÏÇÒÁÍÍÉÓÔÏÍ, ÐÏÓÌÅ ÐÒÉÏÂÒÅÔÅÎÉÑ ÏÐÙÔÁ ÈÏÖÄÅÎÉÑ ÐÏ ÇÒÁÂÌÑÍ. é ×ÓÅ ÐÒÏ×ÅÒËÉ ÎÁ ÓÏÏÔ×ÅÔÓÔ×ÉÅ ÒÁÚÍÅÒÎÏÓÔÅÊ ÐÏÓÔÒÏÖÅ, ÐÏÓÔÒÏÖÅ...

çÅÏÒÇÉÊ

Kirill, ÔÙ Åݣ ÚÄÅÓØ ÓÉÄÉÛØ?

÷ÔÏÒÎÉË æÅ×ÒÁÌØ 03 2004 00:32, Kirill Frolov wrote to Sergey Davydov:

KF>>> üÔÏ ÎÅÄÏÓÔÁÔÏË ÐÁÓËÁÌÑ, ÞÔÏ × ΣÍ ÎÅÔ "ÂÙÓÔpÏÇÊ ÐÅpÅÍÅÎÎÏÊ" KF>>> Ó pÁÚpÑÄÎÏÓÔØÀ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÊ pÅÇÉÓÔpÁÍ ÐpÏÃÅÓÓÏpÁ. SD>> ñ ÔÏÖÅ ÄÕÍÁÌ, ÞÔÏ ÉÄÅÑ ÉÍÅÎÎÏ ÔÁËÁÑ, ÎÏ ÐÏÞÅÍÕ-ÔÏ ×ÓÅ ×ÉÄÅÎÎÙÅ SD>> ÍÎÏÊ ÓÉÛÎÙÅ ËÏÍÐÉÌÑÔÏpÙ ÄÌÑ 8-ÂÉÔÏË int'ÏÍ ÓÞÉÔÁÀÔ 16-ÂÉÔÎÏÅ SD>> ÃÅÌÏÅ. KF> äÌÑ ÓÏÚÄÁÔÅÌÅÊ C 8-ÒÁÚÒÑÄÎÙÅ ÍÉËÒÏËÏÎÔÒÏÌÌÅÒÙ ÂÙÌÉ ÎÅ ÁËÔÕÁÌØÎÙ...

"úÅÌÅÎ ×ÉÎÏÇÒÁÄ" (c)

HÁÐÏÍÉÎÁÀ, ÄÏ ÎÅÄÁ×ÎÅÇÏ ×ÒÅÍÅÎÉ ÄÏÓÔÁÔÏÞÎÏ ÁËÔÉ×ÎÏ ÐÒÉÍÅÎÑÌÉÓØ

4-È ÂÉÔÎÙÅ ËÏÎÔÒÏÌÌÅÒÙ...

çÅÏÒÇÉÊ

Kirill, ÔÙ Åݣ ÚÄÅÓØ ÓÉÄÉÛØ?

÷ÔÏÒÎÉË æÅ×ÒÁÌØ 03 2004 00:47, Kirill Frolov wrote to Oleksandr Redchuk:

KF> ñ ÄÌÑ ÓÅÂÑ ÒÅÛÉÌ ÔÁË: ÎÕÖÎÏ ÞÔÏ-ÔÏ, ÞÔÏ × 16 ÒÁÚÒÑÄÏ× ÕËÌÁÄÙ×ÁÅÔÓÑ KF> -- ÐÉÛÕ int. HÅ ÕËÌÁÄÙ×ÁÅÔÓÑ -- long. ÷ ÓÐÅÃÉÁÌØÎÙÈ ÓÌÕÞÁÑÈ, ËÏÇÄÁ ÜÔÏ KF> ÏÐÒÁ×ÄÁÎÏ, ÎÁÐÒÉÍÅÒ ÄÌÑ ÜËÏÎÏÍÉÉ ÐÁÍÑÔÉ -- ÐÉÛÕ short, ÉÌÉ char, KF> ÉÌÉ uint<n>_t... HÉËÁËÏÇÏ "Ï×ÅÒÈÅÄÁ" ÄÌÑ ÂÏÌØÛÉÈ ÐÒÏÃÅÓÓÏÒÏ× ÎÅÔ KF> (sizeof(int) == sizeof(long), ËÁË É ÌÉÛÎÅÊ ÔÒÁÔÙ ÒÅÓÕÒÓÏ× ÎÁ ÍÁÌÙÈ, KF> ÎÕ 8-ÂÉÔ ËÏÎÅÞÎÏ ×ÓÅÇÄÁ ÍÁÌÏ×ÁÔÏ... HÏ char ×ÍÅÓÔÏ int ÍÏÖÅÔ ÂÙÔØ KF> ÓÉÌØÎÏ ÎÅ×ÙÇÏÄÅÎ ÎÁ "ÂÏÌØÛÉÈ" ÐÒÏÃÅÓÓÏÒÁÈ.

char ×ÍÅÓÔÏ int ÎÁ ÂÏÌØÛÉÈ ÐÒÏÃÅÓÓÏÒÁÈ ÍÏÖÅÔ ÏÓ×ÏÂÏÄÉÔØ ËÕÞÕ "ÌÉÛÎÉÈ" ÒÅÇÉÓÔÒÏ×, ËÏÔÏÒÙÈ ÏÞÅÎØ ÞÁÓÔÏ ÎÅ È×ÁÔÁÅÔ...

çÅÏÒÇÉÊ

Maxim, ÔÙ Åݣ ÚÄÅÓØ ÓÉÄÉÛØ?

÷ÔÏÒÎÉË æÅ×ÒÁÌØ 03 2004 08:00, Maxim Polyanskiy wrote to Alexey V Bugrov:

AB>> äÁ ÎÉÆÉÇÁ ÏÎ ÎÅ ÄÁÅÔ. HÏÒÍÁÌØÎÙÊ ËÏÍÐÉÌÑÔÏÒ ó, ËÏÔÏÒÙÊ ÕÍÅÅÔ tail AB>> merging Ó×ÅÒÎÅÔ ËÏÄ ÎÅÓËÏÌØËÉÈ ÆÕÎËÃÉÊ, ÏËÁÎÞÉ×ÁÀÝÉÈÓÑ ÏÄÉÎÁËÏ×Ï, AB>> × ÏÄÎÕ ÆÕÎËÃÉÀ Ó ÎÅÓËÏÌØËÉÍÉ ÔÏÞËÁÍÉ ×ÈÏÄÁ É ÒÁÚÎÙÍÉ ÐÒÏÌÏÇÁÍÉ. MP> âÒÅÄ. ðÒÉÍÅÒ (ËÏÔÏÒÙÊ Ñ ÉÚÎÁÞÁÌØÎÏ ×ÙÓÌÁÌ) ÏÔËÏÍÐÉÌÉÒÏ×ÁÎÎÙÊ ÔÁËÉÍ MP> ËÏÍÐÉÌÑÔÏÒÏÍ? HÁÚ×ÁÎÉÅ ËÏÍÐÉÌÑÔÏÒÁ?

HÁ×ÅÒÎÏÅ ÍÏÖÎÏ ÕÖÅ ÚÁËÁÎÞÉ×ÁÔØ ÓÐÏÒÉÔØ Ó ÔÅÏÒÅÔÉËÁÍÉ, ËÏÔÏÒÙÅ ÇÄÅ-ÔÏ × ËÎÉÖËÁÈ ×ÙÞÉÔÁÌÉ ÐÒÏ "ÐÒÅÉÍÕÝÅÓÔ×Á" "ÓÕÐÅÒÏÐÔÉÍÉÚÉÒÕÀÝÉÈ ËÏÍÐÉÌÑÔÏÒÏ×", Á ÓÁÍÉ ÄÁÖÅ ÎÅ ÐÙÔÁÀÔÓÑ ÜÔÉ "ÐÒÅÉÍÕÝÅÓÔ×Á" ÉÓÐÏÌØÚÏ×ÁÔØ. ìÀÂÕÀ ÐÏÐÙÔËÕ ÓÄÅÌÁÔØ ÂÏÌÅÅ ÜÆÆÅËÔÉ×ÎÏ - ÏÂßÑ×ÌÑÀÔ ÂÒÅÄÏÍ, É ÏÞÅÎØ ÌÀÂÑÔ ÐÅÓÎÀ ÐÒÏ "ÚẠ̊ÎÙÊ ×ÉÎÏÇÒÁÄ", ËÏÇÄÁ ÓÔÁ×ÉÔÓÑ ÞÕÔØ ÂÏÌÅÅ ÓÌÏÖÎÁÑ ÚÁÄÁÞÁ ÐÒÉ ÏÇÒÁÎÉÞÅÎÎÙÈ ÒÅÓÕÒÓÁÈ...

çÅÏÒÇÉÊ

Leha, ÔÙ Åݣ ÚÄÅÓØ ÓÉÄÉÛØ?

÷ÔÏÒÎÉË æÅ×ÒÁÌØ 03 2004 12:00, Leha Bishletov wrote to George Shepelev:

GS>> óÎÏ×Á ÐÒÉ×ÅÄÕ ÍÁÌÅÎØËÉÊ ÐÒÉÍÅÒ. ú×ÕË × áïH'ÁÈ ÎÁ Z80 GS>> ÆÏÒÍÉÒÏ×ÁÌÓÑ ÓÌÅÄÕÀÝÉÍ ÏÂÒÁÚÏÍ: ÏÄÉÎ ËÁÎÁÌ 53-ÇÏ ÔÁÊÍÅÒÁ GS>> ÐÅÒÅ×ÏÄÉÌÓÑ × ÒÅÖÉÍ LB> [ÐÒÉÍÅÒ skip] LB> ðÒÉ×ÅÄÕ ÄÒÕÇÏÊ ÐÒÉÍÅÒ: ÏÂÒÁÂÏÔËÁ Ä×ÕÈ ×ÈÏÄÎÙÈ ÓÉÇÎÁÌÏ× ÎÁ ÏÄÉÎ ×ÙÈÏÄ LB> ÐÏ ÌÏÇÉËÅ 2é-Hå. óÐÏÓÏÂÅÎ ÌÉ ÌÀÂÏÊ ÕÎÉ×ÅÒÓÁÌØÎÙÊ íë ÓÏÐÅÒÎÉÞÁÔØ Ó LB> ÜÌÅÍÅÎÔÏÍ ìá3, ÄÁÖÅ ÅÓÌÉ ×ÓÅ ×Ù×ÅÒÑÔØ ÐÏ ÔÁËÔÁÍ ÎÁ áóí? HÅÔ? ôÏÇÄÁ LB> ÄÏÌÏÊ ×ÓÅ íë É ÐÅÒÅÈÏÄÉÍ ÎÁ ÍÅÌËÕÀ ÌÏÇÉËÕ! óÏÇÌÁÓÅÎ?

ëÓÔÁÔÉ, Õ ÍÅÎÑ ÂÙÌÉ ÐÁÒÁ ÓÌÕÞÁÅ×, ËÏÇÄÁ ÕÄÁ×ÁÌÏÓØ ÚÁÍÅÎÉÔØ ËÏÎÔÒÏÌÌÅÒ ÎÁ "ÔÕÐÕÀ ÌÏÇÉËÕ". þÔÏ ÄÁ×ÁÌÏ ÕÄÅÛÅ×ÌÅÎÉÅ ËÏÎÓÔÒÕËÃÉÉ, ÄÁ É ÄÅÔÁÌÉ ÄÏÓÔÁ×ÁÔØ ÓÔÁÌÏ ÇÏÒÁÚÄÏ ÐÒÏÝÅ. ÷ ÒÅÁÌØÎÏÍ ÍÉÒÅ ËÁÖÄÙÊ ÉÚ ÐÏÄÈÏÄÏ× ÂÙ×ÁÅÔ ÐÏÌÅÚÅÎ ;)

LB> á ÅÓÌÉ ÐÏ ÔÅÍÅ, ÔÏ ÄÁ×ÁÊ ÎÅ ÂÕÄÅÍ ÓÒÁ×ÎÉ×ÁÔØ ÒÁÚÒÁÂÏÔËÕ 15-ÔÉ ÌÅÔÎÅÊ LB> ÄÁ×ÎÏÓÔÉ Ó ÔÅÍ, ÞÔÏ ÅÓÔØ ÓÅÊÞÁÓ. ôÙ ÓÅÊÞÁÓ ÓÔÁÌ ÂÙ ÄÅÌÁÔØ ÎÏ×ÙÊ áïH LB> ÎÁ Z80? á ÎÁ È51?

åÓÌÉ ÂÙ ÏÂÏÓÎÏ×ÁÌÉ ÔÁËÏÊ ×ÙÂÏÒ É ÁÄÅË×ÁÔÎÏ ÚÁÐÌÁÔÉÌÉ ÚÁ ÒÁÂÏÔÕ, ÐÏÞÅÍÕ ÎÅÔ? ñ ×ÅÄØ ÎÅ × ËÁÞÅÓÔ×Å ÈÏÂÂÉ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÅÍ ÚÁÎÉÍÁÀÓØ...

çÅÏÒÇÉÊ

Vladislav, ÔÙ Åݣ ÚÄÅÓØ ÓÉÄÉÛØ?

÷ÔÏÒÎÉË æÅ×ÒÁÌØ 03 2004 13:46, Vladislav Baliasov wrote to Kirill Frolov:

KF>> üÔÏ ÍÏÖÎÏ ÚÁÐÏÍÎÉÔØ??? ðÏÓÍÏÔÒÉ ÎÁ ÉÎÔÅÒÆÅÊÓ ÌÀÂÏÊ ×ÉÎÄÏ×ÏÊ KF>> ÐÒÏÇÒÁÍÍÙ. HÉËÔÏ ÎÅ ÞÉÔÁÅÔ ÄÏËÕÍÅÎÔÁÃÉÀ É ÓÒÁÚÕ ÌÅÚÕÔ × ÍÅÎÀ KF>> ËÎÏÐËÉ ÎÁÖÉÍÁÔØ. üÔÏ, Ó ÎÁÔÑÖËÏÊ... "ÉÎÔÕÉÔÉ×ÎÏ" (×ÙÚÕÂÒÉÌÉ) KF>> ÐÏÎÑÔÎÏ. HÏ ÜÔÏ ÃÉÆÒÙ, F-x-y-z... ÜÔÏ ÎÅ×ÏÚÍÏÖÎÏ ÚÁÐÏÍÎÉÔØ, É ÎÁ KF>> ÜËÒÁÎÅ ÎÉËÁËÏÊ ÐÏÄÓËÁÚËÉ. %-( VB> ôÏÞÎÏ ÔÁË ÖÅ, ËÁË É Õ ÎÁÒÕÞÎÙÈ ÞÁÓÏ×. õ ÒÁÄÉÏÐÒÉÅÍÎÉËÏ× Ó ÐÒÏÇÒÁÍÍÎÙÍ VB> ÕÐÒÁ×ÌÅÎÉÅÍ. õ ÂÙÔÏ×ÙÈ ÔÅÌÅÆÏÎÏ× É Á×ÔÏÏÔ×ÅÔÞÉËÏ×. õ ÔÅÌÅ×ÉÚÏÒÏ× É VB> ×ÉÄÅÏÍÁÇÎÉÔÏÆÏÎÏ×.

HÅ, Õ ÔÅÌÅ×ÉÚÏÒÏ× É ×ÉÄÅÏÍÁÇÎÉÔÏÆÏÎÏ× ÚÁ ÐÏÓÌÅÄÎÉÅ ÇÏÄÙ ÓÕÝÅÓÔ×ÅÎÎÙÊ ÐÒÏÇÒÅÓÓ ÎÁÍÅÔÉÌÓÑ. âÌÁÇÏ ÕÓÔÒÏÊÓÔ×Ï ×Ù×ÏÄÁ ÐÏÚ×ÏÌÑÅÔ ;)

VB> õ ËÕÞÉ ÄÒÕÇÏÊ ÂÙÔÏ×ÏÊ ÔÅÈÎÉËÉ.

á × ÏÓÔÁÌØÎÏÍ - ×ӣ ÐÒÁ×ÉÌØÎÏ...

çÅÏÒÇÉÊ

Vladimir, ÔÙ Åݣ ÚÄÅÓØ ÓÉÄÉÛØ?

÷ÔÏÒÎÉË æÅ×ÒÁÌØ 03 2004 15:12, Vladimir Vassilevsky wrote to Maxim Polyanskiy:

VV> ôÙ ÇÏ×ÏÒÉÛØ "ÓÌÏÖÎÙÊ ÐÒÏÅËÔ - íåóñã ÔÏÌØËÏ ÐÉÓÁÌÁÓØ ÐÒÏÛÉ×Á" ÔÁËÉÍ ÖÅ VV> ÔÏÎÏÍ, ËÁË ûÅÐÅÌÅ×: "ÎÁÐÉÓÁÎÉÅ ÐÒÏÛÉ×ËÉ ÄÌÑ ÁÏÎÁ ÓÔÏÉÔ ôùóñþõ VV> ÂÁËÓÏ×". óÐÁÓÉÂÏ, ×ÓÅ ÐÏÎÑÔÎÏ :)

HÅ ÐÅÒÅģÒÇÉ×ÁÊ, ÄÁ? ;-)

çÅÏÒÇÉÊ

Vladislav, ÔÙ Åݣ ÚÄÅÓØ ÓÉÄÉÛØ?

÷ÔÏÒÎÉË æÅ×ÒÁÌØ 03 2004 23:38, Vladislav Baliasov wrote to Dima Orlov:

DO>> HÕ ÄÁ, ÌÀÂÉÔÅÌØÓËÁÑ ÐÏÄÅÌËÁ, Ó ÍÉÚÅÒÎÙÍ ÔÉÒÁÖÏÍ ÇÄÅ Ö ËÎÏÐËÉ DO>> ÎÏÒÍÁÌØÎÙÅ ÚÁËÁÚÁÔØ? VB> þÔÏÂÙ ÚÁËÁÚÁÔØ ÎÏÒÍÁÌØÎÙÅ ËÎÏÐËÉ, ÎÕÖÅÎ ÎÅ ÐÒÏÓÔÏ "ÎÅ ÍÉÚÅÒÎÙÊ", Á VB> ÄÁÖÅ É ÎÅ "ÂÏÌØÛÏÊ", Á "ÏÞÅÎØ ÂÏÌØÛÏÊ" (ÓÏÔÎÉ ÔÙÓÑÞ) ÔÉÒÁÖ. éÎÁÞÅ VB> ÐÒÅÓÓÆÏÒÍÙ ÐÒÏÓÔÏ ÎÅ ÏËÕÐÑÔÓÑ. üÔÏ ËÁËÏÊ-ÎÉÂÕÄØ "ðÁÎÁÓÏÎÉË" ÍÏÖÅÔ ÓÅÂÅ VB> ÐÏÚ×ÏÌÉÔØ...

DO>> ÷ ÔÅ ÇÏÄÙ, ËÏÇÄÁ Ñ ÐÙÔÁÌÓÑ ÒÁÚÏÂÒÁÔØÓÑ Ó ËÕÐÌÅÎÎÙÍ ÏÔÃÏÍ ÁÏÎÏÍ DO>> (ÈÏÔÑ Ñ É ÎÅ ÓÏ×ÅÔÏ×ÁÌ ÅÇÏ ÐÏËÕÐÁÔØ), Ñ ÕÖÅ ÄÁ×ÎÏ ÒÁÂÏÔÁÌ Ó DO>> ÍÁÔÒÉÞÎÙÍ ìãä É ÎÅ ×ÉÄÅÌ ÎÉ ÏÄÎÏÇÏ ÏÐÒÁ×ÄÁÎÉÑ ÕÂÏÇÏÓÔÉ ÔÏÊ DO>> ÓÈÅÍÏÔÅÈÎÉËÉ. VB> ÷ ÔÅ ÇÏÄÙ ÍÁÔÒÉÞÎÙÅ LCD ÓÔÏÉÌÉ ÄÏÒÏÇÏ, ÂÙÌÉ ÄÅÆÉÃÉÔÎÙ, ÐÏÄÓ×ÅÔËÉ × VB> Ó×ÏÅÊ ÍÁÓÓÅ ÎÅ ÉÍÅÌÉ, É ×ÙÇÌÑÄÅÌÉ (ÂÅÚ ÐÏÄÓ×ÅÔËÉ) ÅÝÅ ÂÏÌÅÅ ÕÂÏÇÏ. ÷ VB> ËÏÎÃÅ ËÏÎÃÏ×, Ó×ÅÔ ËÌÉÎÏÍ ÎÅ ÓÏÛÅÌÓÑ ÎÁ ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÕÂÏÇÉÈ VB> ÏÔÅÞÅÓÔ×ÅÎÎÙÈ áìó318 - ÂÙÌÉ É ÄÒÕÇÉÅ ÉÎÄÉËÁÔÏÒÙ. é ×ÏÏÂÝÅ ÞÉÔÁÅÍÏÓÔØ VB> ÓÅÇÍÅÎÔÎÏÇÏ ËÕÄÁ ÌÕÞÛÅ, ÞÅÍ ÍÁÔÒÉÞÎÏÇÏ. é ÐÏ ÓÅÊ ÄÅÎØ.

DO>> ÎÏÒÍÁÌØÎÏÇÏ ÔÅÌÅÆÏÎÁ Ó ÐÏÄÏÂÎÙÍ ÉÎÔÅÒÆÅÊÓÏÍ, ×ÎÅÛÎÉÍ ×ÉÄÏÍ É DO>> ËÁÞÅÓÔ×ÏÍ ÉÚÇÏÔÏ×ÌÅÎÉÑ ÎÉËÔÏ ×Ï ×ÍÅÎÑÅÍÙÈ ÓÔÒÁÎÁÈ ÎÁ ÐÒÏÄÁÖÕ ÎÅ DO>> ×ÙÓÔÁ×ÌÑÌ. äÉÁÇÎÏÚ - ÇÌÕÂÏËÉÊ ÓÏ×ÏË. ÷Ï ×ÓÅÍ, ×ËÌÀÞÁÑ ÐÏÄÈÏÄÙ Ë DO>> ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÀ. VB> ôÙ ÍÏÖÅÛØ ÎÅ ÐÏ×ÔÏÒÑÔØÓÑ. ô×ÏÉ "ÄÉÁÇÎÏÚÙ" ÈÁÒÁËÔÅÒÉÚÕÀÔ _ÔÅÂÑ_ × ËÕÄÁ VB> ÂÏÌØÛÅÊ ÓÔÅÐÅÎÉ, ÞÅÍ ÉÚÄÅÌÉÅ, ÏÂÌÁÓÔØ ÉÌÉ ÕÂÅÖÄÅÎÉÑ, ËÏÔÏÒÙÅ ÔÙ VB> ËÒÉÔÉËÕÅÛØ. üÔÏ ÔÁË, × ÐÏÒÑÄËÅ ËÏÍÍÅÎÔÁÒÉÑ...

üÔ ÔÏÞÎÏ.

ëÓÔÁÔÉ, ÕÐÏÍÉÎÁ×ÛÉÅÓÑ áïH'Ù "ðÁÌÉÈÁ" ÎÁ i51 ÉÍÅÌÉ É "ÚÁËÁÚÎÕÀ ÓÔÅËÌÑÛËÕ", É ÓÔÉÌØÎÙÊ ËÏÒÐÕÓ Ó "ÐÏÄÐÉÓÁÎÎÙÍÉ ÓÐÅÃËÎÏÐËÁÍÉ". ôÕÄÁ ÂÙ Åݣ ÎÏÒÍÁÌØÎÕÀ ÐÒÏÛÉ×ËÕ, ÂÅÚ ÎÅÉÍÏ×ÅÒÎÏÇÏ ÞÉÓÌÁ ÇÌÀËÏ×... :-(

DO>> áÇÁ, ÎÁ Appolo 13 × ÏÄÎÏÉÍÅÎÎÏÍ ÆÉÌØÍÅ... VB> ñ ÍÏÇÕ ÐÒÉ×ÅÓÔÉ, ÎÁÐÒÉÍÅÒ, ÓÅÒÉÀ ÒÁÄÉÏÓÔÁÎÃÉÊ ÏÔ Standard, ×ÏÔ ÕÖ ÇÄÅ VB> ÐÏÉÚÇÁÌÑÌÉÓØ Ó ÔÅËcÔÏ×ÙÍÉ ÍÅÎÀ ÎÁ ÓÅÇÍÅÎÔÎÏÍ LCD...

ôÁË ÔÙ-Ö ÏÔ×ÅÔ ÚÁÒÁÎÅÅ ÚÎÁÅÛØ - ÜÔÏ "ÇÌÕÂÏËÉÊ ÓÏ×ÏË" ;)))

çÅÏÒÇÉÊ

Hello George!

04 Feb 04 03:37, George Shepelev wrote to Roman Gorbunov:

RG>> ñ ÎÅ ÐÏÍÎÀ Ï ÞÅÍ ÔÁÍ ÒÅÞØ, ÎÏ ÅÓÌÉ ÉÚ×ÉÎÉÔÅ ÜÔÏ ×ÎÅÛÎÑÑ RG>> ÐÅÒÅÆÉÒÉÑ, ÔÏ ËÁËÉÍ ÂÏËÏÍ ÔÁÍ idata ? é ÅÓÌÉ ÄÁÖÅ ÜÔÏ ÐÒÓÔÏ RG>> ÐÅÒÅÍÅÎÎÙÅ ËÏÔÏÒÙÅ ÓÅÇÏÄÎÑ × idata, ÔÏ ÓÏ×ÅÒÛÅÎÎÏ ÎÅ ÏÞÅ×ÉÄÎÏ ÞÔÏ RG>> ÐÏÓÌÅÚÁ×ÔÒÁ ÉÈ ÎÅ ÐÒÉÊÄÅÔÓÑ ÐÅÒÅËÉÎÕÔØ × xdata ÞÔÏÂÙ ÒÁÓÞÉÓÔÉÔØ RG>> ÍÅÓÔÏ ÄÌÑ ÂÏÌÅÅ ËÒÉÔÉÞÎÙÈ ÚÁÄÁÞ. ôÁË ÇÄÅ ÐÒÏÝÅ ÜÔÏ ÓÄÅÌÁÔØ ?

ìÕÞÛÅ ÓÄÅÌÁÔØ ÂÙÓÔÏ É ÐÒÏÄÁÔØ ÞÅÍ ÓÄÅÌÁÔØ ÍÅÄÌÅÎÎÏ É ×ÙËÉÎÕÔØ.
ôÅÍ ÈÕÖÅ. ôÍ ÂÏÌÅÅ ÞÔÏ × ÷é53 ÅÓÌÉ ÎÅ ÏÛÉÂÁÀÓØ 3 ËÁÎÁÌÁ.
ïÞÅÎØ ÐÒÉÏÒÉÔÅÔÎÁÑ, É ÇÌÁ×ÎÏÅ ×ÒÅÍÑ ÒÅËÃÉÉ ËÒÉÔÉÞÎÏ...

AM>>>> íÏÖÅÔ × i-nete ÅÓÔØ ÞÔÏ-ÔÏ ÏÔÓËÁÎÉÒÏ×ÁÎÎÏÅ?

RG>> :))))

ñ Ë ÔÏÍÕ ÞÔÏ ËÓÅÒÏËÓ ÄÏÒÏÖÅ ÂÕÄÅÔ.

Roman

... So far, so good... so what ?

4-Feb-04 13:19 Alexey Krasnov wrote to Anatoly Mashanov:

VC>>>> Reset1: VC>>>> bcf status_reg, _some_bit VC>>>> Reset2: VC>>>> bcf status_reg, _other_bit VC>>>> return KF>>> void Reset2() { KF>>> asm("bcf status_reg, _other_bit"); KF>>> } KF>>> void Reset1() { KF>>> asm("bcf status_reg, _some_bit"); KF>>> Reset2(); KF>>> } AM>> Убил бы. Второе использует лишний уровень стека, последствия AM>> непредсказуемы.

AK> Вполне может скомпилироваться в вид, подобный вышеприведенному на AK> ассемблере.

Даже если скомпилируется не в такое, то уж замена call/ret на jmp (tail call elimination или что-то в этом духе) отработало бы наверняка. Функции простые, стекового фрейма нет, ничто не мешает.

Т.е. в Reset1: bcf status_reg, _some_bit return

Reset2: bcf status_reg, _other_bit goto Reset1

Так что уровень стека оно добавлять будет только в случае ну очень тупого компилятора (или с выключенной оптимизацией).

wbr,

4-Feb-04 20:28 Vladimir Chekin wrote to Kirill Frolov:

KF>> void Reset2() { KF>> asm("bcf status_reg, _other_bit"); KF>> }

KF>> void Reset1() { KF>> asm("bcf status_reg, _some_bit"); KF>> Reset2(); KF>> } VC> Совсем не то же самое. Скомпили свои примеры. В лучшем случае ты VC> получишь 2 VC> ретурна с разными адресами в кодовой памяти и goto _Reset2 в функции VC> Reset1, а в моём примере один return и никаких goto.

VC> PS: это был пример (ака предположение) как я понимаю термин Я тоже понял именно так.

Насколько я помню, просили "хотя бы один С-компилятор", который сможет такое (с заменой call+ret на jmp смогут довольно многие).

Вы этого хотели -- нате: Тут надо немного помочь компилятору - он как правило не умеет переставлять местами функции.

======================= _tail.c #include <io4433.h>

void Reset2(void);

void Reset1(void) { PORTB &= ~0x01; Reset2(); }

void Reset2(void) { PORTB &= ~0x02; } ====================== _tail.lst

# IAR AT90S C-Compiler V1.40E/386 [demo] # Compile time = 04/Feb/2004 22:58:28 # Target option = Max 64 KB data + 8 KB code (8515 4414...) # Memory model = tiny # Source file = _tail.c # List file = _tail.lst # Object file = _tail.r90 # Command line = -f EXPONTST.cfg (-S -e -K -g -v1 -mt # -Ic:\IAR\EW22DEMO\A90\INC\ -I..\..\..\common\ # -I..\..\..\common\AVR\) -z9 _tail.c -q -l # _tail.lst # (c) Copyright IAR Systems 1998

1 #include <io4433.h> 2 3 void Reset2(void); 4 5 void Reset1(void) { \ Reset1: 6 PORTB &= ~0x01; \ 00000000 C098 CBI LOW(24),LOW(0) 7 Reset2(); 8 } 9 10 void Reset2(void) { \ Reset2: 11 PORTB &= ~0x02; \ 00000002 C198 CBI LOW(24),LOW(1) 12 } \ 00000004 0895 RET

Keil C51 такого сделать не может в принципе, так как он каждую функцию помещает в отдельный сегмент, чтобы плотнее упаковывать код. Дело в том, что в модели ROM(COMPACT) он считает, что каждая функция будет меньше 2K и внутри функции пользует ajmp, устанавливая соответствующую опцию секции кода (inblock - не переезжать секцией через граница 2K). После растасовки таких функций остаются дырочки, в которые успешно влазят подобные короткие функции.

gcc тут сплоховал, не умеет он такое. Зато умеет такое :-)

unsigned foo( unsigned u) { return (u>>3) | (u<<29); }

_foo: movl 4(%esp), %eax roll $29, %eax ret

wbr, p.s. естественно, все тонкости С-компиляторы не учитывают. Но всё равно на достаточно большом проекте выигрыш ассемблера не настолько велик, чтобы тратить на него время. Редко когда имеет смысл делать на нём больше 10-15% кода проекта.

ðpÉ×ÅÔ, Dima!

*** 04 Feb 04 23:14, Dima Orlov wrote to Vladislav Baliasov:

DO> üÔÏ ÚÁ×ÉÓÉÔ... ôÏÌØËÏ ËÏÍÐØÀÔÅÒ ÎÅ ÎÕÖÎÏ ÐÏÓÌÅ ÐÒÏÐÁÄÁÎÉÑ ÓÅÔÉ ËÁÖÄÙÊ DO> ÒÁÚ ÓÅÔÁÐÉÔØ.

á ÂÙÔÏ×ÕÀ ÔÅÈÎÉËÕ Ó ÞÁÓÁÍÉ - ÎÕÖÎÏ.

DO> á ÎÅ ÎÁÄÏ ÐÒÏÓÔÙÅ ×ÅÝÉ ÄÅÌÁÔØ ÓÌÏÖÎÙÍÉ.

èÏÞÅÔÓÑ ÐÒÏÓÔÏÇÏ - ÐÏËÕÐÁÊ ÐÒÏÓÔÏÊ. éÌÉ ÎÅ ÐÏËÕÐÁÊ ÎÉËÁËÏÊ. ñ ÎÅ ÐÏÎÉÍÁÀ, ÇÄÅ ÚÄÅÓØ ÐÒÏÂÌÅÍÁ ?

DO> ôÙ ÚÎÁÅÛØ, Õ ÎÁÓ ÔÏÖÅ ÅÓÔØ ÍÁÌÏÏÂÅÓÐÅÞÅÎÎÙÅ ÌÀÄÉ, ÎÏ ÐÏÞÅÍÕ-ÔÏ DO> ÚÁÇÏÔÏ×ËÉ ÄÌÑ ÔÅÌÅÆÏÎÏ× ÎÉËÔÏ ÎÅ ÐÒÏÄÁÅÔ É ÎÉËÔÏ ÎÅ ÐÏËÕÐÁÅÔ. é ÞÔÏ-ÔÏ DO> ÍÎÅ ÐÏÄÓËÁÚÙ×ÁÅÔ, ÞÔÏ × áÍÅÒÉËÅ É úÁÐÁÄÎÏÊ å×ÒÏÐÅ ÓÉÔÕÁÃÉÑ DO> ÁÎÁÌÏÇÉÞÎÁÑ.

HÁÂÏÒÙ-ËÏÎÓÔÒÕËÔÏÒÙ ×ÓÑËÏÊ ×ÓÑÞÉÎÙ ÒÁÎØÛÅ ÂÙÌÉ ×ÅÓØÍÁ ÐÏÐÕÌÑÒÎÙ É × ûÔÁÔÁÈ, É × å×ÒÏÐÅ. ëÁË ÓÅÊÞÁÓ - ÎÅ ÚÎÁÀ.

DO> ÷Ù×ÏÄ ÐÒÅÖÎÉÊ - ÓÏ×ÏË.

ôÙ ÏÄÎÏÏÂÒÁÚÅÎ. Ó Õ×ÁÖÅÎÉÅÍ ÷ÌÁÄÉÓÌÁ×

Hello George!

04 Feb 04 03:33, George Shepelev wrote to Roman Gorbunov:

÷ÅÓØÍÁ ÍÁÌÏ×ÅÒÏÑÔÎÏ ÞÔÏ ÜÔÏ ×ÉÎÁ ËÏÍÐÉÌÑÔÏÒÁ. åÓÌÉ ×ÓÅ ÖÅ ÅÓÔØ ÓÏÍÎÅÎÉÑ ÓÍÏÔÒÉÔØÓÑ ÚÁ 3 ÓÅËÕÎÄÙ ÒÅÚÕÌØÔÁÔ ËÏÍÐÉÌÑÃÉÉ.

RG>> äÁ ÕÖ, ÎÕ Õ ÔÅÂÑ É ËÏÎÔÏÒÁ.

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

RG>> HÏÒÍÁÌØÎÙÊ ÛÅÆ ÚÁ×ÔÒÁ ÄÎÅÍ ÄÏÌÖÅÎ ÏÔ×ÅÔÉÔØ ÞÔÏ ÐÒÏÂÌÅÍ ÔÏ RG>> ÓÏÂÓÔ×ÅÎÎÏ ÎÅÔ (ÎÅ ÉÎÔÅÒÅÓÕÑÓØ ÐÒÉ ÜÔÏÍ Õ ÔÅÂÑ ÓËÏÌØËÏ ÔÁÍ ÂÁÊÔ RG>> ÓÏÂÓÔ×ÅÎÎÏ Ó×ÏÂÏÄÎÙÈ) ÔÏÌØËÏ ÓÔÏÉÔØ ÜÔÏ ÷ÁÍ ÂÕÄÅÔ xx k$..... é RG>> ÔÏÌØËÏ × ÓÌÕÞÁÅ ÓÏÇÌÁÓÉÑ ËÉÐÉÔ ÒÁÂÏÔÁ....

HÕ ÄÁ, É ÄÌÑ ËÁÖÄÏÇÏ ËÌÉÅÎÔÁ ÔÙ ÂÕÄÅÛØ ÒÅÈÔÏ×ÁÔØ ÓÏÆÔ. á ÅÓÌÉ ÔÒÅÂÏ×ÁÎÉÑ Ä×ÕÈ ËÌÉÅÎÔÏ ÐÒÏÔÅ×ÏÒÅÞÁÔ ? üÔÏ ÎÅ ËÏÎÔÏÒÁ, ÜÔÏ ÁÎÔÉË×ÁÒÎÁÑ ÌÁ×ËÁ ËÁËÁÑ ÔÏ.

óÁÍ ÓÅÂÅ ÐÒÏÔÅ×ÏÒÅÞÉÛØ. üËÓËÌÀÚÉ× ÜÔÏ ËÁË ÒÁÚ ÐÏ ×ÁÛÅÊ Ó MP ÞÁÓÔÉ.

Roman

... If you can understand the me, than I can understand the you

Hello George!

04 Feb 04 03:35, George Shepelev wrote to Roman Gorbunov:

RG>> ïÔÍÏÔÁÊ ÎÁÚÁÄ, ÒÅÞØ ÂÙÌÁ Ï ÔÏÍ ÞÔÏ ÄÅ×ÁÊÓ × ÉÔÏÇÅ ÐÒÏ×ÅÒÑÀÔ RG>> ÔÅÓÔÁÍÉ Á ÎÅ ÐÒÏ×ÅÒËÏÊ ÌÉÓÔÉÎÇÁ, ÄÁÌÅÅ ÔÙ ÓßÅÈÁÌ Ó embedded Ë RG>> ÂÁÎËÁÍ É ÍÉËÒÏÓÏÆÔÕ....

HeÔ, ÎÏ ÓËÁÖÉ ÍÎÅ ÐÏÖÁÌÕÊÓÔÁ ÇÄÅ ÔÁÍ × ÉÓÈÏÄÎÏÍ ÔÒÅÄÅ ÂÙÌÏ ÐÒÏ ÂÁÎËÉ?

þÕÛØ ÜÔÏ, Á ÎÅ ÐÒÉÍÅÒ, ÄÏËÁÚÁÔÅÌØÓÔ× ÔÁË É ÎÅ ÂÙÌÏ ÔÏÌËÏÍ - "Ñ ÇÄÅ ÔÏ ×ÉÄÅÌ × ÉÎÔÅÒÎÅÔÅ, ×ÁÍ ÎÕÎÏ ×Ù ÉÝÉÔÅ" ÜÔÏ ÎÅ ÇÏÄÉÔØÓÑ, É ×ÏÏÂÝÅ ÜÔÏ ÕÖÅ ÎÅ ÜÈÏÔÁÇ, ÔÁË ÞÔÏ ÓÎÏ×Á ÔÙ ÍÉÍÏ ÄÅÎÅÇ.

RG>>>> éÌÉ ÔÙ ÄÅ×ÁÊÓÙ ÕÖÅ ÄÌÑ ÂÁÎËÏ× ÄÅÌÁÅÛØ ?

RG>> äÁ Ñ ÎÅ ÐÒÏÔÉ×, ÎÏ ÔÙ ËÁË ÂÙ ÏÂÏÂÝÉÌ...

ôÙ ÕÔ×ÅÒÖÄÁÌ ÞÔÏ ÐÒÉ ÉÓÐÙÔÁÎÉÑÈ ÐÒÏ×ÅÒÑÀÔ ÌÉÓÔÉÎÇÉ, ÔÅÂÅ ÓËÁÚÁÌÉ ÞÔÏ ÜÔÏ ÎÅ ÔÁË, ÔÙ ÐÒÏÄÏÌÖÉÌ ÐÒÏ ÂÁÎËÉ É âÉÌÌÉ...
á ËÔÏ ÔÅÂÅ ÐÒÉ ÃÅÎÅ 20 ÂÁËÓÏ× ÂÕÄÅÔ ÒÁÚÒÁÂÁÔÏ×ÁÔØ, ÓÅÒÔÉÆÉÃÉÒÏ×ÁÔØ, É ÞÔÏ ÅÝÅ ÎÏÒÍÁØÌÎÙÊ ÐÒÉ ÜÔÏÍ ÂÙÌ?

RG>> ïÊ, ÎÅ ÕÔÏÍÌÑÊ....

äÁ ÎÁ ËÏÊ ÍÎÅ Ô×ÏÑ ÒÅÁÌØÎÏÓÔØ, × ÓÁÍÏÍ ÄÅÌÅ, ÜÈÁ ÔÅÈÎÉÞÅÓËÁÑ, ÞÔÏ ÍÅÓÔ ÍÁÌÏ ?

RG>> ÎÏ ÓÐÅÃÉÁÌÉÚÉÒÏ×ÁÎÎÙÊ áïH ÎÁ 84-Í ÐÉËÅ Ó ÂÁÔÁÒÅÊÎÙÍ ÐÉÔÁÎÉÅÍ ÂÙÌ,

ðÏÔÏÍÕ ÞÔÏ ÉÚ ÄÏÓÔÕÐÎÏÇÏ ÎÁ ÔÏÔ ÍÏÍÅÎÔ ÂÙÌ 84 ÐÉË, ÔÁÊÔÏ×ÓËÉÊ ÐÒÏÇÒÁÍÍÁÔÏÒ É MPASM. äÌÑ ÔÏÊ ÚÁÄÁÞÉ ÜÔÏÇÏ ÂÙÌÏ ÂÏÌÅÅ ÞÅÍ ÄÏÓÔÁÔÏÞÎÏ. íÏÖÎÏ ÂÙÌÏ É ÎÁ 622-Í ÓÄÅÌÁÔØ, ÎÏ ÍÅÎÑ ÎÁ ÐÏÄ×ÉÇÉ Ó ïôð É õæ ÎÅ ÔÑÎÕÌÏ....

Roman

... Haven't you got a riff - haven't you got a song

Hello, George Shepelev !

âÏÌÅÚÎØ, öÏÒÁ, ÔÕÔ Õ ÔÅÂÑ. á int ÎÁ ÐÏÄÁ×ÌÑÀÝÅÍ ÂÏÌØÛÉÎÓÔ×Å ó ËÏÍÐÉÌÑÔÏÒÏ× ×ÓÅÇÄÁ ÂÙÌ 16 ÉÌÉ 32 ÂÉÔ. ó Õ×ÁÖÅÎÉÅÍ, äÉÍÁ ïÒÌÏ×.

Hello, George Shepelev !

üÔÏ ÉÓËÌÀÞÉÔÅÌØÎÏ ÉÈ ÐÒÏÂÌÅÍÙ.

HÅÔ, ÎÏÒÍÁÌØÎÙÅ ÐÒÏÇÒÁÍÍÉÓÔÙ ×ÍÅÓÔÏ ÜÔÏÇÏ ÐÉÛÕÔ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÕÀ ÐÒÁÇÍÕ.

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

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