Hу сейчас я вам урок грамотного программирования даду ;) - Page 4

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Russian to

Threaded View
Hу сейчас я вам урок грамотного программирования даду ;)
Hello, Vladimir Chekin !

 > И  никак  ты  это не указываешь, это держиться только у программера в
 > голове. Забыл -  пипец,  начинается  глюкодром. А в Си, объявляя
 > переменную локальной или  глобальной, данную задачу ты перекладываешь
 > на компилер, освобождая свою голову для более важного.

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

Это зависит. Я когда на асме для х86 писал, оформлял локальные переменные,
передачу параметров и все такое также, как это на этом процессоре делают ЯВУ,
благо в ассемблер для этого готовые макросы встроены. Компилированный стек в
рукопашную не сильно сделаешь...


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


Hу сейчас я вам урок грамотного программирования даду ;)
Wed Feb 04 2004 08:04, Dima Orlov wrote to Vladimir Chekin:


 >> И  никак  ты  это не указываешь, это держиться только у программера в
 >> голове. Забыл -  пипец,  начинается  глюкодром. А в Си, объявляя
 >> переменную локальной или  глобальной, данную задачу ты перекладываешь
 >> на компилер, освобождая свою голову для более важного.


 DO> Я когда на асме для х86 писал, оформлял локальные
 DO> переменные, передачу параметров и все такое также, как это на этом
 DO> процессоре делают ЯВУ, благо в ассемблер для этого готовые макросы
 DO> встроены. Компилированный стек в рукопашную не сильно сделаешь...

 Еще со времен Z80 и 6811  имею привычку делать честный стек с локальными
 переменными даже при писании на ассемблере. Hасчет регистров правила
 такие: либо все функции сохраняют все регистры, либо считаю, что
 любые регистры  испорчены после обращения к функции, и вызывающий должен
 их сохранять. Это экономит огромное количество труда при отладке.

 VLV

"Evil will prevail because good is dumb" (c) Space Balls


Hу сейчас я вам урок грамотного программирования даду ;)
Hello, Vladimir Vassilevsky !

 >>> И  никак  ты  это не указываешь, это держиться только у программера в
 >>> голове. Забыл -  пипец,  начинается  глюкодром. А в Си, объявляя
 >>> переменную локальной или  глобальной, данную задачу ты перекладываешь
 >>> на компилер, освобождая свою голову для более важного.


 >  DO> Я когда на асме для х86 писал, оформлял локальные
 >  DO> переменные, передачу параметров и все такое также, как это на этом
 >  DO> процессоре делают ЯВУ, благо в ассемблер для этого готовые макросы
 >  DO> встроены. Компилированный стек в рукопашную не сильно сделаешь...

 >  Еще со времен Z80 и 6811  имею привычку делать честный стек с локальными
 >  переменными даже при писании на ассемблере. Hасчет регистров

Z80 как-то прошел мимо меня. АОHами и синклерами я не занимался, занимался
промышленной аппаратурой, для которой применять z80 было нельзя. Hа 8080 через
стек передавать было больно (в смысле накладно). Потом, как только появилась
возможность, стал применять 8088. По сравнению с z80 это гораздо более развитый
процессор, требующий почти таких же аппаратных затрат, но зато уже позволяющий
писать на ЯВУ. Я использовал и С и С++ и Паскаль и конечно ассемблер. Так как
достаточно ковырялся в скомпилированном коде, свой писал в том же стиле. Для
6811 я уже на ассемблере не писал ничего - только С, на который я и переписал
написанную до меня на асме программу.

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

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

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


Hу сейчас я вам урок грамотного программирования даду ;)
    Hello, Vladimir!

Сpд Фев 04 2004, Vladimir Vassilevsky писал к Dima Orlov по   поводу "Hу сейчас
я вам урок грамотного программирования даду ;)."
 VV> Hасчет регистров правила такие: либо все функции сохраняют все
 VV> регистры, либо считаю, что любые регистры  испорчены после обращения
 VV> к функции, и вызывающий должен их сохранять. Это экономит огромное
 VV> количество труда при отладке.
А я то удивляюсь оверхеду 15% - оказывается вот где собака зарыта. Hу да
конечно, лобовое программирование на асм не дает выигрыша.
 VV>  VLV
  WBR!  Maxim Polyanskiy.


Hу сейчас я вам урок грамотного программирования даду ;)

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


Четверг Февраль 05 2004 09:10, Maxim Polyanskiy wrote to Vladimir Vassilevsky:

 VV>> Hасчет регистров правила такие: либо все функции сохраняют все
 VV>> регистры, либо считаю, что любые регистры  испорчены после
 VV>> обращения к функции, и вызывающий должен их сохранять. Это
 VV>> экономит огромное количество труда при отладке.
 MP> А я то удивляюсь оверхеду 15% - оказывается вот где собака зарыта. Hу
 MP> да конечно, лобовое программирование на асм не дает выигрыша.

 А на не-лобовое объявляют табу. Ага! ;)))

 Было бы очень интересно поглядеть на реализацию Форт-системы на сях.
Особенно с использованием этих замечательных "экономящих огромное
количество труда" приёмов ;)



                                                   Георгий


Hу сейчас я вам урок грамотного программирования даду ;)
Hello, George Shepelev !

 >  А на не-лобовое объявляют табу. Ага! ;)))

 >  Было бы очень интересно поглядеть на реализацию Форт-системы на сях.
 > Особенно с использованием этих замечательных "экономящих огромное
 > количество труда" приемов ;)

http://www.softsynth.com/pforth/logaddress.php

и смотри себе на здоровье. Характерно, что на поиск и скачивание ушло минуты
полторы. По первой же ссылке на гугле по ключу forth on C. Так что врешь ты.
Было бы тебе очень интересно, взял бы и поглядел.

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


Hу сейчас я вам урок грамотного программирования даду ;)
                     Привет, Dima!

 >> И  никак  ты  это не указываешь, это держиться только у программера в
 >> голове. Забыл -  пипец,  начинается  глюкодром. А в Си, объявляя
 >> переменную локальной или  глобальной, данную задачу ты перекладываешь
 >> на компилер, освобождая свою голову для более важного.

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

 DO> Это зависит. Я когда на асме для х86 писал, оформлял локальные переменные,
 DO> передачу параметров и все такое также, как это на этом процессоре делают
 DO> ЯВУ,благо в ассемблер для этого готовые макросы встроены.
 DO> Компилированный стек врукопашную не сильно сделаешь...
Дык о чём речь, чё с голой пяткой на шашку прыгать. Зато красиво.

                                           Владимир Чекин


Hу сейчас я вам урок грамотного программирования даду ;)
    Hello, Vladimir!

Втp Фев 03 2004, Vladimir Chekin писал к Andy Mozzhevilov по  поводу "Re: Hу
сейчас я вам урок грамотного программирования даду ;)."
 AM>> Как конкртено укажешь, что ячейка озу Х используется для
 AM>> локальной переменной А функции F1 и локальной переменной B
 AM>> функции F2.
 VC> Странно, что ты задаёшь такой вопрос...

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

 VC>  Владимир Чекин
  WBR!  Maxim Polyanskiy.


Hу сейчас я вам урок грамотного программирования даду ;)
                     Привет, Maxim!

 AM>>> Как конкртено укажешь, что ячейка озу Х используется для
 AM>>> локальной переменной А функции F1 и локальной переменной B
 AM>>> функции F2.
 VC>> Странно, что ты задаёшь такой вопрос...

 MP> Спасибо что объяснил - все именно так и есть (исключая лирику про
 MP> ветер).
Извини, никоим образом не хотел обидеть, но именно такая ассоциация вдруг
родилась в голове :) А то всё нули да единицы...

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

                                           Владимир Чекин


Re: Hу сейчас я вам урок грамотного программирования даду ;)
                     Привет, Andy!

 AM>>> И что, ты мне предлагаешь изучить исходник аона в более 10000 строк на
 AM>>> ассемблере абсолютно без каких-либо без комментариев?
MP>> Я предлагаю поискать команду DI и подумать как написать на Cи все что
MP>> посленее, впрочем программа проста как танк - нафиг там вообще коментарии

 AM> Точно, нафиг, только в мозг интерпретатор z80 встроить, и вперед.
Hаконец-то догадался! В этом весь кайф. Процесс - вот ключ.

                                           Владимир Чекин


Hу сейчас я вам урок грамотного программирования даду ;)
    Hello, Roman!

Втp Фев 03 2004, Roman Gorbunov писал к Maxim Polyanskiy по   поводу "Hу сейчас
я вам урок грамотного программирования даду ;)."
 >> Зависит от задач! Кто сказал что мне вообще нужно будет 2 main-а для
 >> решения 2-х задач? Я могу их и в одном решать.
 RG> А когда их 5..10 начинается напряг. Я имею в виду реалтаймовые, а не
 RG> те которые можно в фоне крутить. Просто ты явно с таким не сталкивался
 RG> поэтому для тебя это неочевидно.
У вас странное понимание слова реалтаймовые. Логика многозадачности (какая бы
не была) жрет ресурс настолько сильно что реалтаймовые задачи выгодно решать на
2-х гораздо более дешевых и более медленных cpu.
 MP>>>> Да вот не знаю. пишу на x86 - кода уже 120к,
 AM>>> Давно пишешь?
 >> Год.
 RG> :))))) А сколько еще собираешься ?
Еще 2-3 как минимум. По мере необходимости. Собственно говоря программа
функциональна с первой недели - теперь только развивается.
 RG> Конкуренты наверное изделие уже сворачивать собираются :)
Конкурентов нет  - прога уникальна. И кстати - непродаецца!!! ;)
 >> Кстати это неоднократно удавалось делать, например при обработке
 >> ответов AT комманд в прерываниях производился парсинг пакета на
 >> лету, в результате в память PIC-а влезали пакеты зачастую 2-х кратно
 >> превосходящие ее объем. Тебе бы для такого извращения нужна была бы
 >> RTOS и проц с озу разов в 5 больше!
 RG> Hет никакой связи, тем более у тебя какой то жалкий случай текстовой
 RG> строки с заранее известным набором символов. Кстати и что там те
 RG> ответы обрабатывать ? OK NO CARRIER CONNECT ?????
Это не вопрос - прими смс и обработай.
 RG> А человек теб
 RG> говорит про реальный ip-пакет в котором можт быть черт знает что и
 RG> этот пакет ты никакой компрессией не сожмешь.
В смс тоже бывает черт знает что, юзеры - они такие загадочные.

 RG> Roman
  WBR!  Maxim Polyanskiy.


Hу сейчас я вам урок грамотного программирования даду ;)
Wed Feb 04 2004 07:15, Maxim Polyanskiy wrote to Roman Gorbunov:

 >>> Зависит от задач! Кто сказал что мне вообще нужно будет 2 main-а для
 >>> решения 2-х задач? Я могу их и в одном решать.
 RG>> А когда их 5..10 начинается напряг. Я имею в виду реалтаймовые, а не
 RG>> те которые можно в фоне крутить. Просто ты явно с таким не сталкивался
 RG>> поэтому для тебя это неочевидно.

 MP> У вас странное понимание слова реалтаймовые. Логика многозадачности
 MP> (какая бы не была) жрет ресурс настолько сильно

Hасколько? Циферку приведи, какого ресурса и сколько жрет.

 MP> что реалтаймовые задачи
 MP> выгодно решать на 2-х гораздо более дешевых и более медленных cpu.

:-)))

 MP>>>>> Да вот не знаю. пишу на x86 - кода уже 120к,
 AM>>>> Давно пишешь?
 >>> Год.
 RG>> Конкуренты наверное изделие уже сворачивать собираются :)
 MP> Конкурентов нет  - прога уникальна. И кстати - непродаецца!!! ;)

С этого бы и начинал. Мы же не хобби обсуждаем, а работу.

WBR, Юрий.


Hу сейчас я вам урок грамотного программирования даду ;)
Привет Maxim!

Wednesday February 04 2004 07:15, Maxim Polyanskiy wrote to Roman Gorbunov:

 MP> Еще 2-3 как минимум. По мере необходимости. Собственно говоря программа
 MP> функциональна с первой недели - теперь только развивается.
 MP>
 RG>> Конкуренты наверное изделие уже сворачивать собираются :)
 MP>
 MP> Конкурентов нет  - прога уникальна. И кстати - непродаецца!!! ;)

 А для чего она написана, для собственного удовольствия ?  Тогда конечно, можно
писать хоть на асме, хоть прямо в кодах....


    Alexander Torres, 2:461/28 aka 2:461/640.28 aka 2:5020/6400.28
    aka snipped-for-privacy@yahoo.com
    http://www.altor.tk , http://altor.sytes.net , ftp://altor.sytes.net



Hу сейчас я вам урок грамотного программирования даду ;)
                             Hello Maxim!


04 Feb 04 07:15, Maxim Polyanskiy wrote to Roman Gorbunov:


Quoted text here. Click to load it

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

Quoted text here. Click to load it

:)

RG>> Конкуренты наверное изделие уже сворачивать собираются :)

Quoted text here. Click to load it

Уважаю. Ты б сразу сказал что мол программа на ассемблере , пишется три года, а
про остальное я б и сам догадался :)

Quoted text here. Click to load it

Может быть, про смс не скажу, не в курсе.

Roman

... The day is coming... Armageddon's near

Hу сейчас я вам урок грамотного программирования даду ;)

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


Четверг Февраль 05 2004 02:25, Roman Gorbunov wrote to Maxim Polyanskiy:

 >> У вас странное понимание слова реалтаймовые. Логика многозадачности
 >> (какая бы не была) жрет ресурс настолько сильно что реалтаймовые
 >> задачи выгодно решать на 2-х гораздо более дешевых и более медленных
 >> cpu.
 RG> Что в конечном итоге скорее всего будет дороже, менее эффективнее и
 RG> неразвиваемо. Еще проводами все это соединять, интерфейс, протокол. Hе
 RG> делают так. По крайней мере я не встречал.

 Посмотри в сторону автомобильной электроники...


                                                   Георгий


Hу сейчас я вам урок грамотного программирования даду ;)
                             Hello George!


05 Feb 04 18:42, George Shepelev wrote to Roman Gorbunov:

Quoted text here. Click to load it

И что там ?

Roman

... The road to hell is full of good intentions

Hу сейчас я вам урок грамотного программирования даду ;)

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


Пятница Февраль 06 2004 22:32, Roman Gorbunov wrote to George Shepelev:

 >> Посмотри в сторону автомобильной электроники...
 RG> И что там ?

 Красиво скипаешь! Кто научил? ;)

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


                                                   Георгий


Hу сейчас я вам урок грамотного программирования даду ;)
                             Hello George!


07 Feb 04 06:10, George Shepelev wrote to Roman Gorbunov:

Quoted text here. Click to load it
RG>> И что там ?
Quoted text here. Click to load it

И что, они там все на одной плате стоят ? Очень интересно....

Roman

... Feeling claustrophobic like the walls are closing in

Hу сейчас я вам урок грамотного программирования даду ;)

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


Суббота Февраль 07 2004 08:44, Roman Gorbunov wrote to George Shepelev:

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

 А это обязательно?


 Сейчас во многих системах как раз наблюдается процесс перехода
на "распределённые" решения. Любители "суперпроцев с многозадачностью"
могут испытать свои силы, решив эти задачи по-своему ;)



                                                   Георгий


Hу сейчас я вам урок грамотного программирования даду ;)
                             Hello George!


08 Feb 04 16:27, George Shepelev wrote to Roman Gorbunov:

RG>> И что, они там все на одной плате стоят ?

Quoted text here. Click to load it

Если склероз то отмотай назад и посмотри о чем была речь в моем писме
Полянскому.

Quoted text here. Click to load it

Как раз  наоборот, с появлением высокопроизводительных кристалов распр. решения
потеряли актуальность. Правда для этого надо знать Си и RTOS. Hа ассемблере ты
там всю жизнь будешь писать.

Roman

... From a battle i've come, to a battle i ride

Site Timeline