Atmega 128

Loading thread data ...

Fri May 04 2007 07:15, Ivan Melnikov wrote to All:

IM> Привет All!

IM> Я только начал писать для сабжа программы. Кто-нибудь не подскажет, где IM> можно узнать про передачу параметров между программами написаными на си и IM> АСМ. Хочется часть подпрограмм, обращение к переферии, написать на АСМе, IM> а вот передача параметров через какие регистры идет не знаю.

Например для IAR AVR EWB об этом расписано в разделе "Assembler language interface" документа EWAVR_CompilerReference. Есть еще Atmel application note AVR034 "Mixing C and Assembly Code with IAR Embedded Workbench for AVR"

Наверняка есть подобное и для других компиляторов.

IM> С уважением, Ivan Melnikov Пятница Май 04 2007 06:15.

IM> ... "Что посмеешь, то и пожмёшь."

WBR,Sergey

Reply to
Sergey Teterin
Reply to
Alex Mogilnikov
Reply to
Vitaly Polikarpov

Он 8-битный. Этого уже достаточно для неэффективной генерации кода любого C-компилятора.

Чтобы смотреть и понимать листинги нужно знать ассемблер хотя бы на уровне чуть выше hello world.

Выдача листингов настраивается в опциях компилятора, в 99.9999% случаев передаваемых в командной строке.

Reply to
Kirill Frolov

Не обязательно. Во-первых можно передавать аргументы через стек более-менее единообразным образом (см. stdarg.h). Во-вторых можно аргументы положить, в C-коде, вначале в статическую переменную, доступную в т.ч. как ассемблерная метка, и оттуда её забрать в ассемблерном коде. Ну и наконец, даже если и переписывать, то далеко не всё...

Reply to
Kirill Frolov
Reply to
Vitaly Polikarpov

А я их бывает прямо руками набираю, в командной строке, по буковкам -- представь какой ужос.

Reply to
Kirill Frolov

Если приведете примеры таких проблем, то готов подумать что именно вы делали не так. 99% "проблем компилятора" - это не тривиальные ошибки программиста, его использующего.

Reply to
Anton Fedorov

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.