Embedded OS

Привет George!

Tuesday April 05 2005 10:35, George Shepelev wrote to Alexander Aleshenko:

GS>>> Специально для тебя придётся повторить, мне не нравится, когда в GS>>> мой адрес используется эта кликуха. AA>> Жора не является кликухой, а уменьшительное от Георгий, точно также AA>> как и Александр-> Саша->Шура. И если ты считаешь его кликухой извини AA>> не знал. GS>

GS> И ты будешь в восторге, если любая <beep> будет настойчиво обращаться к GS> тебе исключительно "Шура", "Шурик" и т.п., правда?

Я дума, что ему пофиг.

GS> Дело твоё. Лично я этим <beep> разрешение на уменьшительное обращение GS> не давал.

А у тебя его никто не спрашивал, Жора, и спращивать не собирается.

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
, ftp://altor.sytes.net

Reply to
Alexander Torres
Loading thread data ...

Привет George!

Tuesday April 05 2005 10:45, George Shepelev wrote to Alexey Boyko:

AB>>>> В ПИКе и такого нету. GS>>> А на PIC'ах свет клином сошёлся? AB>> Переходи на ARM. GS>

GS> Я сейчас больше на dsPIC поглядываю ;)

Вот уж - совершенно бестолковое изделие, непонятно кому и для чего нудное.

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

[Жора, не хами !]

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

Reply to
Alexander Torres

Привет George!

Tuesday April 05 2005 10:46, George Shepelev wrote to Olga Nonova:

GS> (это лечится), а о кривизне архитектуры (примеры уже приводились). GS>

ON>> Правополушарных образов, то бишь. GS>

GS> С каким-то из полушарий у разработчика AVR'ов точно были проблемы. С GS> каким именно, уже не столь важно...

Жора, у европейских разработчиков АВР-ов - никаких проблем с полушариями нет, проблемы есть у фирмы Атмел, у их производителя.

[Жора, не хами!]

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

Reply to
Alexander Torres

Hello Michael.

06 Apr 05 03:08, you wrote to me:

MZ> А какая разница? когда меня достала на работе гора исходнико разными MZ> пионерами писаных, там вообще отсупы как попало и тд, стиля нет MZ> вообще. написал за день примитивный форматировщик сишных тестов и MZ> мигом все переформатировал.

Есть готовый. (Забыл название)

Alexey

Reply to
Alexey Boyko

Hello George.

05 Apr 05 10:44, you wrote to me:

AB>> Согласен, что это дело вкуса. AB>> Hо тогда посмотри асм x86. Уж там то точно все одним mov-ом. GS> Который из асмов x86?

Любой.

GS> Лично мне больше всего нравится TASM в режиме GS> Ideal. Hаиболее наглядные записи...

А мне nasm, но какая разница?

Alexey

Reply to
Alexey Boyko

Hello George.

05 Apr 05 10:45, you wrote to me:

AB>>>> Hе используй регистры R0-R15, только R16-R31. GS>>> И остаются всего 16 РОH. Hе маловато будет, а? AB>> Hет. Очень редко используются все регистры. GS> А сколько у тебя всего "оперативки" занято? Может просто задачки GS> "детские"?

Отстань. Это уже было.

Alexey

Reply to
Alexey Boyko

Hello George.

05 Apr 05 10:43, you wrote to me:

GS> Попробуй поглядеть ассемблерные мнемоники в _доке по ассемблеру_, а? GS> Может сильно попустить ;)

Если соберусь писать для ПИКа на ассемблере - погляжу обязательно. А пока ограничиваюсь даташитами.

AB>>> (и копирует ли :)? AB>> Hазови хоть один процессор, где mov не копирует. GS> Сколько угодно.

GS> 8080/Z80/x86 GS> MOV/LD регистр,регистр

Копирует, конечно, же. Просто выход регистра замыкается на вход.

GS> PIC GS> movf регистр,1 aka test регистр GS> (здесь команда даже на флаги влияет, а копирования нету)

То же самое.

ps: Была бы в ПИКе система команд нормальная, её бы каждый производитель не перехачивал.

Alexey

Reply to
Alexey Boyko

Hello George.

05 Apr 05 10:45, you wrote to me:

AB>> И ты правда будешь его читать? До конца? GS> А ты все примеры программ в эхе читашь до конца?

Если программа мне понятна, шансов прочитать до конца у меня больше.

GS> Кому надо - тот и GS> прочтёт, и разберётся. А кому не надо - тому не надо...

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

Alexey

Reply to
Alexey Boyko

Привет, *Harry*!

/вторник, 05 апреля 2005/ *Harry Zhurov* писал(а) к *Andrey Solomatov* по поводу *Текстовые строки (было: Embedded OS):*

[кусь]

HZ> Вообще-то, ты просто не понял: тут не синтаксис показан, а именно HZ> стиль:

И я о том-же. Что-бы добиться ясности текста - необходимо придерживаться чёткого стиля. Иначе... И в C придётся огрести его "радости" по полной.

[кусь]

HZ> Это так на Верилоге,

Извращенцы. ;) На паскале текст, по крайней мере, достаточно хорошо похож на текст на нормальном языке.

[кусь]

AS>> Всё отлично подчёркивается отступами. AS>> И заодно - прекрасно ложится на стандартный размер табуляции.

HZ> И совершенно ничем это не лучше сишного варианта:

вообще-то слово "begin" длиннее. И по этому - легче идентифицируется. А скобки на некоторых шрифтах бывают вообще плохо читаемы.

[кусь]

HZ> А писанины больше, отступов больше. Сплошные минусы.

Я же сказал - основной отступ - табуляция. Для begin/end отступ - 4 пробела. Всё нормально.

[кусь]

HZ> Все всегда определяется программистом, а не языком.

Давай я повторюсь: на паскале *невозможно* написать лихо закрученное выражение, определяющее, скажем, тип. C позволяет делать это.

[кусь]

HZ> Главная причина широкого распространения С - масштабируемость и HZ> сочетание низкоуровневых возможностей с абстрактными элементами ЯВУ.

Ой, да ладно тебе. В чём масштабируемость C, какие-такие у него "низкоуровневые возможности", которых нет у pas?

[кусь]

HZ> А это тут при чем?

Да так, к слову пришлось. ;)

HZ> С++, кстати, синтаксически точно такой же, как С. Там отличия в HZ> сути.

Нэт. (ц) Когда мне пришлось "откатиться", я был удивлён *насколько* C менее удобен, чем C++. Все эти дурацкие

struct my_struct abc, def; вместо

my_struct abc, def;

и куча всяких мелочей, которые обнаруживаются _потом_. В общем, C++ чаще всего нормально компилит текст C, но не наоборот. Даже если C++ пользуется как "улучшенный C".

Reply to
Andrey Solomatov

Anatoly, ты ещё здесь сидишь?

Вторник Апрель 05 2005 18:11, Anatoly Mashanov wrote to George Shepelev:

GS>> Кстати, а как команду обмена (XCHG) "на птичьем" изобразить? Для GS>> "паскальподобных" языков придумана остроумная запись :=: AM> С учетом того, что слева в операторе присваивания стоит АДРЕС, а AM> справа ЗHАЧЕHИЕ (А если стоит адрес, но он все равно низвергается до AM> значения),

Это оператор обмена, а не присваивания ;)

Георгий

Reply to
George Shepelev

Michael, ты ещё здесь сидишь?

Среда Апрель 06 2005 03:03, Michael Zaichenko wrote to George Shepelev:

MZ>>> Так, тады в чем разница между разбором (парсингом) и линейным MZ>>> поиском? GS>> Второе есть частный случай первого. MZ> Где об этом пожно почитать?

А на уровне логики не получается? Скажи, возможен линейный поиск без разбора?

Георгий

Reply to
George Shepelev

Здравствуйте, Уважаемый Andrey!

Wed Apr 06 2005 10:32, Andrey Solomatov wrote to Harry Zhurov:

AS> вообще-то слово "begin" длиннее. И по этому - легче идентифицируется. AS> А скобки на некоторых шрифтах бывают вообще плохо читаемы.

Тут дело даже не столько в "читаемости" скобочек, сколько в пагубной торопливости, с какою можно шлепнуть лишнюю скобочку в текст одним нажатием. Вообще, язык Си рассчитан на торопливых, которые в диком угаре долбят по клавиатуре, забывая о здравом смысле. Зато, когда не торопясь набираешь BEGIN, то успевашь уже твердо осознать, где будет располжен END и что из этого последует по смыслу. Такой, казалось бы медленный метод набора текста потом сторицей экономит время на отладке приложений.

Всего Вам Хорошего Ольга

Reply to
Olga Nonova

Wed, 6 Apr 2005 05:32:00 +0000 (UTC) Andrey Solomatov wrote to Harry Zhurov:

[...]

HZ>> Все всегда определяется программистом, а не языком.

AS> Давай я повторюсь: на паскале *невозможно* написать лихо закрученное AS> выражение, определяющее, скажем, тип. C позволяет делать это.

Разводить флейм на эту избитую тему не хочу. Обсуждалось уже не раз. Язык, главным образом, должен предоставлять средства для решения задач, а не мешать извращенцам и дуракам быть самим себе злобными буратинами. С - мощный инструмент. Мощь предполагает ответственность. С++ - еще более мощный инструмент и предполагает еще бОльшую ответственность.

HZ>> Главная причина широкого распространения С - масштабируемость и HZ>> сочетание низкоуровневых возможностей с абстрактными элементами ЯВУ.

AS> Ой, да ладно тебе. В чём масштабируемость C, какие-такие у него AS> "низкоуровневые возможности", которых нет у pas?

Работа с памятью напрямую. Адресная арифметика. Отсутствие всякого левого "сервиса" на рантайме.

HZ>> С++, кстати, синтаксически точно такой же, как С. Там отличия в HZ>> сути.

AS> Нэт. (ц)

ДА!!! И на С++ можно наворотить такое, что самый извращенный код на С покажется детским лепетом. Все всегда определятся программистом, а не языком.

AS> Когда мне пришлось "откатиться", я был удивлён *насколько* C менее удобен, AS> чем C++. AS> Все эти дурацкие

AS> struct my_struct abc, def; AS> вместо

AS> my_struct abc, def;

Мелочи. Не пользуйся тегами и все.

AS> и куча всяких мелочей, которые обнаруживаются _потом_. AS> В общем, C++ чаще всего нормально компилит текст C, но не наоборот.

Не каждый С текст компилится в С++. Есть несколько нюансов.

AS> Даже если C++ пользуется как "улучшенный C".

Да, это так. Но это далеко не главное достоинство С++ и только из-за мелких вкусностей не стОило бы на него переходить.

Reply to
Harry Zhurov

Hi Olga!

06 Apr 05 12:49, Olga Nonova wrote to Andrey Solomatov:

ON> угаре долбят по клавиатуре, забывая о здравом смысле. Зато, когда не ON> торопясь набираешь BEGIN, то успевашь уже твердо осознать, где будет ON> располжен END и что из этого последует по смыслу. Такой, казалось бы ON> медленный метод набора текста потом сторицей экономит время на отладке ON> приложений.

Барышня, специально для тормозов, даю бесплатный совет: добавить в stdio.h две конструкции для препроцессора #define BEGIN { #define END }

и не высасывать не знаю даже из чего "недостатки" Си, прикрывая этим собственные.

Slav.

Reply to
Slav Matveev

Привет Michael!

06 Apr 05 04:08, Michael Zaichenko писал Alexey Boyko:

MZ> когда меня достала на работе гора исходнико разными MZ> пионерами писаных, там вообще отсупы как попало и тд, стиля нет MZ> вообще. написал за день примитивный форматировщик сишных тестов и MZ> мигом все переформатировал.

А зачем??? Чем не устроили суещствующие indent?

Всего наилучшего, [Team PCAD 2000] Алексей М. ... Пирожок тушеный с тушенкой.

Reply to
Alex Mogilnikov

Привет, *Harry*!

/среда, 06 апреля 2005/ *Harry Zhurov* писал(а) к *Andrey Solomatov* по поводу *Текстовые строки (было: Embedded OS):*

[кусь]

HZ> Язык, главным образом, должен предоставлять средства для решения HZ> задач, а не мешать извращенцам и дуракам быть самим себе злобными HZ> буратинами.

Угу. Вот только почему-то ANSI C проэволюционировал в сторону приближения к паскалю по строгости типизации. Может быть вернёмся к C&R C?

[кусь]

AS>> Ой, да ладно тебе. В чём масштабируемость C, какие-такие у него AS>> "низкоуровневые возможности", которых нет у pas?

HZ> Работа с памятью напрямую.

Что такое "работа с памятью напрямую"? Угрёбищная затычка malloc/free?

HZ> Адресная арифметика.

Гм. Это где-то - 50/50. В принципе это "те-же яйца, но вид сбоку".

HZ> Отсутствие всякого левого "сервиса" на рантайме.

А в "pas'е" то он откуда?

[кусь]

HZ> ДА!!! И на С++ можно наворотить такое, что самый извращенный код на HZ> С покажется детским лепетом. Все всегда определятся программистом, а не HZ> языком.

Разумеется, на C++ можно наворотить гораздо больше - ибо он (как язык) гораздо богаче C. Впрочем, контроль типов там жёстче, и "наворачивать" придётся "по правилам". А самое главное - гораздо большие выразительные возможности языка позволяют чётче и лаконичнее выделить "основное" в программе, убрав детали реализации куда-нибудь с глаз долой.

[кусь]

HZ> Мелочи. Не пользуйся тегами и все.

А чем ты предлагаешь пользоваться? Переписывать каждый раз все определение типа?

[кусь]

HZ> Не каждый С текст компилится в С++. Есть несколько нюансов.

Я в курсах. ;)

AS>> Даже если C++ пользуется как "улучшенный C".

HZ> Да, это так. Но это далеко не главное достоинство С++ и только HZ> из-за мелких вкусностей не стОило бы на него переходить.

Ну, я на него перешёл потому, что после бормондовского object pascal обычный "C" ощущаелся как концлагерь. ;) ОПП - вкусная вещь. ;))

[кусь]
Reply to
Andrey Solomatov

Wed, 6 Apr 2005 10:39:51 +0000 (UTC) Andrey Solomatov wrote to Harry Zhurov:

HZ>> Язык, главным образом, должен предоставлять средства для решения HZ>> задач, а не мешать извращенцам и дуракам быть самим себе злобными HZ>> буратинами.

AS> Угу. Вот только почему-то ANSI C проэволюционировал в сторону приближения AS> к паскалю по строгости типизации.

С какого фига к паскалю-то? К С++!

AS> Может быть вернёмся к C&R C?

А это что?

AS>>> Ой, да ладно тебе. В чём масштабируемость C, какие-такие у него AS>>> "низкоуровневые возможности", которых нет у pas?

HZ>> Работа с памятью напрямую.

AS> Что такое "работа с памятью напрямую"? AS> Угрёбищная затычка malloc/free?

Причем тут это? маллоки и прочее - это работа со свободной памятью, которая имеет отношение к менеджерам памяти и подобному. А прямое обращение к памяти - это прямое обращение к памяти. Или ты не знаешь как это делается?

HZ>> Адресная арифметика.

AS> Гм. Это где-то - 50/50. AS> В принципе это "те-же яйца, но вид сбоку".

Никакие не "50/50", а именно низкоуровневое (и поэтому опасное, но эффективное) средство для манипуляции объектами через их непосредственные адреса.

HZ>> Отсутствие всякого левого "сервиса" на рантайме.

AS> А в "pas'е" то он откуда?

Эта... Я не знаток паскаля, но про рантаймовые проверки, например, при работе с массивом все же знаю. А ты нет?

AS> [кусь]

HZ>> ДА!!! И на С++ можно наворотить такое, что самый извращенный код на HZ>> С покажется детским лепетом. Все всегда определятся программистом, а не HZ>> языком.

AS> Разумеется, на C++ можно наворотить гораздо больше - ибо он (как язык) AS> гораздо богаче C. Впрочем, контроль типов там жёстче, и "наворачивать" AS> придётся "по правилам".

Сколько программ на С++ ты написал? Сколько строк кода (хотя бы очень приблизительно) на С++ ты написал? Спрашиваю потому, что вышеотквоченное заявление выглядит в высшей степени наивным. Ты с ним в su.c-cpp приходи, там скажи! А я понаблюдаю за реакцией тамошней публики (которая С++ знает несравненно лучше меня, да и тебя, думается, тоже). Особенно любопытно, что скажут про "наворачивать придется по правилам".

HZ>> Мелочи. Не пользуйся тегами и все.

AS> А чем ты предлагаешь пользоваться? AS> Переписывать каждый раз все определение типа?

??? А про typedef ты ничего не слышал?

AS> [кусь]

HZ>> Не каждый С текст компилится в С++. Есть несколько нюансов.

AS> Я в курсах. ;)

Кстати, какие вещи из С не компилируются в С++?

AS>>> Даже если C++ пользуется как "улучшенный C".

HZ>> Да, это так. Но это далеко не главное достоинство С++ и только HZ>> из-за мелких вкусностей не стОило бы на него переходить.

AS> Ну, я на него перешёл потому, что после бормондовского object pascal AS> обычный "C" ощущаелся как концлагерь. ;) AS> ОПП - вкусная вещь. ;))

И на какую платформу ты перешел в ++?

Reply to
Harry Zhurov

Привет!

Mon Apr 04 2005 13:44, Olga Nonova wrote to George Shepelev:

...

ON> Я думаю, тут все дело в способе мышления, каким полушарием мозга человек ON> творит. Если правым, то мышление зрительными образами и ему лучше ON> подходят мнемоники AVR-в, да и сами AVR-ы куда как приятнее. Логически ON> собранные из символов команды PIC-в, наоборот, лучше воспринимаются ON> левополушарными людьми. ON> Им логику подавай, а с образами- туговато.

Однако, забавный способ в очередной раз попытаться легализовать себя в качестве женщины, фактически объявив AVR бабским процессором, а PIC мужицким.

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

Reply to
Alexander Golov

Привет!

Mon Apr 04 2005 10:19, Alexey Boyko wrote to Alexander Golov:

...

AG>> Т.е. выделить, скажем, из 49 вариантов адресации команды MOV пару AG>> частных случаев, когда с одной стороны адресуется регистр, а с другой AG>> память и назвать это ld/st? Как я понимаю, для тебя это в явном виде AG>> символизирует направление трафика ядро-память ещё на уровне мнемоники, AG>> но это же очень частный случай.

AB> Hе совсем так. ld/st - для load/store архитектуры.

Ну уж PIC18 то явно не из этой категории, dsPIC немного поближе.

AG>> Возьмём, например, 3-адресную AG>> арифметическую команду, где как один из источников, так и результат AG>> могут быть как внутри ядра (т.е. в регистре), так и в памяти и тебе AG>> неизбежно придётся интерпретировать способ адресации даже для простого AG>> установления направления движения данных.

AB> То есть как в i386? Вот и смотри как там сделано.

Насколько я помню, там как раз всё вытекает их операндов, для пересылок практически одни MOV'ы.

AB>>> Так это куда, W:=fsr2l или fsr2l:=W ? AG>> Естественно -- Move F To W, т.е. FSR2L->W, или алгебраически W=FSR2L.

AB> Hет, не естественно. (imho)

Если используется слово "move" означающее "перемещение", то естественен порядок перемещения того, что сразу за словом move куда-то в другое место, потому что не по людски сначала сказать куда переместить, а потом уже что. А для обратного порядка следует использовать слово "присвоить" ("assign", или ещё какой-то синоним).

AG>> Флажок "f", означает, что результат положить в память (т.е. туда же AG>> откуда взял операнд), "w" -- в wreg. По умолчанию подразумевается "f", AG>> в явном виде нужно указывать только "w". Флажок "c" это HI-TECH'евская AG>> кличка для "a", флажка доступа к Access RAM, при программировании на AG>> ассме указывать не требуется, т.к. автоматически подставляется в AG>> зависимости от объявленного адреса переменной или типа доступа (при AG>> создании перемещаемых модулей).

AB> В даташите ничего нет про поведение конкретных трансляторов асма.

Ну да, нужно читать описания на них.

AG>> как при написании, поэтому я обычно не испытываю каких-либо неудобств.

AB> Я верю, что можно привыкнуть.

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

...

AG>> В чём суть вопросов? Что система команд не очевидна, для того, кто её AG>> впервые видит?

AB> Да.

AG>> Так это про любую можно сказать, AVR в том числе.

AB> Hу, не знаю. Мне после x86 AVR был понятнее. Даже без чтения док можно AB> было примерно представить что делает та или иная команда. С пиком нет. AB> Вроде и понятно, что делает, а откуда берет данные и куда ложит - фиг его AB> знает.

Это лишь вопрос привычки, в данном случае ты имел дело с процами с аналогичными подходами к решениям. Вот и я после многих лет работы с 6502, достаточно легко воспринимал решения от Motorola, и наоборот, попытки программировать 386-й по началу были довольно мучительны, а ещё позже PIC16 в первый момент поставил в ступор своей инопланетностью. Но уже через пару месяцев я вовсю лепил для них программы без каких-либо проблем, а вот неудачная попытка воспользоваться, несколько лет назад, мотороловским HC08 оставила столь удручающее впечатление, что я до сих пор с трудом представляю, что сможет подвигнуть меня ещё раз к ним подойти.

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

Reply to
Alexander Golov

Hello Olga!

06 Apr 05 12:49, you wrote to Andrey Solomatov:

ON> нажатием. Вообще, язык Си рассчитан на торопливых, которые в диком ON> угаре долбят по клавиатуре, забывая о здравом смысле. Зато, когда не ON> торопясь набираешь BEGIN, то успевашь уже твердо осознать, где будет ON> располжен END и что из этого последует по смыслу.

Я, набирая {, нажимаю стрелку-вниз и набираю }. После чего вставляю между ними все, что надо. О горе-программистах, которые рисуют квадратики в VISIO, потом переводят их на бумаге и наконец отдают девочкам ("Девочка" это не пол и не возраст, это диагноз, как и "Блондинка") набивать, распространяться не буду.

Anatoly

Reply to
Anatoly Mashanov

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.