您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 单片机设计中C函数和汇编子程序的相互调用及实例_徐卫华
C徐卫华(675000) :FranklinC51A51,C。C51,,,C51。:;C;;;;:TP311.1 :A :1671-7406(2002)03-0040-03 1 FranklinC51Intel8051C,,,8051,,C51。,CA51。,。,,,C,C。,FranklinC51A51,C。 2 FranklinC51A512.1 C51C51,,,C,,,。C511。1 C51C51 voidfunc(void)FUNC,voidfuncl(char)- FUNCl“-”,voidfunc2(void)reentrant- ?FUNC2“-?”, 2.2 C51C51,“?PR??”CODE。,“FUNC51”“func”,CODE“?PR?FUNC?FUNC51”。databit,“??BYTE”“??BIT”databit,,。,。,“OVERLAYABLE”,L51/。·40·第十七卷第三期 楚 雄 师 范 学 院 学 报 Vol.17 No.32002年6月 JOURNALOFCHUXIONGNORMALUNIVERSITY Jun.2002:2000-5-10 ::。,2,,C51。2 CODE?PR??()DATAPDATAXDATA?DT??(SMALL)?PD??(COMPACT)?XD??(LARGE)bitBIT?BI??() 2.3 C51CC。FranklinC51,。FranklinC51CPU,。3。,,。“#pragmaNOREGPARMS”,,。,,。,CPU,4。3 char,int,long,float1R7R6,R7R4~R7R1,R2,R32R6R4,R5R4~R7R1,R2,R33R5R2,R3R4~R7R1,R2,R34 bitCarry_Flag(unsigned)charR7R7(unsigned)intR6,R7R6,R7(unsigned)longR4~R7R4,R7floatR4~R732IEEE,R7R1~R3R3,R2,R1 3 ,C51:C51func51.Cfunc,,C:#pragmaNOREGPARMS#include〈reg51.h〉#include〈math.h〉unsignedcharfunc(unsignedintv-a,unsignedintv-b)returnsqrt(v-a/v-b);/*√v-a/v-b*/,“NOREGPARMS”,·41·徐卫华:单片机设计中C函数和汇编子程序的相互调用及实例,SMALL。,(ASM51.A51):EXTRNCODE(func);funcEXTRNDATA(?func?BYTE);funcfunc51SEGMENTCODE;func51VARSEGMENTDATA;STACKSEGMENTIDATA;RSEGVAR;a-v:DS2;intb-v:DS2;intresult:DS1;funccharRSEGSTACKDS20H;32RSEGfunc51;func51JMPSTARTSTART:MOVSP,#STACK-1;MOV?func?BYTE+0,a-v+0;intMOV?func?BYTE+1,a-v+l:MOV?func?BYTE+2,b-v+0;intMOV?func?BYTE+3,b-v+1LCALLfunc;CfuncMOVresult,R7;ENDC51A51func51.CASM51.A51,L51ASM51.OBJ,func51.OBJ,NOOVER-LAY,ASM51Cfunc。NOOVERLAY。 4 C,。,。,,。,,,。[1]赵远航,郑志辉.MCS—51单片机C语言应用程序开发技术及实例.北京:航空工业出版社,1996年.(责任编辑 刘洪基)ThecallbetweenFunctionCandassemblysub-programinmicro-controllerprogrammingXUWeihua(ChuxiongNormalUniversity,YunnanChuxiong675000,China)Abstract:ThepresentpaperdiscussesasuccessfulcallbetweenFunctionCandtheassemblesub-programintheprogrammingprocessofFranklinC51andA51.ItdealsmainlywithFunctionC51,thenamingruleinitsconcern-ingsegmentsandthetransmittingruleincallingthetwokindsofparameters.AnexampleforcallingFunctionC51inassemblylanguageisalsogiveninthepaper.KeyWords:micro-controller,FunctionC,assembly,functionname,segment,parametertransmit·42·楚雄师范学院学报 2002年第3期
本文标题:单片机设计中C函数和汇编子程序的相互调用及实例_徐卫华
链接地址:https://www.777doc.com/doc-4488144 .html