HELP: C at kapulungan interfacing

F

fanghl

Guest
hi,

Sinusubukan ko na tawagan ang isang C function mula sa isang file na asm.Maaari isang tao tumulong ako na may karapatan sa syntax at pamamaraan?Thanks a lot.

 
Hindi ako isipin ito ay posible ..
Calling ASM mula sa C - sa pamamagitan ng lahat ng ibig sabihin nito - ngunit hindi ang kabaligtaran na paraan sa paligid ..

Pagbati,
IanP

 
Upang tawagan ang isang C function mula sa pagpupulong ay nangangailangan ng mga tunay hindi bababa sa, pagse-set up ng stack na kung ang isang C function na ginawa ng mga tawag.Depende sa pagiging kumplikado ng tinatawag na function ay maaaring kailangan mong i-set up ng isang stack na naka-frame, ang gagastusin at magpasimula mga variable sa lokal at global, marahil kahit na magpasimula at tawagan ang mga aklatan.

Ngunit para sa isang simpleng function C Gusto ko magsulat ng isang maliit na pagsubok C program upang tawagan ang function at itala ito upang bumuo ng isang pagpupulong listing (o lamang dissassemble ang nagresultang code) at tingnan kung ano ang C ay tumawag sa function.

 
Parang dapat mong gawin ito sa anumang paraan ..Nakarating sa mga pangunahing programa ng C tawagan lamang ang iyong mga pagpupulong ng programa bilang isang function.Ang Assembly prog talagang ang lahat ng mga gawain, at kapag ito ay pangangailangan ng C function na ito ay bumalik pabalik sa C, sa mga kinakailangan para sa argumento ang mga function sa C bumalik.Ang iyong shell C programa pagkatapos ng mga tawag sa C function sa mga argumento, pagkatapos ay bumalik sa prog kapulungan sa pamamagitan ng pagtawag mo ulit ito sa mga function sa C bilang resulta ng isang pagtatalo.

Ikaw na lang ay gumawa ng iyong kapulungan programa simulan up na may maganda o kilala argumento para sa simula, pagkatapos ay kasunod na reentries ay talagang function ay nagbabalik halaga.

Alan

 
hi.ako Newbie sa UC.lamang ang nais na tinanong kung c at pagtitipon ay maaaring naipon ng isang solong prgram.sabihin, pid sa c at motor control at LCD display sa asm.kung gayon, kung paano gawin ito at kung hindi, ano ang pinakamahusay na paraan upang lutasin?tulong sa anumang gagawin.thanks, mas kapangyarihan upang EDA board.

 
gumamit ng # pragma preprcessor direktiba at tawagan asm code mula sa AC programa

 
Narito ang kung paano gamitin ang mga inline ASM sa iyong C programa:
Paano gamitin ang inline ASM gamit WinAVR

 
Ang pinakamadaling paraan upang tumawag ng isang asm function mula sa C o tumawag sa isang C function mula sa asm ay ang paggamit ng Library manager ng iyong toolset.Maglista ng code sa isang library function at link sa library!

 
tumawag c function mula sa pagtitipon na kailangan mong malaman C pagtawag sa convention at aktwal na synthax na ng iyong mga assembler.Kadalasan ito ay tiyak na pagpapatupad - ito ay hanggang sa mga partikular na compiler kung paano gumawa ng mga tawag sa function at kung saan ilagay argumento function.Kailangan mong sumangguni sa iyong manwal ng compiler para sa C pagtawag sa conventions.Para bang ito ay may na lang ay tumingin.
Hayaang sabihin para sa IAR AVR tagatala diyan ay mano-manong na tinatawag na "Compiler reference" sa sugnay "Assembler wika ng interface"

Para sa Intel at mips ako kaya stadards tinatawag na aplikasyon binary interface (ABI) - ito ay subukang maglagay ng mga pamantayan sa mga vendor compiler na magkaroon ng parehong pagtawag sa conventions.

 

Welcome to EDABoard.com

Sponsor

Back
Top