Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Продукция MICROCHIP

Продукция MICROCHIP Технические вопросы по всей продукции Microchip

Ответ
 
Опции темы Опции просмотра
Старый 20.06.2011, 21:40   #1
hubble
Junior Member
 
Регистрация: 11.12.2007
Сообщений: 9
Вес репутации: 100/0
hubble will become famous soon enoughhubble will become famous soon enough
По умолчанию Нужна помощь по asm для dsPIC

Ребята, необходима помощь.
Помощь по asm.
Дело в том, что последний раз писал давно для PIC16F628 и подобных. Затем все время использовал Си. Сейчас пришлось столкнуться с асмом снова для программирования dsPIC`ов. Да не там-то было. Куча новых инструкций, директив и т.д.
Ну, вот, например.
1. Инструкции, которые часто встречаются в программах - mov.v, sub.w (и еще кое-какие, которые мне повстречались) никак не могу найти в даташите на используемый микроконтроллер.
2. Что обозначает строка mov.w [BaseW0+PI_qInMeas],WorkW5, вернее если в строке есть квадратные скобки?
3. В файле .inc к контроллеру нашел такую строку .equiv ACCBLL, _ACCBL. Что такое ACCBL тоже нашел, но без знака подчеркивания впереди. Что означает подчеркивание?
4. И еще куча вопросов.

Подскажите, пожалуйста, литературу, какую можно почитать по асму. Сначала, желательно на русском, потом и с даташитом потихоньку разберусь. А пока ... даже такие вышеуказанные элементарные вопросы у меня вызывают вопросы.
hubble вне форума   Ответить с цитированием
Старый 20.06.2011, 22:06   #2
alexem
Senior Member
 
Аватар для alexem
 
Регистрация: 08.03.2008
Адрес: Самара
Возраст: 47
Сообщений: 499
Вес репутации: 443/53
alexem is just really nicealexem is just really nicealexem is just really nicealexem is just really nicealexem is just really nice
По умолчанию Re: Нужна помощь по asm для dsPIC

Цитата:
Сообщение от hubble Посмотреть сообщение
Подскажите, пожалуйста, литературу, какую можно почитать по асму. Сначала, желательно на русском, потом и с даташитом потихоньку разберусь. А пока ... даже такие вышеуказанные элементарные вопросы у меня вызывают вопросы.
Лучше, конечно сразу к даташиту, но если уж сложно, то можно поискать в сети Ю.С.Магда "Микроконтроллеры PIC: архитектура и программирование".
Там немного, насколько достоверно - сказать не могу (сам не пробовал).
alexem вне форума   Ответить с цитированием
Старый 20.06.2011, 23:22   #3
master19
Senior Member
 
Регистрация: 22.01.2008
Возраст: 41
Сообщений: 237
Вес репутации: 162/48
master19 has a spectacular aura aboutmaster19 has a spectacular aura about
По умолчанию Re: Нужна помощь по asm для dsPIC

в общем случае в квадратных скобках указатель, т.е. строка
mov.w [BaseW0+PI_qInMeas],WorkW5
означает что переменная лежащая по адресу который записан в W0 + PI_qInMeas кладется в W5. а вот BaseW0 WorkW5 судя по всему псевдонимы W0 W5 соответственно. PI_qInMeas - какая то переменнная или константа, надо в контексте смотреть.
вообще читайте не даташит, а документ
dsPIC30F/33F Programmer's Reference Manual про mov страницы 5.145-5.158
master19 вне форума   Ответить с цитированием
Старый 21.06.2011, 02:14   #4
GANY
Senior Member
 
Аватар для GANY
 
Регистрация: 05.11.2007
Адрес: Казахстан/Шымкент
Возраст: 36
Сообщений: 2,194
Вес репутации: 1074/77
GANY has much to be proud ofGANY has much to be proud ofGANY has much to be proud ofGANY has much to be proud ofGANY has much to be proud ofGANY has much to be proud ofGANY has much to be proud ofGANY has much to be proud of
По умолчанию Re: Нужна помощь по asm для dsPIC

Цитата:
Сообщение от hubble Посмотреть сообщение
Ребята, необходима помощь.
Помощь по asm.
Дело в том, что последний раз писал давно для PIC16F628 и подобных. Затем все время использовал Си. Сейчас пришлось столкнуться с асмом снова для программирования dsPIC`ов. Да не там-то было. Куча новых инструкций, директив и т.д.
Ну, вот, например.
1. Инструкции, которые часто встречаются в программах - mov.v, sub.w (и еще кое-какие, которые мне повстречались) никак не могу найти в даташите на используемый микроконтроллер.
2. Что обозначает строка mov.w [BaseW0+PI_qInMeas],WorkW5, вернее если в строке есть квадратные скобки?
3. В файле .inc к контроллеру нашел такую строку .equiv ACCBLL, _ACCBL. Что такое ACCBL тоже нашел, но без знака подчеркивания впереди. Что означает подчеркивание?
4. И еще куча вопросов.

Подскажите, пожалуйста, литературу, какую можно почитать по асму. Сначала, желательно на русском, потом и с даташитом потихоньку разберусь. А пока ... даже такие вышеуказанные элементарные вопросы у меня вызывают вопросы.
Если умеете писать на СИ то мне кажется лучше скачать родной компилятор. Или нужно именно ДСЦ ядро использовать? Тогда ничего другого не остается как писать на АСМ.
GANY вне форума   Ответить с цитированием
Старый 21.06.2011, 07:15   #5
Вова
Senior Member
 
Регистрация: 20.09.2008
Адрес: Гродно, Беларусь
Возраст: 32
Сообщений: 1,680
Вес репутации: 1971/78
Вова has a brilliant futureВова has a brilliant futureВова has a brilliant futureВова has a brilliant futureВова has a brilliant futureВова has a brilliant futureВова has a brilliant futureВова has a brilliant futureВова has a brilliant futureВова has a brilliant futureВова has a brilliant future
По умолчанию Re: Нужна помощь по asm для dsPIC

Цитата:
Сообщение от master19 Посмотреть сообщение
означает что переменная лежащая по адресу который записан в W0 + PI_qInMeas кладется в W5.
Стало вдруг интересно, а почему в ассемблере для PIC-ов принято направление команд слева направо, а не справа налево, как в ассемблере i8086?..
__________________
Железяка должна быть такой: нажал кнопку — работает
Вова вне форума   Ответить с цитированием
Старый 21.06.2011, 12:24   #6
LeoN
Senior Member
 
Аватар для LeoN
 
Регистрация: 12.03.2007
Адрес: Оренбургская обл.
Сообщений: 162
Вес репутации: 116/50
LeoN will become famous soon enoughLeoN will become famous soon enough
По умолчанию Re: Нужна помощь по asm для dsPIC

На русском ты вряд ли что-либо найдешь...
Сначала изучай dsPIC30F/33F Family Reference Manual, затем Programmer's Reference Manual, и уж затем даташит на чип.
Вот это тебе в помощь.
Да прибудет с тобой сила!
LeoN вне форума   Ответить с цитированием
Старый 21.06.2011, 14:17   #7
Machine slave
Senior Member
 
Аватар для Machine slave
 
Регистрация: 18.01.2008
Возраст: 37
Сообщений: 4,264
Вес репутации: 2731/114
Machine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond repute
По умолчанию Re: Нужна помощь по asm для dsPIC

Цитата:
Сообщение от hort Посмотреть сообщение
Стало вдруг интересно, а почему в ассемблере для PIC-ов принято направление команд слева направо, а не справа налево, как в ассемблере i8086?..
А какая разница. По мне логичнее слева направо.
Machine slave вне форума   Ответить с цитированием
Старый 23.06.2011, 01:12   #8
hubble
Junior Member
 
Регистрация: 11.12.2007
Сообщений: 9
Вес репутации: 100/0
hubble will become famous soon enoughhubble will become famous soon enough
По умолчанию Re: Нужна помощь по asm для dsPIC

Спасибо всем.
Хотя бы уже есть от чего оттолкнуться.
hubble вне форума   Ответить с цитированием
Старый 23.06.2011, 08:54   #9
Bill
Senior Member
 
Аватар для Bill
 
Регистрация: 26.02.2007
Адрес: Челябинск
Возраст: 70
Сообщений: 2,215
Вес репутации: 1898/88
Bill has a brilliant futureBill has a brilliant futureBill has a brilliant futureBill has a brilliant futureBill has a brilliant futureBill has a brilliant futureBill has a brilliant futureBill has a brilliant futureBill has a brilliant futureBill has a brilliant futureBill has a brilliant future
По умолчанию Ну, наверное, потому, что

Цитата:
Сообщение от hort Посмотреть сообщение
Стало вдруг интересно, а почему в ассемблере для PIC-ов принято направление команд слева направо, а не справа налево, как в ассемблере i8086?..
в PDP-11 было принято направление слева направо. Или нет?
PS: Кстати, в MSP430 аналогично.
Bill вне форума   Ответить с цитированием
Старый 24.06.2011, 18:30   #10
Velocity
Senior Member
 
Регистрация: 08.02.2008
Адрес: Moscow
Сообщений: 124
Вес репутации: 146/47
Velocity will become famous soon enoughVelocity will become famous soon enough
По умолчанию Re: Нужна помощь по asm для dsPIC

Цитата:
Сообщение от hubble Посмотреть сообщение
Ребята, необходима помощь.
Помощь по asm.
Дело в том, что последний раз писал давно для PIC16F628 и подобных. Затем все время использовал Си. Сейчас пришлось столкнуться с асмом снова для программирования dsPIC`ов. Да не там-то было. Куча новых инструкций, директив и т.д.
Ну, вот, например.
1. Инструкции, которые часто встречаются в программах - mov.v, sub.w (и еще кое-какие, которые мне повстречались) никак не могу найти в даташите на используемый микроконтроллер.
2. Что обозначает строка mov.w [BaseW0+PI_qInMeas],WorkW5, вернее если в строке есть квадратные скобки?
3. В файле .inc к контроллеру нашел такую строку .equiv ACCBLL, _ACCBL. Что такое ACCBL тоже нашел, но без знака подчеркивания впереди. Что означает подчеркивание?
4. И еще куча вопросов.

Подскажите, пожалуйста, литературу, какую можно почитать по асму. Сначала, желательно на русском, потом и с даташитом потихоньку разберусь. А пока ... даже такие вышеуказанные элементарные вопросы у меня вызывают вопросы.
Инструкции mov.w не существует. Есть mov.b - байт, mov - слово, mov.d - 2 слова. - см. dsPIC30F/33F Programmer’s Reference Manual (дока DS70157B-page 3-3)

После изучения вышеуказанных доков посмотрите немного здесь на начало описания проги: http://www.microchip.su/showthread.php?t=4079

Освоив dsPIC asm получите массу удовольствия по сравнению с PIC16 ИМХО. Прочесть правда придется полторы тысячи страниц для начала, уж очень в dsPIC мозгов много.
Velocity вне форума   Ответить с цитированием
Старый 24.06.2011, 21:13   #11
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,878
Вес репутации: 3951/114
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Нужна помощь по asm для dsPIC

Цитата:
Сообщение от Velocity Посмотреть сообщение
Инструкции mov.w не существует...
Еще как существует...
Попробуйте открыть Программ Мемори и взглянуть на дизассемблер...
Ну или написать эту "несуществующую" синтаксическую конструкцию в своем коде.
Просто отсутствие данного суффикса лишь означает его дефолтное применение.
Марк вне форума   Ответить с цитированием
Старый 24.06.2011, 21:58   #12
Velocity
Senior Member
 
Регистрация: 08.02.2008
Адрес: Moscow
Сообщений: 124
Вес репутации: 146/47
Velocity will become famous soon enoughVelocity will become famous soon enough
По умолчанию Re: Нужна помощь по asm для dsPIC

Цитата:
Сообщение от Марк Посмотреть сообщение
Еще как существует...
Попробуйте открыть Программ Мемори и взглянуть на дизассемблер...
Ну или написать эту "несуществующую" синтаксическую конструкцию в своем коде.
Просто отсутствие данного суффикса лишь означает его дефолтное применение.
Это для тех, кто получает зарплату от количества набранных символов? Забавно, я что-то не встречал нигде такого написания.
Velocity вне форума   Ответить с цитированием
Старый 25.06.2011, 07:04   #13
Victor72
Junior Member
 
Регистрация: 26.10.2009
Сообщений: 21
Вес репутации: 100/40
Victor72 will become famous soon enoughVictor72 will become famous soon enough
По умолчанию Re: Нужна помощь по asm для dsPIC

Попробуйте найти книгу "Microcontrollers: From Assembly Language to C Using the PIC24" это то, что доктор прописал!
Тут http://my.safaribooksonline.com/book...Q1MDU4MzkvMTIz есть превьюшная редакция (если у кого есть хороший скан или ссылочка, ткните носом...).
П.С. А насчет ASM я уже два раза задавал аналогичную тему и здесь и на казусе, тишина. От гуру вразумительных ссылок не получил, кроме тех что и вам советуют... наверно не хотят растить себе конкурентов...
Victor72 вне форума   Ответить с цитированием
Старый 25.06.2011, 08:52   #14
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,878
Вес репутации: 3951/114
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Нужна помощь по asm для dsPIC

Цитата:
Сообщение от Velocity Посмотреть сообщение
Это для тех, кто получает зарплату от количества набранных символов? Забавно, я что-то не встречал нигде такого написания.
Насчет "нигде" я сказал в предыдущем посте.
Смысл моего прошлого коммента, если Вы еще не догадались сами, состоит в том, что сказанное Вами относительно суффикса .w - неправда. Этот суффикс существует, он есть в описании ASM30, т.е. ДОКУМЕНТИРОВАН. Для этого нужно, прежде чем писать пост, ознакомится с оным транслятором.
Читаем упомянутый Вами документ DS70157D на странице 56 внизу. Цитирую:
Цитата:
Note: Instructions that operate in Word mode are not required to use an instruction extension. However, they may be specified with an optional “.w” or “.W” extension, if desired. For example, the following instructions are valid forms of a word clear
operation:
CLR W0
CLR.w W0
CLR.W W0
Марк вне форума   Ответить с цитированием
Старый 26.06.2011, 17:44   #15
Velocity
Senior Member
 
Регистрация: 08.02.2008
Адрес: Moscow
Сообщений: 124
Вес репутации: 146/47
Velocity will become famous soon enoughVelocity will become famous soon enough
По умолчанию Re: Нужна помощь по asm для dsPIC

Действительно есть такое, только стр 4-16. Как-то не обратил внимания.
Velocity вне форума   Ответить с цитированием
Старый 09.02.2012, 19:48   #16
Industrialniy
Senior Member
 
Аватар для Industrialniy
 
Регистрация: 17.10.2007
Адрес: sdelal.net
Возраст: 38
Сообщений: 418
Вес репутации: 226/52
Industrialniy has a spectacular aura aboutIndustrialniy has a spectacular aura aboutIndustrialniy has a spectacular aura about
Отправить сообщение для Industrialniy с помощью ICQ
По умолчанию Re: Нужна помощь по asm для dsPIC

Подскажите, есть непонятки по командам PIC24FJ128GB106. Компилятор С30 выдаёт команды mov.b, к примеру mov.b w0,[w14], mov.b [w0+1],w1, mov.b 0x0815,w0. Но ASM30 эти команды не признаёт, и в документации их нет. В чём подвох?
И где можно глянуть описание машинных кодов команд для PIC24F?

Последний раз редактировалось Industrialniy; 09.02.2012 в 19:56.
Industrialniy вне форума   Ответить с цитированием
Старый 09.02.2012, 20:29   #17
d-f-m
Senior Member
 
Регистрация: 09.02.2009
Адрес: Недалеко от Пятигорска
Возраст: 48
Сообщений: 622
Вес репутации: 1419/61
d-f-m has much to be proud ofd-f-m has much to be proud ofd-f-m has much to be proud ofd-f-m has much to be proud ofd-f-m has much to be proud ofd-f-m has much to be proud ofd-f-m has much to be proud ofd-f-m has much to be proud ofd-f-m has much to be proud ofd-f-m has much to be proud of
По умолчанию Re: Нужна помощь по asm для dsPIC

Цитата:
Сообщение от Industrialniy Посмотреть сообщение
И где можно глянуть описание машинных кодов команд для PIC24F?
16-bit MCU and DSC Programmer's Reference Manual
d-f-m вне форума   Ответить с цитированием
Старый 09.02.2012, 23:17   #18
Industrialniy
Senior Member
 
Аватар для Industrialniy
 
Регистрация: 17.10.2007
Адрес: sdelal.net
Возраст: 38
Сообщений: 418
Вес репутации: 226/52
Industrialniy has a spectacular aura aboutIndustrialniy has a spectacular aura aboutIndustrialniy has a spectacular aura about
Отправить сообщение для Industrialniy с помощью ICQ
По умолчанию Re: Нужна помощь по asm для dsPIC

Спасибо, то что я искакал!
Теперь ясно с этими командами:
вместо mov.b w0,[w14], mov.b 0x0815,w0 нужно писать mov.b wreg,[w14], mov.b 0x0815,wreg
Industrialniy вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Очень нужна Ваша помощь (dsPIC30f6014 + CAN) orionchik Продукция MICROCHIP 2 19.04.2011 12:44
Вопросы по ASM с BSF и RES Romantic Вопросы начинающих 19 25.11.2009 10:40
Нужна подскаска по организации сети nv_toxa Общетехнические вопросы 6 20.08.2007 14:46
Нужна помощь по памяти 24LC256 Lab_12 Продукция MICROCHIP 2 13.03.2007 16:24


Часовой пояс GMT +3, время: 10:31.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot