можно-ли использовать ассемблер или машинные коды

vde69
Offline
Зарегистрирован: 10.01.2016

можно-ли использовать ассемблер или машинные коды в штатной прошивке ардуинки ?

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Можно, разрешаем.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

На здоровье, если умеете писать на ассемблере. Хотя, те, кто умеют, таких вопросов обычно не задают.

Проще всего использовать ассемблерные вставки в С++ (хоть всю программу делайте одной большой вставкой). Но при желании, можно и отдельными файлами ассебмлерные куски выделять.

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014
vde69
Offline
Зарегистрирован: 10.01.2016

очень давно писал на асме... уже все забыл...

а есть описание ассемблера на русском?

vde69
Offline
Зарегистрирован: 10.01.2016

Jeka_M пишет:

Вот Вам даже система ассемблерных команд для AVR

во, то, что надо :)

 

осталось пример скетча с вставками :)

vde69
Offline
Зарегистрирован: 10.01.2016

вот такое http://www.atmel.com/webdoc/AVRLibcReferenceManual/assembler_1ass_example.html сожрет типовая среда ардуинки?

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Я конечно не спец... но это ведь не вставка, а полностью исходник на асме? По поводу сожрет/не сожрет это не от среды зависит, а от компилятора. Ассемблерные вставки в AVR-GCC.

Кстати, в среде от производителя микроконтроллеров - Atmel Studio, можно полностью написать прошивку на асме. Или же делать вставки в Си. В Arduino IDE вставки тоже должны работать, компилятор то одинаковый (AVR-GCC).

Если что, ЕвгенийП меня поправит.

MacSim
Offline
Зарегистрирован: 28.11.2012

vde69 пишет:

вот такое http://www.atmel.com/webdoc/AVRLibcReferenceManual/assembler_1ass_example.html сожрет типовая среда ардуинки?

не сожрет :-(

там не под мегу написано и не под наш дудовский компилятор.

за основу можно взять алгоритм, все остальное переписывать ручками под мегу и нужный компилятор.

MacSim
Offline
Зарегистрирован: 28.11.2012

vde69 пишет:

можно-ли использовать ассемблер или машинные коды в штатной прошивке ардуинки ?

про машинные коды не скажу, асм можно через дерективу. например:

#asm("cli")