Ассемблерная вставка в FLProg

Создаем свой блок. Вопросы, помощь знатоков.
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

Re: Ассемблерная вставка в FLProg

Сообщение aidar_i »

В какой версии программы работаете?
Аватара пользователя
dstrufanov
Сержант
Сообщения: 195
Зарегистрирован: 07 янв 2024, 12:43
Имя: Дмитрий
Благодарил (а): 23 раза
Поблагодарили: 35 раз

Re: Ассемблерная вставка в FLProg

Сообщение dstrufanov »

Сообщение удалено
Последний раз редактировалось dstrufanov 13 июн 2025, 22:53, всего редактировалось 2 раза.
kilemch5
Рядовой
Сообщения: 40
Зарегистрирован: 03 сен 2020, 15:55
Имя: Николай
Благодарил (а): 3 раза
Поблагодарили: 1 раз

Re: Ассемблерная вставка в FLProg

Сообщение kilemch5 »

dstrufanov писал(а): 03 апр 2025, 09:48
dstrufanov писал(а): 22 мар 2025, 09:41 Думаю, что надо писать библиотеки на асме и к ним обращаться...
Попробовал. В библиотеках создал папку с двумя файлами .h (где объявляется функция с двумя переменными):

Код: Выделить всё

#ifndef BlackLogic_h
#define BlackLogic_h
//#include "Arduino.h"

bool LogicalAnd(bool A1, bool A2);

#endif
и .cpp (собственно код на асме самой функции LogicalAnd(логическое И)):

Код: Выделить всё

#include "BlackLogic.h"

bool LogicalAnd(bool A1, bool A2)
{
bool B;
asm volatile
(						//
	"cli			\n\t"           //
	"lds		r24,%1 	\n\t"		//в R24 загружаем переменную I1
	"lds		r25,%2 	\n\t"		//в R25 загружаем переменную I2
	"and		r24,r25 \n\t"		//делаем логическое сложение, результат в R24
	"sts		%0,r24 	\n\t"  		//отправляем результат в переменную O
	"sei			\n\t"		//
	:	"=m" (B)			//
	:	"m"  (A1),	                //
		"m"  (A2)                       //
	: 	"r24","r25"			//
);
return B;
}
Компилятор ругается на строку со скобкой и точкой с запятой, которые закрывают аргументы функции asm:
2025-04-03_12-29-49.png

Код: Выделить всё

undefined reference to `Y'
Что только не делал, не могу понять, в чем проблема :smile37:

ПС: 3 раза вызывается функция - 3 раза он ругается
ППС: Оказалось, что все аргументы функции asm он считает одной строкой и ругается на команды с адресацией переменных
точно библиотека соответствует посту про библиотеку?
просто в .cpp нет ни слова про "Y"
Аватара пользователя
dstrufanov
Сержант
Сообщения: 195
Зарегистрирован: 07 янв 2024, 12:43
Имя: Дмитрий
Благодарил (а): 23 раза
Поблагодарили: 35 раз

Re: Ассемблерная вставка в FLProg

Сообщение dstrufanov »

Сообщение удалено
Последний раз редактировалось dstrufanov 13 июн 2025, 22:53, всего редактировалось 1 раз.
kilemch5
Рядовой
Сообщения: 40
Зарегистрирован: 03 сен 2020, 15:55
Имя: Николай
Благодарил (а): 3 раза
Поблагодарили: 1 раз

Re: Ассемблерная вставка в FLProg

Сообщение kilemch5 »

dstrufanov писал(а): 04 апр 2025, 13:07
kilemch5 писал(а): 04 апр 2025, 13:01 точно библиотека соответствует посту про библиотеку?
просто в .cpp нет ни слова про "Y"
"Y" нет, а компилятор ругается, где он его нашел, я не знаю
ПС: когда закомментировал строки асма с обращением к переменным, компиляция прошла
таки где был "Y"?
Аватара пользователя
dstrufanov
Сержант
Сообщения: 195
Зарегистрирован: 07 янв 2024, 12:43
Имя: Дмитрий
Благодарил (а): 23 раза
Поблагодарили: 35 раз

Re: Ассемблерная вставка в FLProg

Сообщение dstrufanov »

Сообщение удалено
Последний раз редактировалось dstrufanov 13 июн 2025, 22:53, всего редактировалось 1 раз.
Аватара пользователя
dstrufanov
Сержант
Сообщения: 195
Зарегистрирован: 07 янв 2024, 12:43
Имя: Дмитрий
Благодарил (а): 23 раза
Поблагодарили: 35 раз

Re: Ассемблерная вставка в FLProg

Сообщение dstrufanov »

Сообщение удалено
Последний раз редактировалось dstrufanov 13 июн 2025, 22:54, всего редактировалось 1 раз.
Аватара пользователя
dstrufanov
Сержант
Сообщения: 195
Зарегистрирован: 07 янв 2024, 12:43
Имя: Дмитрий
Благодарил (а): 23 раза
Поблагодарили: 35 раз

Re: Ассемблерная вставка в FLProg

Сообщение dstrufanov »

Сообщение удалено
Последний раз редактировалось dstrufanov 13 июн 2025, 22:54, всего редактировалось 1 раз.
Аватара пользователя
dstrufanov
Сержант
Сообщения: 195
Зарегистрирован: 07 янв 2024, 12:43
Имя: Дмитрий
Благодарил (а): 23 раза
Поблагодарили: 35 раз

Re: Ассемблерная вставка в FLProg

Сообщение dstrufanov »

Сообщение удалено
Последний раз редактировалось dstrufanov 13 июн 2025, 22:54, всего редактировалось 1 раз.
Аватара пользователя
dstrufanov
Сержант
Сообщения: 195
Зарегистрирован: 07 янв 2024, 12:43
Имя: Дмитрий
Благодарил (а): 23 раза
Поблагодарили: 35 раз

Re: Ассемблерная вставка в FLProg

Сообщение dstrufanov »

Сообщение удалено
Последний раз редактировалось dstrufanov 13 июн 2025, 22:55, всего редактировалось 1 раз.
Аватара пользователя
dstrufanov
Сержант
Сообщения: 195
Зарегистрирован: 07 янв 2024, 12:43
Имя: Дмитрий
Благодарил (а): 23 раза
Поблагодарили: 35 раз

Re: Ассемблерная вставка в FLProg

Сообщение dstrufanov »

Сообщение удалено
Последний раз редактировалось dstrufanov 13 июн 2025, 22:55, всего редактировалось 1 раз.
Аватара пользователя
dstrufanov
Сержант
Сообщения: 195
Зарегистрирован: 07 янв 2024, 12:43
Имя: Дмитрий
Благодарил (а): 23 раза
Поблагодарили: 35 раз

Re: Ассемблерная вставка в FLProg

Сообщение dstrufanov »

Сообщение удалено
Последний раз редактировалось dstrufanov 13 июн 2025, 22:55, всего редактировалось 2 раза.
Аватара пользователя
dstrufanov
Сержант
Сообщения: 195
Зарегистрирован: 07 янв 2024, 12:43
Имя: Дмитрий
Благодарил (а): 23 раза
Поблагодарили: 35 раз

Re: Ассемблерная вставка в FLProg

Сообщение dstrufanov »

Сообщение удалено
Последний раз редактировалось dstrufanov 13 июн 2025, 22:56, всего редактировалось 1 раз.
Аватара пользователя
dstrufanov
Сержант
Сообщения: 195
Зарегистрирован: 07 янв 2024, 12:43
Имя: Дмитрий
Благодарил (а): 23 раза
Поблагодарили: 35 раз

Re: Ассемблерная вставка в FLProg

Сообщение dstrufanov »

Сообщение удалено
Последний раз редактировалось dstrufanov 13 июн 2025, 22:56, всего редактировалось 1 раз.
Аватара пользователя
Rovki
Полковник
Сообщения: 5710
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Благодарил (а): 67 раз
Поблагодарили: 212 раз
Контактная информация:

Re: Ассемблерная вставка в FLProg

Сообщение Rovki »

Пришли печатные платы для вотчдога есп32. Переходники для атини есть (6 ног). Ну и сам код для вотчдог :smile427: хорошо бы
Электронщик до мозга костей и не только
Аватара пользователя
dstrufanov
Сержант
Сообщения: 195
Зарегистрирован: 07 янв 2024, 12:43
Имя: Дмитрий
Благодарил (а): 23 раза
Поблагодарили: 35 раз

Re: Ассемблерная вставка в FLProg

Сообщение dstrufanov »

Сообщение удалено
Последний раз редактировалось dstrufanov 13 июн 2025, 22:56, всего редактировалось 1 раз.
Аватара пользователя
Rovki
Полковник
Сообщения: 5710
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Благодарил (а): 67 раз
Поблагодарили: 212 раз
Контактная информация:

Re: Ассемблерная вставка в FLProg

Сообщение Rovki »

Хорошо, проверьте пожалуйста
Электронщик до мозга костей и не только
Аватара пользователя
dstrufanov
Сержант
Сообщения: 195
Зарегистрирован: 07 янв 2024, 12:43
Имя: Дмитрий
Благодарил (а): 23 раза
Поблагодарили: 35 раз

Re: Ассемблерная вставка в FLProg

Сообщение dstrufanov »

Сообщение удалено
Последний раз редактировалось dstrufanov 13 июн 2025, 22:56, всего редактировалось 1 раз.
Аватара пользователя
dstrufanov
Сержант
Сообщения: 195
Зарегистрирован: 07 янв 2024, 12:43
Имя: Дмитрий
Благодарил (а): 23 раза
Поблагодарили: 35 раз

Re: Ассемблерная вставка в FLProg

Сообщение dstrufanov »

Сообщение удалено
Последний раз редактировалось dstrufanov 13 июн 2025, 22:56, всего редактировалось 1 раз.
Аватара пользователя
dstrufanov
Сержант
Сообщения: 195
Зарегистрирован: 07 янв 2024, 12:43
Имя: Дмитрий
Благодарил (а): 23 раза
Поблагодарили: 35 раз

Re: Ассемблерная вставка в FLProg

Сообщение dstrufanov »

Сообщение удалено
Последний раз редактировалось dstrufanov 13 июн 2025, 22:57, всего редактировалось 1 раз.
Ответить

Вернуться в «Разработка пользовательских блоков»

Кто сейчас на конференции

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