Например TDA7294

Форум РадиоКот • Просмотр темы - Вопросы начинающих PIC ASM
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт мар 28, 2024 17:35:42

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 440 ]     ... , , , 9, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Ср янв 04, 2017 09:18:17 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1349
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14018
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
"ПОНЕСЛОСЬ!"
:)))
"великие материи" - а про интерес того Пока_без_кота
(и иных начинающих) саапсем "фигвам"/флудням...
:(




А кто его знает?
Один говорит, что пришел в тему троллить, другой, что развлекается.
В МЯУ перенес.
viewtopic.php?f=17&t=140481
Пусть в МЯУ троллят и развлекаются.
aen


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Ср янв 11, 2017 21:28:49 
Потрогал лапой паяльник

Карма: 1
Рейтинг сообщений: 13
Зарегистрирован: Чт авг 08, 2013 01:06:54
Сообщений: 359
Рейтинг сообщения: 0
Доброго времени суток. Делаю таблицу дешифрации для 7-сегментного индикатора (общий анод). Решил сделать расширенный вариант, и кроме цифр 0-9 добавил шестнадцатеричные А-F.
Добавляю в таком виде:

Дизассемблер превращает это в:

Видно, что последнее, 16 значение, превращено в какой-то бред - RETLW 0x2
Делаю ход конем, выношу это последнее значение отдельным dt:

Вуаля, все как надо :))) Это какое-то ограничение на количество значений в строке после dt ? Есть способ побороть ? Работаю в MPLAB 8.92.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Ср янв 11, 2017 22:20:46 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
У меня Х из последних версий. Завел в него вашу строку целиком и получил предупреждение
Цитата:
Warning[209] bla-bla-bla 665 : Missing quote

При этом 15-й байт был испорчен (0хА вместо 0хА1), а 16-й отсутствовал вообще.

После этого разделил строку пополам, по 8 байт в каждой: в результате все прошло чисто.
Причину не знаю.

Отсюда вопрос: для чего вам нужна длинная строка? Чем привлекла?

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Ср янв 11, 2017 22:55:39 
Потрогал лапой паяльник

Карма: 1
Рейтинг сообщений: 13
Зарегистрирован: Чт авг 08, 2013 01:06:54
Сообщений: 359
Рейтинг сообщения: 0
Zhuk72 писал(а):
... для чего вам нужна длинная строка? Чем привлекла?

Да ничем особо. Просто ассемблерный код в сравнении с Сишным, при одинаковом объеме полезной продуктивности, априори более растянут по вертикали. Чтобы меньше скролить экран, стараюсь минимизировать "высоту" кода, упаковывая все в макросы и подпрограммы, распихать их по подключаемым файлам, и заиметь компактный файл главного цикла в котором четко видно общий алгоритм работы программы. Поэтому же вместо кучи строчек с RETLW всегда использовал 1 строчку c dt. А тут оказывается есть какие-то ограничения)) Погуглил по форумам, оказывается в первых версиях MPLAB X вообще нельзя было больше 1 значения в строке. Вот и переходи после этого на "новейшие" ИДЕ :)))


Вернуться наверх
 
Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Чт янв 12, 2017 04:26:24 
Друг Кота
Аватар пользователя

Карма: 130
Рейтинг сообщений: 2707
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 21624
Откуда: Московская область, Фрязино
Рейтинг сообщения: 5
Раз Вам так нравится MPLAB X, предлагаю Вам для просмотра длинного АСМ кода ДВА инструмента.
1. Открывание двух окон (вертикальных) с одинаковым открываемым файлом. Это позволяет смотреть два участка одного текста независимо и параллельно.
2. "Коллапсирование" участков кода (обычно подпрограмм или однотипной их группы). Это делается набором в начале строки текста fcom;<tab>. Сразу после нажатия на табуляцию будет сгенерированы теги "коллапсайдера". Дефолтное имя Вы исправляете на имя сворачиваемого участка, а сам сворачиваемый текст помещаете между тегами открытия и закрытия "коллапсайдера".
Текст становится очень коротким, свернутые участки Вы легко открываете по мере необходимости.


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Чт янв 12, 2017 06:01:31 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
КРАМ писал(а):
Раз Вам так нравится MPLAB X...

У него 8.92

КРАМ писал(а):
Это делается набором в начале строки текста fcom;<tab>...

А вот это сюрприз. Я думал, что коллапсирование работает только в сишных исходниках, в асм тексты я не нашел этого в контекстном меню. Оказываются они таким вот хитрым образом закручиваются. Спасибо! Хотя для меня уже неактуально :)

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Чт янв 12, 2017 06:12:48 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 81
Рейтинг сообщений: 440
Зарегистрирован: Чт дек 27, 2012 20:46:09
Сообщений: 2024
Откуда: Болгария, г. Лом
Рейтинг сообщения: 2
Цитата:
There is a source file line limit (expanded) of 200 characters.

_________________
Лом - ето город в Болгарии, а не инструмент юстировки електроники.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Чт янв 12, 2017 08:21:39 
Потрогал лапой паяльник

Карма: 1
Рейтинг сообщений: 13
Зарегистрирован: Чт авг 08, 2013 01:06:54
Сообщений: 359
Рейтинг сообщения: 0
botchin писал(а):
..200 characters.

Спасибо, переделал в шестнадцатиричную, и все поместилось с запасом, одной строкой.


Последний раз редактировалось Пока_без_кота Чт янв 12, 2017 09:35:35, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Чт янв 12, 2017 08:42:39 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1349
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14018
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Обычно в одной строке больше чем позволяют ограничители страницы буковок не ставлю...
Правда исходники набираю в DPAD - текстовки универсальны для компиляторов любых семейств
(mcs51, pic10/12/16/18, avr, i8080, z80). А уж затем использую в проектах.
Жаль, что на сегодня сайт с проектом того редактора закрыт...
:cry:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Ср янв 25, 2017 18:07:49 
Опытный кот
Аватар пользователя

Карма: 18
Рейтинг сообщений: 44
Зарегистрирован: Чт апр 12, 2012 07:19:59
Сообщений: 859
Откуда: Тюмень
Рейтинг сообщения: 0
Приветствую, где можно набрать простых примеров на asm, типа сложения/вычитания/деления/умножения 8/16 битных чисел, циклы, BCD и семисегментники, прерывания т.п. Нужны простые, лаконичные примеры(лучше с комментариями) для самообучения :solder:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Ср янв 25, 2017 18:35:50 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 4
http://www.piclist.com/techref/microchip/routines.htm

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пн фев 06, 2017 20:42:24 
Потрогал лапой паяльник

Карма: 1
Рейтинг сообщений: 13
Зарегистрирован: Чт авг 08, 2013 01:06:54
Сообщений: 359
Рейтинг сообщения: 0
Доброго времени суток. Возможно ли каким-то образом передать в качестве параметра макроса адрес таблицы ?
Есть код следующего вида:


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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пн фев 06, 2017 21:30:03 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
Судя по вашим последним постам, вам уже тесно в рамках ассемблера :)
Переходите на Си.

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пн фев 06, 2017 22:13:47 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4510
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Пока_без_кота писал(а):
Возможно ли каким-то образом передать в качестве параметра макроса адрес таблицы ?
А зачем передавать адрес, если можно передавать просто имя (хотя, по большому счёту, имя - это и есть адрес) , которое он будет заменять в тексте ?
Код:
my_macro   MACRO   table_name     ; Вроде так макросы создаются, не помню уже...
  clrf   table_name
  ..........
  ..........
ENDM


my_macro  symbol_pointer   ; Вызов макроса


Да и не выиграете Вы ничего макросом, ни в объёме кода, ни в быстродействии. Вот если функцию создадите, то уже будет выигрыш по коду. Там уже придётся передавать адрес, и через косвенную его обрабатывать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пн фев 06, 2017 22:30:13 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
Пока_без_кота, лень читать все ваши посты что бы узнать под какой PIC вы пишите программу.
Для PIC18 (8bit):
Для PIC24 (16bit) (ASM30) /не самый лучший вариант/:
Реальный адрес начала блока данных Let_XX получите при чтении данных по базовому адресу CODEPAGE_5x8 (адрес метки) + смещение по числу (строке) нужного блока данных.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Вт фев 07, 2017 07:08:19 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1349
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14018
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Пока_без_кота писал(а):
Доброго времени суток. Возможно ли каким-то образом передать в качестве параметра макроса адрес таблицы ?
...
И таких выводов значений из таблиц есть много, и все они отличаются лишь содержимым таблицы. Или я хочу невозможного ?


Векторный переход по смещению и базовому адресу?
8)
У стандартных среднемладших для подобных фокусов используются команды, модифицирующие PCL .
Только надо при том помнить про содержимое pclath и про то, что перенос при переполнении PCL в результате операций с ним автоматически не распространяется на pclath - воть тута надо макрос шкарябать (как и для временного хранения исходного значения pclath).
У "улучшенных" среднемладших и 18-й несколько получше "фокусы" получаются.
:beer:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Вт фев 07, 2017 09:33:16 
Потрогал лапой паяльник

Карма: 1
Рейтинг сообщений: 13
Зарегистрирован: Чт авг 08, 2013 01:06:54
Сообщений: 359
Рейтинг сообщения: 0
Всем доброго времени суток. Спасибо, даже не ожидал такого внимания к моему вопросу. Отвечаю всем по порядку.
2 Zhuk72
Си уже по чуть-чуть начал учить, просто уже сделал проект простой древовидной менюшки на ассемблере, и хотел его "причесать", потому что в бессмертный PIC16F84 (1к слов) еле влезла менюшка 5 пунктов меню по 3 подпункта в каждом пункте (вместе с выводом на ЖК дисплей названий всех пунктов и подпунктов).

2 Аlex
Насчет использования макроса и пользе функции. Я понимаю что макрос не даст мне выиграша ни в чем, кроме общего восприятия кода в месте использования макроса. Я и хочу его использовать лишь для передачи внутрь процедуры адреса таблица в качестве параметра. Проблема в том что я не знаю, как передать АДРЕС ТАБЛИЦЫ в качестве параметра внутрь процедуры.

2 Albert_V
Все гораздо запущенее, я пишу для 12/16 Пиков :))) Но за примеры спасибо, утянул себе в примеры, на будущее.

2 BOB51
Нет, это уже есть реализовано, надо именно предать внутрь процедуры АДРЕС ТАБЛИЦЫ. Передать 8-битный указатель проблемы нет. А а вот адрес таблицы не умею :dont_know:

П.С. Кажется до меня дошло, как реализовать задуманное, я просто подходил не с той стороны, позже отпишусь...

П.П.С. Спасибо всем, у меню получилось реализовать задуманное. Менюшка похудела до 740 слов при том же функционале.



Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пн мар 13, 2017 19:20:38 
Потрогал лапой паяльник

Карма: 1
Рейтинг сообщений: 13
Зарегистрирован: Чт авг 08, 2013 01:06:54
Сообщений: 359
Рейтинг сообщения: 0
Доброго времени суток. Я как всегда со своим извечным "А можно ли лучше ?" :)))
Делаю простенький термометр на 12 Пике, со светодиодным индикатором. Решил для лучшего понимания сам написать процедуру перекодировки двоичного числа в двоично-десятичное. Пока только на 2 разряда, температура дома вряд-ли перевалит за сотню)) Все получилось, но интересует, как можно улучшить код.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пн мар 13, 2017 20:03:39 
Прорезались зубы
Аватар пользователя

Карма: 26
Рейтинг сообщений: 66
Зарегистрирован: Вс июл 10, 2011 14:41:10
Сообщений: 223
Рейтинг сообщения: 0
incf index,1
movlw 0ah
subwf index,0
btfss STATUS,Z ;--edinici
goto now
clrf index
incf sdvig,1
movlw 0ah
subwf sdvig,0
btfss STATUS,Z ;--desjatki
goto now
goto ind


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Пн мар 13, 2017 21:00:31 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 81
Рейтинг сообщений: 440
Зарегистрирован: Чт дек 27, 2012 20:46:09
Сообщений: 2024
Откуда: Болгария, г. Лом
Рейтинг сообщения: 0
AN526 Microchip
И часть оттуда:
Код:
BinBCD  clrf    MSD
   movwf   LSD
gtenth  movlw   .10
   subwf   LSD,W
   BTFSS   STATUS,C
   goto    over
   movwf   LSD
   incf    MSD, F
   goto    gtenth
over    retlw   0

_________________
Лом - ето город в Болгарии, а не инструмент юстировки електроники.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 440 ]     ... , , , 9, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y