Embedded OS

Hello George.

07 Apr 05 14:30, you wrote to me:

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

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

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

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

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

Alexey

Reply to
Alexey Boyko
Loading thread data ...

Hi Olga!

07 Apr 05 23:03, Olga Nonova wrote to Slav Matveev:

SM>> #define BEGIN { SM>> #define END }

ON> Предлагаете с помощью макросов препроцессора переделать язык Си в язык ON> Pаscal? я предлагаю перестать заниматься интеллектуальный онанизмом и не придумывать проблемы там где их нет. ON> Во-первых, не получится из-за ублюдочности макросов в Си. ON> Во-вторых, не проще ли сразу написать нормальные макросы для ON> макроассемблера, минуя Си вообще? "только бодрый онанизм укрепляет мышцы рук." ON> В-третьих, дело совсем не в том, как можно макросами исправить ON> плохой синтаксис, а в другом- разработчики языка Си создавали язык ON> для торопливых и неаккуратных людей. Одно это уже ставит крест на ON> данном "произведении". читая ваш бред хочется процитировать удаффком: "афтар, убей себя", ибо сколько идиотизма относительно Си я в этой эхе прочитал за последние две-три недели, я не слышал за предыдущие 20 лет. Один мой коллега, ознакомившись и с паскалем и с си, выдал хорошее резюме: "паскаль - это встал на рельсы и погнал никуда не сворачивая, а си... вышел в чистое поле и п©©дуй куда хочешь". Я думаю что это исчерпывающе характеризует оба языка. Если вы не умеете ходить иначе как строем и в чистом поле обязательно вляпаетесь в коровью лепешку, Си не для вас. что вы с изрядным упорством и демонстрируете.

Slav.

Reply to
Slav Matveev

Hello Vladimir.

08 Apr 05 00:39, you wrote to Nickita A Startcev:

NAS>> ошибок/предупреждений компилится как си, но не компилится как NAS>> с++.

VV> Всегда пожалуйста. VV> //------ Foo.c --------- VV> #include <stdio.h>

VV> void Foo(void) VV> { VV> printf("\n Foo"); VV> } VV> //------- Main.cpp (Or Main.c) -------- VV> #include "foo.h" VV> void main(void) VV> { VV> Foo(); VV> }

Ты не привел 'foo.h', а от него то как раз все и зависит. Причем, то, что ты привел скомпилируется, но не слинкуется.

ps: Hо да. Когда я переименовывал свой Main.c в Main.cpp кроме проблем с хидерами попадались и другие места, на которых c++ выдавал ошибку. Сейчас не вспомню, я их просто подправил и забыл.

Alexey

Reply to
Alexey Boyko

Hello everybody.

07 Apr 05 14:34, George Shepelev wrote to Olga Nonova:

ON>> смысле. Зато, когда не торопясь набираешь BEGIN, то успевашь уже ON>> твердо осознать, где будет располжен END и что из этого последует ON>> по смыслу. GS> Hикто не мешает пользоваться редактором, который нехитрой комбинацией GS> клавиш вставляет готовый пустой блок begin/end ;)

Я пять лет писал на паскале, теперь пять лет пишу на Си. Гон все это. Разница паскаля и Си не в скобках.

Alexey

Reply to
Alexey Boyko

Hello George.

07 Apr 05 14:35, you wrote to Alexander Golov:

AG>> следует использовать слово "присвоить" ("assign", или ещё AG>> какой-то синоним). GS> Сделай макрос, чтобы можно было набирать assign вместо mov ;-)

Лучше сокращенно, ass ;)

Alexey

Reply to
Alexey Boyko
*** Ответ на письмо из carbonArea (carbonArea).

Привет, Vladimir !

08 Apr 05 , 01:39 Vladimir Vassilevsky писал к Nickita A Startcev:

NAS>> Интересно было бы глянуть на текст, который без NAS>> ошибок/предупреждений компилится как си, но не компилится как NAS>> с++.

VV> Всегда пожалуйста.

VV> //------ Foo.c ---------

VV> #include <stdio.h>

VV> void Foo(void) VV> { VV> printf("\n Foo"); VV> }

VV> //------- Main.cpp (Or Main.c) --------

VV> #include "foo.h"

VV> void main(void) VV> { VV> Foo(); VV> }

g++ main.c:4: `main' must return `int' main.c:4: return type for `main' changed to `int'

gcc main.c:4: warning: return type of `main' is not `int'

Оно?

После исправления с void на int всё собралось и заработало без предупреждений. . С уважением, Hикита. ... в начале был кофе ?

Reply to
Nickita A Startcev

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

Четверг Апрель 07 2005 06:12, Alexander Aleshenko wrote to George Shepelev:

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

Коллектив из дюжины людей, которые каждый день друг-дружку видят и коллектив всемирной сети - несколько разные вещи, не так ли?

AA> а поскольку в коллективе люди разные, есть и такие которые мне не AA> нравяться или как ты их называешь <beep> я не требую от них, чтоб они AA> называли меня официозно - это бессмыслено.

Тем не менее в Policy есть высказывание насчёт перехода раздражающего поведения в чрезмерно некорректное (1.3.5). И когда модератор эхи следит, чтобы такого перехода не происходило - атмосфера в эхе _гораздо_ приятнее для участников...

Георгий

Reply to
George Shepelev

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

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

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

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

Георгий

Reply to
George Shepelev

Привет Sergey!

Friday April 08 2005 10:58, Sergey Mudry wrote to Alexander Torres:

AT>> Си на спектруме не пробовал - AT>> сам компилятор у меня был, без *.h-файлов, а когда они появились - AT>> это уже было неактуально. SM>

SM> Я пробовал. Hisoft C. Hе понравилось. Занимает больше памяти, чем тот же

Именно он у меня и был, без .h

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, Alexander! You wrote to Andrey Solomatov on Thu, 07 Apr 2005 19:55:00 +0400:

AT> Си на спектруме не пробовал - AT> сам компилятор у меня был, без *.h-файлов, а когда они появились - это AT> уже было неактуально. Я пробовал. Hisoft C. Не понравилось. Занимает больше памяти, чем тот же паскаль, но плавучки нет, прототипов функций нет, некоторые фичи в языке нестандартные, например, для приведения типа вместо (char)x надо было писать что-то типа cast(char,x). Зато умел работать с кассетными файлами, при работе с fprintf писал на кассету блоками по 512 байт с двухсекундными паузами, в таком же виде сохранял исходники и умел компилировать их на лету прямо с ленты :))) А h-файлами я и не пользовался, всякие мелкие функции типа printf, strcpy там уже были вшиты, отдельно шёл аналог stdlib.

With best regards, Serg.

Reply to
Sergey Mudry

Hello Harry.

08 Apr 05 13:19, you wrote to Nickita A Startcev:

HZ> что делает enum'ы в С совершенно бесполезными и HZ> ненужными.

Почему?

Alexey

Reply to
Alexey Boyko

Hello, Olga Nonova !

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

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

Reply to
Dima Orlov

Привет George!

Чет Апp 07 2005 15:29, George Shepelev пишет Alexey Boyko:

GS>>> задачки "детские"? AB>> Отстань. Это уже было.

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

А если вместо 16-и стаpших РОHов будет ОДИH камулятоp - это менее коpяво ? Тогда Юзай 8051 клоны ... Посмотpи двоичный фоpмат АВРовских команд тогда всё станет на свои места - пpосто не хватает pазpядной сетки -ил делать на паpу бит больше ?

С наилучшими пожеланиями Nick .

Reply to
Nick Barvinchenko

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

Fri Apr 08 2005 10:41, Slav Matveev wrote to Olga Nonova:

ON>> ... разработчики языка Си создавали язык ON>> для торопливых и неаккуратных людей. Одно это уже ставит крест на ON>> данном "произведении".

SM> ....сколько идиотизма относительно Си я в этой эхе прочитал SM> за последние две-три недели, я не слышал за предыдущие SM> 20 лет.

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

SM> Один мой коллега, ознакомившись и с паскалем и с си, выдал хорошее SM> резюме: "паскаль - это встал на рельсы и погнал никуда не сворачивая, SM> а си... вышел в чистое поле и п©©дуй куда хочешь". SM> Я думаю что это исчерпывающе характеризует оба языка.

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

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

С опытом практической деятельности начинаешь понимать, что результат быстрее и надежнее достигается именно маршируя "строем" по многократно проверенным путям. Я совершенно согласна с предыдущим оратором, что программирование на Си- это бессмысленное метание мухи в бутылке в поисках выхода, нечто в роде Монте-Карло. Зато пчела-паскалистка сразу поползет к выходу из бутылки и обретет свободу много раньше мухи. Это к вопросу о скорости достижения практического результата.

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

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

Reply to
Olga Nonova

Thu, 07 Apr 2005 00:32:06 +0400 Nickita A Startcev wrote to Harry Zhurov:

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

NA> Интересно было бы глянуть на текст, который без ошибок/предупреждений NA> компилится как си, но не компилится как с++.

Пожалуйста:

// ------------------------------------------------------------------ typedef enum { slon, slonick, mamont } TSlon;

TSlon Slon;

int main() { Slon += 1; } // ------------------------------------------------------------------

В С++ арифметика с перечислимыми типами запрещена равно, как и присвоения объектам перечислимого типа целых. В С это можено делать совершенно свободно, что делает enum'ы в С совершенно бесполезными и ненужными.

Можно и еще привести примеры, но лучше об этом в книжках почитать.

Reply to
Harry Zhurov

Thu, 07 Apr 2005 19:35:46 +0400 Alex Mogilnikov wrote to Harry Zhurov:

HZ>>>> А прямое обращение к памяти - это прямое обращение к памяти. Или HZ>>>> ты не знаешь как это делается?

AS>>> Hет, не знаю. Расскажи.

HZ>> Стебаешься? Или правда не знаешь?

AM> Я вот тоже не знаю, что ты имеешь в виду. Есть разные способы адресации AM> - непосредственная, прямая, косвенная, индексированная, AM> индексированно-косвенная, косвенно-индексированная (сразу 6502 вспоминается AM> :) ) и т.п.

Ты перечислил способы аппаратной адресации, к языку это не имеет отношения.

AM> Все они в конечном итоге адресуют данные в памяти. И использование AM> переменной - это всегда доступ к памяти.

Это можно сказать про любой язык. Попробуй обратиться на языке AWK к переменной по адресу 0x000A.

AM> Так что такое особенное есть в языке C и прямом методе адресации при AM> обращении к памяти?

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

AM> Или ты говоришь о том, что тип указателя может быть преобразован к AM> целому?

Я говорю о том, что указатель можно проинитить целым (через насильное преобразование типа) и потом обратиться этому "адресу".

Reply to
Harry Zhurov

Hi Olga!

08 Apr 05 13:57, Olga Nonova wrote to Slav Matveev:

SM>> за последние две-три недели, я не слышал за предыдущие SM>> 20 лет.

ON> Отчасти, такова моя задача- оказать отпор агрессии языка Cи. За счет ON> разрушения мифов о его якобы удобности, портируемости и ON> вседозволенности дать пищу юношам, только вступающим на скользкий путь ON> ембеда. О как, да вы мессия! Тогда вам лучше к психиатору. ON> И у меня еще есть, что сказать. Hапример, про неаккуратный вид ON> Си-листингов. Присмотритесь к печатному листу в целом,- обилие ON> фигурных скобочек создает полную иллюзию измятой и использованной в ON> клозете бумаги. Точно. К такими аллегориями только к психиатору. И как можно скорее.

SM>> не сворачивая, а си... вышел в чистое поле и п©©дуй куда SM>> хочешь". Я думаю что это исчерпывающе характеризует оба языка.

ON> Вполне возможно. Однако, в представленной характеристике чувствуется ON> вполне разумное неодобрение сишной манеры. Восхищение.

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

ON> С опытом практической деятельности начинаешь понимать, что результат ON> быстрее и надежнее достигается именно маршируя "строем" по многократно ON> проверенным путям. строем ходит биомасса. творческие люди строем ходить не умеют. подумайте над этой особенностью на досуге. Я думаю что после посещения психиатора у вас будет много времени для этого. :)

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

И что характерно. Кто на этот раз начал боевые действия?

Slav.

Reply to
Slav Matveev

Hello, Andrey Solomatov !

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

Железонезависимые куски - вполне.

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

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

Reply to
Dima Orlov

Fri Apr 08 2005 17:54, Harry Zhurov wrote to Alexey Boyko:

HZ>>> что делает enum'ы в С совершенно бесполезными и HZ>>> ненужными.

AB>> Почему?

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

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

HZ> Чем это лучше того же использования просто HZ> макросов (#define)?

См. выше.

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

И это тоже.

HZ> Да, это так, но это такая мелочь, что из-за нее не стоило бы вводить в HZ> язык эту конструкцию.

Hикто ведь не заставляет ей пользоваться.

WBR, Yuriy.

Reply to
Yuriy K

Привет, *Harry*!

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

[кусь]

HZ> Нет, С++ рождался не на пустом месте, как и почти любой ЯП. HZ> Конкретно, С++ рождался на основе С и Симулы.

С некоторой оглядкой на Алгол, как уверяет Страуструп.

AS>> Да и мало он был распространён на момент стандартизации.

HZ> Стандартизации чего? С? Или С++?

C++ - на момент стандартизации C. И интенсивно развивался (С++). А говорить о "развитии в сторону" чего-то, быстро изменяющегося - несколько некорректно, имхо. Ну а "в сторону приближения" - всё-таки более корректно. Тем более, что это не исключает одновременного приближения и к алголу, и к остальным подобным. ;)

[кусь]

HZ> Тогда надо было писать K&R.

А... Действительно глюкнул. Почему-то мне помнилось именно C&R.

[кусь]

HZ> Это смотря по какому изданию. По 2-му там такого уже нет, уже ANSI HZ> вовсю рулит.

Угу. Но обычно когда упоминают K&R - говорят именно про "старый стиль".

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

Ну, в таком случае пресловутая "стандартизация C" - это от безысходности. В результате C достиг уровня стандартности паскаля, и только. ;))

[кусь] HZ>>> А прямое обращение к памяти - это прямое обращение к памяти. Или ты не HZ>>> знаешь как это делается?

AS>> Нет, не знаю. Расскажи.

HZ> Стебаешься? Или правда не знаешь?

Блн. Третье писмо пишу - не знаю. Точнее - не понимаю, о чём ты говоришь.

[кусь]

HZ> Это потому, что ты на паскале писал. И на РС. А когда на МК HZ> подсядешь, так сразу поймешь, в чем "сермяжная правда жизни". :)

Возможно. Но, тем не менее, никак не могу придумать ситуацию, когда может понадобиться инкрементация именно указателя - а не индекса.

[кусь]

AS>> Ты всерьёз хочешь меня уверить, что в C++ легко "выйти за границы"?

HZ> "Как два байта переслать" (с)! С++ никого насильно не держит - HZ> хочешь нарушить контроль типов - нарушай (через явное преобразование), HZ> прога скомпилится без проблем.

Ну так это - _явное_преобразование_. Т.е. ты прямо сказал компилятору "делай так". И, кстати, даже это срабатывает не всегда - иногда компилятор упирается.

[кусь]

AS>> Не люблю typedef.

HZ> ? А он не девушка, чтоб его любить.

А дэвушек я люблю. ;)

HZ> Он есть средство для достижения определенной цели. Вполне удобное. И не HZ> пользоваться им к месту просто, мягко говоря, неразумно.

typedef не удобен. Потому, что разрывается общее определение того, что это есть: "typedef struct" и само имя типа. Между ними может быть весьма много текста.

AS>> Лишняя прибамбасина,

HZ> Очень полезная "прибамбасина", позволяет вводить удобные синонимы HZ> для типов.

Если бы он вводил разные типы - цены ему бы не было!

[кусь]

HZ> Это ты не тип определил, а объект объявил. Нету тут типа. А если HZ> написать:

Да, я вспомнил. Это уже общие особенности синтаксиса C. ;))

HZ> typedef struct TAbc HZ> { HZ> // HZ> // Здесь дли-иинное определение структуры HZ> // HZ> } TAbc;

"Верхний" TAbc - лишний, а нижний - оторван от определения typedef. Что не есть хорошо для читабельности программы.

[кусь]

AS>> Ну его, C++ лучшее. ;))

HZ> Да, в С++ лучше, но это _мелочи_.

Ну, когда соберается много мелочей - получается крупная хорошесть. ;)

[кусь]

HZ> Причем тут перегрузка? Вопрос был про С программы. Откуда там HZ> перегрузка?

А, я спутал. "Что из-под C++ не скомпилируется правильно под C".

[кусь]

HZ> Ниче не понял! Что такое "набор get"?

get(char); get(int); get(long); get(char*); ...

[кусь]

HZ> Вот я и спросил, на какую платформу в ембеддах ты перешел?

Инфинеон C167

[кусь]

HZ> Ерунда какая-то. Под какую платформу? Какой компилятор?

Tasking C166/ST10 v.7.5

Reply to
Andrey Solomatov

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.