DO>>> Если код сохранился, пришли мне, я на новых версиях проверю. DO>>> Интересно. DO>
DEO>> а там очень простой код был DO>
DEO>> switch(a) DEO>> { DEO>> case 10: DEO>> case 0: DEO>> case 9: DEO>> тут действия по 10 0 и 9 DEO>> break; DEO>> case .. DEO>> break; DEO>> } DO>
DO> Вот что 8.02PL1 делает DO> 135 ;T.C: 49: switch(a) DO> 136 07ED 2FF2 goto l5 DO> 137 07EE l8 DO> 138 ;T.C: 53: case 9: DO> 139 ;T.C: 54: a++; DO> 140 07EE 0AA0 incf ?a_main DO> 141 ;T.C: 55: break; DO> 142 07EF 2FFE goto l3 DO> 143 07F0 l9 DO> 144 ;T.C: 56: case 22: a--; DO> 145 07F0 03A0 decf ?a_main DO> 146 ;T.C: 57: break; DO> 147 07F1 2FFE goto l3 DO> 148 07F2 l5 DO> 149 07F2 0820 movf ?a_main,w DO> 150 07F3 1903 btfsc 3,2 DO> 151 07F4 2FEE goto l8 DO> 152 07F5 3A09 xorlw 9 DO> 153 07F6 1903 btfsc 3,2 DO> 154 07F7 2FEE goto l8 DO> 155 07F8 3A03 xorlw 3 DO> 156 07F9 1903 btfsc 3,2 DO> 157 07FA 2FEE goto l8 DO> 158 07FB 3A1C xorlw 28 DO> 159 07FC 1903 btfsc 3,2 DO> 160 07FD 2FF0 goto l9 DO> 161 ;T.C: 60: } DO>
DO> А вот это - 9.50 DO>
DO> 130 ;T.C: 49: switch(a) DO> 131 07EC 2FF1 goto l5 DO> 132 07ED l8 DO> 133 ;T.C: 52: case 0: DO> 134 07ED 0AA0 incf ?a_main DO> 135 ;T.C: 55: break; DO> 136 07EE 2FFD goto l3 DO> 137 07EF l9 DO> 138 ;T.C: 56: case 22: a--; DO> 139 07EF 03A0 decf ?a_main DO> 140 ;T.C: 57: break; DO> 141 07F0 2FFD goto l3 DO> 142 07F1 l5 DO> 143 07F1 0820 movf ?a_main,w DO> 144 07F2 1903 btfsc 3,2 DO> 145 07F3 2FED goto l8 DO> 146 07F4 3A09 xorlw 9 DO> 147 07F5 1903 btfsc 3,2 DO> 148 07F6 2FED goto l8 DO> 149 07F7 3A03 xorlw 3 DO> 150 07F8 1903 btfsc 3,2 DO> 151 07F9 2FED goto l8 DO> 152 07FA 3A1C xorlw 28 DO> 153 07FB 1903 btfsc 3,2 DO> 154 07FC 2FEF goto l9 DO> 155 ;T.C: 60: } DO>
а я гляжу они наконец весь код switch отдельно вынесли и не смешивают его с кодом. то есть отдельно распределялка куда ходить, отдельно ветки. раньше смешивалось (типа меньше инструкций)
цифры на xor'ах проверять не стал, но вроде на взгляд похоже на правду
это кстати включена оптимизация или нет?
DEO>> так вот фишка была в том что повторяющиеся кейзы (без брейка) DEO>> если среди них ноль встречался то там генерился код не DEO>> воздействовавший на признак переноса и 0 и (или) 9 не отрабатывали DO>
DEO>> и это было мне жуть трудно выловить: меняю константы поведение DEO>> программы меняется а потом уж в листинге асмовском выловил DO>
DO> Бывает... DO>
это кстати бага была в 7.сколько-то (не помню уж) версиях :) а у тебя я смотрю 8 и 9 давно им уж не пользуюсь :)
DO>>> Видимо сильно от количества зависит. Hам дилеры Атмела не смогли DO>>> предложить ни аналога F73 ни F819 дешевле микрочиповских дилеров. DO>>> Количества - десятки тысяч штук. Было наоборот дороже, и заметно. DO>
DEO>> дык AtMega уж куда круче аналог? DEO>> F73 эквивалентен восьмой атмеге. DO>
DO> Так дороже она, и существенно. DO>
атмега 8 - бакс стоит (меньше) а F73 - пять баксов (он кстате от 873 чем-то отличается? когда я на пики забил 73 не было, были 873) корпуса вроде те же цены близкие
DEO>> только восьмая существенно лучше, да и с банками данных гемороиться DEO>> не надо и цена в 5-10 раз ниже DO>
DO> F73 мы где-то по $1.20 - $1.30 покупаем.
formatting link
?search=PIC16F73это в каких партиях?
DO> Практически столько же, кстати и DO> F76 стоят, и F9[не помню что точно] в той же коробке. Атмелы предлагали DO> раза DO> в полтора дороже. 5-10 раз - это из области единичных количеств у случайных DO> продавцов. Когда я тут некоторое время назад конкурс проводил, DO> сравнивались цены у джобберов на PIC12F675 и атмеловские восьминогие DO> аналоги. Все они были примерно в те же полтора раза дороже, правда вопрос DO> реализуемости на них той же задачи остался не выясненным - никто так и не DO> взялся. Условия конкурса
formatting link
восьминогие уже дешевле полубакса можно найти ту програму что в архиве можно неглядя сказать что туда влезет (по объему глянул) вопрос только в ногах
DEO>>>> микрочип одно время выпускал "самую дешевую мелочь" вроде РIC16, DEO>>>> а сейчас время прошло, а цены те же F877 как стоил так и стоит DEO>>>> 5-7 баксов. DO>
DO>>> Мы за такие деньги PIC18 с 64к памяти покупаем... дык если бы оно на PIC18 переезжало бы без проблем. вот атмел выпускает новый проц так он по ногам один в один становится на старый ...-AtMega103-AtMega128-At90CAN128 и таких примеров куча а у пиков съезд с 16 на 18 (и на 17) перелопачивания исходников требовал как минимум (если одного банка ОЗУ не хватало в 16-шке)
DO> Причем в единичных количествах. DO>
DEO>>
formatting link
в том и дело что новые DEO>> процы у них дешевеют, а старые они на новые технологии не DEO>> переводят. получается либо периодически свои разработки DEO>> переразводи, да перекомпиляй либо завязывай с этими пиками DO>
DO> Hу у Атмела с этим еще хуже, они старые вообще с производства снимают. вот как раз наоборот старый сняли, новый и двоичная и пиновая совместимость (пример выше)
DO> А PIC'и поддерживают часто и двоичную совместимость, DO> то есть часто можно тот же hex в новый кристалл шить. DO>
последний проц с которым я возился это 42 из 17 линейки (насколько я помню) так как раз на 17 пытались уйти от того что 16F877 не хватало ресов. пиновой совместимости совсем не было, переходник делали и вариантов без переходника тоже не было.
правда может микрочип за ум и взялись то в 18-шке
DEO>>>> и на дешевые приложение их уже стремотно ставить при наличии DEO>>>> полубаксовых AVR с бОльшими ресурсами DO>
DO>>> Это какие конкретно AVR полбакса стоят и чем у каких PIC'ов у них DO>>> бОльшие ресурсы? Самые дешевые из применяемых нами PIC'ов около DO>>> бакса стоят... DO>
DEO>> ну я уходил с пиков во времена 16-й серии, что там в 18-й сейчас не DEO>> слежу а любая атмега имеет ресурсов на борту больше чем 16-й пик и DEO>> стоит дешевле. DO>
DO> Да нет, судя по приведенному тобой же сайту. И уж ни о каких 5-10 разах DO> речь DO> вообще не идет. DO>
упс и правда на атмеги лажа какая-то ща спрошу где мы их покупаем. заодно узнаю сколько там же PIC'и ща стоят
DEO>> 8-я атмега ща чуть меньше бакса стоит, если в меги не ударяться то DEO>> можно и за пол бакса найти, ну или та же восьмерка в большой партии DEO>> :) DO>
DO> Hа твоем ресурсе цены от $1.8 до $2.4 на ATmega8-16AI Кстати, лень DO> смотреть, в ssop28 их пакуют? DO>
TQFP в основном мы по кр. мере TQFP везде ставим есть вроде в DIP и в SOIC, но надо глядеть какое-то приложение мы делали на атмелах в таком корпусе, помню только что на TQFP перелезли потому что более малогабаритный он там они вообще мини выпускают 5х5мм 32 ноги, но мы их не пробовали ни разу
а насчет цен меньше бакса стоит Atmega8L-8AI (сейчас AU - безсвинцовая технология)
16-шка по сравнению с микрочипом это ж тактовая в три с лишним раза больше ;) микрочипы 20 мегагерц на 4 делили а AVR на указанной тактовой работают. да и операции у него не с одним W идут а с кучей регистров => на той же тактовой AVR быстрее.
я завтра спрошу где мы их берем, там же узнаем и цены на микрочипы :)
DO> Я в основном pic16 применяю, во всяком случае в массовых изделиях. а ну тогда я значит в курсе примерно всего что там есть :)