WINAVR

Loading thread data ...
Reply to
Nickita A Startcev

Hello, Dimmy Timchenko! You wrote in conference fido7.ru.embedded to Alex Mogilnikov on Wed, 19 Oct 2005 05:46:49

+0400:

DT> Да это я не про C/C++. :) Это я про реальность. Или, точнее, DT> математику.

Причем тут математика? Тип константы определяет чему ее можно присвоить (без преобразования ее типа :)).

DT> Число-литерал или константное выражение по природе своей не DT> принадлежит к какому-либо типу. Арифметический тип DT> определяется диапазоном значений и точностью. Константа же DT> имеет только одно, фиксированное значение.

Ну и что?

DT>>> Разница в данном случае - в эффективности.

AM>> Подмена темы.

DT> Да нет, я сразу об этом говорил. Type promotion - фича, очень DT> сомнительная в компиляторе C/C++ именно для микроконтроллера, DT> потому что на голом месте появляется лишний код.

Ничего не появляется, это твои фантазии.

AM>> Hужна эффективность - реализуй на ассемблере.

DT> Hу вот, а кто-то утверждает, что C "близок к реализации", DT> "супер-макро-ассемблер" и так далее. ;)

Так и есть.

DT> Суть-то в хоть какой-то переносимости. Вот адские "типы, DT> определяемые пользователем" дают максимальную переносимость. DT> Кстати, даже в C не рекомендуется пользоваться базовыми DT> типами.

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

AM>> Hаличие или отсутствие этого правила не влияет на AM>> эффективность реализации конкретного выражения. Оно лишь AM>> определяет область определения операции.

DT> Ещё как влияет.

Никак не влияет.

dima

formatting link

Reply to
Dmitry Orlov

Hello, Dimmy Timchenko! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Wed, 19 Oct 2005 07:05:57

+0400:

DT>>> Угу. Интересно, зачем в PSW у процессоров и МК есть бит DT>>> Overflow? :) И почему он применяется именно в знаковой DT>>> арифметике?

DO>> Ага, ты еще найди процессор, у которого было бы знаковое и DO>> беззнаковое сложение... Сложение - всегда сложение и делается DO>> оно абсолютно одинаково,

DT> Правильно. Только посмотри всё-таки на описание флага DT> Overflow. :)

Зачем? То, что он может использоваться для работы (не сложения) со знаковыми числами я вообще-то в курсе, только что из этого следует?

dima

formatting link

Reply to
Dmitry Orlov

Hello, Andrey Solomatov! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Wed, 19 Oct 2005 05:09:38

+0000 (UTC):

DO>> Ага, ты еще найди процессор, у которого было бы знаковое и DO>> беззнаковое сложение...

AS> i80x86 и производные.

Приведи коды команд знакового и беззнакового сложения байтов (слов).

DO>> Сложение - всегда сложение и делается оно абсолютно DO>> одинаково, как и пересылка.

AS> Вот только переполнение там по разному определяется...

Одинаковые команды одинаково ставят флаги. При сравнении например да, интерпретируются флаги по-разному.

DO>> Сравнение, умножение - да, зависящие от знака операции. DO>> Сложение, вычитание, логические - нет.

AS> [кусь]

dima

formatting link

Reply to
Dmitry Orlov
Reply to
Alex Mogilnikov
Reply to
Dimmy Timchenko
Reply to
Michael Belousoff
Reply to
Sergey Davydov
Reply to
Ruslan Mohniuc
Reply to
Dimmy Timchenko

Hello, Dimmy Timchenko! You wrote in conference fido7.ru.embedded to Alex Mogilnikov on Wed, 19 Oct 2005 15:37:32

+0400:

DT> Однако в библиотеках, как хранилищах полезного кода, смысл DT> очень даже есть. :) DT> Вот в BP/VP/FP etc с компилятором поставляется RTL - Runtime DT> Library, куча полезных юнитов (это что-то вроде DT> файла-библиотеки). :)

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

dima

formatting link

Reply to
Dmitry Orlov

Hello, Ivan Melnikov! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Wed, 19 Oct 2005 20:28:28

+0400:

DO>>>>>> Программа, написанная несколько лет назад - как новая. IM>>>>> Согласен, но беда эта уже твоя, ты плохо IM>>>>> документируешь программу. DO>>>> Гм. Откуда такой вывод? IM>>> Так программа для тебя новая как бы. DO>> Естественно, я уже забыл что 5-6 лет назад было, а то и DO>> больше.

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

Бывает не просто нужно, а нужно что-то изменить в нем.

DO>> Соответственно и компиляторы меняю. А проблемы с макросами в DO>> макроассемблере вообще на PC у меня были много лет назад. DO>> Сейчас я все или почти все на С пишу.

IM> Я нет, я стараюсь, если позволит время и IM> обстоятельства писать на ассеблере, хотя этого времени IM> появляется меньше.

А смысл какой?

IM>>>>>>> Кроме этого, еще один плюс, меньше ошибок в программе. DO>>>>>> Пока что-то менять не начнешь. IM>>> У меня такого не было. Просто все меняю и все.

DO>> А потом побочные эффекты вылазят. Такое и на С бывает, но DO>> гораздо реже.

IM> Hа Си да, у меня было, а вот на ассемблере нет, видно IM> писал для x51.

И что что для i51?

IM>>> Ты в большем количестве пользовался различными IM>>> оболочками для программирования ? DO>> Да нет, оболочками я как раз не особо пользуюсь. Предпочитаю DO>> интегрировать компилятор в привычную и удобную для меня DO>> среду.

IM> Значит ты пользуешься редактором или подключаешь к IM> какой нибудь интегрированной среде ?

Не важно чем я пользуюсь, есть привычная для меня среда, к которой подключаются компиляторы.

IM> Или как ты работаешь. Я кейлом пользуюсь для IM> программирования контроллеров. А ты ?

А я для программирования пользуюсь программатором.

dima

formatting link

Reply to
Dmitry Orlov
Reply to
Alex Mogilnikov
Reply to
Dimmy Timchenko

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.