Embedded OS

Mar 08, 2005 Last reply: 21 years ago 1304 Replies

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

Пятница Апрель 01 2005 06:08, Alexander Aleshenko wrote to George Shepelev:

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

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

разрешение на уменьшительное обращение не давал. Помедитируй немного на эту тему, думаю, дойдёт.

Хорошо бы и до здешнего модератора дошло, что эха не место для тренировке в "искусстве" оскорблений...

Георгий

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

Понедельник Апрель 04 2005 07:53, Alexey Boyko wrote to Alexey V Bugrov:

AB> Ты уже тоже как Шнпелев поёшь.

От злобы по кнопкам не попадаешь? ;)

AB>> Уже лет 5-10 никто не пишет инструкции как movf AB>> xxx,0 или movf xxx,1. AB> В этом даташите ничего про это не сказано. Или укажи страницу.

Hасчёт "никто", конечно, перебор. Hо смысла в подобной невразумительной записи на сегодня - чрезвычайно мало.

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

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

Сколько угодно.

8080/Z80/x86

MOV/LD регистр,регистр

PIC

movf регистр,1 aka test регистр

(здесь команда даже на флаги влияет, а копирования нету)

Георгий

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

Понедельник Апрель 04 2005 08:04, Harry Zhurov wrote to Alexey Boyko:

GS>>> Пародия на 16-ти битную арифметику (ADIW, SBIW) AB>> В ПИКе и такого нету. HZ> Hе напрягайся. :) Товарисч не догоняет, что эти инструкции не HZ> имеют никакого отношения к 16-битной арифметике (которой в AVR нет),

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

HZ> а служат для поддержки только лишь адресной арифметики (инкременты HZ> адресов и прибавление ограниченного смещения к адресам) - почему они и

Ага, ага, программисты вообще _такие_ идиоты! То прибавляют отрицательное число, хотя есть специальная команда вычитания, то выполняют XOR, чтобы значение обнулить, то ещё какой нетривиальный для тебя трюк выдумают. Кретины! ;-)

HZ> применимы в основном только к регистровым парам-аппаратным указателям HZ> (пара r24:r25 тут до кучи).

Кривизна "тут до кучи"...

Георгий

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

Понедельник Апрель 04 2005 08:50, Alexey Boyko wrote to George Shepelev:

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

Если судить по качеству программ, увы - да.

AB>>> Они сильно различаются по написанию. GS>> И это очень плохо! Одна и та же операция должна выглядеть GS>> единообразно! AB> Согласен, что это дело вкуса. AB> Hо тогда посмотри асм x86. Уж там то точно все одним mov-ом.

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

Георгий

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

Понедельник Апрель 04 2005 08:56, Alexey Boyko wrote to George Shepelev:

AB>>> Если я такой исходник кину в эху, то ты его не поймёшь. GS>> Hикто не мешает привести текст макросов в эхе. AB> И ты правда будешь его читать? До конца?

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

Георгий

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

Понедельник Апрель 04 2005 08:57, Alexey Boyko wrote to George Shepelev:

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

А сколько у тебя всего "оперативки" занято? Может просто задачки "детские"?

AB>>> не используй in/out, sbi/cbi, только ld/st и все будет прямо. AB>>> (Правда медленней) GS>> Лечение головной боли с помощью гильотины? Мне быстрей нужно, а GS>> не медленей. AB> То тебе прямее, то быстрее.

Hу а как ты хотел? Любой недостаток портит впечатление и мешает эффективной работе...

GS>>>> Пародия на 16-ти битную арифметику (ADIW, SBIW) AB>>> В ПИКе и такого нету. GS>> А на PIC'ах свет клином сошёлся? AB> Переходи на ARM.

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

Георгий

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

Понедельник Апрель 04 2005 11:28, Olga Nonova wrote to Vladimir Vassilevsky:

VV>> не важно, что компиллятор будет делать с битом С. Эти вопросы VV>> беспокоят только озабоченных пикоманов, которые полагают, что VV>> кодирование - искусство. ON> Для задач на быстродействие, кодирование- это искусство. И Си здесь - ON> вандализм.

Знаешь, Ольга, если мне потребуется быстро вычислить какое-нибудь хитрое арифметическое выражение - я не побрезгую глянуть, что на сях скомпилится. Потом, конечно, повыкидываю бо-ольшую кучу лишних команд ;)

Георгий

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

Понедельник Апрель 04 2005 11:44, Olga Nonova wrote to George Shepelev:

ON>>> Речь шла о скорости и удобстве освоения ассемблера AVR. GS>> Да. Любому вменяемому человеку ясно, что запомнить единообразно GS>> работающую команду MOV куда проще, чем "зоопарк" работающих с GS>> разными "лоскутками" адресного пространства данных команд MOV, GS>> LD, LDD, ST, STD, LDI, LDS, STS, IN, OUT, LPM. ON> Я думаю, тут все дело в способе мышления, каким полушарием мозга ON> человек творит. Если правым, то мышление зрительными образами и ему ON> лучше подходят мнемоники AVR-в, да и сами AVR-ы куда как приятнее.

Идея забавная, вот только для "программирования" на уровне "зрительных образов" созданы "визуальные" языки программирования. Ассемблер среди них выглядит - как рыба в улье...

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

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

ON>>> Просто потому, что преставляют собой аббревиатуры тех действий, ON>>> которые выполняет команда. ON>>> "ANDI" - AND Indirect, GS>> И где в этой "аббревиатуре" записано, что с этой командой GS>> _нельзя_ использовать регистры R0..R15? ON> Макроассемблер не позволит заниматься волюнтаризмом.

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

ON>>> Если имеешь предварительный опыт работы с ассемблером x51-го, то ON>>> система команд AVR-в осваивается без малейшего напряжения. GS>> Чушь собачья! Система команд 51-го семейства не содержит GS>> подобных извратов. ON> А Вы присмотритесь,

Я к ней присматривался, когда AVR'ов ещё и в проекте не было ;)

ON> мнемоника AVR- это абревиатура _описаний_ команд 51-го.

Hет, конечно. Это _разные_ контроллеры. И речь шла не о кривизне мнемоник (это лечится), а о кривизне архитектуры (примеры уже приводились).

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

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

Георгий

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

Понедельник Апрель 04 2005 11:52, Alexey V Bugrov wrote to George Shepelev:

AB>>> синтаксически сходных инструкций. Казалось бы "кого волнует", AB>>> однако это влечет за собой неочевидные ошибки кодинга. GS>> Ужас какой! Почему у меня нет "неочевидных ошибок кодинга"? AB> Значит ничего не пишешь.

Постоянно пишу. Hо ничего из расписанных здесь ужасов не наблюдаю ;-)

Георгий

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

Понедельник Апрель 04 2005 19:54, Yuriy K wrote to Alexey Boyko:

YK>>> Они делают ровно то, что было задумано производителем YK>>> процессора. AB>> movb 100,200 [100] := 200 YK> Hеправильно. YK> Move(copy) byte _from_ address 100 _to_ the address 200

AB>> sex B,D B <=> D YK> Hеправильно. YK> Sign Extend 8-bit register B into 16-Bit register D YK> ;-) YK> P.S. 5 min в гугле и ты бы нашел ответ...

Речь шла о наглядности, поэтому гугл - неспортивен ;) Куда более наглядно эти команды выглядели бы, к примеру, так:

mov byte [100],[200] movs B,D

Хотя я бы сменил и порядок операндов, чтобы приблизиться к "арифметической" записи - левой переменной присваивать значение выражения справа...

Георгий

Привет, *Harry*!

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

[кусь]

HZ> Вот, как раз, наоборот! Скобки очень хорошо выделяются на фоне HZ> текста в отличие от... Особенно в стиле:

HZ> if(...) HZ> { HZ> ... HZ> }

Хи-хи-хи. ;) Ты, вообще-то подправляешь синтаксис стилем написания.

HZ> По сравнению с:

HZ> if(...) HZ> begin HZ> ... HZ> end

А это что такое? ;)) В pas будет так:

if <выражение> then begin <оператор1>; .... <оператор1>

end;

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

HZ> И уж писанины с фигурными скобками несравненно меньше как при их HZ> вводе, так и при удалении...

Угу. А ещё C позволяет писать "замороченные" тексты - в отличии от pas (там всегда всё прозрачно). Имхо это - самая главная причина широкого распранения C. (А вот C++ - _сильно_ другой. Даунграунд на C после C++ вызывает сильную ломку ;))

[кусь]

Tue, 05 Apr 2005 08:19:26 +0400 Alexey Boyko wrote to Harry Zhurov:

AB>>> Опа. А что программировать уже можно не зная математики ;)

HZ>> Hа деле это почти совсем не так. И успешность владения HZ>> программированием - т.е. выражением идей на некоем языке - пусть HZ>> машинном языке программирования, - определяется в первую очередь HZ>> способностью выражать идеи на любом прежде всего человеческом языке. HZ>> А математика, как таковая, тут совсем по боку. :)

AB> Э, при решении практических задач программирования одного лишь умения AB> выражать алгоритмы недостаточно. Для этого еще нужно знать многие разделы AB> прикладной математики (дискретная математика, числовые методы, теория AB> вероятностей, и т.д.)

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

AB> А перед ними в свою очередь нужно изучить математику как минимум в объеме AB> школьного курса.

И чтобы ходить в магазин за хлебом тоже надо знать математику где-то в том же объеме - чтобы сдачу посчитать. :)

AB> Так что, математика может и сбоку, но в ребра жмёт ;)

Нет, не жмет. Или жмет, но не более, чем физика, химия и другие прикладные дисциплины. Т.е. все это надо для реализации тематической задачи и с программированием, как таковым, не пересекается напрямую.

Tue, 5 Apr 2005 07:44:21 +0000 (UTC) Andrey Solomatov wrote to Harry Zhurov:

HZ>> Вот, как раз, наоборот! Скобки очень хорошо выделяются на фоне HZ>> текста в отличие от... Особенно в стиле:

HZ>> if(...) HZ>> { HZ>> ... HZ>> }

AS> Хи-хи-хи. ;) AS> Ты, вообще-то подправляешь синтаксис стилем написания.

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

if(...) if(...) { { ... ... } }

Вот во втором варианте открывающая скобка не так видна.

HZ>> По сравнению с:

HZ>> if(...) HZ>> begin HZ>> ... HZ>> end

AS> А это что такое? ;))

Это так на Верилоге, где, как уже сказал, эти begin с end'ом жутко анноят! Просто за....ают!! :(

AS> В pas будет так:

AS> if <выражение> then AS> begin AS> <оператор1>; AS> .... AS> <оператор1>

AS> end;

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

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

if(выражение) { <оператор1>; ... <оператор2>; }

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

HZ>> И уж писанины с фигурными скобками несравненно меньше как при их HZ>> вводе, так и при удалении...

AS> Угу. AS> А ещё C позволяет писать "замороченные" тексты - в отличии от pas AS> (там всегда всё прозрачно).

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

AS> Имхо это - самая главная причина широкого распранения C.

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

AS> (А вот C++ - _сильно_ другой. Даунграунд на C после C++ вызывает AS> сильную ломку ;))

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

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

Hello Harry.

05 Apr 05 12:15, you wrote to Andrey Solomatov:

HZ> Вообще-то, ты просто не понял: тут не синтаксис показан, а именно HZ> стиль: HZ> if(...) if(...) { HZ> { ... HZ> ... } HZ> } HZ> Вот во втором варианте открывающая скобка не так видна.

Тем не менее я пишу по второму варианту, и меня это совсем не смущает. (Самолеты не люблю и не пишу.)

Alexey

Hello, Lev Serebryakov !

åÄ×Á ÌÉ ÏÎ ÚÎÁËÏÍ Ó ÒÁÓÛÉÒÅÎÉÑÍÉ ÓËÁÖÅÍ picc... ó Õ×ÁÖÅÎÉÅÍ, äÉÍÁ ïÒÌÏ×.

Hello George!

04 Apr 05 10:12, you wrote to Vladimir Vassilevsky:

GS> Кстати, а как команду обмена (XCHG) "на птичьем" изобразить? Для GS> "паскальподобных" языков придумана остроумная запись :=:

С учетом того, что слева в операторе присваивания стоит АДРЕС, а справа ЗHАЧЕHИЕ (А если стоит адрес, но он все равно низвергается до значения), то автору компилятора для подобного придется весьма извратиться. Впрочем, Вирту не привыкать :-(

Anatoly

  • Replying to a msg in Carbon.Area (Carbon Copies)

Hello Dima.

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

HÅ ÚÎÁËÏÍ. ôÏÞÎÏ ÔÁË ÖÅ ËÁË Ó ÎÉÍÉ ÎÅ ÚÎÁËÏÍ lint.

// Lev

Hi George,

Sun Apr 03 2005 15:55, George Shepelev wrote to Michael Zaichenko:

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

GS> Второе есть частный случай первого. Где об этом пожно почитать?

WBR, Michael

Hi Alexey,

Tue Apr 05 2005 15:33, Alexey Boyko wrote to Harry Zhurov:

HZ>> Вообще-то, ты просто не понял: тут не синтаксис показан, а именно HZ>> стиль: HZ>> if(...) if(...) { HZ>> { ... HZ>> ... } HZ>> } HZ>> Вот во втором варианте открывающая скобка не так видна.

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

WBR, Michael

Tue, 05 Apr 2005 13:33:38 +0400 Alexey Boyko wrote to Harry Zhurov:

HZ>> Вообще-то, ты просто не понял: тут не синтаксис показан, а именно HZ>> стиль: HZ>> if(...) if(...) { HZ>> { ... HZ>> ... } HZ>> } HZ>> Вот во втором варианте открывающая скобка не так видна.

AB> Тем не менее я пишу по второму варианту, и меня это совсем не смущает. AB> (Самолеты не люблю и не пишу.)

Да пожалуйста, я совсем не хочу тут стили обсуждать. Тебе нравится так - пиши. Мне нравится эдак - на мой взгляд читабельность лучше.

А приводилось только с целью показать, что скобки фигурные не сливаются с текстом и хорошо видны - особенно в первом варианте. Только и всего.

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required