Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить

Re: Вычисляемый переход - проблема

Вс ноя 25, 2018 17:51:00

Мда))). А всего то спросил про GOTO и BRA))). А я на свои свистоперделки не покупаю контроллеры, они мне достаются из неисправной техники. И среди них пара pic18. Правда заказал в Али STM32 попробовать хочу.

Re: Вычисляемый переход - проблема

Пн ноя 26, 2018 22:56:37

Те STMки лучше уже сразу на платке...
К примеру та же bluePill (http://wiki.stm32duino.com/index.php?title=Blue_Pill)
наиболее демократична по цене...
:roll:

Re: Вычисляемый переход - проблема

Пн дек 03, 2018 16:37:43

Мда))). А всего то спросил про GOTO и BRA))).

Название темы примерно - "проблема с вычисляемым переходом в Пик-18". И что плохого в том что был дан ответ на вопрос, который ещё не успелся задать ?
Ну так да - если прога из 3х строк - можно все выч переходы в 0 странице делать, просто прибавляя WREG к PCL без контроля.
Но как только уровень проги чуть выше (например бутлоадер любой в прожект вставить который займёт первые 512 байт ПЗУ) - так сразу и нужны универсальные предсказуемо работающие решения, которые лично мной и были перечислены.
А я на свои свистоперделки не покупаю контроллеры, они мне достаются из неисправной техники. И среди них пара pic18.

Ну, моргать светодиодой - можно по разному, согласен.
Более того - чем проще проц, тем проще его пользовать/осознавать.
Правда заказал в Али STM32 попробовать хочу.

И тут согласен - уж коль со строением Пик18 такая глубина познаний - то в СТМ-32 ещё большее богатство внутреннего устройства - лишь ЯВУ и готовые заготовки/библиотеки от других людей.
Но это в любом случае хорошо - что есть такие 40 ног платки за 100 рублей с 32 бита процом/стабом/кварцем/УСБ бутлоадером, позволяющим из бэйсика моргать светодиодой всего в сотню раз медленнее чем из асма на Пик-18.
Но согласен - жадность микрочипа должна быть наказана.
PicAxe - сдулся, цена Olimex платок на Pic32 соизмерима с Banana Pi Zero при меньшем функционале.
Бэйсикописателям - тоже надо на чём-то навыки тренировать, согласен.

Re: Вычисляемый переход - проблема

Пн дек 03, 2018 17:16:57

жадность микрочипа должна быть наказана.

И кто будет наказывать? :))) :))) :)))
И кого?
Из того, что Микрочип ничего не снимает с производства не следует, что все неснятое нужно применять.
Цена определяется объемами (до определенных пределов, конечно). И если Олимекс выпускает платку с ПИК32, значит ему есть куда ее продавать за обозначенную цену.
Впрочем, цена на сопоставимый по производительности с АРМом МИПС примерно одинакова.

Re: Вычисляемый переход - проблема

Пн дек 03, 2018 18:28:49

Для МК суть гораздо глубже.
Хотя и начинается вроде бы с "мелочей".
Система компилятор-линкер-библиотекарь (а на той же базе и ЯВУ строятся) умеет обрабатывать многофайловые проекты большей частью "склейкой" однотипных секций кода/данных.
Однако более уязвимым местом на сегодня, из-за увеличения и усложнения внутренней аппаратной периферии, становится участок начальной конфигурации "системы на кристалле", особо в случаях использования в одном проекте нескольких фрагментов, каждый из которых имеет свой аппаратный модуль с собственной начальной конфигурацией (а еще хуже - с динамически изменяемой конфигурацией аппаратных средств во время исполнения проекта и/или отдельно выполненной области конфигурационной информации).
Посему уже даавненько напрашивается некоторый начальный БИОС в каждом из кристаллов "система-на-кристалле", разрабатываемый (и жестко прошиваемый в кристалл при изготовлении) производителем в рамках применимых к ЯВУ.
Следующий этап развития скорее всего пойдет в данном направлении. Это неизбежность перехода "количества в качество" по аналогии пройденного в былые времена у "больших компьютеров".
:roll:
У микрощипа единственное неоспоримое преимущество - преемственность в корпусировании моделей МК с разными "потрохами"(разных поколений) - облегчение в случае модификации уже имеющихся конструкций. Так что свою нишу "периферийных контроллеров" будет держать долго и крепко. А на основе доходов от "массового ширпотреба" можно и чем покруче "побаловаться".
8)

Re: Вычисляемый переход - проблема

Пн дек 03, 2018 20:36:37

Для МК суть гораздо глубже.
Хотя и начинается вроде бы с "мелочей".

Это очень согласен.
Ибо "глубина сути сутей" опирается именно на глубину копания/восприятия мыслителя.
И для например собаки в качестве мыслителя - всё просто, ибо нет для неё сути МК, не существует, это за гранью её восприятия.
Но лично мне понра прогноз что СТМ-32 на платке 40 ног с кнопой/стабом/кварцем/парочкой СД/кондёров/USB/JTAG за 100 рублей - всего лишь (временный) демпинг, проталкивание дитятки в рынок, борьба за долю с возросшими от слияния Атмель+Микрочип.
Система компилятор-линкер-библиотекарь (а на той же базе и ЯВУ строятся) ... участок начальной конфигурации "системы на кристалле" ... даавненько напрашивается некоторый начальный БИОС в каждом из кристаллов "система-на-кристалле" ... неизбежность перехода "количества в качество" по аналогии пройденного в былые времена у "больших компьютеров".

И с этим - согласен, но по другому.
Как это происходило с настольными компами - постепенное малозаметное закрытие исходников и спецификаций БИОС / ОС / библиотек / прикладухи - и вот она - современность, сообщество всем миром пишет альтернативный БИОС с открытым исходным кодом десяток годов кряду. Ибо некоторых достала ситуёвина с закладками/недекларированными возможностями "персонального" (но не факт что именно твоей персоны) компьютера, потребляющего ЭЭ из твоей розетки.
А акулы бизнесов - "кто владеет инфой, тот владеет миром" - открыто вконец оборзели с интернет обновлениями/интернет регистрациями/ограничением срока службы ПО - открыто предлагают аренду вместо покупки права использования на века. На том и живут, согласен.
Именно это надо ждать от "систем на кристалле" - "осей на кристалле" от МикроСофт ? Глючных, тормознутых и никому неизвестно как работающих, с огромными исходниками, в которых сами мелкомягкие уже утонули, но регулярно вымогающих бапки из шарика за обновления версий/библиотек, с регулярными обещалками "всё исправить" в следующей версии.
И этот гордиев узел - только рубить по лично мне, Си как прокладка оказался жупелом, не давшим в итоге того, ради чего создавался.

Re: Вычисляемый переход - проблема

Пн дек 03, 2018 21:08:37

psw2.ru писал(а):позволяющим из бэйсика моргать светодиодой всего в сотню раз медленнее чем из асма на Пик-18.
Проверяли или просто так написали?

BOB51 писал(а):особо в случаях использования в одном проекте нескольких фрагментов, каждый из которых имеет свой аппаратный модуль с собственной начальной конфигурацией
И в чем сложность? Каждый модуль конфигурируется отдельно, не влияя на остальные.

BOB51 писал(а):Посему уже даавненько напрашивается некоторый начальный БИОС в каждом из кристаллов "система-на-кристалле", разрабатываемый (и жестко прошиваемый в кристалл при изготовлении) производителем в рамках применимых к ЯВУ.
В роли этого "биоса" выступает библиотека функций от производителя, выполняемая до пользовательской программы и производящая начальную конфигурацию. Преимущество в том что можно при необходимости изменить начальный код.

BOB51 писал(а):преемственность в корпусировании моделей МК
В других МК (например в STM32) также, так это это не уникальная особенность ПИКов.

psw2.ru писал(а):Но лично мне понра прогноз что СТМ-32 на платке 40 ног с кнопой/стабом/кварцем/парочкой СД/кондёров/USB/JTAG за 100 рублей - всего лишь (временный) демпинг
По такой цене изготавливают китайцы, а не производитель МК. Просто STM32 стоят недорого и такая стоимость не день и не два, а примерно с начала производства МК, т. е. около 10 лет.
Стоимость STM32F103C8T6 около 1$. Вероятно оптом китайцы берут еще дешевле.

psw2.ru писал(а):всем миром пишет альтернативный БИОС с открытым исходным кодом десяток годов кряду.
Для компа? Для какой модели системной платы? Их очень много и у каждой он свой.
Для компов биос закрыт вероятно чтобы конкуренты (другие производители системных плат) не использовали его. И майкрософт к биосу отношения не имеет. Они винду пишут.

Re: Вычисляемый переход - проблема

Вт дек 04, 2018 07:31:53

Стоимость STM32F103C8T6 около 1$. Вероятно оптом китайцы берут еще дешевле.

А теперь правильный ответ:

Изображение

Увеличение количества сверх 5000 штук за конкретную позицию не снижает цену НИ НА ОДИН ЦЕНТ. Представленные цены абсолютно минимальны.
Специально привел цену на F030 в SSOP20, чтобы была понятна адекватность представленных цен.
То, что продают китайцы, НИКАКОГО ОТНОШЕНИЯ к STmicroelectroniks не имеет. Это все китайские клоны маркированные как франко-итальянская продукция.
Таким образом, Вы соврали про цену ровно В ТРИ РАЗА.
При этом нужно понимать, что Маузер и Диджикей продают в тех же партиях ровно по той же цене (отличие в единицах центов). Просто потому, что для производителя совершенно безразлично какой магазин продает его продукцию. Торговые издержки крупного магазина могут быть даже ниже, чем у магазина собственного.

Re: Вычисляемый переход - проблема

Вт дек 04, 2018 12:37:57

КРАМ писал(а):То, что продают китайцы, НИКАКОГО ОТНОШЕНИЯ к STmicroelectroniks не имеет. Это все китайские клоны маркированные как франко-итальянская продукция.
Если это клоны, то они не отличаются от оригинала, причем скопированы в т. ч. недокументированная память и периферия. Про утиный тест слышали? Он доказывает что это STM32, а не клоны.

Re: Вычисляемый переход - проблема

Вт дек 04, 2018 12:48:53

Он доказывает что это STM32, а не клоны.

Не клоном является лишь то, что получено от STm. Существуют официальные каналы дистрибуции. Все они дают ОДИНАКОВЫЕ ЦЕНЫ в партиях 5000+. Все остальное, как минимум, клоны, а может и левые партии с фабрик типа TSMC не прошедшие те или иные тесты.
Для нетребовательных поделий сгодится.
К слову, ни один вменяемый производитель не будет устраивать демпинг отдельно взятому покупателю, если он желает работать с широкой сетью дистрибуции. Его просто пошлют нах.
Если говорить про утиный тест, то игры с китайцами на эту тему я уже проходил. Не с STM32, но тут важны правила, а не конкретная позиция в принципиальной схеме. Опыт мне говорит, что скупой платит дважды. А чаще многократно больше.

Re: Вычисляемый переход - проблема

Сб янв 05, 2019 15:49:07

Мда. А всего то спросил про GOTO и BRA.

Ну так да - если прога из 3х строк - можно все выч переходы в 0 странице делать, просто прибавляя WREG к PCL без контроля.
Но как только уровень проги чуть выше

Кстати - вот дизасм RsBug внутрисхемного отладчика от МикроЧипа, там и вычисляемый переход есть, и недокументированная команда тоже
Спойлер
Код:
 Line  Address  Opcode Label                Disassembly             
  7902   3DBA    FFFF         NOP                                   
  7903   3DBC    FFFF         NOP                                   
  7904   3DBE    FFFF         NOP                                   
  7905   3DC0    D023         BRA 0x3e08                             
  7906   3DC2    D8EA         RCALL 0x3f98                           
  7907   3DC4    50F9         MOVF PCL, W, ACCESS                   
  7908   3DC6    45FA         RLNCF 0xfa, W, BANKED                 
  7909   3DC8    26F9         ADDWF PCL, F, ACCESS                   
  7910   3DCA    0000         NOP                                   
  7911   3DCC    D036         BRA 0x3e3a                             
  7912   3DCE    D03A         BRA 0x3e44                             
  7913   3DD0    D044         BRA 0x3e5a                             
  7914   3DD2    D045         BRA 0x3e5e                             
  7915   3DD4    D062         BRA 0x3e9a                             
  7916   3DD6    D063         BRA 0x3e9e                             
  7917   3DD8    D080         BRA 0x3eda                             
  7918   3DDA    D081         BRA 0x3ede                             
  7919   3DDC    D07E         BRA 0x3eda                             
  7920   3DDE    D07F         BRA 0x3ede                             
  7921   3DE0    D0AC         BRA 0x3f3a                             
  7922   3DE2    D00E         BRA 0x3e00                             
  7923   3DE4    D0B3         BRA 0x3f4c                             
  7924   3DE6    D00C         BRA 0x3e00                             
  7925   3DE8    D00B         BRA 0x3e00                             
  7926   3DEA    D00A         BRA 0x3e00                             
  7927   3DEC    D009         BRA 0x3e00                             
  7928   3DEE    D008         BRA 0x3e00                             
  7929   3DF0    D007         BRA 0x3e00                             
  7930   3DF2    D006         BRA 0x3e00                             
  7931   3DF4    D005         BRA 0x3e00                             
  7932   3DF6    D004         BRA 0x3e00                             
  7933   3DF8    D003         BRA 0x3e00                             
  7934   3DFA    D002         BRA 0x3e00                             
  7935   3DFC    D0B2         BRA 0x3f62                             
  7936   3DFE    D0B3         BRA 0x3f66                             
  7937   3E00    6BFA         CLRF 0xfa, BANKED                     
  7938   3E02    D8DF         RCALL 0x3fc2                           
  7939   3E04    D8DE         RCALL 0x3fc2                           
  7940   3E06    D7DD         BRA 0x3dc2                             
  7941   3E08    CFE0         MOVFF BSR, 0x2fd                       
  7942   3E0A    F2FD         NOP                                   
  7943   3E0C    0102         MOVLB 0x2                             
  7944   3E0E    CFD8         MOVFF STATUS, 0x2fe                   
  7945   3E10    F2FE         NOP                                   
  7946   3E12    6FFF         MOVWF 0xff, BANKED                     
  7947   3E14    CFE9         MOVFF FSR0L, 0x2fc                     
  7948   3E16    F2FC         NOP                                   
  7949   3E18    CFEA         MOVFF FSR0H, 0x2fb                     
  7950   3E1A    F2FB         NOP                                   
  7951   3E1C    CFFA         MOVFF PCLATH, 0x2f5                   
  7952   3E1E    F2F5         NOP                                   
  7953   3E20    CFFB         MOVFF PCLATU, 0x2f4                   
  7954   3E22    F2F4         NOP                                   
  7955   3E24    50D4         MOVF 0xfd4, W, ACCESS                 
  7956   3E26    0BC8         ANDLW 0xc8                             
  7957   3E28    0952         IORLW 0x52                             
  7958   3E2A    6ED4         MOVWF 0xfd4, ACCESS                   
  7959   3E2C    66FC         TSTFSZ STKPTR, ACCESS                 
  7960   3E2E    D7C9         BRA 0x3dc2                             
  7961   3E30    2AFC         INCF STKPTR, F, ACCESS                 
  7962   3E32    6AFD         CLRF TOSL, ACCESS                     
  7963   3E34    6AFE         CLRF TOSH, ACCESS                     
  7964   3E36    6AFF         CLRF TOSU, ACCESS                     
  7965   3E38    D7C4         BRA 0x3dc2                             
  7966   3E3A    D8C3         RCALL 0x3fc2                           
  7967   3E3C    0E00         MOVLW 0                               
  7968   3E3E    6FFA         MOVWF 0xfa, BANKED                     
  7969   3E40    D8C0         RCALL 0x3fc2                           
  7970   3E42    D7BF         BRA 0x3dc2                             
  7971   3E44    D8BE         RCALL 0x3fc2                           
  7972   3E46    0E02         MOVLW 0x2                             
  7973   3E48    6FFA         MOVWF 0xfa, BANKED                     
  7974   3E4A    D8BB         RCALL 0x3fc2                           
  7975   3E4C    0E00         MOVLW 0                               
  7976   3E4E    6FFA         MOVWF 0xfa, BANKED                     
  7977   3E50    D8B8         RCALL 0x3fc2                           
  7978   3E52    0E00         MOVLW 0                               
  7979   3E54    6FFA         MOVWF 0xfa, BANKED                     
  7980   3E56    D8B5         RCALL 0x3fc2                           
  7981   3E58    D7B4         BRA 0x3dc2                             
  7982   3E5A    91F6         BCF 0xf6, 0, BANKED                   
  7983   3E5C    D001         BRA 0x3e60                             
  7984   3E5E    81F6         BSF 0xf6, 0, BANKED                   
  7985   3E60    D8B0         RCALL 0x3fc2                           
  7986   3E62    D89A         RCALL 0x3f98                           
  7987   3E64    C2FA         MOVFF 0x2fa, FSR0L                     
  7988   3E66    FFE9         NOP                                   
  7989   3E68    D897         RCALL 0x3f98                           
  7990   3E6A    C2FA         MOVFF 0x2fa, FSR0H                     
  7991   3E6C    FFEA         NOP                                   
  7992   3E6E    D894         RCALL 0x3f98                           
  7993   3E70    C2FA         MOVFF 0x2fa, 0x2f9                     
  7994   3E72    F2F9         NOP                                   
  7995   3E74    D891         RCALL 0x3f98                           
  7996   3E76    C2FA         MOVFF 0x2fa, 0x2f8                     
  7997   3E78    F2F8         NOP                                   
  7998   3E7A    67F9         TSTFSZ 0xf9, BANKED                   
  7999   3E7C    2BF8         INCF 0xf8, F, BANKED                   
  8000   3E7E    B1F6         BTFSC 0xf6, 0, BANKED                 
  8001   3E80    D004         BRA 0x3e8a                             
  8002   3E82    CFEE         MOVFF POSTINC0, 0x2fa                 
  8003   3E84    F2FA         NOP                                   
  8004   3E86    D89D         RCALL 0x3fc2                           
  8005   3E88    D003         BRA 0x3e90                             
  8006   3E8A    D886         RCALL 0x3f98                           
  8007   3E8C    C2FA         MOVFF 0x2fa, POSTINC0                 
  8008   3E8E    FFEE         NOP                                   
  8009   3E90    2FF9         DECFSZ 0xf9, F, BANKED                 
  8010   3E92    D7F5         BRA 0x3e7e                             
  8011   3E94    2FF8         DECFSZ 0xf8, F, BANKED                 
  8012   3E96    D7F3         BRA 0x3e7e                             
  8013   3E98    D794         BRA 0x3dc2                             
  8014   3E9A    91F6         BCF 0xf6, 0, BANKED                   
  8015   3E9C    D002         BRA 0x3ea2                             
  8016   3E9E    81F6         BSF 0xf6, 0, BANKED                   
  8017   3EA0    D000         BRA 0x3ea2                             
  8018   3EA2    D88F         RCALL 0x3fc2                           
  8019   3EA4    D879         RCALL 0x3f98                           
  8020   3EA6    6EA9         MOVWF EEADR, ACCESS                   
  8021   3EA8    D877         RCALL 0x3f98                           
  8022   3EAA    D876         RCALL 0x3f98                           
  8023   3EAC    C2FA         MOVFF 0x2fa, 0x2f9                     
  8024   3EAE    F2F9         NOP                                   
  8025   3EB0    D873         RCALL 0x3f98                           
  8026   3EB2    9EA6         BCF EECON1, 0x7, ACCESS               
  8027   3EB4    B1F6         BTFSC 0xf6, 0, BANKED                 
  8028   3EB6    D005         BRA 0x3ec2                             
  8029   3EB8    80A6         BSF EECON1, 0, ACCESS                 
  8030   3EBA    CFA8         MOVFF EEDATA, 0x2fa                   
  8031   3EBC    F2FA         NOP                                   
  8032   3EBE    D881         RCALL 0x3fc2                           
  8033   3EC0    D007         BRA 0x3ed0                             
  8034   3EC2    84A6         BSF EECON1, 0x2, ACCESS               
  8035   3EC4    D869         RCALL 0x3f98                           
  8036   3EC6    C2FA         MOVFF 0x2fa, EEDATA                   
  8037   3EC8    FFA8         NOP                                   
  8038   3ECA    D860         RCALL 0x3f8c                           
  8039   3ECC    B2A6         BTFSC EECON1, 0x1, ACCESS             
  8040   3ECE    D7FE         BRA 0x3ecc                             
  8041   3ED0    2AA9         INCF EEADR, F, ACCESS                 
  8042   3ED2    2FF9         DECFSZ 0xf9, F, BANKED                 
  8043   3ED4    D7EF         BRA 0x3eb4                             
  8044   3ED6    94A6         BCF EECON1, 0x2, ACCESS               
  8045   3ED8    D774         BRA 0x3dc2                             
  8046   3EDA    91F6         BCF 0xf6, 0, BANKED                   
  8047   3EDC    D001         BRA 0x3ee0                             
  8048   3EDE    81F6         BSF 0xf6, 0, BANKED                   
  8049   3EE0    D870         RCALL 0x3fc2                           
  8050   3EE2    D85A         RCALL 0x3f98                           
  8051   3EE4    C2FA         MOVFF 0x2fa, TBLPTR                   
  8052   3EE6    FFF6         NOP                                   
  8053   3EE8    D857         RCALL 0x3f98                           
  8054   3EEA    C2FA         MOVFF 0x2fa, TBLPTRH                   
  8055   3EEC    FFF7         NOP                                   
  8056   3EEE    D854         RCALL 0x3f98                           
  8057   3EF0    C2FA         MOVFF 0x2fa, TBLPTRU                   
  8058   3EF2    FFF8         NOP                                   
  8059   3EF4    D851         RCALL 0x3f98                           
  8060   3EF6    D850         RCALL 0x3f98                           
  8061   3EF8    C2FA         MOVFF 0x2fa, 0x2f9                     
  8062   3EFA    F2F9         NOP                                   
  8063   3EFC    D84D         RCALL 0x3f98                           
  8064   3EFE    C2FA         MOVFF 0x2fa, 0x2f8                     
  8065   3F00    F2F8         NOP                                   
  8066   3F02    2BF8         INCF 0xf8, F, BANKED                   
  8067   3F04    A1F6         BTFSS 0xf6, 0, BANKED                 
  8068   3F06    D004         BRA 0x3f10                             
  8069   3F08    0E94         MOVLW 0x94                             
  8070   3F0A    6EA6         MOVWF EECON1, ACCESS                   
  8071   3F0C    D83F         RCALL 0x3f8c                           
  8072   3F0E    0000         NOP                                   
  8073   3F10    A1F6         BTFSS 0xf6, 0, BANKED                 
  8074   3F12    D005         BRA 0x3f1e                             
  8075   3F14    D841         RCALL 0x3f98                           
  8076   3F16    C2FA         MOVFF 0x2fa, TABLAT                   
  8077   3F18    FFF5         NOP                                   
  8078   3F1A    000D         TBLWT*+                               
  8079   3F1C    D004         BRA 0x3f26                             
  8080   3F1E    0009         TBLRD*+                               
  8081   3F20    CFF5         MOVFF TABLAT, 0x2fa                   
  8082   3F22    F2FA         NOP                                   
  8083   3F24    D84E         RCALL 0x3fc2                           
  8084   3F26    2FF9         DECFSZ 0xf9, F, BANKED                 
  8085   3F28    D7F3         BRA 0x3f10                             
  8086   3F2A    2FF8         DECFSZ 0xf8, F, BANKED                 
  8087   3F2C    D7F1         BRA 0x3f10                             
  8088   3F2E    A1F6         BTFSS 0xf6, 0, BANKED                 
  8089   3F30    D748         BRA 0x3dc2                             
  8090   3F32    06F6         DECF TBLPTR, F, ACCESS                 
  8091   3F34    D82B         RCALL 0x3f8c                           
  8092   3F36    0000         NOP                                   
  8093   3F38    D744         BRA 0x3dc2                             
  8094   3F3A    D843         RCALL 0x3fc2                           
  8095   3F3C    D82D         RCALL 0x3f98                           
  8096   3F3E    53FA         MOVF 0xfa, F, BANKED                   
  8097   3F40    A4D8         BTFSS STATUS, 0x2, ACCESS             
  8098   3F42    D002         BRA 0x3f48                             
  8099   3F44    98D4         BCF 0xfd4, 0x4, ACCESS                 
  8100   3F46    D001         BRA 0x3f4a                             
  8101   3F48    88D4         BSF 0xfd4, 0x4, ACCESS                 
  8102   3F4A    D73B         BRA 0x3dc2                             
  8103   3F4C    D83A         RCALL 0x3fc2                           
  8104   3F4E    CFFD         MOVFF TOSL, 0x2fa                     
  8105   3F50    F2FA         NOP                                   
  8106   3F52    D837         RCALL 0x3fc2                           
  8107   3F54    CFFE         MOVFF TOSH, 0x2fa                     
  8108   3F56    F2FA         NOP                                   
  8109   3F58    D834         RCALL 0x3fc2                           
  8110   3F5A    CFFF         MOVFF TOSU, 0x2fa                     
  8111   3F5C    F2FA         NOP                                   
  8112   3F5E    D831         RCALL 0x3fc2                           
  8113   3F60    D730         BRA 0x3dc2                             
  8114   3F62    D82F         RCALL 0x3fc2                           
  8115   3F64    D003         BRA 0x3f6c                             
  8116   3F66    D82D         RCALL 0x3fc2                           
  8117   3F68    8AD4         BSF 0xfd4, 0x5, ACCESS                 
  8118   3F6A    D000         BRA 0x3f6c                             
  8119   3F6C    C2FC         MOVFF 0x2fc, FSR0L                     
  8120   3F6E    FFE9         NOP                                   
  8121   3F70    C2FB         MOVFF 0x2fb, FSR0H                     
  8122   3F72    FFEA         NOP                                   
  8123   3F74    51FF         MOVF 0xff, W, BANKED                   
  8124   3F76    C2FE         MOVFF 0x2fe, STATUS                   
  8125   3F78    FFD8         NOP                                   
  8126   3F7A    C2FD         MOVFF 0x2fd, BSR                       
  8127   3F7C    FFE0         NOP                                   
  8128   3F7E    C2F4         MOVFF 0x2f4, PCLATU                   
  8129   3F80    FFFB         NOP                                   
  8130   3F82    C2F5         MOVFF 0x2f5, PCLATH                   
  8131   3F84    FFFA         NOP                                   
  8132   3F86    80D4         BSF 0xfd4, 0, ACCESS                   
  8133   3F88    98D4         BCF 0xfd4, 0x4, ACCESS                 
  8134   3F8A    00E1                                               
  8135   3F8C    0E55         MOVLW 0x55                             
  8136   3F8E    6EA7         MOVWF EECON2, ACCESS                   
  8137   3F90    0EAA         MOVLW 0xaa                             
  8138   3F92    6EA7         MOVWF EECON2, ACCESS                   
  8139   3F94    82A6         BSF EECON1, 0x1, ACCESS               
  8140   3F96    0012         RETURN 0                               
  8141   3F98    84D4         BSF 0xfd4, 0x2, ACCESS                 
  8142   3F9A    D000         BRA 0x3f9c                             
  8143   3F9C    B6D4         BTFSC 0xfd4, 0x3, ACCESS               
  8144   3F9E    D7FE         BRA 0x3f9c                             
  8145   3FA0    A6D4         BTFSS 0xfd4, 0x3, ACCESS               
  8146   3FA2    D7FE         BRA 0x3fa0                             
  8147   3FA4    94D4         BCF 0xfd4, 0x2, ACCESS                 
  8148   3FA6    0E14         MOVLW 0x14                             
  8149   3FA8    2CE8         DECFSZ WREG, W, ACCESS                 
  8150   3FAA    D7FE         BRA 0x3fa8                             
  8151   3FAC    0E08         MOVLW 0x8                             
  8152   3FAE    6FF7         MOVWF 0xf7, BANKED                     
  8153   3FB0    84D4         BSF 0xfd4, 0x2, ACCESS                 
  8154   3FB2    47FA         RLNCF 0xfa, F, BANKED                 
  8155   3FB4    91FA         BCF 0xfa, 0, BANKED                   
  8156   3FB6    07F7         DECF 0xf7, F, BANKED                   
  8157   3FB8    94D4         BCF 0xfd4, 0x2, ACCESS                 
  8158   3FBA    B6D4         BTFSC 0xfd4, 0x3, ACCESS               
  8159   3FBC    81FA         BSF 0xfa, 0, BANKED                   
  8160   3FBE    E1F8         BNZ 0x3fb0                             
  8161   3FC0    0012         RETURN 0                               
  8162   3FC2    84D4         BSF 0xfd4, 0x2, ACCESS                 
  8163   3FC4    D000         BRA 0x3fc6                             
  8164   3FC6    B6D4         BTFSC 0xfd4, 0x3, ACCESS               
  8165   3FC8    D7FE         BRA 0x3fc6                             
  8166   3FCA    A6D4         BTFSS 0xfd4, 0x3, ACCESS               
  8167   3FCC    D7FE         BRA 0x3fca                             
  8168   3FCE    94D4         BCF 0xfd4, 0x2, ACCESS                 
  8169   3FD0    0000         NOP                                   
  8170   3FD2    92D4         BCF 0xfd4, 0x1, ACCESS                 
  8171   3FD4    0E1C         MOVLW 0x1c                             
  8172   3FD6    2CE8         DECFSZ WREG, W, ACCESS                 
  8173   3FD8    D7FE         BRA 0x3fd6                             
  8174   3FDA    0E08         MOVLW 0x8                             
  8175   3FDC    84D4         BSF 0xfd4, 0x2, ACCESS                 
  8176   3FDE    BFFA         BTFSC 0xfa, 0x7, BANKED               
  8177   3FE0    86D4         BSF 0xfd4, 0x3, ACCESS                 
  8178   3FE2    AFFA         BTFSS 0xfa, 0x7, BANKED               
  8179   3FE4    96D4         BCF 0xfd4, 0x3, ACCESS                 
  8180   3FE6    47FA         RLNCF 0xfa, F, BANKED                 
  8181   3FE8    94D4         BCF 0xfd4, 0x2, ACCESS                 
  8182   3FEA    2CE8         DECFSZ WREG, W, ACCESS                 
  8183   3FEC    D7F7         BRA 0x3fdc                             
  8184   3FEE    82D4         BSF 0xfd4, 0x1, ACCESS                 
  8185   3FF0    0012         RETURN 0                               
  8186   3FF2    0000         NOP                                   
  8187   3FF4    FFFF         NOP                                   
  8188   3FF6    FFFF         NOP                                   
  8189   3FF8    FFFF         NOP                                   
  8190   3FFA    FFFF         NOP                                   
  8191   3FFC    FFFF         NOP                                   
  8192   3FFE    FFFF         NOP                                   

Re: Вычисляемый переход - проблема

Сб янв 05, 2019 16:01:32

Какая команда недокументирована?

Re: Вычисляемый переход - проблема

Вс янв 06, 2019 01:14:07

Какая команда недокументирована?

Которая встроенным в МпЛаб 8.80 дизасмом отобразилась без мнемокода - строка №8134 адрес 3F8A код операции 00E1 мнемокода нет.
Судя по до и после - команда однословная. Чего делает ?
Код:
 8130   3F82    C2F5         MOVFF 0x2f5, PCLATH                   
  8131   3F84    FFFA         NOP                                   
  8132   3F86    80D4         BSF 0xfd4, 0, ACCESS                   
  8133   3F88    98D4         BCF 0xfd4, 0x4, ACCESS                 
  8134   3F8A    00E1                                               
  8135   3F8C    0E55         MOVLW 0x55                             
  8136   3F8E    6EA7         MOVWF EECON2, ACCESS                   
  8137   3F90    0EAA         MOVLW 0xaa                             

Этот RsBug МпЛаб 8.80 шьёт в Pic18F2431 для работы с ICD-2 в качестве внутрисхемного отладчика.
Если говорить про утиный тест, то игры с китайцами на эту тему я уже проходил.

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

Re: Вычисляемый переход - проблема

Вс янв 06, 2019 09:25:42

не вижу смысла использовать извращенный вариант чтения таблицы из пик16. когда в пик18 есть табличное чтение. по принципу чтения еепром.
это намного удобнее....

Re: Вычисляемый переход - проблема

Вс янв 06, 2019 10:24:47

Ну, во первых, в 16-х/12-х ПИКах, начиная с четырехзначных моделей PIC12Fxxxx/PIC16Fxxxx, есть видимость флеша как ОЗУ, начиная с адреса 0x8000. Во вторых, табличное чтение настолько же кривое, как и через retlw. Оно мало того, что только косвенное (это как раз не страшно), так еще имеет доступ не через FSR/INDF, а через табличные команды.

Re: Вычисляемый переход - проблема

Вс янв 06, 2019 12:01:43

табличное чтение настолько же кривое, как и через retlw. Оно мало того, что только косвенное (это как раз не страшно), так еще имеет доступ не через FSR/INDF, а через табличные команды.

Ну можно же привыкнуть. Вот например беззнаковое умножение 16 бит значения из таблицы синусов на 8 бит амплитуду оформлено в виде макроса с выходом 24 бита:
Спойлер
Код:
Tab16Load   macro   A_Arg,TableAdr; Загрузка указателей таблицы 16 бит
   movff   A_Arg,TBLPTRL   ; индекс выборки
   clrf   TBLPTRH,ACCESS      ; Готовим место
   rlcf   TBLPTRL,F,ACCESS   ; удваиваем указатель таблицы
   rlcf   TBLPTRH,F,ACCESS   ; перед сложением с базой
   bcf      TBLPTRL,0,ACCESS   ; Чистим младший бит удвоения
   clrf   TBLPTRU,ACCESS      ; для указателя таблицы
; На маленьких процах - 24 бита адреса - излишество, надо проверить работу на 16 битах адреса.
   Add24L   TBLPTRL,ACCESS,TableAdr ; Прибавляем начальный адрес таблицы к смещению
   endm

FXMTab1608U   macro   D_Arg,A1D,A_Arg,A1A; Умножаем 16 бит из таблицы на 8 бит без знака
 tblrd*+   ; Читаем младший байт синуса
   movf   TABLAT,W,ACCESS   ; Младший байт 16 бит синуса
   mulwf   A_Arg,A1A; Буфер Амплитуды синусоиды после вычислений V/F
   movff16   PRODL,D_Arg   ; амплитуды, спасаем результат
   clrf   D_Arg+2,A1D   ; чистим старшие  байты результата
 tblrd*+   ; Читаем старший байт синуса
   movf   TABLAT,W,ACCESS   ; Старший байт 16 бит синуса
   mulwf   A_Arg,A1A;; Буфер Амплитуды синусоиды после вычислений V/F
   MOVF   PRODL,W,ACCESS;   ; Складывание 16 бит
   ADDWF   D_Arg+1,F,A1D; результата 8*8
   MOVF   PRODH,W,ACCESS   ; с накопителем 32 бита
   ADDWFC   D_Arg+2,F,A1D; со смещением 1 байт
;   CLRF   WREG,ACCESS;   ; ADD16 Macro   ; Старший байт позже будет
;   ADDWFC   SynMulBuf+3,F,BANKED         ; отброшен      
   endm   

Плохо ?
В отличие от RetLW - длинна массива вдвое меньше, в отличие от вычисляемого перехода - массив могет быть длиннее 256 элементов.

Re: Вычисляемый переход - проблема

Вс янв 06, 2019 13:13:04

Вот например беззнаковое умножение 16 бит значения из таблицы синусов на 8 бит амплитуду оформлено в виде макроса с выходом 24 бита

Зачем этот добровольный геморрой? Есть МК приспособленные под сигнальные задачи. У Микрочипа это dsPIC33. Новые dsPIC33EP имеют цены начинающиеся с менее, чем 2 долларов. Полноценный ДСП контроллер с производительностью в 70 МИПС.
Ну или STM32. Можно даже брать F0. Да любой 16 МИПСовый PIC24 (среди них есть совсем дешевые - менее 1 доллара) элементарно реализует аппаратное ЗНАКОВОЕ (беззнаковое, смешанное) умножение 16*16=32 разряда. За одну команду в 1 машинный цикл.

Добавлено after 5 minutes 5 seconds:
в отличие от вычисляемого перехода - массив могет быть длиннее 256 элементов.

Длина таблицы через retlw может быть ЛЮБОЙ. Вообще любой. С произвольной точкой начала и конца.
Нужно только предвычислить старший байт. Ну так его и для таблицы нужно вычислять. Точно так же. Ведь контроллер то 8 разрядный... Значит и прямая адресация таблицы не может превышать 8 разрядов.

Re: Вычисляемый переход - проблема

Вс янв 06, 2019 23:51:24

Зачем этот добровольный геморрой?

Зачем вообще хобби, если не для борьбы с Альцгеймером ?
А крутые студенты сейчас на FPGA сигнальные вещи пишут для курсовиков.
И никаких там АСМов "высокого уровня" - только хардкор в буквальном смысле.
Новые dsPIC33EP имеют цены начинающиеся с менее, чем 2 долларов. Полноценный ДСП контроллер с производительностью в 70 МИПС.
..... Да любой 16 МИПСовый PIC24 (среди них есть совсем дешевые - менее 1 доллара) элементарно реализует аппаратное ЗНАКОВОЕ (беззнаковое, смешанное) умножение 16*16=32 разряда. За одну команду в 1 машинный цикл.

Человеческая жадность - это одна из вещей, которые реально не имеет границ. В итоге имея 1 цикл 17х17 умножитель - всегда можно захотеть плавающей точки 48 или 64 бита.
Многие задачи можно решить несколькими способами. Погоня за новыми процами для любителя имеет недостаток - за время изучения любителем нового проца - появляется ещё более новый.
В итоге - в погоне за новизной - можно ничего кроме моргания СД и "здраствуй мир" на чужих библиотеках так и не сделать.
А умение решать задачу минимальными средствами или при ограниченном выборе средств - ну чем не тренировка интеллекта ?
А лично мне в 16 бит серии имеют смысл только 30F4013 и 30F4011 по религиозным мотивам.
И даже зная много лет что они существуют (и даже имея в коллекции 30F2010 и что-то ещё из более нового) - учить новый АСМ пока храбрости не набрался.
Всему своё время.
И второй момент - когда лично я заставил себя пересилить консерватизм и начать пробовать писать на Пик-18 - через год возвращаться к старым прожектам на Пик-16 уже было не интересно.
С Пик-30 думаю будет та же история - если заставлю себя перейти на него - Пик-18 придётся забыть - голова не резиновая, почему-то.

Re: Вычисляемый переход - проблема

Пн янв 07, 2019 01:32:15

для борьбы с Альцгеймером

Тут Вам виднее, конечно. Но подавляющее количество любителей не думает о возрастных заболеваниях. Это как то демотивирует.
А крутые студенты сейчас на FPGA сигнальные вещи пишут для курсовиков.
И никаких там АСМов "высокого уровня" - только хардкор в буквальном смысле.

Программирование FPGA ничем не отличается от программирования МК. Только язык программирования другой. Если скорости обработки требуют FPGA, то без них - никак.
Скажем, построение софтового приемника (SDR) на несущих, начиная с десятка мегагерц, неизбежно потребует FPGA, хотя бы на входных операциях с данными АЦП (квадратурный смеситель, квадратурные фильтры, возможно демодуляция).
Человеческая жадность - это одна из вещей, которые реально не имеет границ. В итоге имея 1 цикл 17х17 умножитель - всегда можно захотеть плавающей точки 48 или 64 бита.
Многие задачи можно решить несколькими способами. Погоня за новыми процами для любителя имеет недостаток - за время изучения любителем нового проца - появляется ещё более новый.
В итоге - в погоне за новизной - можно ничего кроме моргания СД и "здраствуй мир" на чужих библиотеках так и не сделать.
А умение решать задачу минимальными средствами или при ограниченном выборе средств - ну чем не тренировка интеллекта ?

Это вообще бред сивой кобылы. Есть задачи и под эти задачи следует выбирать контроллер. А кроме того, копаясь в примитивной старой рухляди, Вы упускаете возможность получить удовольствие от разного рода новых возможностей, не связанных в прямую с разрядностью ядра.
Если у человека нет минимальных знаний настолько, что он не в состоянии сформулировать для себя достойную задачу, то хобби не поможет в борьбе с Альцгеймером.
Для того, кто осваивает МК системно, а не как черный ящик, (НА ЛЮБОМ УРОВНЕ, даже самом примитивном), вопрос запоминания мнемоники ассемблера ДАЖЕ НЕ СТОИТ. В смысле освоения системы команд все контроллеры БЕЗ ИСКЛЮЧЕНИЯ одинаковы. Как близнецы. И не только контроллеры, но и процессоры.
Для этого нужно начинать не с копания в таблице команд, а с ПРОГРАММНОЙ МОДЕЛИ ЯДРА. Структура РОНов, стек, типы адресаций, векторизация прерываний, специальные фичи типа шадоу-регистров (локальные стеки) и прочая, прочая, прочая.
Сама форма Вашей аргументации за консервативность говорит о том. что Вы вообще не понимаете о чем говорите.
Ну и касаемо погони за новым, то 16-разрядная платформа Микрочипа существует уже около 20 лет. Архитектура и система команд за это время практически не менялись. Лишь кратно упала цена и потребляемая мощность. При этом в разы возросла скорость и периферия стала невероятной в своих возможностях.
"Кубик Рубика" стал многообразней. У Альцгеймера не стало шансов... :tea: :wink: :music:
ЗЫ. Смешно говорить о подобном объеме информации как о чем то серьезном. Радиотехническое образование требует на несколько десятичных порядков больший объем усвоения.

Re: Вычисляемый переход - проблема

Пн янв 07, 2019 03:53:08

погоня за новизной актуально только для профи . далеко не все сидящие на форумах ими являются. если зарабатываешь на хлеб то ты должен уметь многое. и код должен быть написан быстро. оптимизация даже иногда не нужна. проще взять мощный камень.

но большинство уверен не зарабатывают на МК. а просто любители. я к примеру начал кодить на пиках чисто по нужде. :))
мы спроектировали и разработали одно устройство которое требовало управление. и случайно узнали о существовании МК. потом наняли разработчика который использовал пик16. он сам написал кривую прогу и отказался отдавать исходник. что вызвало протест. и в итоге он проиграл хотя хотел нас посадить на иглу. кривость его софта тогда была не очень заметна. но щас уже понимаю что он хрен а не прогер. так как мой софт, гуманитария оказался намного круче. :))

то есть мы в итоге поняли что наемник нам не подходит. приходилось часто вносить изменения в софт и улучшать его. в течении 10 лет. наемник тут точноа не нужен. и надо было писать самим. во так чисто случайно был выбран пик контроллер. и потом я перешел на пик 18. писал на АСМ. требуемые задачи этот контроллер решал на 100%.

а изучать СИ или новые мощные контроллеры просто нет времени. другая работа, другие заботы. пот ому что я не зарабатываю на разработках МК. а команды пик 18 и его строение не забудешь. так как он достаточно прост.

вот мое мнение.

а если появиться задача где пик18 уже не справиться то конечно будет изучать более мощный камень.
но для большинства в этом нет необходимости.

Добавлено after 3 minutes 49 seconds:
Ну, во первых, в 16-х/12-х ПИКах, начиная с четырехзначных моделей PIC12Fxxxx/PIC16Fxxxx, есть видимость флеша как ОЗУ, начиная с адреса 0x8000. Во вторых, табличное чтение настолько же кривое, как и через retlw. Оно мало того, что только косвенное (это как раз не страшно), так еще имеет доступ не через FSR/INDF, а через табличные команды.


я меня софт содержал много таблиц шириной 16 бит. и длиной от 256 до 1024. причем еще и подбирали варианты, очень много вариантов. там все это дело писать ручками нереально. и 16 битную цифру делить по байтам вообще бред.
вот тут и чтение таблиц пригодилось. таблица создавалась в эксель. сразу как ДАТА и 16 бит число. и напрямую грузилось в пик18. можно сразу читать 16 битные числа. чего в пик16 гораздо сложнее реализовать.
Ответить