возврат из подпрограмм

Jun 04, 2006 Last reply: 19 years ago 3173 Replies

Hi George !

Совсем недавно 16 Jun 06 10:32, George Shepelev писал к Igor Havtorin:

IH>>>> Резюме: я не спорю, что на асме выходит более компактный GS>>> и быстрый IH>> Да, на асме можно сделать более быстрый код, но с какой целью?

GS> Быстродействие эхотажных контролеров сильно ограничено! До них ещё GS> не дошла "гонка гигагерцев". В ближайшее время и не дойдёт, потому GS> что в эхотаге потребление критично...

Есть многое такое, друг Георгий, что и не снилось ни тебе, ни мне. Стоит немного глубже ковырнуть с насиженного годами места- и гигамипсы, и встроенные USB2 с езернетами, и сотни мегабайт поддерживаемой памяти, и очень гибкие системы энергосбережения, да и просто системы на кристалле и процессоры нужной конфигурации в ПЛМ. В мире столько всего разного для эхотага напридумывали и активно эсплуатируют...

WBRgrds Ruslan

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

Воскресенье Июнь 18 2006 06:58, Tolik Rozanov wrote to George Shepelev:

KF>>> Hа C программно то же самое реализуется примерно на в 5 раз KF>>> болеe быстром CPU. GS>> А это может оказаться очень серьёзной проблемой: TR> Это проблема того же свойства, что и плач по RS-232C, что и ноутбук TR> с мусорника. В точности.

Если ты не имеешь практического опыта работы в эхотаге и неспособен постичь реальные эхотажные проблемы - хотя бы не демонстрируй это на всю эху!

Георгий

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

Воскресенье Июнь 18 2006 14:04, Michael Zaichenko wrote to George Shepelev:

MZ>>> А как узнать какое конкретно устройство в большой и сложной MZ>>> системе неисправно? GS>> В большой и сложной системе каждое конкретное устройство должно GS>> уметь проводить самодиагностику. Hа каком зажёгся красный GS>> светодиодик (или перестал мигать зелёный) - то и менять ;) MZ> Hе всегда так просто.

Конечно не всегда.

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

MZ>>>>> что сразу переводит разработку в другой класс. GS>>>> Проверено братьями-китайцами. MZ>>> Причем тут китайцы? GS>> Именно у них самые большие тиражи по всякого рода гаджетам... MZ> У них контрактное производство.

За контрактное производство тоже деньги платят ;-)

GS>>>> Hаиболее эффективна не "покомандная" оптимизация, а разработка GS>>>> алгоритма с учётом особенностей архитектуры, системы команд, GS>>>> объёма памяти и т.п. нюансов. MZ>>> И после смены камня идущая на помойку. GS>> А зачем "менять камень"? Из вредности? MZ> Затем что его сняли с производства.

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

MZ> Дешевле написать на си с нуля, и развести новую плату.

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

Георгий

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

Воскресенье Июнь 18 2006 21:00, Jurgis Armanavichius wrote to George Shepelev:

GS>> Очень не хочется подкладывать в свои разработки такую свинью, GS>> так что с тех пор принудительно инициализирую все регистры GS>> конфигурации... JA> Ты подметил очень важный момент! Совершенно верно! Случаются подобные JA> глюки, факт. Я тоже стремлюсь использовать принцип: "Шаг влево, шаг JA> вправо - расстрел на месте!" :-) Т.е. не оставлять микроконтроллеру JA> никаких шансов на самодеятельность.

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

Георгий

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

Понедельник Июнь 19 2006 01:13, Kirill Frolov wrote to Dmitry Orlov:

Кстати, мышку он тоже не закрыл, геймеры по-прежнему используют PS/2, потому что частота прерываний 200 Гц даёт заметно большую плавность и точность движений, чем 125 Гц...

KF> И переходники USB-RS232 не просто так же появились.

И через них куча софта (к примеру - простые эхотажные программаторы) не работают...

Георгий



Hello, Vladimir V. Teplouhov! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Sun, 18 Jun

2006 21:16:53 +0400:

KF>>>>> Архивироваться начало оно как бы не до появления фидо в KF>>>>> СССР...

DO>>>> Где? Где оно в 90-91 архивировалось?

VVT>>> есть-есть. Гугль вроде купил у кого-то старые архивы...

DO>> Ссылку приведи, вместо того, чтобы кричать "есть". Лично я не вижу

VVT> у тебя инет есть?

Нет, как у меня интранет, интернет - снаружи.

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

Вот набери и приведи ссылку, причем не на одно письмо, а на эху. Пусть даже на su.hardw например за июнь 92 года.

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

VVT> таких нету. Туда им и дорога...

Стало быть нет архива эх, ЧТД.

VVT> Vladimir VVT> PS Кста, это не у тебя сайт на динамическом IP? VVT> Расскажи про всякие dyndns чтоли или с чем их едят... можно мылом..

А чего тут рассказывать? "у тебя интернет есть?" Вот сходи на

formatting link
или на
formatting link
или в гугле набери dynamic DNS service и пойди по ссылкам, там тебе все расскажут. Смысл - у тебя висит сервис (для dyndns - он прямо в роутере зашит) и отправляет на некий адрес пакеты, где из них достается твой реальный ip.

dima

formatting link

 X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Kirill Frolov! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Sun, 18 Jun

2006 22:13:49 +0000 (UTC):

KF>>> Ни разу. USB никак не альтернатива RS232 или RS485.

KF> Хрен. Что он закрыл? Мышку? Вроде как и всё. Потому как принтеры

Ну не только мышку, хотя из самого распространенного да.

KF> всё чаще были LPT, а модемы теперь всё больше с ethernet'ом.

KF> И переходники USB-RS232 не просто так же появились. И в телефонах

Не просто, но ведь появились же.

KF> (мобильных) почему-то чаше RS232 с TTL уровнями... USB -- это просто KF> другой интерфейс. Более сложный. Требующий существенных затрат, KF> особенно со стороны "хост"-контроллера. И ещё вводящий дурацкое

Ну так эти затраты уже сделаны, и все равно нужны. Старые интерфейсы не покрывают новых потребностей. А вот новые покрывают старые. Потому в буках сегодня наличие USB (а обычно и IEEE1394) обязательно, а COM, PS и даже LPT - нет. На десктопах пока что есть все...

KF> деление на собственно "хост" и подчинённые устройства (как соединить KF> два компутера?

Видел в продаже USB линки. Но я обычно сетевым шнурком соединяю.

KF> А ДВА ТЕЛЕФОНА?)

Никак, они не умеют этого делать вне зависимости от типа интерфейса.

KF>>> И сейчас нет. И никогда не будет. Всегда найдутся заадчи, где KF>>> цпу хватать не будет.

KF> Тем не менее ассемблер очень даже может быть.

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

KF>>> Ты сделал лучше? Я понимаю, очевидно, что таже на той KF>>> элементной

KF> Ты сделал лучше? Охаивать любой горазд. И на Z80 нужно было KF> постараться.

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

KF>>> А телефонные компании имеют своих абонентов путём навязывания KF>>> доп. услуг.

KF> В вашем Израиле -- за "услугу тонового набора" тоже денег берут?

Конечно, в виде абонентской платы. От типа набора она правда не зависит, как afaik и от передачи caller id.

dima

formatting link

Hi Evgeny_Ozerov!

17 Jun 06 18:04, Evgeny_Ozerov wrote to Slav Matveev:

SM>> мне бы хотелось увидеть эти несколько Сишных строк SM>> переведенными на язык макросов для pic'овского ассемблера. SM>> Так, что бы не пропала читаемость.

EO> Выглядеть будет как будто на каждую строку С была сделана своя EO> подпрограмма.

ну и нафига тогда городить огород и придумывать велосипед?

EO> Если самопальные, то можно довести до читабельности С, но не слишком EO> то рентабельно их придумывать, по сути будешь изобретать подобие языка EO> высокого уровня, заточенного именно на данную программу.

возникает вопрос: это делать только в целях религиозной неприязни к С?

Slav.

Hi George!

17 Jun 06 10:35, George Shepelev wrote to Slav Matveev:

GS> MOVL led3+led4 ; movlw led3+led4 GS> ANDW m3 ; andwf m3,0 GS> XOR led ; xorwf led,1

SM>> movlw WAIT3 SM>> movwf s3

GS> LD s3,WAIT3 ; movlw WAIT3 GS> ; movwf s3

SM>> skip5:

GS> skip5:

GS> Hичуть не менее наглядно, чем сишные закорючки. and/andw также наглядно как и andwf 0/1

GS> Лишняя команда выкинута. И где хвалёная оптимизация сишного GS> компилятора? Какая оптимизация? :) Компилятором я лично работал. Я оптимизировать не умею. Да и не стремился. :)

GS> P.S. Соответствующие макросы сваял где-то в 98 году, по быстрому, GS> чтобы GS> не болели глазки от невменяемых микрочиповских мнемоник...

если бы твои макросы умели разбирать mov reg2,(a+b+reg2)&reg3 цены бы им небыло. а так получилась замена шила на мыло путем замены мнемоник на более привычные.

ps. а меня раздражает когда операции переслки называются то mov, то ld в зависимости от типов операндов. Приведешь макросами к единому виду?

Slav.

 X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Michael Zaichenko! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Mon, 19 Jun

2006 02:15:21 +0400:

MZ>>> Hадо конечно, просто оболочка не дает тебе их увидеть :)

DO>> Hет, не надо. Смарт линкер ТР управлялся самой программой DO>> (расширениями языка для описания проектов - unit, uses, interface, DO>> implementation). DO>> Оболочка отлично дает их и увидеть и поменять, но они - часть DO>> программы на языке программы, а не какие-то внешние скрипты на DO>> своем языке. Это

MZ> Если быть более точным, то скрипт там строится динамический, во MZ> время построения таргета.

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

DO>> одновременно и большое достоинство ТР и его недостаток (и тоже не DO>> маленький).

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

Дело не в размере, а именно в гибкости, в сопряжении с кодом на других языках, etc. Размер как раз в рамках архитектуры ограничен не был (то есть только самой архитектурой).

MZ>>> Разве что если приспичит подключить к оболочке модуль написаный на MZ>>> хитром языке. Исодники на msvc,bc,ibmc можно было прицеплять без MZ>>> проблем.

DO>> Прямо исходники? И он компилирует с учетом всех расширений DO>> указанных компиляторов, или все же собранные объектники?

MZ> Hу с обьктниками и либами ваще никаких проблем.

Ну наверное все же соглашения о вызовах надо согласовывать, куда ж без этого...

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

Он что сам компилировал, или вызывал все же компилятор?

MZ> вставками из пролога. Потом оставили только поддержку msvc. Потом и MZ> поддержку неродных исходников выкинули, щас не помню уже когда.

DO>>>> И что? Ты на визул прологе DSP программируешь?

MZ>>> Hет конечно. MZ>>> Hо для эмбедед писи вполне можно.

DO>> Это очень узкая область embedded. А какие задачи управления можно DO>> на прологе решать? И как?

MZ> Вопрос как - это зависит от опыта. Hа практике решали задачи MZ> управления в достаточно ответсвенных местах. Примеров не будет - NDA

Ну NDA позволяет привести примеры. Я же не прошу точного назначения и места. Хотелось бы понять для каких задач это может быть полезно и чем лучше более традиционных средств.

MZ> :( MZ> Hо код в целом получается стабильным. Получить синий экран, если MZ> специально не извращатся, почти невозможно.

Я на исправном железе синих экранов не видел уже очень давно...

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

Например (применительно к embedded, к задачам управления объектами).

MZ> Hапример Фурье реализовывать глупо, математику в симовльном виде - MZ> много проще чем на си.

Ну зачем в embedded математика в символьном виде?

MZ> Применительно к управлению. MZ> У тебя есть некий обьект, например лампочка.

О. У меня именно этот объект и есть.

MZ> Ей можно управлять - включить и выключить. MZ> Hа си элементарно - написал функцию фключения и выключения. MZ> Hа прологе также, и разницы пока нет :)

MZ> Попробуем усложнить - тебе требуется функция "хочу включить" MZ> Hо ежели ты вызвал функцию, то лампочка может не загорется. MZ> Введем две категории причин не загорания. MZ> 1. и так светло, сейчас зажигать нельзя, уже рядом горят лампочки и MZ> тд. MZ> 2. лампочка неисправна, нет эектричеств и тд - авария.

MZ> Можно сказать что выполнение функции "хочу включить" может закончитя MZ> тремя результатми - ок, не получилось, авария.

MZ> Дальше твоя программа должна анализировать эти три состояния и MZ> принимать решения. MZ> в случае с си тебе придется после вызова написать пачку ифов или MZ> switch/case.

Я обычно делаю state-mashine переменная state которого принимает разные значения (и их куда больше трех) плюс иногда есть еще дополнительные переменные, уточняющие состояние, в основном для диагностики, на ход программы они не влияют.

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

А если fail и/или exeption невозможны?

MZ> А вот как это выглядит на прологе.

То есть обработка исключений готова. А еще что?

dima

formatting link

Здравствуйте, Igor!

16 Июн 06 в 19:11, Igor Havtorin пишет к Basil Burtakov:

BB>> Просто тут в эхе идет молва, что Оля из Фитона. Вот и спрашиваю: BB>> как совмещается в одной конторе написание трансляторов для BB>> контроллеров и такое по-женски эмоциональное отрицание их BB>> полезности.

IH> Был у Фитона и асм для i96 - в 96-м (или в 97-м) контора, в которой я IH> тогда работал, купила его, правда когда я бывал на Фитоне, то женщин IH> (кроме секретарши и уборщиц) не видел.

Лет 5 тому назад в "Фитоне", в том помещении , где разработчики сидят, одну даму я видел. Вот только работала ли она там или чаю зашла попить - не могу сказать. Приезжал я соответственно не к ней.

Всего доброго. Eduard ... No tamplate

Hello Michael.

Sun Jun 18 2006 22:15, Michael Zaichenko wrote to All:

SP>>> Mне тоже виндовый ME не показался, а вот Visual Slickedit помог SP>>> наконец соскочить с досовского ME :-)

DT>> Да, советовали его, но больно он здоровенный...

MZ> А чем Ultra Edit и UEStudio народу не нравится?

Hе смотрел пока. Hо, в принципе, пока хватает MED-а.

Dimmy.

Hello Michael.

Mon Jun 19 2006 02:15, Michael Zaichenko wrote to Dmitry Orlov:

DO>> одновременно и большое достоинство ТР и его недостаток (и тоже не DO>> маленький). MZ> Угу, плюс для маленьких поделок и минус для серьезных вещей.

Эт' почему? В Аде примерно так же.

Вот меня, например, в C/C++ раздражает необходимость иметь и синхронно править исходники, файлы заголовков да ещё и make-файлы (хорошо хоть IAR-овская IDE сама умеет проект строить). Я, кстати, в сишный исходник вставляю "интерфейсную секцию", вроде паскалевской, а потом специальной приблудой выделяю её в h-файл.

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

А с функциональными языками дела не имел? Я пытался интересоваться :) - но как-то не очень пошло.

Dimmy.

Hello George.

Sun Jun 18 2006 09:33, George Shepelev wrote to Jurgis Armanavichius:

JA>> Хм... А чем она очень кривая? IMHO, вполне похожая на другие JA>> микроконтроллерные архитектуры. 51-я отнюдь не "прямее"...

GS> Гора-аздо прямее! Hо чтобы это увидеть, нужно хорошо уметь GS> программировать на ассемблере...

Hу, игольное ушко DPTR портит всю идею, а 256 байт "внутреннего" ОЗУ - маловато. Да и медленный он.

Хотя, конечно, асимметрия у AVR-ок просто зашкаливает. Отсюда читаем командами IN/OUT, отсюда - LD/ST, эти регистры могут использоваться в командах с непосредственными операндами, эти - нет... Эта архитектура просто вынуждает писать на C, чтобы не видеть этого безобразия. ;)

А вот у MSP-430 и архитектура красивая (фон-Hейман, между прочим), и под C очень хорошо ложится.

JA>> Я говорил и говорю: _по возможности_ C следует использовать всегда.

GS> Ещё скажи, что по возможности лучше ничего не делать ;-)

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

Dimmy.

VV>>> Однако вы оперативно реагируете на упоминание о Партии и Правительстве BB>> О чем это Вы?

VV> Hеясно, кто и зачем скрывается под вашей личиной. Время, знаете ли, VV> такое: кругом засланцы и роботы.

Увы мне, под моей личиной скрываюсь только я сам. Myself тыкскызыть.

BB>> Просто тут в эхе идет молва, что Оля из Фитона.

VV> Мне тоже пришла в голову гениальная идея позвонить в Фитон.

Владимир, я не узнаю Вас, заслуженного борца с мировым заговором. :-) Неужели Вы звонили в Фитон, чтобы выявить Олю? :-)

VV> Естественно, там ничего не знают. VV> BTW, распространителей ложных слухов надо выявить.

Ну какая разница. Ну пишет человек под псевдонимом. Это его дело в конце концов. Горький писал под псевдонимом, Чехов по молодости тоже. Салтыков-Щедрин. Может человек хочет высказать какие-то свои сомнения, ответы на которые сам не может найти. И хочет услышать мнение народа без опасения получить упрек в некомпетентности, на кои упреки так невоздержана здешняя публика.

VV> VLV

VV> "Злые собаки нужны, чтобы отпугивать добрых людей"

Hello Alex!

16 Jun 06 22:54, Alex Kocharin wrote to Jurgis Armanavichius:

AZ>>> Борланд влился своим Трупо-Паскалем, черт его подери! :-Ё И AZ>>> именно из-за него на просторах экс-СССР наблюдается такое AZ>>> засилье паскалянтов. JA>> Hе думаю. Я читал, что Паскаль широко применяется в учебном JA>> процессе. Хотя точно не уверен.

AK> Дадад. Помнится, предлагается два языка для обучения школьников - AK> бейсик и паскаль.

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

Когда у моей Э-60 на работе (году, так, в 85-м) появились диски и RT-11, и встал вопрос об освоении новых языков программирования, я попробовал появившиеся почти одновремено Паскаль и С, и без разговоров выбрал С - то безобразие (близкое, кстати, к виртовскому Паскалю), которое называлось "Паскаль для RT-11", было _совершенно_ неюзабельно. А из нескольких вариантов С все были великолепны, несмотря на командную строку (которая, впрочем, набиралась один раз в командный файл, вместе с командами записи полученного объектника в объектную библиотеку проекта, линковки и пробного запуска, так, что особых проблем не было).

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

Всего доброго!

А. Забайрацкий.

Mon Jun 19 2006 17:03, Kirill Frolov wrote to Dmitry Orlov:

KF> Вот в том-то и дело, что два произвольных устройства просто так не KF> соединишь.

USB-OTG.

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

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

Вот скажи -- два модема тоже по-твоему без компутера не соединить?

А у нас (наверное уже пытались, в смысле перестали) -- дополнительно к абонентской плате. И так за каждую ерунду.

 X-RFC2646: Format=Flowed; Original X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Kirill Frolov! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Mon, 19 Jun

2006 13:03:14 +0000 (UTC):

KF>>> деление на собственно "хост" и подчинённые устройства (как KF>>> соединить два компутера? >> Видел в продаже USB линки. Но я обычно сетевым шнурком соединяю.

KF> Вот в том-то и дело, что два произвольных устройства просто так не KF> соединишь.

Просто так - можно, а вот чтобы работало...

KF>>> А ДВА ТЕЛЕФОНА?)

KF> Вот скажи -- два модема тоже по-твоему без компутера не соединить?

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

KF> А у нас (наверное уже пытались, в смысле перестали) -- KF> дополнительно к абонентской плате. И так за каждую ерунду.

Зато у вас до сих пор коммунизм кое-где, то есть нет платы за время разговора. А у нас нет платы за интернет-трафик (кстати можно скайпами разговаривать).

dima

formatting link

Здравствуй, George Shepelev! июня месяца восемнадцатого дня ты писал(а):

GS> Воскресенье Июнь 18 2006 01:06, Igor Havtorin wrote to George Shepelev:

[...]

GS> Кстати, если из русского текста выкинуть пробелы и гласные буквы GS> (раньше именно так писали) - тоже автоматически сократится объём GS> записи, но какой текст проще читать?

Так вот именно из асмовых мнемоник и повыбрасывали все пробелы и гласные :-).

IH>> а насчет стиля "write only" могу привести и обратный пример - IH>> некоторые из наших программистов пишут только на асме, при этом IH>> практически без комментариев и с именами типа var1, var2 и т.д.

GS> Типичные "кульхацкеры" с минимальным опытом. Гнать в три шеи.

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

IH>> Мой товарищ употребил вслух много разных слов, когда разбирал такой IH>> код.

GS> Верю ;))) Hи один серьёзный проект написать в таком стиле невозможно, GS> поневоле придётся использовать более разумный стиль. Или пополнить ряды GS> "сишников-кульхацкеров".

А ряды нормальных сишников можно пополнить?

[...]

IH>> Асм низводит все действия до чересчур элементарных - "ложка состоит из IH>> трех частей - держало, черпало и соединяло" - слишким много мелких IH>> действий.

GS> Это только на первый взгяд. Макросы и подпрограммы позволяют GS> организовывать сколь угодно сложные действия. Причём наглядно.

Черезмерное употребление макросов приводит к необходимости кроме конкретного асма изучать еще и библиотеку макросов конкретного писателя.

IH>> Что касается подпрограмм, то их, насколько мне известно, можно IH>> оформить в любом языке,

GS> По-твоему это отменяет их полезность? ;)

По-моему это позволяет пользоваться ими вне зависимости от применяемого языка.

IH>> а вот макросы - штука местами опасная - одна строка может развернуться IH>> в несколько строк кода и если такой макрос попадет после btfsc,

GS> В моих программах нет _таких_ команд. Они находятся _внутри_ макросов GS> и "страшных" проблем не происходит. Практика!

Это твоя личная практика, а кто-либо еще пытался в твоих текстах разобраться?

[...]

IH>> Hе, ну можно и на русском завернуть в три этажа - он что, тоже IH>> "провоцирует"?

GS> Ты ощущаешь разницу между естественными языками и языками, GS> предназначенными для программирования?

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

IH>> Я до сих пор не могу понять в каком окружении тебе приходится работать IH>> - сплошь сишные горе-программисты и "кульхацкеры", пишущие в стиле IH>> "write only", без комментариев и постоянно стремящиеся написать что-то IH>> вроде "a=b[i+k--]=c[i]=d++)" :-). Тебе бы не мешало пообщаться с IH>> нормальными С-программистами, которые смогли бы донести до тебя все IH>> выгоды работы на С.

GS> Сферические кони в вакууме? Интересно, почему на практически любой GS> сишный пример, который кидают в эху, сразу раздаётся хор голосов "руки GS> отрывать таким программистам!", "я таких с работы выгоняю!"? ;)

Пример-то как раз твой был :-). Вменяемые сишные программисты такого не пишут.

С уважением, Игорь Хавторин (ака Gary). E-mail: fido_gary собака gfm точка ru

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required