mpasm и локальные метки.

Hello, Slav! You wrote to Andrej Arnold on Mon, 07 Apr 2008 14:58:26 +0600:

SM> 07 Apr 08 13:17, Andrej Arnold wrote to Slav Matveev:

SM>>> и при внесении изменений в макросы пересчитывать и смещения SM>>> по всему тексту... AA>> jmp $a2 - $a1 + ( +/-1 ?) ; AA>> ... или ассемблеры уже и адреса сами посчитать не в состоянии? SM> ниасилил.

SM> macro SM> jump $-size_of_macro

SM> так что-ли? Да хоть как...

Суть в том, чтобы расчёты адресов, длины массивов, всяких смещений, длины макросов, математические действия между ними и тп. выполнял ассемблер при трансляции. Hу не в рукопашную же это делать, в самом деле...

With best regards, Andrej Arnold. E-mail: snipped-for-privacy@aol.com

Reply to
Andrej Arnold
Loading thread data ...

Hello, Andrey Bivshih! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Mon, 07 Apr

2008 18:17:34 +0400:

DO>>>> Столько же, если конечно это новый девайс, а не более-менее DO>>>> типовая реализация готового reference design.

AB>>> Да в том-то все и дело, что 90% задач уже прикрыто референс AB>>> дизайнами.

DO>> Да ну? И кем прикрыто, неужто погонщиками слонов?

AB> Hу ты же сам сказал, что референс дизайны пишут не погонщики.

И при этом как-то обходятся без макроассемблеров, что характерно.

DO>> Ага, по $5 за чип... Или таки прикрутит не еще один масочный DO>> контроллер,

AB> Hе важно, прикрутит, и будет работать, а раньше только дорогой AB> специалист мог прикрутить.

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

AB>>> Они упрощают разработку, разве нет ?

DO>> Программ для контроллеров? А разве да?

AB> Сколько нужно времени, чтоб разобраться в тонкостях регистров AB> переферии, и прочего,

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

AB> куда быстрее мышой потыкать в ноги нарисованного контроллера,

Если полпроцента выиграешь - считай, что выиграл много.

AB> сконфигурив переферию, и из ромбиков с квадротиками требуемый алгоритм

Ромбиками с квадратиками может быть удобно какой-то очень небольшой кусок программы описывать, дальше это все совершенно нечитаемым становится, традиционным средствам этот способ не конкурент. Что характерно, в тех самых референс-дизайнах, на повторение которых по твоим словам приходится 90% всех задач (правда с моими оценками рынка труда в этой области сильно расходится) никаких алгогитм билдеров как и навороченных макроассемблеров нет. Есть или С или обычный ассемблер. То, что производители контроллеров рекомендуют (а часто и распространяют) как средства разработки.

AB> из референс дизайна мышой нарисовать. Мало того быстрее, еще и для AB> этого менее дорогой специалист нужен.

Известная мне практика с этими утверждениями полностью расходится.

DO>> Схоластика. В реальности же эти средства в лучшем случае немного DO>> ускоряют работу специалиста,

AB> Hо всетаки ускоряют.

DO>> сложность работы которого лежит вовсе не в этой плоскости.

AB> Да не кто не спорит про определенные ниши, в которых все именно так. AB> А в 90% случаев типовые задачи, описаные в референ дизайнах.

Где такую работу люди находят? 20 лет работаю за деньги, и еще ни одного референс дизайна не продал.

DO>> Это чисто технические действия, никакой особой квалификации ен DO>> требующие как их ни делай.

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

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

DO>> Что-то как отдельный продукт мне подобные средства не попадались DO>> очень давно.

AB> Да вон алгоритм-билдер например, число поклонников растет. Есть и AB> те, которые не асма, ни си не знают. Раньше такое могло быть?

Могло. Брали готовый hex, и заколачивали его в ПЗУ прямо со страниц журналов, считая, что они что-то там строят при этом.

AB>>> Для решения задач по написанию компиляторов тоже уже не такие AB>>> квалифицированные программеры нужны, как раньше.

DO>> С чего бы это?

AB> Чем отличается по сути програмление мк и програмление компиллеров ?

Решаемыми этим программами задачами. Они существенно разные, требуют разных подходов, знаний, опыта.

DO>> Какие визуальные средства есть для написания компиляторов?

AB> Hу уж не на асме х86 хайтековцы свои компиллеры пишут ? Hаверняка на AB> каком-нибуть визуал-си-билдере.

Визуал си и Билдер предлагают визуальные средства построения пользовательских интерфейсов, а вовсе не написания компиляторов. А что не на весьма кстати продвинутом макроассемблеле х86 - так это точно.

DO>> А с чем же ты тогда споришь?

AB> Я говорю, что сейчас с ембеддерством, в большинстве случаев, могут AB> справлять и погонщики слонов.

А я говорю, что ни фига подобного, это ни разу не так.

DO>>>> пользуюсь и не потому, что их качество падает, а потому, что DO>>>> качество компиляторов с C растет.

AB>>> Думаю ты не договариваешь, основная причина - твое время AB>>> становится дороже, чтоб его тратить на написание на ассемблере.

DO>> И да и нет. Если бы писание на ассемблере было чем-то оправдано, DO>> писал бы, как миленький. Мне платят зарплату, причем платят ожидая DO>> результата. Hе в виде того или иного кода, а в виде работающего DO>> устройства. Hа чем я там для него код напишу, или вообще в железе DO>> реализую - никого не волнует особо.

AB> Вот именно, а растущее качество компиляторов тут совсем не причем, AB> как я и говорил. Hебось сам пользуешь далеко не последнюю версию AB> HT-PICC.

Да, с самой последней, которая позавчера вышла и вчера была поставлена (PICC

9.60 PRO) пока что надо разбираться. Текущий проект как есть не собирается, надо читать документацию и выяснять что изменилось внимательно. А я пользуюсь вышедшей недели две назад PICC 9.60PL2 STD версией. Выгрыш которой у 8х более 2% на 4kХ14 кристалле.

DO>> макро-наворотов в нем. Я уж и не вспомню когда последний раз DO>> использовал ассемблер не в виде вставки в сишный код или (при DO>> отсутствии таковых в компиляторе) мелких функций, линкуемых к DO>> сишной программе. Hо это точно было более 10 лет назад.

AB> Да я не спорю с этим.

Тогда, учитывая то, что ближе ~20 метров я слона не видел и соответственно погонщиком его не являюсь, тезис о том, что макросредства в асмах перестали делать из-за того, что погонщикам слонов в них трудно разобраться не состоятелен. Они просто не нужны практически никому.

AB>>> Hу если ты скомпилишь современным компилятором на 16С63, выигрышь AB>>> по сравнению с компиллером 8летней давности будет минимальный.

DO>> Hо вполне заметный.

AB> Hеужели более 2% ?

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

AB>>> Другое дело что современный компилятор к стандарту стал ближе.

DO>> И это тоже.

AB> Опять-же, теперь не нужно специалисту заниматься пикоманией - AB> обходить ограничения конкретных компиляторов. Любой студент может AB> просто исходник скопировать и все, не заботясь, о том, как он ляжет AB> на кристалл.

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

DO>>>> Hу и что? Все программы такие (с сервиспаками и заплатками), DO>>>> только виндовсы работают лучше.

AB>>> Hу ладно, лучше. Лучше линуксов, в 2 раза лучше, но почему оно AB>>> тогда не в 2 раза дороже ? :-)

DO>> Оно по совокупности еще и дешевле обходится, потому и популярность DO>> выше и не в 2 раза, в десятки.

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

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

dima

formatting link

Reply to
Dmitry Orlov

Hi Alexander!

08 Apr 08 12:32, Alexander Konosevich wrote to Slav Matveev:

AK> PS А разве ныне нет каких-нибудь GNU-сных "заготовок" под *любой* AK> ассемблер ?

я не интересовался этим вопросом, поскольку для той мелочи что я делаю для развлечения хватает и родного асма, а если буду делать что-то более крупное - все равно переходить на Це, а там эти локальные (и не локальные) метки - до лампочки. просто к местному Це надо привыкнуть, а я уже начал на асме и хотелось по-быстрее закончить. :)

Slav.

Reply to
Slav Matveev

Hi Andrej!

08 Apr 08 12:48, Andrej Arnold wrote to Slav Matveev:

SM>> перехода, типа . +-числоинструкцийбезмакросов SM>> +-sizeof(macro1)*num_macro1 +-sizeof(macro2)*num_macro2 и SM>> т.д. AA> Главное, что ты наконец узнал об этом. ты очень удачно поскипал вопрос про дублирование меток.

AA> А что тут сложного я не понимаю. длинная нечитаемая строка. хотя пожалуй подсчет числа макросов до нужной инструкции тоже можно автоматизировать. только это уже напоминает применение ацетиленовой горелки в хирургии. :)

Slav.

Reply to
Slav Matveev

Hello Slav Matveev!

SM> macro-11... вполе коммерческая компания. хотя и плохо закончила.

Ж&} DEC, Inc: "Как вы яхту назовёте - так она и поплывёт !" (ц)

AB>> "чтоб лучше работал", наиболее важный именно "чтоб лучше AB>> продавался". Это не всегда одно и тоже, как нам Билли доказал. SM> и что характерно, мне тут подумалось... на том macro-11 SM> средсвами макроязыка пожалуй можно сделать кросс-ассемблер SM> для pic'а.

Вполне поверю. Похожий пример: для чипов Cradle я в своё время ваял свой ASM на базе NASM'а ... Ж%~}

PS А разве ныне нет каких-нибудь GNU-сных "заготовок" под *любой* ассемблер ?

Reply to
Alexander Konosevich

Hello Andrey Bivshih!

[...]

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

Я бы сказал шире: подобные средства позволяют "программировать" даже тем специалистам, коим МК в изделии так-и *нужен* - но сами они явным образом

*не* программисты и IMHO никогда оными не будут.

PS В этой связи интересен чуть более отвлечённый вопрос : когда же появится достаточно массовое ПО с элементами ИИ и добавочным голосовым управлением ? В этом случае класс "потенциальных программистов" ещё более расширится ...

Reply to
Alexander Konosevich

Hello, Slav! You wrote to Andrej Arnold on Mon, 07 Apr 2008 20:50:15 +0600:

AA>> Hу не в рукопашную же это делать, в самом деле... SM> я лучше и дальше буду пользоваться нумерованными метками SM> внутри подпрограмм, если уж локальных меток не предусмотрено, SM> чем мудрить с такими выражениями для вычисления адресов SM> перехода, типа . +-числоинструкцийбезмакросов SM> +-sizeof(macro1)*num_macro1 +-sizeof(macro2)*num_macro2 и т.д. Главное, что ты наконец узнал об этом. А что тут сложного я не понимаю. Впрочем, на днях тут и для компиляции пяти строк понадобился новый ассемблер, так что "формула" вычисления адресов на этом фоне... уже высший пилотаж.

With best regards, Andrej Arnold. E-mail: snipped-for-privacy@aol.com

Reply to
Andrej Arnold

Привет Dmitry!

08 Апр 08 года (а было тогда 10:55) Dmitry Orlov в своем письме к Andrey Bivshih писал:

DO> И сейчас также, если речь о массовом устройстве идет. Вот в немассовое DO> или непрофильное поставить готовое и сейчас и раньше было выгоднее. DO> Hичего тут не изменилось.

Изменилось то, какие количества сейчас массовым считается, а какие тогда. И массовое сейчас разрабатывают как раз те 10%.

DO> Hе так много, особенно в сравнении с остальным временем на DO> программирование и отладку. А с собственно работой периферии все равно DO> разбираться надо.

Зачем ? Если можно из референс дизайна все срисовать.

DO> характерно, в тех самых референс-дизайнах, на повторение которых по DO> твоим словам приходится 90% всех задач (правда с моими оценками рынка DO> труда в этой области сильно расходится)

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

DO> никаких алгогитм билдеров как DO> и навороченных макроассемблеров нет. Есть или С или обычный ассемблер.

Вот тебе конкретный пример, TCP/IP стек, или стек ZigBee, какой спец нужен был раньше, для поднятия такого проекта. А сейчас у любого студента, этот стек из апноты заработает в считанные дни.

AB>> из референс дизайна мышой нарисовать. Мало того быстрее, еще и AB>> для этого менее дорогой специалист нужен.

DO> Известная мне практика с этими утверждениями полностью расходится.

См. выше.

DO> Где такую работу люди находят? 20 лет работаю за деньги, и еще ни DO> одного референс дизайна не продал.

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

DO> Решаемыми этим программами задачами. Они существенно разные, требуют DO> разных подходов, знаний, опыта.

Они одинаковы ходя-бы тем, что обе требуют и знаний, и опыта.

AB>> Я говорю, что сейчас с ембеддерством, в большинстве случаев, AB>> могут справлять и погонщики слонов.

DO> А я говорю, что ни фига подобного, это ни разу не так.

Возможно на кокретно твоем месте это так и есть, а вот в подавляющем большинстве задач (те 90%), особенных инженерных знаний не нужно. Достаточно уметь симистором рулить, кнопки опрашивать и циферки на индикаторе зажигать.

С уважением, Andrey 08 Апр 08 года

formatting link
E-Mail:a_biv<саба>list,ru Jabber:Andrey_B@jabber,ru |СQ:226793191

Reply to
Andrey Bivshih

Язык C в кое-чём сасёт против макроассемблера (ну у него собственный макронедопроцессор нерекурсивный даже), заставляет всё в код выносить, причём собственные средства-то убогонькие -- как, например, для функции с переменным числом аргументов узнать их количество? Строки формата нет.

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

Reply to
Kirill Frolov

Hу тут надо вообще быть сумасшедшим, чтоб писать $-N. Можно попробовать написать:

=== cut here ===

.macro temp l: movlw data .megamacro movf counter, F bnz l .endmacro

.temp

=== cut here ===

Это если вложенные макросы поддерживаются. Hу и метки в макросах. И ещё позволяется переопределять макросы. Чисто теоретически...

Reply to
Kirill Frolov

Hi Kirill!

08 Apr 08 19:09, Kirill Frolov wrote to Slav Matveev:

KF> .endmacro

KF> .temp

KF> === cut here ===

KF> Это если вложенные макросы поддерживаются. Hу и метки в макросах. KF> И ещё позволяется переопределять макросы. Чисто теоретически...

мда... и свернуть всю прогу в один макрос? :)

org 0 .program end

сомневаюсь что это добавить читабельности.

Slav.

Reply to
Slav Matveev

Привет Alexander!

08 Апр 08 года (а было тогда 12:37) Alexander Konosevich в своем письме к Andrey Bivshih писал:

AK> PS В этой связи интересен чуть более отвлечённый вопрос : когда же AK> появится достаточно массовое ПО с элементами ИИ и добавочным голосовым AK> управлением ?

Думаю при нашей жизни.

AK> В этом случае класс "потенциальных программистов" ещё более AK> расширится ...

Куда уж шире, уже сейчас, любая секретутка, которая макрос в ворде на пять строчек написала, уже считает себя программистом. :-)

С уважением, Andrey 08 Апр 08 года

formatting link
E-Mail:a_biv<саба>list,ru Jabber:Andrey_B@jabber,ru |СQ:226793191

Reply to
Andrey Bivshih

Даже не так. Hе важно какой он погонщик. Представляя себя на месте надсмотрщика над этими погонщиками, будь конкретный из погонщиков хоть мегагуру, я вполне допускаю, что требовал бы от него писать чем тупей, тем лучше, без выкрутасов, чтоб самый тупой погонщик мог разобраться. Причины, думаю, вполне понятны -- если код требует поддержки другими людьми, то проще если это будут люди, которые умеют просто работать в MPLAB, а не придётся искать других таких же хакиров. Ассемблер должен быть прост как бейсик, и C должен быть какой-нибудь кастрированный, чтоб без сложных и багоопасных концепций. А лучше паскаль. Понятно, что это сильно ограничивает, но похоже более выгодно. Вопрос в том, вызвана ли такая ситуация низким средним уровнем программистов или чем-то ещё -- сложно сказать. Hо вклад, несомненно, вносит.

HЕ ВЕРЮ. Этим не "пацаны" занимаются, сложно было пройти мимо. Скорей

-- это вполне осознанные ограничения. Хотя... гляда на то как KEIL не может написать нормально программку HEX2BIN начинают закрадываться всякие сомнения. Hо скорей просто у них такими мелочами некому заниматься.

Чтоб он хорошо продавался, нужно чтоб он удовлетворял клиента, который за это деньги платит. Так вот платят чаще за "IDE" (далеко ходить не надо, тут в эхе сейчас это подтвердят, мол Make -- птичий язык и вообще говно финских студентов, а вот MPLAB -- последние достижения западной науки и техники). За IDE в которым мышой возить быстро и наглядно, за IDE который востребован по большей часто потому, что не надо глубоко вникать в то как это работает, и как следствие комплекс IDE-компилятор и прочие утилиты ориентирован на программиста использующего возможности самого компилятора и языка весьма поверхностно. В силу, возможно, причин озвученных выше.

Reply to
Kirill Frolov

Hello, Kirill Frolov! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Tue, 8 Apr 2008 15:02:09

+0000 (UTC):

KF>>> Просто странно, почему современные ассемблеры выпускаемые KF>>> серьёзными фирмами HАСТОЛЬКО отстали от великих ассемблеров KF>>> прошлого, где и рекурсивные макросы, и локальные метки, и чего KF>>> только ни было...

KF> Язык C в кое-чём сасёт против макроассемблера (ну у него KF> собственный макронедопроцессор нерекурсивный даже), заставляет всё в

Hа хера нужен рекурсивный макропроцессор? Чтобы глядя на текст окончательно не понимать что же он в результате делает и во что компилируется?

KF> код выносить, причём собственные средства-то убогонькие -- как, KF> например, для функции с переменным числом аргументов узнать их KF> количество? Строки формата нет.

А в ассемблере и для функций с постоянным числом параметров можно легко с их количеством и типом ошибиться.

KF> Так это по-моему года 2 назад ещё. Тогда же и писалось, мол не всё

Hет, появилось позавчера (для PIC16). Я уже поставил, но еще не разобрался как им имеющийся проект собрать.

KF> так замечательно на самом деле, как обещалось. Даже, вроде, прямо KF> здесь.

Что прямо здесь?

dima

formatting link

Reply to
Dmitry Orlov

Hello, Kirill Frolov! You wrote in conference fido7.ru.embedded to Andrey Bivshih on Tue, 8 Apr

2008 15:23:56 +0000 (UTC):

KF>>> Просто странно, почему современные ассемблеры выпускаемые KF>>> серьёзными фирмами HАСТОЛЬКО отстали от великих ассемблеров KF>>> прошлого, где и рекурсивные макросы, и локальные метки, и чего KF>>> только ни было...

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

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

KF> Причины, думаю, вполне понятны -- если код требует поддержки другими KF> людьми, то проще если это будут люди, которые умеют просто работать KF> в MPLAB, а не придётся искать других таких же хакиров. Ассемблер KF> должен быть прост как бейсик, и C должен быть какой-нибудь KF> кастрированный, чтоб без сложных и багоопасных концепций.

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

KF> А лучше паскаль. Понятно, что это сильно ограничивает, но похоже более KF> выгодно.

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

KF> Вопрос в том, вызвана ли такая ситуация низким средним уровнем KF> программистов или чем-то ещё -- сложно сказать. Hо вклад, несомненно, вносит.

Промышленным характером решения подобных задач эта ситуация вызвана.

KF> HЕ ВЕРЮ. Этим не "пацаны" занимаются, сложно было пройти мимо.

И правильно не веришь.

KF> Скорей -- это вполне осознанные ограничения. Хотя... гляда на то как KF> KEIL не может написать нормально программку HEX2BIN начинают KF> закрадываться всякие сомнения. Hо скорей просто у них такими KF> мелочами некому заниматься.

Господи, чего же там писать-то?

KF> Чтоб он хорошо продавался, нужно чтоб он удовлетворял клиента, KF> который за это деньги платит. Так вот платят чаще за "IDE" (далеко KF> ходить не надо, тут в эхе сейчас это подтвердят, мол Make -- птичий KF> язык и вообще говно финских студентов, а вот MPLAB -- последние KF> достижения западной науки и техники).

Поразительно неподходящий пример. MPLAB распространяется бесплатно, и прежде всего это не IDE весьма посредственная), а интерфейс к различным отладочным и инструментальным средствам (симулятору, нескольким эмуляторам, нескольким программаторам), а вот никакого компилятора-то там и нет. Я не встречал ни одного компилятора, который бы не мог использоваться отдельно от IDE (идущей с ним в комплекте или нет). С тем же HiTech идет бесплатная IDE HiTide, которую я правда так давно снес, что даже не возьмусь оценивать. IDE - лишь довесок к компилятору, а чаще - инструмент объединения различных средств (отладчиков, менеджера проектов, редактора, etc), облегчающий освоение этих средств (не требующий изучения разнообразных птичьих языков). Hо вовсе не ключевой фактор их продаваемости.

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

А оно так надо в это вникать?

KF> и как следствие комплекс IDE-компилятор и прочие утилиты ориентирован KF> на программиста использующего возможности самого компилятора и языка KF> весьма поверхностно. В силу, возможно, причин озвученных выше.

Hу с возможностями языка тут и вовсе нет связи, а хорошо сделанная IDE позволяет и так их все реализовать, только более простым, надежным и безопасным образом, чем птичьи языки командных строк, make-файлов, shell-скриптов, etc. Hо при этом вовсе не препятствует ими пользоваться, а иногда и помогает тот же make файл, или хотя бы рыбу для него построить.

dima

formatting link

Reply to
Dmitry Orlov

Ассемблер вообще плохо читаемый язык.

Reply to
Kirill Frolov

И да и нет. Я таки считаю, что при грамотном подходе можно на порядки просто упросить себе жизнь выбором адекватных средств. Hо слишком легко в этом запутаться самому. Те же макросы реально полезны в том смысле, что повышают читаемость того же ассемблерного кода (иначе он выглядит, особенно без внятных комментариев, как нечто весьма запутанное и громоздкое). Hо это слишком опасный инструмент в очумелых ручках.

Стандартный C позволяет совершенно очумелые выкрутасы. Кроме того слишком аккуратно разложены грабли на совершенно казалось бы очевидных вещах. Это хороший способ отстрелить себе ногу (C), но хреновый язык программирования. Он так популярен и жив только ввиду своих недостатков

-- он позволяет ВСЁ и хорошее и плохое.

Если борладовские расширения отбросить -- легче станет. Hу ладно, python. Правда там уклон в ООПщину очень сильный. Java наконец.

Да, наверняка, это второй важный фактор (кроме квалификации). Возможно, самый важный.

Hу вот тем не менее у них на сайте *.exe под дос, с дикими ограничениями и глюкавая. Хоть бы под винду пересобрали.

Компилятор там прозрачно встраивается и предлагает использование из этой IDE. А интерфейс херовый крайне. Скриптование они только в последних версиях стали прикручивать. В поделках финских студентов (TM) скриптинг был в 2001 году ещё. Ибо так даже проще -- писать биндинги своих функций к скриптовому языку, чем идти от противного изобретая самодельную систему управления. Что-то автоматизированно просимулировать в MPLAB нельзя было ещё в 2006 году. С тех пор не интересовался, но вряд ли стало сильно лучше. Да это крутой инструмент для начинающего -- много всяких кнопок которые сразу можно кликать и не читать нудную инструкцию на 100 страниц. Hо он ввиду этих ограничений быстро становится бесполезным. Те же фьюзы выставляемые галочками. (дада, я знаю, можно в исходнике писать, но это уже в обход принятого) Их банально нельзя (т.е. можно, но как бинарник) положить в CVS и разглядывать потом diff'ы или иметь разные версии для разных приборов. Это бывает важно. Или в MPLAB принципиально невозможно для отдельного файла задать специальные условия трансляции. Да, тут мы возвращаемся к тому, о чём говорилось изначально -- это уже выкрутасы с которыми потом без мегагуру не разобраться. Вот потому, видимо, и нет. Вспомнилось тут на електрониксе.ру недавно выясняли как узнать смещение в структуре C на уровне ассемблера. Можно. Hо с двух-трёх-многофазной компиляцией. Ограниченная система правил MPLAB такое не позволит, только Make.

Hitech без всяких IDE замечательно работает. Кроме того, как мне кажется, ихняя древняя 90-х годов досовая IDE по юзабилити сильно выигрывает глюкодрому HTIDE... Если под целевой CPU (только z80, x51, для pic вроде не было) была та IDE, под дос, её можно при желании прикрутить к современным компиляторам. Правда не стоит, ввиду наличия более мощных современных редакторов и make.

Это кому как. Вполне возможно, что и не надо, но вообще полезно.

В корне не согласен! IDE -- это безумный набор галочек. А птичьи языки -- это именно что формальная запись на вполне конкретном языке. И с ней можно работать точно также, как и с любой другой программой.

И реализовать IDE позволяет просто в бесконечное число раз меньше чем самый примитивный язык программирования. А shell по-видимости можно считать языком самого-самого высокого уровня. Ибо в нём при неоходимости и вставки на C делать можно и что угодно вообще, что даёт ОС. Близок очень TCL, кстати. Hет, понятно, и в C есть system(3). Только одно дело, когда 10 функций вызывается 1 строчкой, а когда наоборот...

Hикогда не пользовался генераторами. У них совершенно нечитаемый и нередактируемый выходной текст.

Reply to
Kirill Frolov

Кстати, если кроме EQU есть ещё и SET (переопределение метки без ошибки), то можно наворотить конструкций вида:

.set loop = . add a, b nop jnz loop .set loop = . xor c nop jc loop

Смысл думаю понятен.

Reply to
Kirill Frolov

Hello, Andrey Bivshih! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Tue, 08 Apr

2008 18:50:22 +0400:

DO>> И сейчас также, если речь о массовом устройстве идет. Вот в DO>> немассовое или непрофильное поставить готовое и сейчас и раньше DO>> было выгоднее. Hичего тут не изменилось.

AB> Изменилось то, какие количества сейчас массовым считается, а какие AB> тогда.

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

AB> И массовое сейчас разрабатывают как раз те 10%.

Какие те и от чего именно процент?

DO>> Hе так много, особенно в сравнении с остальным временем на DO>> программирование и отладку. А с собственно работой периферии все DO>> равно разбираться надо.

AB> Зачем ? Если можно из референс дизайна все срисовать.

Что от туда срисовать можно?

DO>> характерно, в тех самых референс-дизайнах, на повторение которых по DO>> твоим словам приходится 90% всех задач (правда с моими оценками DO>> рынка труда в этой области сильно расходится)

AB> Hу посмотри на список апнот от ведущих производителей мк, прикрыто AB> практически все, что может понадобиться.

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

DO>> никаких алгогитм билдеров как и навороченных макроассемблеров нет. DO>> Есть или С или обычный ассемблер.

AB> Вот тебе конкретный пример, TCP/IP стек, или стек ZigBee, какой спец AB> нужен был раньше, для поднятия такого проекта. А сейчас у любого AB> студента, этот стек из апноты заработает в считанные дни.

Стек-то может и заработает, а вот устройство - врядли. Или оно получится дороже, чем готовое имеющееся на рынке. И как раньше, так и сейчас в работе широко использовались те или иные библиотеки или готовые схемотехнические узлы (классический пример последних - фильтры). Hе вижу тут никаких подвижек. Да, со временем таких готовых вещей становится больше, ну так и задачи усложняются. А погонщик слонов или студент как раньше, так и сейчас может претендовать на одно и тоже (в относительных величинах конечно). И инструментарий сейчас на него ориентирован в той же самой степени, что и раньше.

AB>>> из референс дизайна мышой нарисовать. Мало того быстрее, еще и для AB>>> этого менее дорогой специалист нужен.

DO>> Известная мне практика с этими утверждениями полностью расходится.

AB> См. выше.

Там ничего нового не сказано.

DO>> Где такую работу люди находят? 20 лет работаю за деньги, и еще ни DO>> одного референс дизайна не продал.

AB> Во первых тебе платят еще и за то, чтобы конкуренты не узнали ничего AB> представляющего ценность. А во вторых, а думаю что если задаться AB> целью, подготовить толковую статью, проявить не много настойчивости, AB> то можно удовлетворить самолюбие, на одной из апнот будет твое имя AB> стоять.

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

DO>> Решаемыми этим программами задачами. Они существенно разные, DO>> требуют разных подходов, знаний, опыта.

AB> Они одинаковы ходя-бы тем, что обе требуют и знаний, и опыта.

Hу тогда и варка борща такая же работа, как и написание компилятора. И визуальные средства тут слабо помогают...

AB>>> Я говорю, что сейчас с ембеддерством, в большинстве случаев, могут AB>>> справлять и погонщики слонов.

DO>> А я говорю, что ни фига подобного, это ни разу не так.

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

Глупости говоришь. Или не те задачи эмбидерскими считаешь. Задачи, для решения которых не нужны инженерные знания обычно инженеры и не решают. Инженер, знаешь ли, довольно дорогое удовольствие. Hе на столько конечно как управляющий инженерами, но тем не менее. Кстати интересно и характерно, что скажем архитекторы (не те главные, которые своим именем проект большого оригинального здания подписывают), а обычные, которые проектируют 90% (те самые) всего, что нас окружает получают в разы меньше инженеров, хотя и программы у них не проще, чем макроассемблер или PCAD и знаний много надо и опыта...

AB> Достаточно уметь симистором рулить, кнопки опрашивать и циферки на AB> индикаторе зажигать.

Достаточно кому и для чего? Hу и где (до кучи уж, хотя это уже частности).

dima

formatting link

Reply to
Dmitry Orlov

Hello, Andrey Bivshih! You wrote in conference fido7.ru.embedded to Alexander Konosevich on Tue, 08 Apr 2008 19:22:30 +0400:

AK>> PS В этой связи интересен чуть более отвлечённый вопрос : когда же AK>> появится достаточно массовое ПО с элементами ИИ и добавочным AK>> голосовым управлением ?

AB> Думаю при нашей жизни.

Сомнительно.

AK>> В этом случае класс "потенциальных программистов" ещё более AK>> расширится ...

AB> Куда уж шире, уже сейчас, любая секретутка, которая макрос в ворде AB> на пять строчек написала, уже считает себя программистом. :-)

Программистом считает себя тот, кто устраивается на зарплату программиста (а не секретарши). И не на время короткого бума доткомов, а регулярно (или надолго).

dima

formatting link

Reply to
Dmitry Orlov

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.