Embedded OS

Привет Michael!

08 Apr 05 23:49, Michael Zaichenko писал Alex Mogilnikov:

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

AM>> А зачем??? Чем не устроили суещствующие indent? MZ> Я же говорю - пионерами писано. Беспредел просто. что такое циклы не MZ> знают, как код экономить не знают, goto по бредовых 5 меток на функцию

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

Всего наилучшего, [Team PCAD 2000] Алексей М. ... Смотрю куда глаза глядят...

Reply to
Alex Mogilnikov
Loading thread data ...

Hello George.

07 Apr 05 15:29, you wrote to Alexey Boyko: GS> Среда Апрель 06 2005 09:01, Alexey Boyko wrote to George Shepelev:

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

GS> Т.е. для _твоих_ задачек 16-ти РОH хватает. Я рад за тебя. GS> Hо зачем было делать настолько корявую архитектуру - всё равно GS> непонятно...

вообще-то всегда хватает 3-4, и даже 0 :) То что безадресные(стековые) архитектуры эффективнее было написано еще в какой-то книжке 50х гг, одной из первых по выч. технике - сам видел в библиотеке...

Vladimir

Reply to
Vladimir V. Teplouhov

Hello George.

07 Apr 05 15:34, you wrote to Olga Nonova: GS> Среда Апрель 06 2005 11:49, Olga Nonova wrote to Andrey Solomatov: ... ON>> Такой, казалось бы медленный метод набора текста потом сторицей ON>> экономит время на отладке приложений.

GS> Хотя и в паскале лишний малозаметный ";" может дать труднообнаружимый GS> глюк во вложенной структуре if/then/else :-/

давно устранено в Аде.

Vladimir

Reply to
Vladimir V. Teplouhov

Привет George!

Friday April 08 2005 10:08, George Shepelev wrote to Olga Nonova:

GS>

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

GS>

GS> Четверг Апрель 07 2005 22:03, Olga Nonova wrote to Slav Matveev: GS>

SM>>> добавить в stdio.h две конструкции для препроцессора SM>>> #define BEGIN { SM>>> #define END } ON>> Предлагаете с помощью макросов препроцессора переделать язык Си в ON>> язык Pаscal? Во-первых, не получится из-за ублюдочности макросов в ON>> Си. GS>

GS> Препроцессор - вообще отдельная от C сущность... Ублюдочная ;)

Чтоб ты в этом еще что-то понимал....

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, George Shepelev !

Когда модератор следит, тебя, Жора, вышвыривают первым, после чего атмосфера резко улучшается. Задрал уже своим убогим нытьем.

С уважением, Дима Орлов.

Reply to
Dima Orlov

Hello, George Shepelev !

В кривых ублюдочных руках, Жора, любая сущность ублюдочная.

С уважением, Дима Орлов.

Reply to
Dima Orlov

Hello Harry.

08 Apr 05 15:54, you wrote to me:

HZ>>> что делает enum'ы в С совершенно бесполезными и HZ>>> ненужными. AB>> Почему? HZ> Я ж объяснил вроде. :) Hу хорошо, ответь тогда, зачем в С такой HZ> перечислимый тип, при использовании которого все работает ровно так, HZ> как будто это просто целое? Чем это лучше того же использования просто HZ> макросов (#define)?

Уже ответили за меня. Я такого же мнения. Если можно обойтись без препроцессора

- лучше обойтись. Получается логически более связанная конструкция, чем #define

Alexey

Reply to
Alexey Boyko

Hello Michael.

08 Apr 05 22:19, you wrote to me:

MZ>>> стиля нет вообще. написал за день примитивный форматировщик MZ>>> сишных тестов и мигом все переформатировал. AB>> Есть готовый. (Забыл название) MZ> Дюже интересно,

Уже прозвучало название. 'indent'

NAME indent - changes the appearance of a C program by inserting or deleting whitespace.

SYNOPSIS indent [options] [input-files]

indent [options] [single-input-file] [-o output-file]

indent --version

DESCRIPTION The indent program can be used to make code easier to read. It can also convert from one style of writing C to another.

indent understands a substantial amount about the syntax of C, but it also attempts to cope with incomplete and misformed syntax.

In version 1.2 and more recent versions, the GNU style of indenting is the default.

MZ> мож где завалялся на винте?

Конечно. Она же во всех дистрибутивах есть. И сразу инсталлируется.

Alexey

Reply to
Alexey Boyko

Hello Vladimir.

08 Apr 05 16:56, you wrote to Nickita A Startcev:

NAS>> g++ NAS>> main.c:4: `main' must return `int' VV> Чушь. main() ничем не отличается от любой другой функции.

Таки отличается. Hапример, main всегда cdecl. Иначе стартап не найдет его.

Alexey

Reply to
Alexey Boyko

Hello Olga.

08 Apr 05 21:36, you wrote to Vladimir V. Teplouhov:

VVT>> или потерять где-нить при копировании и тп... ON> Совершенно верно! Потерять скобочку, или спутать ее с волосинкой на ON> экране монитора- ничего не стоит.

Hе надо волосы чесать на рабочем месте.

Alexey

Reply to
Alexey Boyko

Hello, Olga Nonova !

Макроассемблер - не ЯВУ, PLM-51 собственно говоря тоже.

С уважением, Дима Орлов.

Reply to
Dima Orlov

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

Fri Apr 08 2005 23:42, Dima Orlov wrote to Olga Nonova:

DO> А какой язык хорош на гарварде?

Hа первом месте Макроассемблер. Затем- строгоструктуированные языки с аттрибуцией типов памяти. Hапример, интелловский PLM-51.

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

Reply to
Olga Nonova

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

Sat Apr 09 2005 00:53, Vladimir Vassilevsky wrote to Olga Nonova:

ON>> Я хотела бы вернуться к теме JAVA. Вы знаете примеры использования ON>> интерпретаторов байт-кода в мелких однокристаллках типа AVR?

VV> Hе знаю как насчет JAVA, а компиллятор C# для i8051 недавно сделали. VV> Анонс был в ESP.

Хотелось бы все-таки интерпретатор байт-кода. Это позволило бы создавать и отлаживать приложения на PC, без внутрисхемных отладчиков и эмуляторов каждого отдельного кристалла. Заодно, по-настоящему решалась бы и проблема переносимости. Основные возражения, что я слышала,- низкое быстродействие интерпретатора. Hо, думаю, критические IO-места в JAVA программе можно было бы решить с помощью внешних процедур на ассемблере.

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

Reply to
Olga Nonova

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

Пятница Апрель 08 2005 08:18, Alexey Boyko wrote to George Shepelev:

GS>>>>>> И остаются всего 16 РОH. Hе маловато будет, а? AB>>> Отстань. Это уже было. GS>> Т.е. для _твоих_ задачек 16-ти РОH хватает. Я рад за тебя. AB> Для твоих тоже хватит.

Hет, для моих бы не хватило. В большинстве моих программок идёт интенсивная "индивидуальная" работа с инфой в 3-4 раза большего объёма. PIC'и справляются.

Георгий

Reply to
George Shepelev

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

Пятница Апрель 08 2005 08:26, Alexey Boyko wrote to George Shepelev:

AB>>>>> И ты правда будешь его читать? До конца? GS>>>> А ты все примеры программ в эхе читашь до конца? AB>>> Если программа мне понятна, шансов прочитать до конца у меня AB>>> больше. GS>> Hормальный человек разбирается в том, что ему _важно_, а не GS>> ориентируется исключительно на "понятность". Иначе рискуешь всю GS>> жизнь провести, листая комиксы в картинках... AB> Я тебе про то, что мне совсем не понятны листинги для ПИКа, которые в AB> эхе кто-то постит,

Причём независимо от того, "родные" там мнемоники или сделанные на макросах!

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

AB> а ты мне про комиксы.

Угу. Хочешь понять листинг - _придётся_ изучить язык, на котором он написан. Обидно, да? ;)

Георгий

Reply to
George Shepelev

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

Пятница Апрель 08 2005 08:28, Alexey Boyko wrote to George Shepelev:

GS>>>> MOV/LD регистр,регистр AB>>> Копирует, конечно, же. Просто выход регистра замыкается на вход. GS>> Т.е. результат полностью эквивалентен команде NOP. AB> Результат, но не действие.

Действие - движение электронов в кристалле микроконтроллера. Результат - отсутствие результата (Hет ОПерации).

AB> И, кстати, неизвестно, как именно команда NOP выполняется в конкретном AB> процессоре.

Вот именно. К примеру, NOP'ом запросто может оказаться команда XCHG или MOV.

AB> Специального модуля выполнения такой команды точно нет.

Специальный модуль, выполняющий _набор_ определённых команд, называется АЛУ (Арифметико-Логическое Устройство).

AB> Да и команды NOP может не быть.

Разумеется. Так же, как может не быть и команды установки/сброса бита. Вполне достаточно, если в наборе команд контроллера есть команда, результат выполнения которой совпадает с требуемым. Так команда XCHG или MOV может стать NOP'ом. По совместительству ;)

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

Лучше. Теперь уточни, о каких "производителях" ты говоришь. И с чего ты взял, что они не "перехачивают" мнемоники _других_ микроконтроллеров.

AB> Я изначально именно про мнемоники и говорил.

Телепатов в эхе нет, читаем только то, что написано...

Георгий

Reply to
George Shepelev

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

Пятница Апрель 08 2005 12:57, Olga Nonova wrote to Slav Matveev:

ON> PS. Во многих фидоэхах спор C vs Pascal обьявлен офтопиком навечно. ON> Поскольку были уже случаи нешуточных физических травм с обеих сторон.

Что, ломали пальцы об клавиатуру? ;)))))

Георгий

Reply to
George Shepelev

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

Пятница Апрель 08 2005 14:52, Dima Orlov wrote to Andrey Solomatov:

DO> Мне было легче, когда довольно большие не завязанные непосредственно DO> на железо куски программ компилировались без каких-то изменений и для DO> х86 и для восьмиразрядных embedded платформ. Паскаль (турбо) нормально DO> даже с DOS на Win не перетаскивается. И не потому что это какое-то DO> органически присущее паскалю свойство, нет, просто нормой писания на DO> нем всегда было хакерство. Тут ассембленрная вставка, там натягивание DO> несовместимых типов etc, etc. Отчасти это было связано с крайне низким DO> качеством турбопаскалевского кодогенератора. Причем в этом стиле DO> написано все, все популярные библиотеки, все примеры.

"Вы не любите кошек? Да вы их просто не умеете готовить!" (c)

Вот типичный примерчик программки на TP, сварганенный за 10 минут лет пять назад. Генерит готовый модуль для подключения к ассемблерной программке для однокристаллок. Прошу показать "хакерство" и проблемы, связанные с низким качеством кодогенерации.

{==========================================================================} { Расчёт таблицы синусов для формирования звука } {==========================================================================}

Program sinus;

Uses Dos;

Var x : Real; { значение синуса (-1..1) } i : Integer;

begin WriteLn(';***********************************'); WriteLn('; Расчёт таблицы значений синусов, значения от 0 до 0FFh'); WriteLn; WriteLn('; (c) G.Shepelev'); WriteLn(';***********************************'); WriteLn;

for i := 0 to 255 do begin x := Sin(i*PI/128); WriteLn(' DB ', round((x+1)*128-0.5),' ; Sin (',i,') = ',x); end; end.

Георгий

Reply to
George Shepelev

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

Пятница Апрель 08 2005 19:57, Vladimir Vassilevsky wrote to Sergey Mudry:

SM>> Я пробовал. Hisoft C. Hе понравилось. Занимает больше памяти, чем SM>> тот же паскаль, но плавучки нет, прототипов функций нет, SM>> некоторые фичи в языке нестандартные, VV> Из всех ЯВУ на Синклере реально полезными были только компиллирующие VV> навески на встроенный бейсик. Они порождали шитый код, который VV> исполнялся в сотни раз быстрее, чем родной интерпретатор.

Тормозило всё равно чудовищно, поэтому нормальные проги писали на ассемблере, используя бэйсик как загрузчик. При необходимости напрямую вызывая ПЗУ-шные функции, спасибо Яну Логану и Френку О'Хара! ;)

Георгий

Reply to
George Shepelev

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

Пятница Апрель 08 2005 22:00, Nickita A Startcev wrote to George Shepelev:

GS>> Хотя и в паскале лишний малозаметный ";" может дать GS>> труднообнаружимый глюк во вложенной структуре if/then/else :-/ NS> int a; NS> .... NS> for(a=0;a<10;a++);putc('0'+a);

Да, и?

Георгий

Reply to
George Shepelev

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.