Atmega 128

May 04, 2007 27 Replies
ðÒÉ×ÅÔ All!
ñ ÔÏÌØËÏ ÎÁÞÁÌ ÐÉÓÁÔØ ÄÌÑ ÓÁÂÖÁ ÐÒÏÇÒÁÍÍÙ. ëÔÏ-ÎÉÂÕÄØ ÎÅ ÐÏÄÓËÁÖÅÔ, ÇÄÅ ÍÏÖÎÏ ÕÚÎÁÔØ ÐÒÏ ÐÅÒÅÄÁÞÕ ÐÁÒÁÍÅÔÒÏ× ÍÅÖÄÕ ÐÒÏÇÒÁÍÍÁÍÉ ÎÁÐÉÓÁÎÙÍÉ ÎÁ ÓÉ É áóí. èÏÞÅÔÓÑ ÞÁÓÔØ ÐÏÄÐÒÏÇÒÁÍÍ, ÏÂÒÁÝÅÎÉÅ Ë ÐÅÒÅÆÅÒÉÉ, ÎÁÐÉÓÁÔØ ÎÁ áóíÅ, Á ×ÏÔ ÐÅÒÅÄÁÞÁ ÐÁÒÁÍÅÔÒÏ× ÞÅÒÅÚ ËÁËÉÅ ÒÅÇÉÓÔÒÙ ÉÄÅÔ ÎÅ ÚÎÁÀ.
ó Õ×ÁÖÅÎÉÅÍ, Ivan Melnikov ðÑÔÎÉÃÁ íÁÊ 04 2007 06:15.


... "þÔÏ ÐÏÓÍÅÅÛØ, ÔÏ É ÐÏÖͣÛØ."


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

ðÒÉ×ÅÔ Ivan!

04 May 07 06:15, Ivan Melnikov ÐÉÓÁÌ All:

IM> ñ ÔÏÌØËÏ ÎÁÞÁÌ ÐÉÓÁÔØ ÄÌÑ ÓÁÂÖÁ ÐÒÏÇÒÁÍÍÙ. ëÔÏ-ÎÉÂÕÄØ ÎÅ ÐÏÄÓËÁÖÅÔ, IM> ÇÄÅ ÍÏÖÎÏ ÕÚÎÁÔØ ÐÒÏ ÐÅÒÅÄÁÞÕ ÐÁÒÁÍÅÔÒÏ× ÍÅÖÄÕ ÐÒÏÇÒÁÍÍÁÍÉ ÎÁÐÉÓÁÎÙÍÉ IM> ÎÁ ÓÉ É áóí.

AFAIK ÄÌÑ avr ÎÅÔ ÏÂÝÅÐÒÉÎÑÔÙÈ ÓÔÁÎÄÁÒÔÎÙÈ ÓÏÇÌÁÛÅÎÉÊ Ï ×ÙÚÏ×ÁÈ. ðÏÜÔÏÍÕ ÕÚÎÁ×ÁÔØ Ï ÎÉÈ ÎÁÄÏ × ÄÏËÕÍÅÎÔÁÃÉÉ ÎÁ ÉÓÐÏÌØÚÕÅÍÙÊ ËÏÍÐÉÌÑÔÏÒ.

IM> èÏÞÅÔÓÑ ÞÁÓÔØ ÐÏÄÐÒÏÇÒÁÍÍ, ÏÂÒÁÝÅÎÉÅ Ë ÐÅÒÅÆÅÒÉÉ, IM> ÎÁÐÉÓÁÔØ ÎÁ áóíÅ, Á ×ÏÔ ÐÅÒÅÄÁÞÁ ÐÁÒÁÍÅÔÒÏ× ÞÅÒÅÚ ËÁËÉÅ ÒÅÇÉÓÔÒÙ ÉÄÅÔ IM> ÎÅ ÚÎÁÀ.

õÚÎÁÔØ ÂÙÓÔÒÏ ÄÌÑ ËÏÎËÒÅÔÎÏÊ ÆÕÎËÃÉÉ ÍÏÖÎÏ ÔÁË: ÐÉÛÅÛØ ÎÁ C "ÐÒÏ×ÅÒÏÞÎÙÊ" ×ÙÚÏ× ÔÉÐÁ foo(1, 2, 3), ËÏÍÐÉÌÉÒÕÅÛØ É ÓÍÏÔÒÉÛØ, ÐÏ ËÁËÉÍ ÒÅÇÉÓÔÒÁÍ ËÁËÉÅ ÐÁÒÁÍÅÔÒÙ ËÏÍÐÉÌÑÔÏÒ ÒÁÓÓÏ×ÁÌ. ÷ÓÅÇÏ ÎÁÉÌÕÞÛÅÇÏ, [Team PCAD 2000] áÌÅËÓÅÊ í. ... ëÒÙÓËÁÓ. ðÏÔÏÍÕ ÞÔÏ ËÒÙÓÁ ×ÁÍ ÄÏ×ÅÒÑÅÔ.
úÄÒÁ×ÓÔ×ÕÊ, Ivan!

IM> ñ ÔÏÌØËÏ ÎÁÞÁÌ ÐÉÓÁÔØ ÄÌÑ ÓÁÂÖÁ ÐÒÏÇÒÁÍÍÙ. ëÔÏ-ÎÉÂÕÄØ ÎÅ ÐÏÄÓËÁÖÅÔ, ÇÄÅ IM> ÍÏÖÎÏ ÕÚÎÁÔØ ÐÒÏ ÐÅÒÅÄÁÞÕ ÐÁÒÁÍÅÔÒÏ× ÍÅÖÄÕ ÐÒÏÇÒÁÍÍÁÍÉ ÎÁÐÉÓÁÎÙÍÉ ÎÁ ÓÉ É IM> áóí. èÏÞÅÔÓÑ ÞÁÓÔØ ÐÏÄÐÒÏÇÒÁÍÍ, ÏÂÒÁÝÅÎÉÅ Ë ÐÅÒÅÆÅÒÉÉ, ÎÁÐÉÓÁÔØ ÎÁ áóíÅ, Á IM> ×ÏÔ ÐÅÒÅÄÁÞÁ ÐÁÒÁÍÅÔÒÏ× ÞÅÒÅÚ ËÁËÉÅ ÒÅÇÉÓÔÒÙ ÉÄÅÔ ÎÅ ÚÎÁÀ.

At128 - ÄÏ×ÏÌØÎÏ ÛÕÓÔÒÙÊ ÐÒÏÃÅÓÓÏÒ. é ÏÎ ÏÒÉÅÎÔÉÒÏ×ÁÎ ÎÁ ñ÷õ, Ô.Å. ÐÒÏÇÒÁÍÍÙ ËÏÍÐÉÌÉÒÕÀÔÓÑ ×ÅÓØÍÁ ÜÆÆÅËÔÉ×ÎÏ. HÏ ÅÓÌÉ ÕÖ ÎÅ È×ÁÔÁÅÔ ÓËÏÒÏÓÔÉ ÓÉÛÎÙÈ ÏÂÒÁÝÅÎÉÊ Ë ÐÅÒÉÆÅÒÉÉ, ÌÕÞÛÅ ÎÁ ÞÔÏ-ÎÉÂÕÄØ ÂÏÌÅÅ ÓÅÒØÅÚÎÏÅ ÏÒÉÅÎÔÉÒÏ×ÁÔØÓÑ. é ÎÁÞÉÎÁÔØ ÐÉÓÁÔØ ÄÌÑ ÎÅÇÏ ÌÕÞÛÅ ×ÏÏÂÝÅ ÂÅÚ ÁÓÓÅÍÂÌÅÒÁ. ÷ÙÂÒÁÔØ ËÏÎËÒÅÔÎÙÊ ËÏÍÐÉÌÑÔÏÒ "C" É ÐÒÏÓÔÏ ÒÁÓÓÍÏÔÒÅÔØ ÁÓÓÅÍÂÌÅÒÎÙÅ ÌÉÓÔÉÎÇÉ Ó×ÏÉÈ ÐÒÏÇÒÁÍÍ, ÷ÙÄÁÞÁ ÌÉÓÔÉÎÇÏ× ÎÁÓÔÒÁÉ×ÁÅÔÓÑ × ËÏÎÆÉÇÕÒÁÃÉÉ ÐÒÏÅËÔÁ. ôÁÍ É ×ÉÄÎÏ ÂÕÄÅÔ, ËÁË ÐÁÒÁÍÅÔÒÙ ÐÅÒÅÄÁÀÔÓÑ × ËÁÖÄÏÍ ËÏÎËÒÅÔÎÏÍ ÓÌÕÞÁÅ. é ËÁË ÏÔÒÁÂÁÔÙ×ÁÅÔ ÒÁÚÌÉÞÎÙÅ "C" ËÏÎÓÔÒÕËÃÉÉ ËÏÍÐÉÌÑÔÏÒ. á ÐÏÔÏÍ ÐÒÉÍÅÛØ ÒÅÛÅÎÉÅ, ÎÕÖÅÎ ÌÉ ÔÅÂÅ ÁÓÓÅÍÂÌÅÒ. õÓÐÅÈÏ×! äÏ Ó×ÉÄÁÎÉÑ. Sergey.

ðÒÉ×ÅÔ Ivan!

04 May 07 10:47, Sergey Teterin -> Ivan Melnikov:

IM>> ñ ÔÏÌØËÏ ÎÁÞÁÌ ÐÉÓÁÔØ ÄÌÑ ÓÁÂÖÁ ÐÒÏÇÒÁÍÍÙ. ëÔÏ-ÎÉÂÕÄØ ÎÅ ÐÏÄÓËÁÖÅÔ, ÇÄÅ IM>> ÍÏÖÎÏ ÕÚÎÁÔØ ÐÒÏ ÐÅÒÅÄÁÞÕ ÐÁÒÁÍÅÔÒÏ× ÍÅÖÄÕ ÐÒÏÇÒÁÍÍÁÍÉ ÎÁÐÉÓÁÎÙÍÉ ÎÁ ÓÉ É IM>> áóí. èÏÞÅÔÓÑ ÞÁÓÔØ ÐÏÄÐÒÏÇÒÁÍÍ, ÏÂÒÁÝÅÎÉÅ Ë ÐÅÒÅÆÅÒÉÉ, ÎÁÐÉÓÁÔØ ÎÁ áóíÅ, IM>> Á ×ÏÔ ÐÅÒÅÄÁÞÁ ÐÁÒÁÍÅÔÒÏ× ÞÅÒÅÚ ËÁËÉÅ ÒÅÇÉÓÔÒÙ ÉÄÅÔ ÎÅ ÚÎÁÀ.

ST> HÁÐÒÉÍÅÒ ÄÌÑ IAR AVR EWB ÏÂ ÜÔÏÍ ÒÁÓÐÉÓÁÎÏ × ÒÁÚÄÅÌÅ "Assembler language ST> interface" ÄÏËÕÍÅÎÔÁ EWAVR_CompilerReference. ST> åÓÔØ ÅÝÅ Atmel application note AVR034 "Mixing C and Assembly Code with ST> IAREmbedded Workbench for AVR"

ST> HÁ×ÅÒÎÑËÁ ÅÓÔØ ÐÏÄÏÂÎÏÅ É ÄÌÑ ÄÒÕÇÉÈ ËÏÍÐÉÌÑÔÏÒÏ×.

HÁÐÒÉÍÅÒ, GCC-AVR Inline Assembler Cookbook

Vitaly Polikarpov, vitvp[Üt]mail.ru

ðÏÍÎÉÛØ, Sergey, ÞÔÏ ÂÙÌÏ Ó ÷ÁÍÉ pÏ×ÎÏ ÛÅÓÔØ ÌÅÔ ÎÁÚÁÄ? óyÂÂÏÔÁ íÁÊ 05 2007 07:15, Sergey Brylew wrote to Ivan Melnikov:

SB> At128 - ÄÏ×ÏÌØÎÏ ÛyÓÔpÙÊ ÐpÏÃÅÓÓÏp. é ÏÎ ÏpÉÅÎÔÉpÏ×ÁÎ ÎÁ ñ÷õ,

HÉÞyÔØ ÎÅ ÂÏÌÅÅ, ÞÅÍ ÂÏÌØÛÉÎÓÔ×Ï ÐpÏÞÉÈ ÜÈÏÔÁÖÎÙÈ ÐpÏÃÅÓÓÏpÏ× :)

íÁÊËÌ
ðÒÉ×ÅÔ Alex! ðÑÔÎÉÃÁ íÁÊ 04 2007 12:34, Alex Mogilnikov -> Ivan Melnikov:

IM>> ñ ÔÏÌØËÏ ÎÁÞÁÌ ÐÉÓÁÔØ ÄÌÑ ÓÁÂÖÁ ÐÒÏÇÒÁÍÍÙ. ëÔÏ-ÎÉÂÕÄØ ÎÅ IM>> ÐÏÄÓËÁÖÅÔ, ÇÄÅ ÍÏÖÎÏ ÕÚÎÁÔØ ÐÒÏ ÐÅÒÅÄÁÞÕ ÐÁÒÁÍÅÔÒÏ× ÍÅÖÄÕ IM>> ÐÒÏÇÒÁÍÍÁÍÉ ÎÁÐÉÓÁÎÙÍÉ ÎÁ ÓÉ É áóí. AM>

AM> AFAIK ÄÌÑ avr ÎÅÔ ÏÂÝÅÐÒÉÎÑÔÙÈ ÓÔÁÎÄÁÒÔÎÙÈ ÓÏÇÌÁÛÅÎÉÊ Ï ×ÙÚÏ×ÁÈ. AM> ðÏÜÔÏÍÕ ÕÚÎÁ×ÁÔØ Ï ÎÉÈ ÎÁÄÏ × ÄÏËÕÍÅÎÔÁÃÉÉ ÎÁ ÉÓÐÏÌØÚÕÅÍÙÊ ËÏÍÐÉÌÑÔÏÒ. AM>

ðÌÏÈÏ, ÅÓÌÉ ÎÅÔ ÏÂÝÅÐÒÉÎÑÔÙÈ ÓÏÇÌÁÛÅÎÉÊ. ðÏÄ ËÁÖÄÙÊ ËÏÍÐÉÌÑÔÏÒ ÎÁÄÏ ÐÅÒÅÐÉÓÙ×ÁÔØ ×ÓÅ.

IM>> èÏÞÅÔÓÑ ÞÁÓÔØ ÐÏÄÐÒÏÇÒÁÍÍ, ÏÂÒÁÝÅÎÉÅ Ë ÐÅÒÅÆÅÒÉÉ, IM>> ÎÁÐÉÓÁÔØ ÎÁ áóíÅ, Á ×ÏÔ ÐÅÒÅÄÁÞÁ ÐÁÒÁÍÅÔÒÏ× ÞÅÒÅÚ ËÁËÉÅ ÒÅÇÉÓÔÒÙ IM>> ÉÄÅÔ ÎÅ ÚÎÁÀ. AM>

AM> õÚÎÁÔØ ÂÙÓÔÒÏ ÄÌÑ ËÏÎËÒÅÔÎÏÊ ÆÕÎËÃÉÉ ÍÏÖÎÏ ÔÁË: ÐÉÛÅÛØ ÎÁ C AM> "ÐÒÏ×ÅÒÏÞÎÙÊ" ×ÙÚÏ× ÔÉÐÁ foo(1, 2, 3), ËÏÍÐÉÌÉÒÕÅÛØ É ÓÍÏÔÒÉÛØ, ÐÏ AM> ËÁËÉÍ ÒÅÇÉÓÔÒÁÍ ËÁËÉÅ ÐÁÒÁÍÅÔÒÙ ËÏÍÐÉÌÑÔÏÒ ÒÁÓÓÏ×ÁÌ. AM>

óÐÁÓÉÂÏ, ÐÏÐÒÏÂÕÀ. ó Õ×ÁÖÅÎÉÅÍ, Ivan Melnikov ðÏÎÅÄÅÌØÎÉË íÁÊ 07 2007 06:34.

... "ñÊÃÁ ËÕÒÉÃÕ ÄÉÓÃÉÐÌÉÎÉÒÕÀÔ."

ðÒÉ×ÅÔ Sergey! ðÑÔÎÉÃÁ íÁÊ 04 2007 10:47, Sergey Teterin -> Ivan Melnikov:

IM>> ñ ÔÏÌØËÏ ÎÁÞÁÌ ÐÉÓÁÔØ ÄÌÑ ÓÁÂÖÁ ÐÒÏÇÒÁÍÍÙ. ëÔÏ-ÎÉÂÕÄØ ÎÅ IM>> ÐÏÄÓËÁÖÅÔ, ÇÄÅ ÍÏÖÎÏ ÕÚÎÁÔØ ÐÒÏ ÐÅÒÅÄÁÞÕ ÐÁÒÁÍÅÔÒÏ× ÍÅÖÄÕ IM>> ÐÒÏÇÒÁÍÍÁÍÉ ÎÁÐÉÓÁÎÙÍÉ ÎÁ ÓÉ É áóí. èÏÞÅÔÓÑ ÞÁÓÔØ ÐÏÄÐÒÏÇÒÁÍÍ, IM>> ÏÂÒÁÝÅÎÉÅ Ë ÐÅÒÅÆÅÒÉÉ, ÎÁÐÉÓÁÔØ ÎÁ áóíÅ, Á ×ÏÔ ÐÅÒÅÄÁÞÁ IM>> ÐÁÒÁÍÅÔÒÏ× ÞÅÒÅÚ ËÁËÉÅ ÒÅÇÉÓÔÒÙ ÉÄÅÔ ÎÅ ÚÎÁÀ. ST>

ST> HÁÐÒÉÍÅÒ ÄÌÑ IAR AVR EWB ÏÂ ÜÔÏÍ ÒÁÓÐÉÓÁÎÏ × ÒÁÚÄÅÌÅ "Assembler ST> language interface" ÄÏËÕÍÅÎÔÁ EWAVR_CompilerReference. åÓÔØ ÅÝÅ Atmel ST> application note AVR034 "Mixing C and Assembly Code with IAR Embedded ST> Workbench for AVR" ST>

ST> HÁ×ÅÒÎÑËÁ ÅÓÔØ ÐÏÄÏÂÎÏÅ É ÄÌÑ ÄÒÕÇÉÈ ËÏÍÐÉÌÑÔÏÒÏ×. ST>

ST>

óÐÁÓÉÂÏ, ÂÕÄÅÍ ÞÉÔÁÔØ. ó Õ×ÁÖÅÎÉÅÍ, Ivan Melnikov ðÏÎÅÄÅÌØÎÉË íÁÊ 07 2007 06:36.

... "ðÅÒÅÄ ÔÅÍ, ËÁË ÆÁÒÍÁÔÎÕÔØ ÓÅÒ×ÅÒ, ÕÂÅÄÉÓØ, ÞÔÏ ÏÎ ÎÅ Ô×ÏÊ."

ðÒÉ×ÅÔ Sergey! óÕÂÂÏÔÁ íÁÊ 05 2007 07:15, Sergey Brylew -> Ivan Melnikov:

IM>> ñ ÔÏÌØËÏ ÎÁÞÁÌ ÐÉÓÁÔØ ÄÌÑ ÓÁÂÖÁ ÐÒÏÇÒÁÍÍÙ. ëÔÏ-ÎÉÂÕÄØ ÎÅ IM>> ÐÏÄÓËÁÖÅÔ, ÇÄÅ ÍÏÖÎÏ ÕÚÎÁÔØ ÐÒÏ ÐÅÒÅÄÁÞÕ ÐÁÒÁÍÅÔÒÏ× ÍÅÖÄÕ IM>> ÐÒÏÇÒÁÍÍÁÍÉ ÎÁÐÉÓÁÎÙÍÉ ÎÁ ÓÉ É áóí. èÏÞÅÔÓÑ ÞÁÓÔØ ÐÏÄÐÒÏÇÒÁÍÍ, IM>> ÏÂÒÁÝÅÎÉÅ Ë ÐÅÒÅÆÅÒÉÉ, ÎÁÐÉÓÁÔØ ÎÁ áóíÅ, Á ×ÏÔ ÐÅÒÅÄÁÞÁ IM>> ÐÁÒÁÍÅÔÒÏ× ÞÅÒÅÚ ËÁËÉÅ ÒÅÇÉÓÔÒÙ ÉÄÅÔ ÎÅ ÚÎÁÀ. SB>

SB> At128 - ÄÏ×ÏÌØÎÏ ÛÕÓÔÒÙÊ ÐÒÏÃÅÓÓÏÒ. é ÏÎ ÏÒÉÅÎÔÉÒÏ×ÁÎ ÎÁ ñ÷õ, SB> Ô.Å. ÐÒÏÇÒÁÍÍÙ ËÏÍÐÉÌÉÒÕÀÔÓÑ ×ÅÓØÍÁ ÜÆÆÅËÔÉ×ÎÏ. HÏ ÅÓÌÉ ÕÖ ÎÅ È×ÁÔÁÅÔ SB> ÓËÏÒÏÓÔÉ ÓÉÛÎÙÈ ÏÂÒÁÝÅÎÉÊ Ë ÐÅÒÉÆÅÒÉÉ, ÌÕÞÛÅ ÎÁ ÞÔÏ-ÎÉÂÕÄØ ÂÏÌÅÅ SB> ÓÅÒØÅÚÎÏÅ ÏÒÉÅÎÔÉÒÏ×ÁÔØÓÑ. é ÎÁÞÉÎÁÔØ ÐÉÓÁÔØ ÄÌÑ ÎÅÇÏ ÌÕÞÛÅ ×ÏÏÂÝÅ ÂÅÚ SB> ÁÓÓÅÍÂÌÅÒÁ. ÷ÙÂÒÁÔØ ËÏÎËÒÅÔÎÙÊ ËÏÍÐÉÌÑÔÏÒ "C" É ÐÒÏÓÔÏ ÒÁÓÓÍÏÔÒÅÔØ SB> ÁÓÓÅÍÂÌÅÒÎÙÅ ÌÉÓÔÉÎÇÉ Ó×ÏÉÈ ÐÒÏÇÒÁÍÍ, ÷ÙÄÁÞÁ ÌÉÓÔÉÎÇÏ× ÎÁÓÔÒÁÉ×ÁÅÔÓÑ × SB> ËÏÎÆÉÇÕÒÁÃÉÉ ÐÒÏÅËÔÁ. ôÁÍ É ×ÉÄÎÏ ÂÕÄÅÔ, ËÁË ÐÁÒÁÍÅÔÒÙ ÐÅÒÅÄÁÀÔÓÑ × SB> ËÁÖÄÏÍ ËÏÎËÒÅÔÎÏÍ ÓÌÕÞÁÅ. é ËÁË ÏÔÒÁÂÁÔÙ×ÁÅÔ ÒÁÚÌÉÞÎÙÅ "C" ËÏÎÓÔÒÕËÃÉÉ SB> ËÏÍÐÉÌÑÔÏÒ. á ÐÏÔÏÍ ÐÒÉÍÅÛØ ÒÅÛÅÎÉÅ, ÎÕÖÅÎ ÌÉ ÔÅÂÅ ÁÓÓÅÍÂÌÅÒ.

äÁ, ÎÁ×ÅÒÎÏÅ ÔÁË É ÐÒÉÄÅÔÓÑ ÄÅÌÁÔØ, ÓÍÏÔÒÅÔØ ÌÉÓÔÉÎÇÉ. óÐÁÓÉÂÏ. ó Õ×ÁÖÅÎÉÅÍ, Ivan Melnikov ðÏÎÅÄÅÌØÎÉË íÁÊ 07 2007 06:37.

... "âÅÛÅÎÎÏÍÕ ÄÉÔÑÔÅ ÎÏÖÁ ÎÅ ÄÁ×ÁÔØ!"

ðÒÉ×ÅÔ Vitaly! ÷ÏÓËÒÅÓÅÎØÅ íÁÊ 06 2007 13:50, Vitaly Polikarpov -> Ivan Melnikov:

IM>>> ñ ÔÏÌØËÏ ÎÁÞÁÌ ÐÉÓÁÔØ ÄÌÑ ÓÁÂÖÁ ÐÒÏÇÒÁÍÍÙ. ëÔÏ-ÎÉÂÕÄØ ÎÅ IM>>> ÐÏÄÓËÁÖÅÔ, ÇÄÅ ÍÏÖÎÏ ÕÚÎÁÔØ ÐÒÏ ÐÅÒÅÄÁÞÕ ÐÁÒÁÍÅÔÒÏ× ÍÅÖÄÕ IM>>> ÐÒÏÇÒÁÍÍÁÍÉ ÎÁÐÉÓÁÎÙÍÉ ÎÁ ÓÉ É áóí. èÏÞÅÔÓÑ ÞÁÓÔØ ÐÏÄÐÒÏÇÒÁÍÍ, IM>>> ÏÂÒÁÝÅÎÉÅ Ë ÐÅÒÅÆÅÒÉÉ, ÎÁÐÉÓÁÔØ ÎÁ áóíÅ, Á ×ÏÔ ÐÅÒÅÄÁÞÁ IM>>> ÐÁÒÁÍÅÔÒÏ× ÞÅÒÅÚ ËÁËÉÅ ÒÅÇÉÓÔÒÙ ÉÄÅÔ ÎÅ ÚÎÁÀ. VP>

ST>> HÁÐÒÉÍÅÒ ÄÌÑ IAR AVR EWB ÏÂ ÜÔÏÍ ÒÁÓÐÉÓÁÎÏ × ÒÁÚÄÅÌÅ "Assembler ST>> language interface" ÄÏËÕÍÅÎÔÁ EWAVR_CompilerReference. åÓÔØ ÅÝÅ ST>> Atmel application note AVR034 "Mixing C and Assembly Code with ST>> IAREmbedded Workbench for AVR" VP>

ST>> HÁ×ÅÒÎÑËÁ ÅÓÔØ ÐÏÄÏÂÎÏÅ É ÄÌÑ ÄÒÕÇÉÈ ËÏÍÐÉÌÑÔÏÒÏ×. VP>

VP> HÁÐÒÉÍÅÒ, GCC-AVR Inline Assembler Cookbook VP>

óÐÁÓÉÂÏ. ðÏÞÉÔÁÅÍ É ÐÏÓÍÏÔÒÉÍ. ó Õ×ÁÖÅÎÉÅÍ, Ivan Melnikov ðÏÎÅÄÅÌØÎÉË íÁÊ 07 2007 06:39.

... "ó ËÅÍ ÐÏ×ÅģÛØÓÑ, ÔÁË ÔÅÂÅ É ÎÁÄÏ!"

úÄÒÁ×ÓÔ×ÕÊ, Michael!

SB>> At128 - ÄÏ×ÏÌØÎÏ ÛyÓÔpÙÊ ÐpÏÃÅÓÓÏp. é ÏÎ ÏpÉÅÎÔÉpÏ×ÁÎ ÎÁ ñ÷õ,

MM> HÉÞyÔØ ÎÅ ÂÏÌÅÅ, ÞÅÍ ÂÏÌØÛÉÎÓÔ×Ï ÐpÏÞÉÈ ÜÈÏÔÁÖÎÙÈ ÐpÏÃÅÓÓÏpÏ× :)

éÓÈÏÄÎÙÊ ×ÏÐÒÏÓ ÎÅ ËÁÓÁÌÓÑ ×ÙÂÏÒÁ ÐÒÏÃÅÓÓÏÒÏ×. ðÏÔÏÍÕ Ñ É ÎÅ ÒÁÓÓÍÁÔÒÉ×ÁÌ, ÂÏÌÅÅ, ÉÌÉ ÍÅÎÅÅ. HÏ ÅÓÌÉ ÔÁË ÕÖ ÕÇÏÄÎÏ, ÔÏ "C" ÏÐÅÒÁÔÏÒÙ ÄÌÑ 16-È ÐÉËÏ×, ÎÁÐÒÉÍÅÒ, ÇÏÒÁÚÄÏ ÍÅÎÅÅ ÌÁËÏÎÉÞÎÙ. õÓÐÅÈÏ×! äÏ Ó×ÉÄÁÎÉÑ. Sergey.

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

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

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

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

ðÒÉ×ÅÔ Kirill!

08 May 07 11:25, Kirill Frolov -> Sergey Brylew:

KF> ïÎ 8-ÂÉÔÎÙÊ. üÔÏÇÏ ÕÖÅ ÄÏÓÔÁÔÏÞÎÏ ÄÌÑ ÎÅÜÆÆÅËÔÉ×ÎÏÊ ÇÅÎÅÒÁÃÉÉ ËÏÄÁ KF> ÌÀÂÏÇÏ C-ËÏÍÐÉÌÑÔÏÒÁ. ñ ÎÅ ÓÉÛÎÉË, ÍÎÅ ÔÁË ËÁÜÔÓÑ :), ÎÏ ÄÏÓÔÁ×ÁÔØ ÌÅ×ÏÊ ÚÁÄÎÅÊ ÐÒÁ×ÏÅ ÕÈÏ ÍÏÖÎÏ ÎÁ ÞÅÍ ÕÇÏÄÎÏ.

ðÏ-ÎÁÞÁÌÕ ÂÅÚ ÚÎÁÎÉÑ ÏÓÏÂÅÎÎÏÓÔÅÊ ËÏÍÐÉÌÑÔÏÒÏ× ÔÁË É ÐÒÏÉÓÈÏÄÉÔ - ÂÙÓÔÒÅÅ ÒÏÄÉÔØ ÎÁ ÁÓÍ, ÞÅÍ ÚÁÓÔÁ×ÉÔØ ËÏÍÐÉÌÑÔÏÒ ÓÇÅÎÅÒÉÔØ ÎÅÏÂÈÏÄÉÍÏÅ. ÷ ÐÏÓÌÅÄÕÀÝÅÍ, ÉÚÏÂÒÁÚÉÔÅÌØÎÙÈ ×ÏÚÍÏÖÎÏÓÔÅÊ ÓÒÁÎÉÔÅÌØÎÏ ÎÉÚËÕÒÏ×ÎÅ×ÏÇÏ ã È×ÁÔÁÅÔ, ÞÔÏÂÙ ÏÔ ÁÓÍÁ, ÅÓÌÉ ÎÅ ÏÔÏÊÔÉ ÓÏ×ÓÅÍ, ÔÏ Ó×ÅÓÔÉ ÅÇÏ ÉÓÐÏÌØÚÏ×ÁÎÉÅ Ë ÍÉÎÉÍÕÍÕ.

KF> þÔÏÂÙ ÓÍÏÔÒÅÔØ É ÐÏÎÉÍÁÔØ ÌÉÓÔÉÎÇÉ ÎÕÖÎÏ ÚÎÁÔØ ÁÓÓÅÍÂÌÅÒ ÈÏÔÑ ÂÙ ÎÁ KF> ÕÒÏ×ÎÅ ÞÕÔØ ×ÙÛÅ hello world. èÕÖÅ ÔÅÍ, ËÔÏ ÎÉÖÅ ^^^^^^^^^^^ É ÎÅ ÏÐÕÓËÁÌÓÑ :)

KF> ÷ÙÄÁÞÁ ÌÉÓÔÉÎÇÏ× ÎÁÓÔÒÁÉ×ÁÅÔÓÑ × ÏÐÃÉÑÈ ËÏÍÐÉÌÑÔÏÒÁ, × 99.9999% KF> ÓÌÕÞÁÅ× ÐÅÒÅÄÁ×ÁÅÍÙÈ × ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÅ. HÅ ×ÓÅ-ÌÉ ÒÁ×ÎÏ ËÁË ÏÎÁ, ÅÄÉÎÏÖÄÙ ÚÁÄÁÎÎÁÑ, ÐÅÒÅÄÁÅÔÓÑ. ôÕÔ ÄÁÖÅ ÐÏÄ ÚÁÐÕÓË ÏÔÌÁÄÏÞÎÏÊ ËÏÎÆÉÇÕÒÁÃÉÉ ×ÐÏÒÕ bath ÐÉÓÁÔØ, Á ÎÅ ÔÏ ÞÔÏ ×ÏÛËÁÔØÓÑ × cmdline Ó ÔÉÐÏ×ÙÍÉ ÐÁÒÁÍÅÔÒÁÍÉ, ËÏÔÏÒÙÍ ÍÅÓÔÏ × makefile.

Vitaly Polikarpov, vitvp[Üt]mail.ru

èÏpÏÛÅÅ ëÉÎÏ ÜÔÏ ×ÉÎÏ. ÷ÙÐØÅÍ, Ivan? ðÏÎÅÄÅÌØÎÉË íÁÊ 07 2007 06:34, Ivan Melnikov wrote to Alex Mogilnikov:

AM>> AFAIK ÄÌÑ avr ÎÅÔ ÏÂÝÅÐpÉÎÑÔÙÈ ÓÔÁÎÄÁpÔÎÙÈ ÓÏÇÌÁÛÅÎÉÊ Ï AM>> ×ÙÚÏ×ÁÈ. ðÏÜÔÏÍy yÚÎÁ×ÁÔØ Ï ÎÉÈ ÎÁÄÏ × ÄÏËyÍÅÎÔÁÃÉÉ ÎÁ ÉÓÐÏÌØÚyÅÍÙÊ AM>> ËÏÍÐÉÌÑÔÏp. IM> ðÌÏÈÏ, ÅÓÌÉ ÎÅÔ ÏÂÝÅÐpÉÎÑÔÙÈ ÓÏÇÌÁÛÅÎÉÊ. óÏ×pÅÍÅÎÎÙÅ ËÏÍÐÉÌÑÔÏpÙ ÔÅÏpÅÔÉÞÅÓËÉ ÓËÏpÏ yÖÅ ÍÏÇyÔ ÎÁyÞÉÔØÓÑ (ÅÓÌÉ ÅÝÅ ÎÅ ÎÁyÞÉÌÉÓØ) ÄÅÌÁÔØ ÜÔÉ ÓÏÇÌÁÛÅÎÉÑ ÐÌÁ×ÁÀÝÉÍÉ - ÉÚ ÓÏÏÂpÁÖÅÎÉÊ ÏÐÔÉÍÉÚÉÃÉÉ. ðÌÏÈÏ - ÜÔÏ ËÏÇÄÁ y ÔÅÂÑ × ÐpÏÇpÁÍÍÅ ÂyÄÅÔ ÍÎÏÇÏ ÚÁ×ÑÚÏË ÎÁ ÓÏÇÌÁÛÅÎÉÑ Ï ×ÙÚÏ×ÁÈ.

IM> ðÏÄ ËÁÖÄÙÊ ËÏÍÐÉÌÑÔÏp ÎÁÄÏ ÐÅpÅÐÉÓÙ×ÁÔØ ×ÓÅ. HÅ ×ӣ, Á ÔÏÌØËÏ ÁÓÍ. ÷ÏÏÂÝÅ-ÔÏ ÐpÅÖÄÅ ÞÅÍ ÎÁÞÉÎÁÔØ ÐÉÓÁÔØ ÎÁ ΣÍ, ÎÁÄÏ ÁÂÓÏÌÀÔÎÏ ÑÓÎÏ ÏÓÏÚÎÁÔØ ÐpÅÓÌÅÄyÅÍÙÅ ÃÅÌÉ É ×ÏÚÍÏÖÎÙÅ ÐÏÓÌÅÄÓÔ×ÉÑ.

íÁÊËÌ
ûÎyp ÖÉ%, Sergey. ðÏÎÅÄÅÌØÎÉË íÁÊ 07 2007 06:48, Sergey Brylew wrote to Michael Mamaev:

SB>>> At128 - ÄÏ×ÏÌØÎÏ ÛyÓÔpÙÊ ÐpÏÃÅÓÓÏp. é ÏÎ ÏpÉÅÎÔÉpÏ×ÁÎ ÎÁ SB>>> ñ÷õ, MM>> HÉÞyÔØ ÎÅ ÂÏÌÅÅ, ÞÅÍ ÂÏÌØÛÉÎÓÔ×Ï ÐpÏÞÉÈ ÜÈÏÔÁÖÎÙÈ ÐpÏÃÅÓÓÏpÏ× :) SB> éÓÈÏÄÎÙÊ ×ÏÐpÏÓ ÎÅ ËÁÓÁÌÓÑ ×ÙÂÏpÁ ÐpÏÃÅÓÓÏpÏ×. ðÏÔÏÍy Ñ É ÎÅ SB> pÁÓÓÍÁÔpÉ×ÁÌ, ÂÏÌÅÅ, ÉÌÉ ÍÅÎÅÅ. HÏ ÅÓÌÉ ÔÁË yÖ yÇÏÄÎÏ, ÔÏ "C" SB> ÏÐÅpÁÔÏpÙ ÄÌÑ 16-È ÐÉËÏ×, ÎÁÐpÉÍÅp, ÇÏpÁÚÄÏ ÍÅÎÅÅ ÌÁËÏÎÉÞÎÙ.

üÔÏ ÓËÏpÅÅ ÇÏ×ÏpÉÔ Ï ËpÉ×ÏÓÔÉ ËÏÍÐÉÌÑÔÏpÁ, ÞÅÍ Ï ËÁËÏÊ-ÌÉÂÏ ÏpÉÅÎÔÉpÏ×ÁÎÎÏÓÔÉ. ï ñ÷õ-ÏpÉÅÎÔÉpÏ×ÁÎÎÏÓÔÉ ÍÏÖÎÏ ÓyÄÉÔØ pÁÚ×Å ÞÔÏ ÐÏ ÎÁÌÉÞÉÀ ÎÏpÍÁÌØÎÏÇÏ ÓÔÅËÁ. ÷ ÂÏÌØÛÉÎÓÔ×Å ÓÏ×pÅÍÅÎÎÙÈ ÐpÉÌÉÞÎÙÈ íë ÏÎ ÅÓÔØ, Á ×ÏÔ ×Ï ÍÎÏÇÉÈ ÄpÅ×ÎÉÈ É ÍÁÌÅÎØËÉÈ ×ÍÅÓÔÏ ÎÅÇÏ ÏÇpÙÚËÉ É ÏÂpÅÚËÉ.

íÁÊËÌ

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

ðÒÉ×ÅÔ Kirill! ÷ÔÏÒÎÉË íÁÊ 08 2007 11:44, Kirill Frolov -> Ivan Melnikov:

KF> HÅ ÏÂÑÚÁÔÅÌØÎÏ. ÷Ï-ÐÅÒ×ÙÈ ÍÏÖÎÏ ÐÅÒÅÄÁ×ÁÔØ ÁÒÇÕÍÅÎÔÙ ÞÅÒÅÚ ÓÔÅË KF> ÂÏÌÅÅ-ÍÅÎÅÅ ÅÄÉÎÏÏÂÒÁÚÎÙÍ ÏÂÒÁÚÏÍ (ÓÍ. stdarg.h).

üÔÏ ÂÕÄÅÔ ÎÁ×ÅÒÎÏÅ ÌÕÞÛÅ. óÐÁÓÉÂÏ, ÐÏÓÍÏÔÒÀ. óÔÁÒÁÀÓØ × ÐÒÅÒÙ×ÁÎÉÑÈ ×ÓÅÇÄÁ ÉÓÐÏÌØÚÏ×ÁÔØ ÓÏÈÒÁÎÉÅÎÉÅ É ×ÏÓÓÔÁÎÏ×ÌÅÎÉÅ ÞÅÒÅÚ ÓÔÅË ÒÅÇÉÓÔÒÏ×.

KF> ÷Ï-×ÔÏÒÙÈ ÍÏÖÎÏ ÁÒÇÕÍÅÎÔÙ ÐÏÌÏÖÉÔØ, × C-ËÏÄÅ, ×ÎÁÞÁÌÅ × ÓÔÁÔÉÞÅÓËÕÀ KF> ÐÅÒÅÍÅÎÎÕÀ, ÄÏÓÔÕÐÎÕÀ × Ô.Þ. ËÁË ÁÓÓÅÍÂÌÅÒÎÁÑ ÍÅÔËÁ, É ÏÔÔÕÄÁ ţ KF> ÚÁÂÒÁÔØ × ÁÓÓÅÍÂÌÅÒÎÏÍ ËÏÄÅ.

üÔÉÍ ÍÅÔÏÄÏÍ ÎÅ ÐÏÌØÚÕÀÓØ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÒÅÇÉÓÔÒÏ× × ÐÒÅÒÙ×ÁÎÉÑÈ, ÓÞÉÔÁÀ ÞÔÏ ÐÌÏÈÏ.

KF> HÕ É ÎÁËÏÎÅÃ, ÄÁÖÅ ÅÓÌÉ É ÐÅÒÅÐÉÓÙ×ÁÔØ, ÔÏ ÄÁÌÅËÏ ÎÅ ×ӣ... KF>

HÕ ÍÏÖÅÔ ÔÙ É ÐÒÁ×, ÎÏ ×ÓÅ ÖÅ ËÁÖÄÏÅ ÉÓÐÒÁ×ÌÅÎÉÅ ×ÌÅÞÅÔ ÏÛÉÂËÉ. ìÕÞÛÅ ÂÙ ÉÈ ÍÅÎØÛÅ ÂÙÌÏ.

ó Õ×ÁÖÅÎÉÅÍ, Ivan Melnikov þÅÔ×ÅÒÇ íÁÊ 10 2007 06:23.

... "åÖ ÐÔÉÃÁ ÇÏÒÄÁÑ. ðÏËÁ ÎÅ ÐÎÅÛØ - ÎÅ ÐÏÌÅÔÉÔ. "

ðÒÉ×ÅÔ Michael! óÒÅÄÁ íÁÊ 09 2007 08:47, Michael Mamaev -> Ivan Melnikov:

AM>>> AFAIK ÄÌÑ avr ÎÅÔ ÏÂÝÅÐpÉÎÑÔÙÈ ÓÔÁÎÄÁpÔÎÙÈ ÓÏÇÌÁÛÅÎÉÊ Ï AM>>> ×ÙÚÏ×ÁÈ. ðÏÜÔÏÍy yÚÎÁ×ÁÔØ Ï ÎÉÈ ÎÁÄÏ × ÄÏËyÍÅÎÔÁÃÉÉ ÎÁ AM>>> ÉÓÐÏÌØÚyÅÍÙÊ ËÏÍÐÉÌÑÔÏp. IM>> ðÌÏÈÏ, ÅÓÌÉ ÎÅÔ ÏÂÝÅÐpÉÎÑÔÙÈ ÓÏÇÌÁÛÅÎÉÊ. MM>

MM> óÏ×pÅÍÅÎÎÙÅ ËÏÍÐÉÌÑÔÏpÙ ÔÅÏpÅÔÉÞÅÓËÉ ÓËÏpÏ yÖÅ ÍÏÇyÔ ÎÁyÞÉÔØÓÑ (ÅÓÌÉ MM> ÅÝÅ ÎÅ ÎÁyÞÉÌÉÓØ) ÄÅÌÁÔØ ÜÔÉ ÓÏÇÌÁÛÅÎÉÑ ÐÌÁ×ÁÀÝÉÍÉ - ÉÚ ÓÏÏÂpÁÖÅÎÉÊ MM> ÏÐÔÉÍÉÚÉÃÉÉ.

ìÕÞÛÅ ÂÙ ÜÔÏÊ ÏÐÔÉÍÉÚÁÃÉÉ ÎÅ ÂÙÌÏ ÂÙ, ÐÒÉ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÉ ÐÒÏÇÒÁÍÍ ÐÏÄ 8051, ÎÁÍÕÞÉÌÓÑ. ðÒÏÇÒÁÍÍÙ ÎÁÐÉÓÁÎÎÙÅ ÎÁ óÉ ÄÁ×ÁÌÉ ÉÎÔÅÒÅÓÎÙÅ ÒÅÚÕÌØÔÁÔÙ É ÐÏÜÔÏÍÕ ÐÒÉÈÏÄÉÌÏÓØ ÐÉÓÁÔØ ÞÁÓÔØ ÐÏÄÐÒÏÇÒÁÍÍ ÎÁ ÁÓÍÅ, ÞÔÏÂÙ ÎÅÂÙÌÏ ÏÐÔÉÍÉÚÁÃÉÉ É ÐÏÄÐÒÏÇÒÁÍÍÙ ÂÙÌÉ ËÏÒÏÞÅ É ÂÙÓÔÒÅÅ ×ÙÐÏÌÎÑÌÉÓØ.

MM> ðÌÏÈÏ - ÜÔÏ ËÏÇÄÁ y ÔÅÂÑ × ÐpÏÇpÁÍÍÅ ÂyÄÅÔ ÍÎÏÇÏ ÚÁ×ÑÚÏË MM> ÎÁ ÓÏÇÌÁÛÅÎÉÑ Ï ×ÙÚÏ×ÁÈ. MM>

äÁ, × ÔÁËÉÈ ÓÌÕÞÁÑÈ ÔÑÖÅÌÏ.

IM>> ðÏÄ ËÁÖÄÙÊ ËÏÍÐÉÌÑÔÏp ÎÁÄÏ ÐÅpÅÐÉÓÙ×ÁÔØ ×ÓÅ. MM>

MM> HÅ ×ӣ, Á ÔÏÌØËÏ ÁÓÍ. ÷ÏÏÂÝÅ-ÔÏ ÐpÅÖÄÅ ÞÅÍ ÎÁÞÉÎÁÔØ ÐÉÓÁÔØ ÎÁ ΣÍ, MM> ÎÁÄÏ ÁÂÓÏÌÀÔÎÏ ÑÓÎÏ ÏÓÏÚÎÁÔØ ÐpÅÓÌÅÄyÅÍÙÅ ÃÅÌÉ É ×ÏÚÍÏÖÎÙÅ MM> ÐÏÓÌÅÄÓÔ×ÉÑ.

HÕ ÜÔÏ ËÏÎÅÞÎÏ.

ó Õ×ÁÖÅÎÉÅÍ, Ivan Melnikov ðÑÔÎÉÃÁ íÁÊ 11 2007 06:14.

... "÷ÏÐÒÏÓ ÎÁ ÐÏ×ÅÓÔËÅ ÎÅÓËÏÌØËÏ ÒÁÚ ÐÏÄÎÉÍÁÌÓÑ ÎÏ ÔÁË É ÎÅ ×ÓÔÁÌ."

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

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required