Embedded OS

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

Среда Апрель 06 2005 09:15, Alexey Boyko wrote to George Shepelev:

GS>> Попробуй поглядеть ассемблерные мнемоники в _доке по GS>> ассемблеру_, а? Может сильно попустить ;) AB> Если соберусь писать для ПИКа на ассемблере - погляжу обязательно. А AB> пока ограничиваюсь даташитами.

Вот пока не глядел в доку по ассемблеру - нечего гнать волну на "неудобство" написания программ!

AB>>>> (и копирует ли :)? AB>>> Hазови хоть один процессор, где mov не копирует. GS>> Сколько угодно. GS>> 8080/Z80/x86 GS>> MOV/LD регистр,регистр AB> Копирует, конечно, же. Просто выход регистра замыкается на вход.

Т.е. результат полностью эквивалентен команде NOP. Что копирует команда NOP?

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

Тяжёлый случай. Ты умеешь отличать систему команд от записи мнемоник?

Георгий

Reply to
George Shepelev
Loading thread data ...

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

Среда Апрель 06 2005 09:17, Alexey Boyko wrote to George Shepelev:

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

Делать тебе нечего ;)

Hормальный человек разбирается в том, что ему _важно_, а не ориентируется исключительно на "понятность". Иначе рискуешь всю жизнь провести, листая комиксы в картинках...

Георгий

Reply to
George Shepelev

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

Среда Апрель 06 2005 11:49, Olga Nonova wrote to Andrey Solomatov:

AS>> вообще-то слово "begin" длиннее. И по этому - легче AS>> идентифицируется. А скобки на некоторых шрифтах бывают вообще AS>> плохо читаемы. ON> Тут дело даже не столько в "читаемости" скобочек, сколько в пагубной ON> торопливости, с какою можно шлепнуть лишнюю скобочку в текст одним ON> нажатием. Вообще, язык Си рассчитан на торопливых, которые в диком ON> угаре долбят по клавиатуре, забывая о здравом смысле. Зато, когда не ON> торопясь набираешь BEGIN, то успевашь уже твердо осознать, где будет ON> располжен END и что из этого последует по смыслу.

Hикто не мешает пользоваться редактором, который нехитрой комбинацией клавиш вставляет готовый пустой блок begin/end ;)

ON> Такой, казалось бы медленный метод набора текста потом сторицей ON> экономит время на отладке приложений.

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

Георгий

Reply to
George Shepelev

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

Среда Апрель 06 2005 17:29, Alexander Golov wrote to Alexey Boyko:

AB>> Hет, не естественно. (imho) AG> Если используется слово "move" означающее "перемещение", то AG> естественен порядок перемещения того, что сразу за словом move куда-то AG> в другое место, потому что не по людски сначала сказать куда AG> переместить, а потом уже что. А для обратного порядка следует AG> использовать слово "присвоить" ("assign", или ещё какой-то синоним).

Сделай макрос, чтобы можно было набирать assign вместо mov ;-)

Георгий

Reply to
George Shepelev

Thu, 7 Apr 2005 06:08:01 +0000 (UTC) Andrey Solomatov wrote to Harry Zhurov:

AS>>> Угу. Вот только почему-то ANSI C проэволюционировал в сторону AS>>> приближения к паскалю по строгости типизации.

HZ>> С какого фига к паскалю-то? К С++!

AS> А C++ на пустом месте рождался?

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

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

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

AS>>> Может быть вернёмся к C&R C?

HZ>> А это что?

AS> Керниган и Ритчи. Авторы, вообще-то, "исходного" языка C.

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

AS> Скажем, обявление функции: AS> func() AS> int a; AS> char *c; AS> { AS> } /* это по ихнему */

Это смотря по какому изданию. По 2-му там такого уже нет, уже ANSI вовсю рулит. А до ансишного варианта там вообще было эн диалектов, каждый из которых отличался в мелочах от других, что рубило под корень переносимость. И только после принятия Стандарта через некоторое время навелся порядок. Тогда было модно в первой же строчке проспекта на компилятор сообщать, что, дескать, у нас fully ANSI C compatible - типа, это неоспоримое преимущество. :)

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

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

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

HZ>> Никакие не "50/50", а именно низкоуровневое (и поэтому опасное, но HZ>> эффективное) средство для манипуляции объектами через их HZ>> непосредственные адреса.

AS> Вот только мне, почему-то, за ~15 лет понадобилось пару-тройку раз. AS> Причём - исключительно в силу "грязности" алгоритма, потом я AS> "это" безжалостно выкинул.

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

HZ>> Сколько программ на С++ ты написал? Сколько строк кода (хотя бы HZ>> очень приблизительно) на С++ ты написал?

AS> Мало, мало, успокойся.

А я спокоен. Хотелось просто узнать, на каком реально опыте основаны те смелые высказывания. :)

AS> Штуки 3 - 4 -5 (если "до конца"). AS> Ты всерьёз хочешь меня уверить, что в C++ легко "выйти за границы"?

"Как два байта переслать" (с)! С++ никого насильно не держит - хочешь нарушить контроль типов - нарушай (через явное преобразование), прога скомпилится без проблем. А вот будет ли работать - это вопрос. При таких действиях программиста ответственность за последствия перекладывается на последнего, но язык не _заставляет_ что-то делать и не вводит непреодолимых ограничений. Другими словами, в нем есть защита от "дурака", но не защита от злонамеренного взлома. Хочешь ломать - ломай, в С++ это так же просто, как и в С.

AS>>> А чем ты предлагаешь пользоваться? AS>>> Переписывать каждый раз все определение типа?

HZ>> ??? А про typedef ты ничего не слышал?

AS> Не люблю typedef.

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

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

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

AS> с достаточно невнятным синтаксисом.

Синтаксис у него - проще не придумаешь!

AS> И вообще, если я в C++ пишу:

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

AS> то здесь достаточно ясно и понятно. И typedef не нужен AS> (бо никакой функциональности не несёт).

Здесь не нужен (в С++), но есть места, где нужен.

AS> В C же надо писать:

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

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

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

то это и будет определение типа. Всего на одно слово длиннее, чем в С++.

AS> Что, во первых, хуже читается - разделено имя типа и его описание; AS> во вторых - тот самый struct; и в третьих - если не охота юзать struct - AS> надо засовывать ещё невнятный typedef.

Ерунда. После определенного с помощью typedef'а просто пишешь:

TAbs Abs;

и все. Почти, как в С++.

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

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

HZ>> Кстати, какие вещи из С не компилируются в С++?

AS> Ну и плюс - перегрузка.

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

AS> Фактически при этом явного выхода за пределы С не происходит - просто AS> делаешь набор get, отличающийся перечнем аргументов.

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

AS> [кусь]

HZ>> И на какую платформу ты перешел в ++?

AS> А я и тогда - и до, и после - сидел на писюке. AS> А сейчас перешёл на эмбедды - и тихо матерюсь от реализаций

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

AS> C на них (кто там дифирамбы поет "стандартности C")? AS> ---------------- AS> Пишем: AS> func() AS> { AS> ...

AS> Верещание компилера: "Хачу декларацию, пачиму у Вас дефиниция без AS> декларации?" AS> --------------- AS> Добавляю: AS> func(); AS> func() AS> { AS> ...

AS> Визги: "Какая-то непонятная декларация. Как Вы посмели переопределить тип AS> функции func?"

AS> -------------- AS> Оказывается надо: AS> func(void); AS> func() AS> { AS> ...

AS> Тьфу... Кто бы мог подумать...

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

Reply to
Harry Zhurov

Привет Harry!

07 Apr 05 15:40, Harry Zhurov писал Andrey Solomatov:

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

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

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

Я вот тоже не знаю, что ты имеешь в виду. Есть разные способы адресации - непосредственная, прямая, косвенная, индексированная, индексированно-косвенная, косвенно-индексированная (сразу 6502 вспоминается :) ) и т.п. Все они в конечном итоге адресуют данные в памяти. И использование переменной - это всегда доступ к памяти. Так что такое особенное есть в языке C и прямом методе адресации при обращении к памяти?

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

Всего наилучшего, [Team PCAD 2000] Алексей М. ... Пирожок тушеный с тушенкой.

Reply to
Alex Mogilnikov

Привет Andrey!

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

Привет Alexey!

Thursday April 07 2005 13:46, Alexey Boyko wrote to Andrey Solomatov:

AS>> Винда, скажем, изначально писалась на паскале.

Windows 1.0 действительно написан на Паскале.

AB> Это ты по паскалевскому соглашению о вызовах определил?

Потому они и сохранились :)

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

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

Wed Apr 06 2005 15:39, Slav Matveev wrote to Olga Nonova:

ON>> угаре долбят по клавиатуре, забывая о здравом смысле. Зато, когда не ON>> торопясь набираешь BEGIN, то успевашь уже твердо осознать, где будет ON>> располжен END и что из этого последует по смыслу. Такой, казалось бы ON>> медленный метод набора текста потом сторицей экономит время на отладке ON>> приложений.

SM> добавить в stdio.h две конструкции для препроцессора SM> #define BEGIN { SM> #define END }

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

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

Reply to
Olga Nonova

Hello, Alex Gavrikov !

Этоего личные проблемы...

Я вообще-то мнгого чего видел...

И много за что поубивал бы...

Тогда чего же ты влазишь в эту дискуссию?

А у меня есть опыт (Жоре и не снилось) написания вполне взрослых программ на этом ззыке. И опыт упирания в полнейшую несовместимость даже в рамках РС.

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

Reply to
Dima Orlov

Hello, Olga Nonova !

Тяжело наверное жить со столь острым чувством профессиональной несовместимости...

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

Reply to
Dima Orlov

Hello, Olga Nonova !

Крест кладбищенский на вас, дорогой коллектив авторов, стоит...

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

Reply to
Dima Orlov

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

Wed Apr 06 2005 20:40, Anatoly Mashanov wrote to Olga Nonova:

ON>> ... Вообще, язык Си рассчитан на торопливых, которые в диком ON>> угаре долбят по клавиатуре, забывая о здравом смысле. Зато, когда не ON>> торопясь набираешь BEGIN, то успевашь уже твердо осознать, где будет ON>> располжен END и что из этого последует по смыслу.

AM> Я, набирая {, нажимаю стрелку-вниз и набираю }. После чего вставляю между AM> ними все, что надо. О горе-программистах, которые рисуют квадратики в AM> VISIO, потом переводят их на бумаге и...

И, тем не менее, Вы наверняка втайне считаете свою работу программистом неким искусством. Где-то на подходе к настоящему творчеству. А раз так, то...надо считаться с фундаментальными особенностями творческого процесса живого организма. Процесс этот может идти только в определенном ритме, обусловленном конструкцией головного мозга. Если человек попытается творить в другом ритме, то результатом будет скорей всего фигня, и придется все равно переделывать. Возвращаясь к эхотагу, сразу отмечу- скоропалительность долбежки в { и } сбивает нормального человека с творческого бетта-ритма. В то же самое время, неторопливые BEGIN ...END образуют устойчивое аллегро в мыслях и сводят на нет семантические ошибки.

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

Reply to
Olga Nonova

Здравствуй, Dima!

Wednesday April 06 2005 22:21, you (2:461/ snipped-for-privacy@fidonet.org) wrote to me:

Сименс его так позициониpует.

Точно. Ща отмотал назад. Ха... ты не видел язык пpогpаммиpования Микpодат'ов. Втоpой "еpшолом". Поубивал бы...

DO> Ты невнимательно читаешь конференцию, и рекламу и примеры кода я уже DO> приводил прямо с оригинального сайта, что же в них паскалеподобно?

Dima, чесслово мне пабаpабану, че в них паскалеподобное есть, а чиво нет. Замоpачиваться синтаксическими и семантическими нюансами мне не интеpесно. Есть инстpумент - SCL, котоpый удобнее чем LAD (РКС), меня это устpаивает. Используется в pабочих пpоектах. В сеpьезных пpоектах. Они pаботают. Сознаюсь - pure Паскаль я не знаю. Hет! Есть опыт написания на безpыбье четт типа Hello, world лет 10 назад на TP.

Сименс уважаемая фиpма - мне этого достаточно. Их выкpутасы опpавдывают pекламные цели... или наобоpот. А pазбиpаться в тонкостях языков... это от лукаваго - забава для гуманитаpиевъ. Тебе надо споpить не со мной, а с "Сименсом". Так мол и так, на каком основании, вы, дяденьки нехоpошие, назвали свой SCL паскалеподобным? А?!! И доколе сие безобpазие буде бысть?!!

p.s. Этот тpед уже сваливает в hole war. Hу его нах. p.p.s. Для твоего успокоения говоpю фpазу: "увы мне, увы!" и делаю вид, что посыпаю голову пеплом сожженого дистpибутива и мана SCL.

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

Alex

Reply to
Alex Gavrikov

Привет Olga!

Thursday April 07 2005 23:20, Olga Nonova wrote to Anatoly Mashanov:

ON> придется все равно переделывать. Возвращаясь к эхотагу, сразу отмечу- ON> скоропалительность долбежки в { и } сбивает нормального человека с ON> творческого бетта-ритма. В то же самое время, неторопливые BEGIN ...END ON> образуют устойчивое аллегро в мыслях и сводят на нет семантические ошибки.

Маразм крепчает.....

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

Thu Apr 07 2005 02:32, Nickita A Startcev wrote to Harry Zhurov:

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

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

//------ Foo.c ---------

#include <stdio.h>

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

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

#include "foo.h"

void main(void) { Foo(); }

VLV

"Быть честным - лучший способ оставаться бедным" (c) Hаполеон Бонапарт

Reply to
Vladimir Vassilevsky

Fri Apr 08 2005 00:20, Olga Nonova wrote to Anatoly Mashanov:

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

- Пойдешь ко мне в штат криэйтором? - Это как, творцом что ли? - Творцы нам на хуй не нужны. Hам нужны криэйторы.

(c) В. Пелевин. "Поколение П".

VLV

"Быть честным - лучший способ оставаться бедным" (c) Hаполеон Бонапарт

Reply to
Vladimir Vassilevsky

Hello Olga.

06 Apr 05 12:49, you wrote to Andrey Solomatov: ON> Wed Apr 06 2005 10:32, Andrey Solomatov wrote to Harry Zhurov:

AS>> вообще-то слово "begin" длиннее. И по этому - легче идентифицируется. AS>> А скобки на некоторых шрифтах бывают вообще плохо читаемы.

ON> Тут дело даже не столько в "читаемости" скобочек, сколько в пагубной ON> торопливости, с какою можно шлепнуть лишнюю скобочку в текст одним

или потерять где-нить при копировании и тп...

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

на Ц только извращаться хорошо, ну и проги в 10 строчек писать, и то только если каждый день этим занимаешься. Только не понятно нафига такое количество мелких поделок :)

ON> угаре долбят по клавиатуре, забывая о здравом смысле. Зато, когда не ON> торопясь набираешь BEGIN, то успевашь уже твердо осознать, где будет ON> располжен END и что из этого последует по смыслу.

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

ON> Такой, казалось бы медленный метод набора текста потом сторицей ON> экономит время на отладке приложений.

да одинаковая получается производительность - я это сам проверял. Hа Ц где-то до 500 строк в день норма, на паскале или Аде 1000-1500 легко. По размеру исходника больше в 2-3 раза, но и пишется в день во столько-же раз больше, так что производительность примерно одинакова, зато исходник нормально читаемый и ошибок нет.

Vladimir

Reply to
Vladimir V. Teplouhov

Hello George.

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

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

Для твоих тоже хватит.

Alexey

Reply to
Alexey Boyko

Hello George.

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

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

Я тебе про то, что мне совсем не понятны листинги для ПИКа, которые в эхе кто-то постит, а ты мне про комиксы.

Alexey

Reply to
Alexey Boyko

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.