Например TDA7294

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



Текущее время: Пн ноя 20, 2017 18:02:33



Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 243 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10, 11, 12, 13  След.
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Ср янв 04, 2017 10:18:17 
Друг Кота
Аватар пользователя

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




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


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

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

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

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

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


Вернуться наверх
 Профиль  
 
JLCPCB Prototype, $2 за 10 печатных плат (2 слоя, 100×100мм).

Крупнейший производитель печатных плат в Китае, 290,000+ заказчиков, 8,000+ он-лайн заказов в день.

Узнать цену прямо сейчас!

LCSC Parts: Экономия до 50%, большой выбор компонентов в наличии, отправка заказа в день оплаты.

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

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

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

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

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

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

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


Вернуться наверх
 Профиль  
 

Не в сети
 Заголовок сообщения: Re: Вопросы начинающих PIC ASM
СообщениеДобавлено: Ср янв 11, 2017 23:55:39 
Грызет канифоль

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

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


Вернуться наверх
 Профиль  
 

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

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


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

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

У него 8.92

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

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

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

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


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

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

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


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

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

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


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

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

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


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

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

_________________
Котэ-экспериментатор ^_^


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

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

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

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


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

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


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


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

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

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

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


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

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


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


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

_________________
Я мненью вашему вращенье придавал, а осью был - мой детородный орган.


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

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


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

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


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


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

Карма: 1
Зарегистрирован: Чт авг 08, 2013 02:06:54
Сообщений: 270
Рейтинг сообщения: 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 20:20:38 
Грызет канифоль

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


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

Зарегистрирован: Вс июл 10, 2011 15:41:10
Сообщений: 152
Рейтинг сообщения: 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 22:00:31 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 68
Зарегистрирован: Чт дек 27, 2012 21:46:09
Сообщений: 2023
Откуда: Болгария, г. Лом
Рейтинг сообщения: 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

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


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 243 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10, 11, 12, 13  След.



Часовой пояс: UTC + 3 часа [ Летнее время ]


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

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


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

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


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