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

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

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

Ответ
 
Опции темы Опции просмотра
Старый 08.06.2017, 14:06   #1
Vovka
Senior Member
 
Аватар для Vovka
 
Регистрация: 27.12.2007
Адрес: недалеко от г.Белгорода
Возраст: 50
Сообщений: 1,845
Вес репутации: 2668/81
Vovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond repute
Отправить сообщение для Vovka с помощью ICQ
Question XC8 и _asm

Не пойму чего надо компилятору:
Код:
#include <xc.h>
void DelayT10()
{
_asm // первая ошибка
	movlw		247
	movwf		Reg_1
	movlw		13
	movwf		Reg_2
	decfsz	Reg_1,1
	goto		-1
	clrwdt
	decfsz	Reg_2,1
	goto		-4
	nop
_endasm // вторая ошибка
}
...
Выдает:
Error [195] c:\Test\main.c; 4.1 expression syntax
Error [312] c:\Test\main.c; 16.1 ";" expected
__________________
Настройся на хороший день и он таким будет!
Vovka на форуме   Ответить с цитированием
Старый 08.06.2017, 14:31   #2
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 31
Сообщений: 1,520
Вес репутации: 3061/65
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: XC8 и _asm

Vovka
asm обычно используется для вот таких вот вещей.
__asm__("asm commans");
asm("asm commands");

для многострочных в xc8 вроде допустимо.
#asm

#endasm
besogon вне форума   Ответить с цитированием
Старый 08.06.2017, 14:54   #3
Vovka
Senior Member
 
Аватар для Vovka
 
Регистрация: 27.12.2007
Адрес: недалеко от г.Белгорода
Возраст: 50
Сообщений: 1,845
Вес репутации: 2668/81
Vovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond reputeVovka has a reputation beyond repute
Отправить сообщение для Vovka с помощью ICQ
По умолчанию Re: XC8 и _asm

besogon, спасибо!
Я так тоже писал, но меня сбило то, что MPLAB IDE v8.92 выделяет красным:
Нажмите на изображение для увеличения
Название: Screenshot_2.png
Просмотров: 2
Размер:	4.9 Кб
ID:	10819
__________________
Настройся на хороший день и он таким будет!
Vovka на форуме   Ответить с цитированием
Старый 14.09.2017, 23:23   #4
DmitrijVDN
Senior Member
 
Регистрация: 09.04.2010
Сообщений: 743
Вес репутации: 1308/49
DmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud of
По умолчанию Re: XC8 и _asm

поделитесь кодом или ссылкой на магию сложения/вычитания двоично-десятичных чисел на пиках
DmitrijVDN вне форума   Ответить с цитированием
Старый 15.09.2017, 09:00   #5
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 31
Сообщений: 1,520
Вес репутации: 3061/65
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: XC8 и _asm

DmitrijVDN
я всегда преобразовывал в двоичный и выполнял операции.
сходу гугол не находит, однако явно можно складывать/вычитать по нибблам.
besogon вне форума   Ответить с цитированием
Старый 15.09.2017, 10:12   #6
Driver
Senior Member
 
Регистрация: 25.02.2007
Адрес: picping.lg.ua
Возраст: 51
Сообщений: 206
Вес репутации: 1120/53
Driver has much to be proud ofDriver has much to be proud ofDriver has much to be proud ofDriver has much to be proud ofDriver has much to be proud ofDriver has much to be proud ofDriver has much to be proud ofDriver has much to be proud ofDriver has much to be proud of
Отправить сообщение для Driver с помощью ICQ Отправить сообщение для Driver с помощью Skype™
По умолчанию Re: XC8 и _asm

Магии нет никакой. В 16 пиках считайте в двоичной , для 18 есть команда DAW - пример http://chipmk.ru/index.php/24-uchims...-v-mk-18-serii
__________________
Все, что нельзя запрограммировать на ассемблере,приходится паять...
Driver вне форума   Ответить с цитированием
Старый 15.09.2017, 20:57   #7
DmitrijVDN
Senior Member
 
Регистрация: 09.04.2010
Сообщений: 743
Вес репутации: 1308/49
DmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud of
По умолчанию Re: XC8 и _asm

Цитата:
Сообщение от besogon Посмотреть сообщение
однако явно можно складывать/вычитать по нибблам.
вот это и хотел посмотреть, в 16 пиках есть десятичный перенос/займ
как делать инкремент/декремент собственно понятно , а вот как сделать сложение/вычитание ну никак не догоняю.
DmitrijVDN вне форума   Ответить с цитированием
Старый 15.09.2017, 21:02   #8
Driver
Senior Member
 
Регистрация: 25.02.2007
Адрес: picping.lg.ua
Возраст: 51
Сообщений: 206
Вес репутации: 1120/53
Driver has much to be proud ofDriver has much to be proud ofDriver has much to be proud ofDriver has much to be proud ofDriver has much to be proud ofDriver has much to be proud ofDriver has much to be proud ofDriver has much to be proud ofDriver has much to be proud of
Отправить сообщение для Driver с помощью ICQ Отправить сообщение для Driver с помощью Skype™
По умолчанию Re: XC8 и _asm

Ну как - вручную , анализируем в регистре STATUS

bit 1 DC: Digit Carry/Borrow bit (ADDWF, ADDLW,SUBLW,SUBWF instructions) (1)
1 = A carry-out from the 4th low-order bit of the result occurred
0 = No carry-out from the 4th low-order bit of the result

и корректируем результат, так же как команда DAW в 18 пиках
__________________
Все, что нельзя запрограммировать на ассемблере,приходится паять...
Driver вне форума   Ответить с цитированием
Старый 15.09.2017, 21:22   #9
DmitrijVDN
Senior Member
 
Регистрация: 09.04.2010
Сообщений: 743
Вес репутации: 1308/49
DmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud ofDmitrijVDN has much to be proud of
По умолчанию Re: XC8 и _asm

можно пример для 16 пиков как корректировать, 18е не интересны.
DmitrijVDN вне форума   Ответить с цитированием
Старый 15.09.2017, 21:33   #10
Driver
Senior Member
 
Регистрация: 25.02.2007
Адрес: picping.lg.ua
Возраст: 51
Сообщений: 206
Вес репутации: 1120/53
Driver has much to be proud ofDriver has much to be proud ofDriver has much to be proud ofDriver has much to be proud ofDriver has much to be proud ofDriver has much to be proud ofDriver has much to be proud ofDriver has much to be proud ofDriver has much to be proud of
Отправить сообщение для Driver с помощью ICQ Отправить сообщение для Driver с помощью Skype™
По умолчанию Re: XC8 и _asm

Примера нет.

Есть документация :

Operation:
If [W<3:0> > 9] or [DC = 1] then
(W<3:0>) + 6 -> W<3:0>;
else
( W<3:0>) -> W<3:0>;

If [W<7:4> + DC > 9] or [C = 1] then
( W<7:4>) + 6 + DC -> W<7:4>;
else
(W<7:4>) + DC -> W<7:4>

PS.
Сам не использовал, считаю в двоичной, а если надо - потом bin2bcd...

PS2.
Если и это не понятно, тогда лучше сразу на XC8 переползать.

PS3.
Так же рекомендую
http://www.piclist.com/techref/microchip/math/basic.htm
__________________
Все, что нельзя запрограммировать на ассемблере,приходится паять...
Driver вне форума   Ответить с цитированием
Ответ


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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
XC8 Pro или XC8 Standart? NSS Продукция MICROCHIP 27 03.02.2016 14:19
xc8 besogon Вопросы начинающих 197 10.05.2015 13:05
XC8 ругает на размер массива. djoni-kga Вопросы начинающих 19 10.10.2014 18:29
XC8 & OSA вопрос tester-y SSH Инструментарий 3 03.03.2013 07:44
mplabx проект на XC8 с модулем на асм. EugenOS Продукция MICROCHIP 8 08.11.2012 21:26


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


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