-
- А почему комментариев-то практически нет? - Bill(27.09.2011 12:45)
- Пойдет? - mazur(27.09.2011 20:47)
- Что именно? - Bill(28.09.2011 07:11)
- Комментарии - mazur(28.09.2011 08:01)
- Получше стало. - Bill(28.09.2011 10:44)
- Комментарии - mazur(28.09.2011 08:01)
- Что именно? - Bill(28.09.2011 07:11)
- "текст программы и так всё поясняет" :=) - koyodza(27.09.2011 14:50)
- Он молодой, все помещается в органической памяти. - Vladimir Ljaschko(27.09.2011 12:52)
- Пойдет? - mazur(27.09.2011 20:47)
- там можно найти больше единомышленников koyodza(33 знак., 25.09.2011 16:35, ссылка)
- Не смейте разгонять молодёжь. - General(26.09.2011 14:52)
- Я вам так надоел? :) - mazur(25.09.2011 16:43)
- нет. Но есть разница между упорством и упрямством :=) - koyodza(25.09.2011 16:48)
- Я просмотрел много сайтов. И не нашел ни одного, где бы я получил ту помощь и знания, которые получил здесь. Что я получу на сайте, где задают абсолютно дебильные вопросы (конечно и мои вопросы могли выглядеть неприглядно, но там действительно mazur(177 знак., 25.09.2011 17:26)
- Не обращай внимание на брюзжание, поступай так, как считаешь правильным. - General(26.09.2011 14:55)
- дебилизм встречается везде, и среди профессионалов тоже koyodza(86 знак., 25.09.2011 17:29)
- Я просмотрел много сайтов. И не нашел ни одного, где бы я получил ту помощь и знания, которые получил здесь. Что я получу на сайте, где задают абсолютно дебильные вопросы (конечно и мои вопросы могли выглядеть неприглядно, но там действительно mazur(177 знак., 25.09.2011 17:26)
- нет. Но есть разница между упорством и упрямством :=) - koyodza(25.09.2011 16:48)
- ldix,ldiz,ldiy Зачем три одинаковых макроса , если можно сделать один? - ilyaul(07.09.2011 21:22)
- напишите этот макрос и я вам объясню почему. - mazur(07.09.2011 21:28)
- Плиз ilyaul(57 знак., 07.09.2011 22:12 - 22:15)
- Мне объясни :)) MBedder(426 знак., 07.09.2011 22:03)
- Эти макросы ничем не влияют на размер кода и скорость. Смысл их одинаков. Не нужно писать лишние параметры. ldix BUFFER вместо ldiw XH,XL,BUFFER - mazur(08.09.2011 08:54)MBedder
- Не ldiw XH,XL,BUFFER, а ldiw X,BUFFER - четай внимательно. Макросы плодить на всякий чих - наиглупейшая идея - MBedder(08.09.2011 08:58)
- :) да есть у меня эти макросы. А на каждый чих и не пложу. Или плодю? Короче, фантики не собираю. - mazur(08.09.2011 09:04)
- Это вместо "спасибо" ? ;) Короче, все есть и никто тебе не нужен. Зачем пишешь тогда? - Vladimir Ljaschko(08.09.2011 09:39)
- :) да есть у меня эти макросы. А на каждый чих и не пложу. Или плодю? Короче, фантики не собираю. - mazur(08.09.2011 09:04)
- Не ldiw XH,XL,BUFFER, а ldiw X,BUFFER - четай внимательно. Макросы плодить на всякий чих - наиглупейшая идея - MBedder(08.09.2011 08:58)
- Эти макросы ничем не влияют на размер кода и скорость. Смысл их одинаков. Не нужно писать лишние параметры. ldix BUFFER вместо ldiw XH,XL,BUFFER - mazur(08.09.2011 08:54)MBedder
- напишите этот макрос и я вам объясню почему. - mazur(07.09.2011 21:28)
- Мда-а-а, с учетом ваших советов ужал управление ЖКИ по 4-битной шине на 50 байтов... Сопля я еще зеленая... - mazur(01.09.2011 09:27)
- А зачем? - PlainUser(26.09.2011 13:20)
- Меня всегда вымораживал этот вопрос. Ну давайте не будем смотреть на объем скомпиленных программ. Работает и хай с ним. В TINY не влезло, мегу8 возьмем. Туда не влезло возьмем мегу256. Или с чем вы там работаете. А че, кристаллы дешевые. И как мы mazur(86 знак., 26.09.2011 13:38)
- Последние лет 20-25 я постоянно ВЫНУЖДЕН от чего-то отказываться из-за нехватки времени. То в село, к брату не поедешь, то книгу не почитаешь, то "код не по-оптимизируешь". Если проблемы нет, то это либо узкий кругозор, либо "подлинный дзен" :) - Скрипач(26.09.2011 14:47 - 27.09.2011 13:15)
- Не,не,не.Так не пойдет.Возьмем скажем мегу8 напишем быстро и качественно , желательно на 80% используя старые наработки....А вот когда будет не влезать в мегу8 , вот тогда перечитав "историю двух бай" и начнем выеживаться. - PlainUser(27.09.2011 12:55)
- Можно оптимизировать софт, а можно оптимизировать затраты личного времени на одну заработанную денежную единицу. =AlexD=(649 знак., 26.09.2011 14:09)
- Эх , вспомнил как к АРМ7 подключил АЦП на 16MSPS ,хотя это как-бы невозможно.Без битов и тактов не обошлось.Ну в общем никому это нафиг не надо.Зато примитивная деятельность идет на ура. - PlainUser(27.09.2011 13:07)
- Оттож :-( - =AlexD=(27.09.2011 13:34)
- Эх , вспомнил как к АРМ7 подключил АЦП на 16MSPS ,хотя это как-бы невозможно.Без битов и тактов не обошлось.Ну в общем никому это нафиг не надо.Зато примитивная деятельность идет на ура. - PlainUser(27.09.2011 13:07)
- А зачем? Зачем за те же бабки тратить лишнее время? Есть ещё много зачем, в том числе прямо адресованные к Вашим "методам". Но ответы на них должны интересовать в первую очередь Вас. А мне пох - Vit(26.09.2011 13:50)
- ты и прав и неправ одновременно: должна быть золотая середина - koyodza(26.09.2011 13:48)
- Меня всегда вымораживал этот вопрос. Ну давайте не будем смотреть на объем скомпиленных программ. Работает и хай с ним. В TINY не влезло, мегу8 возьмем. Туда не влезло возьмем мегу256. Или с чем вы там работаете. А че, кристаллы дешевые. И как мы mazur(86 знак., 26.09.2011 13:38)
- Думаю, там ещё можно. По крайней мере в моём фрагменте можно переставить пару команд в теле Send_Byte после чего Send_Nibble превратить в три команды и rjmp туда, в серёдку Send_Byte. Но Вы так и не поняли основной посыл содержательной ReAl(408 знак., 01.09.2011 10:51)
- С еором ничего не выйдет. Все равно нужно сохранять LCD_DATA. r16-младшая тетрада-управление. Старшая тетрада-шина данных. На LCD сначала отправляется старшая тетрада, затем младшая. - mazur(01.09.2011 11:02)
- Пробовал разные варианты. Если уж мы нашли время на это. Давайте пойдем до конца. Дано: еор избавляет нас от push\pop. Используются два регистра. r16, r17. Докажите. Я потратил время на ваши варианты и свои. Докажите. С железобетонными фактами. - mazur(01.09.2011 16:23)
- Не надо пробовать разные Ваши. Надо пробовать один мой. Только тогда претензии могут предъявляться ко мне. - ReAl(01.09.2011 16:26, ссылка)
- У вас либо ошибка, либо опечатка. Надо: mazur(80 знак., 01.09.2011 16:33)
- БЛИН ЗПТ У МЕНЯ ТАК КАК НАДО ТЧК НАДО ИМЕННО 0X0F ЗПТ ПРОВЕРЬТЕ В СИМУЛЯТОРЕ ТЧК - ReAl(01.09.2011 16:35)
- Вы мне сегодня слишком напомнили Вас же того периода, когда Вы тут появились. И быстро отбили у меня желание чему-то Вас учить. Я опять устал. - ReAl(01.09.2011 16:38)
- Виноват, простите меня, засранца. mazur(136 знак., 01.09.2011 16:45)
- Ну, жвачка хоть и не ириска, коронки так не срывает, но все равно не люблю. Простить не сложно, сложнее потом не вспомнить. - ReAl(02.09.2011 18:25)
- Кхм-кхм... mazur(01.09.2011 18:50)
- Виноват, простите меня, засранца. mazur(136 знак., 01.09.2011 16:45)
- Вы мне сегодня слишком напомнили Вас же того периода, когда Вы тут появились. И быстро отбили у меня желание чему-то Вас учить. Я опять устал. - ReAl(01.09.2011 16:38)
- БЛИН ЗПТ У МЕНЯ ТАК КАК НАДО ТЧК НАДО ИМЕННО 0X0F ЗПТ ПРОВЕРЬТЕ В СИМУЛЯТОРЕ ТЧК - ReAl(01.09.2011 16:35)
- У вас либо ошибка, либо опечатка. Надо: mazur(80 знак., 01.09.2011 16:33)
- Не надо пробовать разные Ваши. Надо пробовать один мой. Только тогда претензии могут предъявляться ко мне. - ReAl(01.09.2011 16:26, ссылка)
- Я умею признавать свои ошибки. А вы? Речи нет, вы хорошие специалисты, но, проверьте хотя бы свои теоретические выкладки... DATA_PORT-PORTC, LCD_DATA-r17 mazur(01.09.2011 16:08 - 16:11)
- Проверьте это. Полностью соответствует первоначальному моему варианту в плане применения EOR ReAl(1040 знак., 01.09.2011 16:24 - 16:27, ссылка)
- На этих картинках нет моего варианта кода. То, что в вашем есть ошибка -- видно невооруженным глазом без симулятора. - ReAl(01.09.2011 16:14)
- Возможно, я и ошибаюсь. Но LCD_DATA "сохраняется" в своем же регистре, никуда не исчезая. Проверьте ReAl(1501 знак., 01.09.2011 13:20)
- Младшая часть LCD_DATA убивает младшую часть r16. - mazur(01.09.2011 13:37)
- Нет. Там для этого два EOR с маскированием старшей части LCD_DATA. (R16LO XOR LCD_DATA_LO) XOR LCD_DATA_LO = R16LO XOR (LCD_DATA_LO XOR LCD_DATA_LO) = R16LO XOR 0 = R16LO - ReAl(01.09.2011 14:45 - 14:50)
- Вы, похоже, теоретически рассуждаете. Я уже прогнал в симуляторе ваши варианты, свои накидал и прогнал. Не получается с EOR. - mazur(01.09.2011 14:59)
- «Нет ничего практичнее хорошей теории». Либо у меня описка (так как всё должно работать), и Вы её просто скопировали в свой тест, или Вы добавили свою, или крив симулятор. EOR работает как положено. Например, ReAl(242 знак., 01.09.2011 16:13)
- Нет, у меня описки нету. Там всё нормально. - ReAl(01.09.2011 16:17, ссылка)
- ;) А не замахнуться ли нам на
Вильяма, нашего, Шекспирабулеву алгебру? Сильно. А в обычной математике, типа 2+2=4 тоже сомневаетесь и на калькуляторе проверяете? - Cepгeй Бopщ(01.09.2011 15:44)
- «Нет ничего практичнее хорошей теории». Либо у меня описка (так как всё должно работать), и Вы её просто скопировали в свой тест, или Вы добавили свою, или крив симулятор. EOR работает как положено. Например, ReAl(242 знак., 01.09.2011 16:13)
- Вы, похоже, теоретически рассуждаете. Я уже прогнал в симуляторе ваши варианты, свои накидал и прогнал. Не получается с EOR. - mazur(01.09.2011 14:59)
- Нет. Там для этого два EOR с маскированием старшей части LCD_DATA. (R16LO XOR LCD_DATA_LO) XOR LCD_DATA_LO = R16LO XOR (LCD_DATA_LO XOR LCD_DATA_LO) = R16LO XOR 0 = R16LO - ReAl(01.09.2011 14:45 - 14:50)
- Младшая часть LCD_DATA убивает младшую часть r16. - mazur(01.09.2011 13:37)
- Пробовал разные варианты. Если уж мы нашли время на это. Давайте пойдем до конца. Дано: еор избавляет нас от push\pop. Используются два регистра. r16, r17. Докажите. Я потратил время на ваши варианты и свои. Докажите. С железобетонными фактами. - mazur(01.09.2011 16:23)
- С еором ничего не выйдет. Все равно нужно сохранять LCD_DATA. r16-младшая тетрада-управление. Старшая тетрада-шина данных. На LCD сначала отправляется старшая тетрада, затем младшая. - mazur(01.09.2011 11:02)
- А самое главное -- это бесполезная работа, байты экономить. По крайней мере таким образом. google://принцип или закон Парето. - fk0(01.09.2011 10:38)
- А теперь филосовский вопрос: и что это вам дало по большому счету? Ваша программа не влезала и эти 50 байт ее спасли? Нет. Она не успевала а теперь успевает? Тоже нет. Выходит, вы потратили время зря, только лишь ради собственного удовлетворения Cepгeй Бopщ(160 знак., 01.09.2011 10:37)
- Ну, дык, парень учится. Красиво написаная программка тренирует мосх прально думать. - mse ща как залогинюсь!(09.09.2011 22:36, )
- А зачем? - PlainUser(26.09.2011 13:20)
- Господа, когда я зашел на сайт и увидел ваши последние сообщения, то просто офигел. Писал про обновление дисплея, а дискуссия завернула на управление LCD. Пример управления ЖКИ по 4-битной шине я слямзил и переписал давно. По крайней мере у одного mazur(592 знак., 31.08.2011 18:35)
- я бы сказал, дали несколько советов как убивать драконов - koyodza(31.08.2011 19:02, ссылка)
- Один хороший человек мне когда-то сказал-Время рассудит. - mazur(31.08.2011 19:29)
- я бы сказал, дали несколько советов как убивать драконов - koyodza(31.08.2011 19:02, ссылка)
- Ну, понаехали тут. А я-то, а я-то, от избытка чувств, в зобу дыханье сперло, что все работает, щедрым жестом, вот вам нате, из-под кровати.... :))))))) - mazur(30.08.2011 21:09)
- Ну... RLA,SSA,RSS (это не три команды ассемблера, а одна, а вот RLA,SSA -- это другая одна команда) никто ведь не написал? Ну, до этого :-) А теперь так, что в глаза бросилось: ReAl(1831 знак., 31.08.2011 00:24 - 00:49)
- Чтобы mazur не подумал, что мы не понимаем ассемблер (т.е. выходит, что мы его понимаем, а он нас - нет, что из этого следует пусть думает сам) Cepгeй Бopщ(80 знак., 31.08.2011 10:38)
- Добавлю также, что компилятор от IAR выполняет такую же оптимизацию. - Bill(31.08.2011 16:47)
- GCC тоже. А также заменяет длинные call/jmp на короткие, если куски даже из разных файлов легли близко. Впрочем, это делает линкер, так что он это и для асм-програм сделает. Мне ещё в этом смысле нравился AVOCET-овский ассемблер для MCS-51. ReAl(553 знак., 31.08.2011 17:25)
- Да, есть и такая оптимизация. - Bill(31.08.2011 18:27)
- GCC тоже. А также заменяет длинные call/jmp на короткие, если куски даже из разных файлов легли близко. Впрочем, это делает линкер, так что он это и для асм-програм сделает. Мне ещё в этом смысле нравился AVOCET-овский ассемблер для MCS-51. ReAl(553 знак., 31.08.2011 17:25)
- Вот кстати да, и, кстати, в этом месте и не так, а просто провалиться на следующую команду :-) ReAl(1411 знак., 31.08.2011 11:03)
- Добавлю также, что компилятор от IAR выполняет такую же оптимизацию. - Bill(31.08.2011 16:47)
- В последнем примере call ещё больше сэкономит ;)) - Т.Достоевский(31.08.2011 00:51)
- Чтобы mazur не подумал, что мы не понимаем ассемблер (т.е. выходит, что мы его понимаем, а он нас - нет, что из этого следует пусть думает сам) Cepгeй Бopщ(80 знак., 31.08.2011 10:38)
- Ну... RLA,SSA,RSS (это не три команды ассемблера, а одна, а вот RLA,SSA -- это другая одна команда) никто ведь не написал? Ну, до этого :-) А теперь так, что в глаза бросилось: ReAl(1831 знак., 31.08.2011 00:24 - 00:49)
- :020000040000fa fk0(603 знак., 30.08.2011 18:26)
- кошерно :) - RED_DRAGON(30.08.2011 20:09)
- этапять:))) - Vit(30.08.2011 18:28)
- Ну это ты загнул. Я же читаю ассемблерный код твоих профессиональных пиков и ничего... - mazur(30.08.2011 18:28)
- на вот ещё это почитай, тоже ассемблер koyodza(767 знак., 30.08.2011 19:38)
- ARM? - mazur(10.04.2013 18:49)
- выложить чтоли рисунок того что синтезатор из верилога на tech-уровне лепит )))) - Mahagam(30.08.2011 19:59)
- на вот ещё это почитай, тоже ассемблер koyodza(767 знак., 30.08.2011 19:38)
- А почему комментариев-то практически нет? - Bill(27.09.2011 12:45)