Страница 6 из 7

Re: Переход от асма к си

Добавлено: Сб сен 24, 2016 16:16:54
СЦБист
сам то что умеешь , кроме как писать ?

думай !

Re: Переход от асма к си

Добавлено: Сб сен 24, 2016 17:56:58
Siarzhuk
СЦБист писал(а):сам то что умеешь , кроме как писать ?
Не множить сущности на ровном месте. Даже STL-евские каракатицы не typedef-лю - ибо они однозначны, в отличие от ...

Re: Переход от асма к си

Добавлено: Сб сен 24, 2016 21:59:10
ARV
COKPOWEHEU писал(а):в Си размер и наличие знака у большинства стандартных типов данных (char, int) не стандартизовано.
почему-то мне кажется, что int - всегда со знаком... не стандартизирован только его размер в байтах.
СЦБист писал(а):Может кому-то пригодится набор функций для установки , сброса, проверки битов
маловероятно, что это кому-нибудь пригодится из числа тех, кто работает с микроконтроллерами... так как все это без избыточности решается примитивными выражениями, а для особо ленивых - макросами.
СЦБист писал(а):в си их нету
если это про указатели - я пацталом. если про ссылки - то в приведенном вами ранее коде НЕТ ССЫЛОК.

Re: Переход от асма к си

Добавлено: Сб сен 24, 2016 22:27:23
COKPOWEHEU
СЦБист писал(а):Может кому-то пригодится набор функций для установки , сброса, проверки битов .
Ух Ё, надо же было придумать такое извращение когда есть практически стандартный способ на макросах.
#define SET_BIT(byte, bit) do{byte |= (1<<bit);}while(0)

Re: Переход от асма к си

Добавлено: Вс сен 25, 2016 01:33:54
shindax
СЦБист писал(а): ...в си их нету...
Да я в курсе, что где есть, просто не понял зачем приводить код без применения упоминаемых технологий.

Re: Переход от асма к си

Добавлено: Вс сен 25, 2016 11:25:00
botchin
СЦБист писал(а):жаль что вы не знаете что такое ссылки.

хотя откуда вам знать. в си их нету )))))
Изображение

Книга - Брайан Керниган, Деннис Ритчи, Алан Фьюэр. Язык программирования Си. Задачи по языку Си. — Москва: Финансы и статистика, 1985.

Нашел в www только задач: Алан Фьюэр - Задачи по языку Си.
Изображение

А почему в следующих изданиях их нет .....?????

Re: Переход от асма к си

Добавлено: Вс сен 25, 2016 12:01:46
Siarzhuk
botchin писал(а):А почему в следующих изданиях их нет .....?????
Переводное издание, вероятно товарищи Д.Б.Подшивалов и Г.А.Иващенко предпочли такой термин для указателей либо по эстетическим соображениям, либо он уже использовался в среде "разработчиков ПО для ЭВМ". А учитывая годом рождения С++ 1983 и исторический контекст позднего СССР, подозреваю о разнице между ссылками и указателями на русскоязычном просторе стало известно несколько попозже.

Re: Переход от асма к си

Добавлено: Вс сен 25, 2016 12:16:31
СЦБист
ARV писал(а):[que]маловероятно, что это кому-нибудь пригодится .

так я ж предлагаю не таким персонажам на подобе вас , а те кто малость плавали в Си.

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





.botchin там скорее указатели и массивы.

массивам это более присуще.

думай !

подсказка. название массива - это аресс нулевого элемента массива.

с двухмерными чуть по сложнее.

Re: Переход от асма к си

Добавлено: Вс сен 25, 2016 13:05:56
Siarzhuk
СЦБист писал(а):так я ж предлагаю [...] а те кто малость плавали в Си.
А тем кто плавает в С такие вредные советы тем более ни к чему. :-D

Re: Переход от асма к си

Добавлено: Вс сен 25, 2016 13:13:03
СЦБист
а от вас вообще никаких примеров нету. одна мазня.

Re: Переход от асма к си

Добавлено: Вс сен 25, 2016 13:15:48
Siarzhuk
СЦБист писал(а):подсказка. название массива - это аресс нулевого элемента массива.
Это не подсказка - это мантра. ;)
СЦБист писал(а):с двухмерными чуть по сложнее.
... ибо если-бы предыдущее не было мантрой - то в голове жила бы стройная картинка, в которой многомерность ни как не влияет на расположение нулевого элемента массива размерности N.

Re: Переход от асма к си

Добавлено: Вс сен 25, 2016 13:30:47
Siarzhuk
СЦБист писал(а):а от вас вообще никаких примеров нету.
Лукавите -даже в этой теме есть мой конкретный пример возможного использования C++ template в программировании МК. А вот советовать начинающим функции для работы с битами - это диверсия. :-D Уж кому кому, а ассемблерщику не знать о накладных расходах на вызовы _cdecl функций - это край. ;)

Re: Переход от асма к си

Добавлено: Вс сен 25, 2016 14:22:22
ARV
СЦБист писал(а):так что думайте, если не умеете работать с битовыми полями
я умею работать с битовыми полями - можно я не буду больше думать? ;)

Re: Переход от асма к си

Добавлено: Вс сен 25, 2016 14:31:59
СЦБист
раз умеете с ними работать , то не надо говорить что мои функции не будут работать.


вопрос для тех кто более менее шарит в си.

есть функция

Код: Выделить всё

void EEPROM_write(unsigned int uiAddress, unsigned char ucData)
{
/* Wait for completion of previous write */
while(EECR & (1<<EEWE))
;
/* Set up address and data registers */
EEAR = uiAddress;
EEDR = ucData;
/* Write logical one to EEMWE */
EECR |= (1<<EEMWE);
/* Start eeprom write by setting EEWE */
EECR |= (1<<EEWE);
}

она хороша только в случае , если константа байтовая.

кто предложит функцию для константы в 8 байт ?

и желательно что-бы писать и читать по индексу.


1 адресс начала блока надо будет запоминать ведь.

Re: Переход от асма к си

Добавлено: Вс сен 25, 2016 15:43:25
ARV
СЦБист писал(а):не надо говорить что мои функции не будут работать
работать-то они будут, только для микроконтроллеров рекомендовать их - это какое-то изощренное издевательство, есть куда более практичные подходы для этого.
СЦБист писал(а):вопрос для тех кто более менее шарит в си
не надо изобретать велосипед! я вам давал ссылку на цикл моих статей, которые являются слегка вольным переводом официальной документации к WinAVR (с моими дополнениями) - потрудитесь прочесть, и вам откроется многое, что уже есть в составе стандартной библиотеки компилятора! вы же с WinAVR (оно же avr-gcc) работаете? так в чем дело? все уже сделано сообществом разработчиков компилятора: и манипуляции с битами, и работа с EEPROM, и с FLASH, и еще с кучей всего - берите и пользуйтесь! есть, кстати, и функции для чтения/записи 1, 2, 4 и произвольного количества байтов в/из EEPROM - то самое, что вы спрашивали.

Re: Переход от асма к си

Добавлено: Вс сен 25, 2016 17:32:59
Аlex
СЦБист писал(а): так я ж предлагаю не таким персонажам на подобе вас , а те кто малость плавали в Си.
так что думайте, если не умеете работать с битовыми полями
В упор не вижу в вашем говнокоде работу с полями. Ткните носом.
И ещё, попробуйте ка посомтеть во что этот говнокод разворачивается и сравните с тем, как это можно сделать на АСМе. Вы же крутой Ассемблерщик, судя по вашим же словам. НУ а в Си(++), по всей вашей видимости, ещё больше шарите :)))
СЦБист писал(а): если константа байтовая
Где в коде константа ?
СЦБист писал(а): для константы в 8 байт
Что за константа такая в 8 байт, подробнее можно ?


ЗЫ: Люди. Вас, похоже, троллят по полной... Тут все - тупые, кроме одного единственного человека :)))

Re: Переход от асма к си

Добавлено: Вс сен 25, 2016 18:26:48
COKPOWEHEU
СЦБист писал(а): кто предложит функцию для константы в 8 байт ?
То есть в документацию по avr-libc ты так и не заглянул? Искомая функция называется eeprom_write_block.
раз умеете с ними работать , то не надо говорить что мои функции не будут работать.
Ты работать не умеешь. Поскольку не можешь выбрать лучший вариант по соотношению эффективность / наглядность. Твой способ проигрывает макросу по обоим параметрам - менее эффективно, менее наглядно и труднее в использовании.

Re: Переход от асма к си

Добавлено: Вс сен 25, 2016 19:01:50
Siarzhuk
Аlex писал(а):Тут все - тупые, кроме одного единственного человека
Риторический Клуб "У СЦБ-иста." :) Ждём Катарсиса - если в первом акте на сцену вышел Тролль - в третьем он вряд-ли откажет себе в удовольствии сорвать джекпот из бурных аплодисментов. Но пока звон граблей отбивает всё ту-же постылую мелодию - char не компилится, битовые операции зашифрованы, в квадратную дырку еепрома вставить многобайтный кирпич проблематично, кнопки дребезжат ....

Re: Переход от асма к си

Добавлено: Пн сен 26, 2016 12:50:01
СЦБист
ARV писал(а):[q]не надо изобретать велосипед!
я рискну, раз тут помои нет .


сам не придумаешь - никто не придумает.
COKPOWEHEU писал(а):[q
То есть в документацию по avr-libc ты так и не заглянул? Искомая функция называется eeprom_write_block.
.

и где это чудо лежит ? не надо выдумывать

Re: Переход от асма к си

Добавлено: Пн сен 26, 2016 13:25:38
ARV
СЦБист писал(а):я рискну
риск - удел героев и дураков. обычные люди почем зря не рискуют.
СЦБист писал(а):сам не придумаешь - никто не придумает
по поводу "стандартных библиотек" я бы так не говорил :write:
СЦБист писал(а):и где это чудо лежит ?
я вам минимум дважды показывал ссылку на место, где описано все... читали? :facepalm:
СЦБист писал(а):не надо выдумывать
так главный выдумщик тут вы :dont_know: