Страница 3 из 5

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

Добавлено: 04 апр 2025, 12:38
aidar_i
В какой версии программы работаете?

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

Добавлено: 04 апр 2025, 12:45
dstrufanov
Сообщение удалено

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

Добавлено: 04 апр 2025, 13:01
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"

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

Добавлено: 04 апр 2025, 13:07
dstrufanov
Сообщение удалено

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

Добавлено: 04 апр 2025, 14:34
kilemch5
dstrufanov писал(а): 04 апр 2025, 13:07
kilemch5 писал(а): 04 апр 2025, 13:01 точно библиотека соответствует посту про библиотеку?
просто в .cpp нет ни слова про "Y"
"Y" нет, а компилятор ругается, где он его нашел, я не знаю
ПС: когда закомментировал строки асма с обращением к переменным, компиляция прошла
таки где был "Y"?

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

Добавлено: 04 апр 2025, 14:59
dstrufanov
Сообщение удалено

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

Добавлено: 05 апр 2025, 20:19
dstrufanov
Сообщение удалено

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

Добавлено: 06 апр 2025, 14:18
dstrufanov
Сообщение удалено

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

Добавлено: 06 апр 2025, 18:49
dstrufanov
Сообщение удалено

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

Добавлено: 09 апр 2025, 15:48
dstrufanov
Сообщение удалено

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

Добавлено: 10 апр 2025, 09:30
dstrufanov
Сообщение удалено

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

Добавлено: 10 апр 2025, 10:38
dstrufanov
Сообщение удалено

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

Добавлено: 10 апр 2025, 15:17
dstrufanov
Сообщение удалено

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

Добавлено: 12 апр 2025, 20:28
dstrufanov
Сообщение удалено

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

Добавлено: 15 апр 2025, 11:04
Rovki
Пришли печатные платы для вотчдога есп32. Переходники для атини есть (6 ног). Ну и сам код для вотчдог :smile427: хорошо бы

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

Добавлено: 15 апр 2025, 13:07
dstrufanov
Сообщение удалено

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

Добавлено: 15 апр 2025, 16:57
Rovki
Хорошо, проверьте пожалуйста

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

Добавлено: 16 апр 2025, 07:50
dstrufanov
Сообщение удалено

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

Добавлено: 23 апр 2025, 09:25
dstrufanov
Сообщение удалено

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

Добавлено: 05 май 2025, 10:37
dstrufanov
Сообщение удалено