PICC18 Bug

Mar 28, 2005 32 Replies
ðÒÉ×ÅÔ Alexander!

31 Mar 05 03:13, Alexander Golov ÐÉÓÁÌ Alex Mogilnikov:

AG>>> çÏÓÐÏÄÉ, ÄÅÔÓËÉÊ ÓÁÄ ËÁËÏÊ-ÔÏ! ÷Ù ÞÔÏ, ÓÅÒأÚÎÏ ÓÞÉÔÁÅÔÅ, ÞÔÏ Ñ AG>>> ÐÒÉ×ÏÖÕ ÔÕ ÓÁÍÕÀ ÐÒÏÇÒÁÍÍÕ, × ËÏÔÏÒÏÊ É ×ÓÐÌÙÌ ÄÁÎÎÙÊ ÂÁÇ? AG>>> åÓÔÅÓÔÅ×ÎÎÏ

AM>> ðÒÏÓÔÏ ÓÔÒÁÎÎÏ ×ÚÑÔØ ËÏÄ, ÄÌÑ ËÏÔÏÒÏÇÏ ÐÏ×ÅÄÅÎÉÅ ËÏÍÐÉÌÑÔÏÒÁ AM>> ÎÅÏÐÒÅÄÅÌÅÎÏ, É ÒÁÓÓÕÖÄÁÔØ, ÐÏÞÅÍÕ ÏÎ ÐÏ×ÅÌ ÓÅÂÑ ÔÁË, Á ÎÅ ÉÎÁÞÅ. AM>> :)

AG> üÔÏ ÌÉÛØ Ô×ÏÉ ÆÁÎÔÁÚÉÉ.

HÉ ÎÁ ÞÔÏ ÎÅ ÐÒÅÔÅÎÄÕÀ. ñ ÓÒÁÚÕ ÓËÁÚÁÌ, ÞÔÏ × ÎÅÏÐÒÅÄÅÌÅÎÎÏÓÔÉ ÐÏ×ÅÄÅÎÉÑ ÎÅ Õ×ÅÒÅÎ, ÜÔÏ ÂÙÌÏ ÔÏÌØËÏ ÐÏÄÏÚÒÅÎÉÅ. âÕÄÅÍ ÓÞÉÔÁÔØ, ÞÔÏ ÏÎÏ ÎÅ ÏÐÒÁ×ÄÁÌÏÓØ.

ëÓÔÁÔÉ, ÞÔÏ ÄÏÌÖÎÏ ÐÏÌÕÞÉÔØÓÑ × ÒÅÚÕÌØÔÁÔÅ ×ÙÐÏÌÎÅÎÉÑ ÔÁËÏÊ ÆÕÎËÃÉÉ:

void func() { signed char indx ; buf [ indx ] ++ ; }

?

AM>> ÷ÏÔ ÐÏÓÌÅÄÎÉÊ ÐÒÉ×ÅÄÅÎÎÙÊ ÔÏÂÏÊ AM>> ÐÒÉÍÅÒ, ÇÄÅ ÐÅÒÅÍÅÎÎÁÑ indx ÇÌÏÂÁÌØÎÁÑ - ÜÔÏ ÄÒÕÇÏÅ ÄÅÌÏ, ÔÕÔ AM>> ÐÏ×ÅÄÅÎÉÅ ×ÐÏÌÎÅ ÏÐÒÅÄÅÌÅÎÏ, É ÍÏÖÎÏ ÓÍÏÔÒÅÔØ, ÓÏÏÔ×ÅÔÓÔ×ÕÅÔ ÌÉ AM>> ÅÍÕ ÓÇÅÎÅÒÅÎÎÙÊ ËÏÍÐÉÌÑÔÏÒÏÍ ËÏÄ ÉÌÉ ÎÅÔ.

AG> HÕ ÐÏÓÍÏÔÒÅÌ?

HÅÔ, Ñ ÐÉËÏ×ÙÊ ÁÓÓÅÍÂÌÅÒ ÎÅ ÚÎÁÀ.

÷ÓÅÇÏ ÎÁÉÌÕÞÛÅÇÏ, [Team PCAD 2000] áÌÅËÓÅÊ í. ... óÔÁÒÙÊ ÇÌÀË ÌÕÞÛÅ ÎÏ×ÙÈ Ä×ÕÈ...

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

óÒÅÄÁ íÁÒÔ 30 2005 18:08, Alex Mogilnikov wrote to Alexander Golov:

AM> HÅÏÐÒÅÄÅÌÅÎÎÏÅ ÐÏ×ÅÄÅÎÉÅ - ÜÔÏ ÚÎÁÞÉÔ, ÞÔÏ _ÌÀÂÏÅ_ ÐÏ×ÅÄÅÎÉÅ AM> ËÏÍÐÉÌÑÔÏÒÁ ÎÅ Ñ×ÌÑÅÔÓÑ ÂÁÇÏÍ.

üÔÏ ÚÎÁÞÉÔ, ÞÔÏ × ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÍ ÍÅÓÔÅ ÄÏÌÖÅÎ ×ÙÄÁ×ÁÔØÓÑ warning...

çÅÏÒÇÉÊ

Привет!

Thu Mar 31 2005 11:28, Harry Zhurov wrote to Alexander Golov:

...

AG>>>>>> void func () AG>>>>>> { AG>>>>>> signed char indx ; AG>>>>>> buf [ indx ] ++ ; AG>>>>>> }

AG>>>> Что тут ещё за неопределённое поведение?

AM>>> Использование неинициализированной автоматической переменной.

AG>> Hе запрещено и уж конечно никакой непопределённости не вносит.

HZ> В данном случае - в коде, который ты привел выше, - HZ> неинициализированная локальная переменная используется в качестве индекса HZ> массива и может привести к адресации за пределы оного массива, что HZ> порождает (по Стандарту хоть С хоть С++) неопредленное поведение.

Для начала, не будем путать неопределённое поведение программы и неопределённое поведение компиллятора. Первое, в данном случае, меня мало интересует, но если это оказалось так важно для общественности:

void func ( signed char indx ) { buf [ indx ] ++ ; }

Устроит? Думаешь что-нибудь изменилось, кроме того, что добавился один movwf в начале? Может из-за этого поведение данной функции стало более определённым чем ранее?

Александр Голов, Москва, snipped-for-privacy@mail.ru

Привет!

Thu Mar 31 2005 08:15, Dima Orlov wrote to Alexander Golov:

...

DO> Вобщем напишу им в ближайшее время.

У-гу.

Александр Голов, Москва, snipped-for-privacy@mail.ru

Привет!

Thu Mar 31 2005 15:29, Alex Mogilnikov wrote to Alexander Golov:

...

AM> Кстати, что должно получиться в результате выполнения такой функции:

AM> void func() AM> { AM> signed char indx ; AM> buf [ indx ] ++ ; AM> }

Она предназначена не для выполнения, а для демонстрации некорректной работы компилятора, я же об это раньше прямо сказал. Тебе непременно хочется увидеть реальный код в котором я напоролся на данный баг? Была вот такая функция, перемещающая байт из кольцевого буфера UART'а в выходной буфер:

return ( Comm_Out [ Comm_Out_Ptr ++ ] = Comm_Buf [ Comm_Decd_Ptr ++ ]) ;

Мне понадобилось прооптимизировать код в прерываниях, используя специальную фичу PIC18, позволяющую индексно адресоваться к указателю, причём индекс при этом интерпретируется как число со знаком. Т.к. буферы кольцевые, размером 256 байт, проблема должна была легко решаться, путём использования базы буферов

+0x80. Асмовый код в прерываниях я исправил без проблем, а сишный решил заставить работать в нужном режиме объявив индексы (глобальные переменные) как signed char и добавив смещения:

return ( Comm_Out [ 0x80 + Comm_Out_Ptr ++ ] = Comm_Buf [ 0x80 + Comm_Decd_Ptr ++ ]) ;

Только связь вдруг пропала, а изучение кода показало, что там фигня.

Александр Голов, Москва, snipped-for-privacy@mail.ru

ðÒÉ×ÅÔ Alexander!

01 Apr 05 04:10, Alexander Golov ÐÉÓÁÌ Alex Mogilnikov:

AM>> ëÓÔÁÔÉ, ÞÔÏ ÄÏÌÖÎÏ ÐÏÌÕÞÉÔØÓÑ × ÒÅÚÕÌØÔÁÔÅ ×ÙÐÏÌÎÅÎÉÑ ÔÁËÏÊ AM>> ÆÕÎËÃÉÉ:

AM>> void func() AM>> { AM>> signed char indx ; AM>> buf [ indx ] ++ ; AM>> }

AG> ïÎÁ ÐÒÅÄÎÁÚÎÁÞÅÎÁ ÎÅ ÄÌÑ ×ÙÐÏÌÎÅÎÉÑ, Á ÄÌÑ ÄÅÍÏÎÓÔÒÁÃÉÉ ÎÅËÏÒÒÅËÔÎÏÊ AG> ÒÁÂÏÔÙ ËÏÍÐÉÌÑÔÏÒÁ, Ñ ÖÅ Ï ÜÔÏ ÒÁÎØÛÅ ÐÒÑÍÏ ÓËÁÚÁÌ.

éÚ ÐÅÒ×ÏÇÏ Ô×ÏÅÇÏ ÐÉÓØÍÁ Ñ ÐÏÎÑÌ (×ÏÚÍÏÖÎÏ, ÎÅÐÒÁ×ÉÌØÎÏ), ÞÔÏ ÐÒÅÔÅÎÚÉÑ Ë ËÏÍÐÉÌÑÔÏÒÕ ÚÁËÌÀÞÁÅÔÓÑ × ÔÏÍ, ÞÔÏ ÉÎËÒÅÍÅÎÔÉÒÕÅÔÓÑ ÎÅ ÔÏÔ ÜÌÅÍÅÎÔ ÍÁÓÓÉ×Á, ËÏÔÏÒÙÊ ÄÏÌÖÅÎ. é × ËÁÞÅÓÔ×Å ÐÒÉÍÅÒÁ ÐÒÉ×ÏÄÉÔÓÑ ËÏÄ, ÉÎËÒÅÍÅÎÔÉÒÕÀÝÉÊ indeterminated ÜÌÅÍÅÎÔ ÍÁÓÓÉ×Á. ëÏÍÐÉÌÑÔÏÒ ÄÌÑ ÔÁËÏÊ ÆÕÎËÃÉÉ ÍÏÇ ÎÁÐÒÉÍÅÒ ÓÇÅÎÅÒÉÔØ ËÏÄ, ×ÓÅÇÄÁ ÉÎËÒÅÍÅÎÔÉÒÕÀÝÉÊ ÎÕÌÅ×ÏÊ ÜÌÅÍÅÎÔ. éÌÉ, ÓËÁÖÅÍ, ×ÓÅÇÄÁ 44-Ê. é ÂÙÌ ÂÙ ÐÒÁ×.

AG> ôÅÂÅ ÎÅÐÒÅÍÅÎÎÏ AG> ÈÏÞÅÔÓÑ Õ×ÉÄÅÔØ ÒÅÁÌØÎÙÊ ËÏÄ × ËÏÔÏÒÏÍ Ñ ÎÁÐÏÒÏÌÓÑ ÎÁ ÄÁÎÎÙÊ ÂÁÇ?

HÅÔ, ËÏÎÅÞÎÏ.

÷ÓÅÇÏ ÎÁÉÌÕÞÛÅÇÏ, [Team PCAD 2000] áÌÅËÓÅÊ í. ... úÁÐÁÄÎÏ-ÕÒÁÌØÓËÏÅ ÒÅÇÉÏÎÁÌØÎÏÅ ÏÂÝÅÓÔ×Ï ÄÏÂÒÏ×ÏÌØÎÙÈ ÕÞÒÅÄÉÔÅÌÅÊ.

Привет!

Fri Apr 01 2005 20:17, Alex Mogilnikov wrote to Alexander Golov:

...

AM>>> Кстати, что должно получиться в результате выполнения такой AM>>> функции:

AM>>> void func() AM>>> { AM>>> signed char indx ; AM>>> buf [ indx ] ++ ; AM>>> }

AG>> Она предназначена не для выполнения, а для демонстрации некорректной AG>> работы компилятора, я же об это раньше прямо сказал.

AM> Из первого твоего письма я понял (возможно, неправильно), что AM> претензия к компилятору заключается в том, что инкрементируется не тот AM> элемент массива, который должен.

В общем можно и так сказать.

AM> И в качестве примера приводится код, AM> инкрементирующий indeterminated элемент массива. Компилятор для такой AM> функции мог например сгенерить код, всегда инкрементирующий нулевой AM> элемент.

Нет, он всё делал как надо, вычислял сумму адреса buf и значения indx, только он почему-то забывал, что indx -- число со знаком и расширение его до 16 разрядов простым присвоением нуля старшему байту некорректно; если знак отрицательный там должно быть 255.

AM> Или, скажем, всегда 44-й. И был бы прав.

В реальности все компиляторы на которых я это попробовал дали вполне ожидаемый результат.

Александр Голов, Москва, snipped-for-privacy@mail.ru

ðÒÉ×ÅÔ, George !

31 Mar 05 , 21:48 George Shepelev ÐÉÓÁÌ Ë Alex Mogilnikov:

AM>> HÅÏÐÒÅÄÅÌÅÎÎÏÅ ÐÏ×ÅÄÅÎÉÅ - ÜÔÏ ÚÎÁÞÉÔ, ÞÔÏ _ÌÀÂÏÅ_ ÐÏ×ÅÄÅÎÉÅ AM>> ËÏÍÐÉÌÑÔÏÒÁ ÎÅ Ñ×ÌÑÅÔÓÑ ÂÁÇÏÍ.

GS> üÔÏ ÚÎÁÞÉÔ, ÞÔÏ × ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÍ ÍÅÓÔÅ ÄÏÌÖÅÎ ×ÙÄÁ×ÁÔØÓÑ warning...

á Ó ËÌÀÞÁÍÉ -W -Wall -Werr ÎÅ ÔÏÌØËÏ ×ÁÒÎÉÎÇ, ÎÏ É ÅÒÒÏÒ.

. ó Õ×ÁÖÅÎÉÅÍ, HÉËÉÔÁ. icq:240059686, lj-user:nicka_startcev ... ÐÒÏÂÌÅÍÙ ÛÅÒÉÆÁ ×ÏÌÎÕÀÔ ÉÎÄÅÊÃÅ×

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

÷ÏÓËÒÅÓÅÎØÅ áÐÒÅÌØ 03 2005 12:03, Nickita A Startcev wrote to George Shepelev:

AM>>> HÅÏÐÒÅÄÅÌÅÎÎÏÅ ÐÏ×ÅÄÅÎÉÅ - ÜÔÏ ÚÎÁÞÉÔ, ÞÔÏ _ÌÀÂÏÅ_ ÐÏ×ÅÄÅÎÉÅ AM>>> ËÏÍÐÉÌÑÔÏÒÁ ÎÅ Ñ×ÌÑÅÔÓÑ ÂÁÇÏÍ. GS>> üÔÏ ÚÎÁÞÉÔ, ÞÔÏ × ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÍ ÍÅÓÔÅ ÄÏÌÖÅÎ ×ÙÄÁ×ÁÔØÓÑ GS>> warning... NS> á Ó ËÌÀÞÁÍÉ -W -Wall -Werr ÎÅ ÔÏÌØËÏ ×ÁÒÎÉÎÇ, ÎÏ É ÅÒÒÏÒ.

üÔ ÈÏÒÏÛÏ. á ËÁËÉÅ ËÌÀÞÉ ÉÓÐÏÌØÚÕÀÔÓÑ ÐÏ ÕÍÏÌÞÁÎÉÀ?

çÅÏÒÇÉÊ

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

óÒÅÄÁ áÐÒÅÌØ 06 2005 09:23, Nickita A Startcev wrote to George Shepelev:

NS>>> á Ó ËÌÀÞÁÍÉ -W -Wall -Werr ÎÅ ÔÏÌØËÏ ×ÁÒÎÉÎÇ, ÎÏ É ÅÒÒÏÒ. GS>> üÔ ÈÏÒÏÛÏ. á ËÁËÉÅ ËÌÀÞÉ ÉÓÐÏÌØÚÕÀÔÓÑ ÐÏ ÕÍÏÌÞÁÎÉÀ? NS> á ËÏÇÏ ÜÔÏ ÂÅÓÐÏËÏÉÔ?

ë ÐÒÉÍÅÒÕ ÔÏÇÏ, ËÔÏ ÏÐÁÓÁÅÔÓÑ ÎÅ ÚÁÍÅÔÉÔØ ËÁËÏÊ-ÔÏ ×ÁÖÎÙÊ ËÌÀÞ, ËÏÇÄÁ ÎÁÞÉÎÁÅÔ ÒÁÂÏÔÁÔØ Ó ÎÏ×ÏÊ ÄÌÑ ÓÅÂÑ ÐÒÏÇÒÁÍÍÏÊ. ÷ ÎÏÒÍÁÌØÎÏÊ ÐÒÏÇÒÁÍÍÅ ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÏÌÖÎÏ ÂÙÔØ ÚÁÄÁÎÏ _ÄÏÓÔÁÔÏÞÎÏ ÒÁÚÕÍÎÏÅ_ ÐÏ×ÅÄÅÎÉÅ.

çÅÏÒÇÉÊ

ðÒÉ×ÅÔ, George !

07 Apr 05 , 15:32 George Shepelev ÐÉÓÁÌ Ë Nickita A Startcev:

NS>>>> á Ó ËÌÀÞÁÍÉ -W -Wall -Werr ÎÅ ÔÏÌØËÏ ×ÁÒÎÉÎÇ, ÎÏ É ÅÒÒÏÒ. GS>>> üÔ ÈÏÒÏÛÏ. á ËÁËÉÅ ËÌÀÞÉ ÉÓÐÏÌØÚÕÀÔÓÑ ÐÏ ÕÍÏÌÞÁÎÉÀ? NS>> á ËÏÇÏ ÜÔÏ ÂÅÓÐÏËÏÉÔ?

GS> ë ÐÒÉÍÅÒÕ ÔÏÇÏ, ËÔÏ ÏÐÁÓÁÅÔÓÑ ÎÅ ÚÁÍÅÔÉÔØ ËÁËÏÊ-ÔÏ ×ÁÖÎÙÊ ËÌÀÞ, ËÏÇÄÁ GS> ÎÁÞÉÎÁÅÔ ÒÁÂÏÔÁÔØ Ó ÎÏ×ÏÊ ÄÌÑ ÓÅÂÑ ÐÒÏÇÒÁÍÍÏÊ. ÷ ÎÏÒÍÁÌØÎÏÊ ÐÒÏÇÒÁÍÍÅ GS> ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÏÌÖÎÏ ÂÙÔØ ÚÁÄÁÎÏ _ÄÏÓÔÁÔÏÞÎÏ ÒÁÚÕÍÎÏÅ_ ÐÏ×ÅÄÅÎÉÅ.

çÍ. á ÎÅ ÔÙ ÌÉ ÂÕË×ÁÌØÎÏ ÐÁÒÏÊ ÐÉÓÅÍ ÎÁÚÁÄ ÕÔ×ÅÒÖÄÁÌ, ÞÔÏ "ÐÒÅÖÄÅ ÞÅÍ ÐÏÄÓÔÕÐÁÔØÓÑ Ë ÎÏ×ÏÊ ÐÌÁÔÆÏÒÍÅ ÎÁÄÏ ÔÝÁÔÅÌØÎÏ RTFM'ÉÔØ"?

. ó Õ×ÁÖÅÎÉÅÍ, HÉËÉÔÁ. icq:240059686, lj-user:nicka_startcev ... HÁÄÏ ÌÉ ×ÙÂÒÁÔØ ËÁÝÅÎÉÔÁ × ÍÏÄÅÒÁÔÏÒÙ ÍÉÓÔÒÅÓÏ×?

ðÒÉ×ÅÔ Nickita!

Friday April 08 2005 21:58, Nickita A Startcev wrote to George Shepelev:

GS>> ë ÐÒÉÍÅÒÕ ÔÏÇÏ, ËÔÏ ÏÐÁÓÁÅÔÓÑ ÎÅ ÚÁÍÅÔÉÔØ ËÁËÏÊ-ÔÏ ×ÁÖÎÙÊ ËÌÀÞ, ËÏÇÄÁ GS>> ÎÁÞÉÎÁÅÔ ÒÁÂÏÔÁÔØ Ó ÎÏ×ÏÊ ÄÌÑ ÓÅÂÑ ÐÒÏÇÒÁÍÍÏÊ. ÷ ÎÏÒÍÁÌØÎÏÊ ÐÒÏÇÒÁÍÍÅ GS>> ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÏÌÖÎÏ ÂÙÔØ ÚÁÄÁÎÏ _ÄÏÓÔÁÔÏÞÎÏ ÒÁÚÕÍÎÏÅ_ ÐÏ×ÅÄÅÎÉÅ. NS>

NS> çÍ. á ÎÅ ÔÙ ÌÉ ÂÕË×ÁÌØÎÏ ÐÁÒÏÊ ÐÉÓÅÍ ÎÁÚÁÄ ÕÔ×ÅÒÖÄÁÌ, ÞÔÏ "ÐÒÅÖÄÅ ÞÅÍ NS> ÐÏÄÓÔÕÐÁÔØÓÑ Ë ÎÏ×ÏÊ ÐÌÁÔÆÏÒÍÅ ÎÁÄÏ ÔÝÁÔÅÌØÎÏ RTFM'ÉÔØ"?

ïÎ ÎÅ ÍÏÇ ÜÔÏÇÏ ÕÔ×ÅÒÖÄÁÔØ, ÐÏÓËÏÌØËÕ ÄÏËÕÍÅÎÔÁÃÉÀ ÎÉËÏÇÄÁ ÎÅ ÞÉÔÁÅÔ. (ÞÔÏ ÎÅ ÍÅÛÁÅÔ ÅÍÕ Ï ÎÅÊ ÒÁÓÓÕÖÄÁÔØ).

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

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

[ öÏÒÁ, ÎÅ ÈÁÍÉ ! ]

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

ðÑÔÎÉÃÁ áÐÒÅÌØ 08 2005 21:58, Nickita A Startcev wrote to George Shepelev:

NS>>>>> á Ó ËÌÀÞÁÍÉ -W -Wall -Werr ÎÅ ÔÏÌØËÏ ×ÁÒÎÉÎÇ, ÎÏ É ÅÒÒÏÒ. GS>>>> üÔ ÈÏÒÏÛÏ. á ËÁËÉÅ ËÌÀÞÉ ÉÓÐÏÌØÚÕÀÔÓÑ ÐÏ ÕÍÏÌÞÁÎÉÀ? NS>>> á ËÏÇÏ ÜÔÏ ÂÅÓÐÏËÏÉÔ? GS>> ë ÐÒÉÍÅÒÕ ÔÏÇÏ, ËÔÏ ÏÐÁÓÁÅÔÓÑ ÎÅ ÚÁÍÅÔÉÔØ ËÁËÏÊ-ÔÏ ×ÁÖÎÙÊ ËÌÀÞ, GS>> ËÏÇÄÁ ÎÁÞÉÎÁÅÔ ÒÁÂÏÔÁÔØ Ó ÎÏ×ÏÊ ÄÌÑ ÓÅÂÑ ÐÒÏÇÒÁÍÍÏÊ. ÷ ÎÏÒÍÁÌØÎÏÊ GS>> ÐÒÏÇÒÁÍÍÅ ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÏÌÖÎÏ ÂÙÔØ ÚÁÄÁÎÏ _ÄÏÓÔÁÔÏÞÎÏ ÒÁÚÕÍÎÏÅ_ GS>> ÐÏ×ÅÄÅÎÉÅ. NS> çÍ. á ÎÅ ÔÙ ÌÉ ÂÕË×ÁÌØÎÏ ÐÁÒÏÊ ÐÉÓÅÍ ÎÁÚÁÄ ÕÔ×ÅÒÖÄÁÌ, ÞÔÏ "ÐÒÅÖÄÅ ÞÅÍ NS> ÐÏÄÓÔÕÐÁÔØÓÑ Ë ÎÏ×ÏÊ ÐÌÁÔÆÏÒÍÅ ÎÁÄÏ ÔÝÁÔÅÌØÎÏ RTFM'ÉÔØ"?

äÙË, ÎÁÄÏ. HÏ Ñ ÎÉËÏÇÄÁ ÎÅ ÐÏ×ÅÒÀ × ÓÕÝÅÓÔ×Ï×ÁÎÉÅ "HÁÓÔÏÑÝÉÈ HÅÐÏÇÒÅÛÉÍÙÈ ðÒÏÇÒÁÍÍÉÓÔÏ×", ÄÌÑ ËÏÔÏÒÙÈ ÄÅÌÁÀÔÓÑ "ÎÅ×ÍÅÎÑÅÍÙÅ" ËÏÍÐÉÌÑÔÏÒÙ, Ó ×ÏÚÍÏÖÎÏÓÔÑÍÉ "ÔÏÎËÏÊ ÒÉÈÔÏ×ËÉ". ëÁÖÄÙÊ, ËÔÏ ÎÁÐÉÓÁÌ ÈÏÔØ ÐÁÒÏÞËÕ ÓÅÒأÚÎÙÈ ÐÒÏÇÒÁÍÍ, ÐÒÅËÒÁÓÎÏ ÚÎÁÅÔ, ÞÔÏ ÞÅÌÏ×ÅËÕ Ó×ÏÊÓÔ×ÅÎÎÏ ÏÛÉÂÁÔØÓÑ. é ÏÞÅÎØ ÐÌÏÈÏ, ÅÓÌÉ ÏÛÉÂËÕ ÎÁÊÄÕÔ ÓÌÉÛËÏÍ ÐÏÚÄÎÏ. ðÏÓÅÍÕ ÐÕÓÔØ ÌÕÞÛÅ ËÏÍÐÉÌÑÔÏÒ ÂÕÄÅÔ ÓÌÉÛËÏÍ ÐÁÒÁÎÏÉÄÁÌÅÎ. ïÔËÌÀÞÉÔØ ÌÉÛÎÀÀ ÐÒÏ×ÅÒËÕ ÇÏÒÁÚÄÏ ÐÒÏÝÅ, ÞÅÍ ÐÏÄËÌÀÞÉÔØ ÎÅÄÏÓÔÁÀÝÕÀ...

çÅÏÒÇÉÊ

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required