реклама на сайте
подробности

 
 
35 страниц V  « < 30 31 32 33 34 > »   
Reply to this topicStart new topic
> Pascal для AVR
zltigo
сообщение Dec 16 2008, 22:43
Сообщение #466


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(SasaVitebsk @ Dec 17 2008, 01:17) *
Я привёл данные, что-то никто из спорщиков мне не ответил. Размер исходника, на небольшом аналогичном проекте в Си проге в 1.5-1.6 раз больше!

Это практически невероятно, радикальное различие может быть только за счет использования одной другой толстой универсальной сишной библиотечной функции, по сравнению с какой-нибудь абсолютно минималистичной узкоспециализированной библиотечке от "Паскаля". Листинг есть, Вы же можете посмотреть. По тому, что было вывалено для движка "ферзей" паскалевский результат не годен. Ну или, как вариант, на любом языке можно писать, как на Паскале smile.gif, только эффективность будет разная.


Цитата(SasaVitebsk @ Dec 17 2008, 01:32) *
Может просто руки в @опе у тех, у кого что-то падает? Или знаний не хватает?
Я без намёков естественно.

Можете считать, что у меня в жопе, но та поделка писаная на Дельфях (я уже писал), которая называлась здесь в качестве "Паскаля для AVR" упала у меня через 4-5 минут работы. Когда прошлый раз у меня что-то падало....э было.... но не припомню когда.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
733259
сообщение Dec 17 2008, 03:40
Сообщение #467


Местный
***

Группа: Участник
Сообщений: 205
Регистрация: 8-03-05
Пользователь №: 3 146



Цитата
Зачем ?
Для полноты, ИМХО lsl Вы выбрали не удачно.
Цитата
Ну и что это, как не птичий язык ? Уже с одной переменной нихрена не разберешь, а их может быть и дюжина и вообще, сколько угодно.
Одна строчка хуже трёх? Легко и просто можно разобраться при не большой привычке.
Цитата
Особенно забавляет факт повторной передачи отдефайненного.
Чото не увидел повторной передачи, Test_byte упоминается один раз.
Цитата
Гланды - через жопу, короче.
А это - Ваше субъективное мнение.
Моё, тоже субъективное, - эти слова подходят к паскалю.

Цитата
Ога, си - это болезнь )))
Ничо, ради эффективности можно поболеть и не только си, даже ассемблером.
Go to the top of the page
 
+Quote Post
Serhiy_UA
сообщение Dec 17 2008, 06:25
Сообщение #468


Знающий
****

Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112



Мог бы кто оформить здесь вопросник типа: "Чем Вы программируете AVR", с ответами:
1. С/С++
2. Pascal
3. Assembler

А также "Покупали ли Вы ПО для программирования AVR"
1. Покупал
2. Не покупал

Через пару недель все вопросы этого топика "Pascal для AVR" разрешились бы сами собой.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 17 2008, 06:46
Сообщение #469


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Огурцов @ Dec 17 2008, 05:55) *
Гланды - через жопу, короче.

Любой inline assembler через жопу. Реализация в GCC, при этом практически единственная, которую можно использовать в реальности. Тот-же бролондячие продукты, как С, так Паскаль встретив "красивую" и "понятную" пишущему ASM вставку ОТКЛЮЧАЮТ ОПТИМИЗАЦИЮ совсем, ибо тупо транслируют ее в код, соответственно совершенно не разбираясь с содежимым. Практически это в борланда страшнейшая заплатка к которой из-за ограниченности языка ПРИХОДИТСЯ прибегать чрезмерно часто. В общем случае ASM-у асмово - НЕ СМЕШИВАТЬ!
Цитата
Между прочим, подняли интересный факт - гораздо быстрее набирается begin/end, нежели скобки{}, которые набираются с шифтом (, как и прочие знаки.

Набираются они нормальными людьми одинаково быстро, поскольку нормальные люди
- пользуются темплейтами;
- печатают не одним пальцем;
- думают в процессе.
А вот читается вся эта хрень много медленнее, а со сбитым, или кривым форматированием совсем хреново.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Legotron
сообщение Dec 17 2008, 07:21
Сообщение #470


инопланетянин
***

Группа: Свой
Сообщений: 236
Регистрация: 24-12-06
Из: Питер
Пользователь №: 23 832



На мой взгляд begin end в Паскале читается также хреново как #ifdef #endif на Си (если смотреть код вообще без подсветок).

Ума не приложу как можно медленно набирать скобки... разве что вообще 1 пальцем через Caps Lock lol.gif
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Dec 17 2008, 09:40
Сообщение #471


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(Legotron @ Dec 17 2008, 07:21) *
Ума не приложу как можно медленно набирать скобки... разве что вообще 1 пальцем через Caps Lock lol.gif

Вот-вот, если одним пальцем, то разницы и нет что begin, что скобки. А вот если набираете десятью, то шифты со скобками - это как булыжник на скоростной трассе.
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Dec 17 2008, 09:49
Сообщение #472


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(zltigo @ Dec 17 2008, 02:43) *
Можете считать, что у меня в жопе, но та поделка писаная на Дельфях (я уже писал), которая называлась здесь в качестве "Паскаля для AVR" упала у меня через 4-5 минут работы. Когда прошлый раз у меня что-то падало....э было.... но не припомню когда.

smile.gif
Да нет конечно. Этого я утверждать не собираюсь. В общем и целом я разделяю ваши взгляды, просто пытаюсь быть объективным. Не люблю всеогульного обхаивания. По моему, повально ругая язык, мы несколько оскорбляем людей им пользующихся.
smile.gif
Когда вы ответили мне на сравнение с обычным языком, то по принципу "родину не выбирают". "С молоком матери".
Возможно вы правы, но как-то не хочется верить, что если бы я выбирал, то выбрал бы другой. smile.gif
Это тоже как то унижает людей, которые говорят на конкретном языке.

В принципе, мы получили белорусский язык в достаточном объёме. Я, в своё время достаточно им владел. Например читал на нём книги (был момент дифицита разных книг и некоторые приличные "бестселлеры" смог достать только на белорусском). Не просто читал, а легко читал. Практически как на русском. Потом не замечаешь разницы. Тем не менее, русский язык мне нравится больше. Он приятнее.

Если вас не затруднит, пришлите проект, который у вас падает. Я бога ради не собираюсь вас поучать/ поправлять/ или что-то там аналогичное. Это чисто для себя. Мне просто любопытно. У меня действительно ничего не падает.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Dec 17 2008, 09:49
Сообщение #473


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(zltigo @ Dec 17 2008, 06:46) *
Любой inline assembler через жопу.

Если GCC - любой, то таки да, любой.

Цитата(zltigo @ Dec 17 2008, 06:46) *
Тот-же бролондячие продукты, как С, так Паскаль встретив "красивую" и "понятную" пишущему ASM вставку ОТКЛЮЧАЮТ ОПТИМИЗАЦИЮ совсем, ибо тупо транслируют ее в код, соответственно совершенно не разбираясь с содежимым.

И абсолютно правильно делают. Поскольку уж если прогер взялся за ассемблер, то на то есть серьезные причины и оптимизатору не стоит пытаться умничать.
Go to the top of the page
 
+Quote Post
Rst7
сообщение Dec 17 2008, 09:50
Сообщение #474


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Может просто руки в @опе у тех, у кого что-то падает? Или знаний не хватает?Я без намёков естественно.


Это, видать, камень в мой огород (я тут страниц 10 назад жаловался)? Ну так можете мои посты почитать, у меня всегда сначала поиск граблей у себя, потом еще раз у себя, и еще раз у себя, а потом уже у других. Так что можете довериться мне в этом вопросе smile.gif


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
733259
сообщение Dec 17 2008, 09:58
Сообщение #475


Местный
***

Группа: Участник
Сообщений: 205
Регистрация: 8-03-05
Пользователь №: 3 146



Цитата
По моему, повально ругая язык, мы несколько оскорбляем людей им пользующихся.
ИМХО верно при отсутствии объективных критериев.
Но Вы же видели листинг.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Dec 17 2008, 09:59
Сообщение #476


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(733259 @ Dec 17 2008, 03:40) *
Одна строчка хуже трёх?

Не скромничайте. У вас, как минимум три строки - оператор, входные аргументы и выходные аргументы. Когда аргументов будет больше одного, к вам придет песец, поскольку именуются они по номеру места, на котором находятся, т.е. при добавлении/удалении новых аругментов будете полностью переписывать весь ассемблерный код. Ну вы наверно должны быть в курсе, если хоть что-то реально писали на вставках в gcc, что я вам рассказываю.
Go to the top of the page
 
+Quote Post
733259
сообщение Dec 17 2008, 10:06
Сообщение #477


Местный
***

Группа: Участник
Сообщений: 205
Регистрация: 8-03-05
Пользователь №: 3 146



Цитата
И абсолютно правильно делают. Поскольку уж если прогер взялся за ассемблер, то на то есть серьезные причины и оптимизатору не стоит пытаться умничать.
Ога, и вручную писать lds, sts?
Неа, мы как нибудь по старинке, с оптимизацией. biggrin.gif biggrin.gif biggrin.gif

Цитата
Когда аргументов будет больше одного, к вам придет песец, поскольку именуются они по номеру места,
А я знаю, ха-ха.
Цитата
т.е. при добавлении/удалении новых аругментов будете полностью переписывать весь ассемблерный код
При добавлении и логика меняется, не находите? Но обычно надо только перенумероватьать. smile.gif Это не трудно.
Цитата
если хоть что-то реально писали на вставках в gcc,
Писал и пишу, как-то без особых затруднений. smile.gif
Go to the top of the page
 
+Quote Post
Demeny
сообщение Dec 17 2008, 10:21
Сообщение #478


Знающий
****

Группа: Свой
Сообщений: 648
Регистрация: 11-02-06
Из: Санкт-Петербург
Пользователь №: 14 237



Добавьте в начало программы всего две строчки
Код
#define begin {
#define end }

и Ваш любимый С-компилятор начнёт собирать и паскалевские исходники.
yeah.gif


--------------------
Сделано в Китае. Упаковано в России.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Dec 17 2008, 10:28
Сообщение #479


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(Demeny @ Dec 17 2008, 14:21) *
и Ваш любимый С-компилятор начнёт собирать и паскалевские исходники.
yeah.gif

Очень умнО ! crying.gif Если приходим к такому выводу на 10^6 посте темы, то это действительно диалог слепо-глухонемых.
Go to the top of the page
 
+Quote Post
ReAl
сообщение Dec 17 2008, 10:32
Сообщение #480


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(Огурцов @ Dec 17 2008, 11:59) *
Когда аргументов будет больше одного, к вам придет песец, поскольку именуются они по номеру места, на котором находятся, т.е. при добавлении/удалении новых аругментов будете полностью переписывать весь ассемблерный код.
Кажется, в этой теме кто-то что-то говорил про то, что прежде чем ругать, надо сначала знать то, что ругаешь... Или это касается только ругания паскаля, С можно ругать "и так"?
И gcc на месте тоже не стоит. Когда-то он и PORTB = value; не умел, сейчас и со вставками работает "красивше"
Можно дать имена всем, в том числе и "локальным" регистрам асм-вставки
Код
    asm("lsl %[_b]": [_b] "+r" (Test_byte) );
и никаких номеров.
3.4.6 такое точно брал.


Цитата(Огурцов @ Dec 17 2008, 11:49) *
И абсолютно правильно делают. Поскольку уж если прогер взялся за ассемблер, то на то есть серьезные причины и оптимизатору не стоит пытаться умничать.
Он "от себя" и не "умничает". Ему задаются пределы, в которых он может заменять эквивалентные регистры не меняя общего хода кода - таким образом, чтобы не поломать оптимизацию того, что до и после вставки.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post

35 страниц V  « < 30 31 32 33 34 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 1st August 2025 - 18:43
Рейтинг@Mail.ru


Страница сгенерированна за 0.01513 секунд с 7
ELECTRONIX ©2004-2016