- 16
- 0
- 约6.85千字
- 约 8页
- 2018-04-18 发布于河南
- 举报
KEIL C51使用技巧
函数的递归调用和再入函数
函数类型 函数名 (形参表)[reentrant]
再入函数可被递归调用,无论何时,包括中断服务函数在内的任何函数都可调用再入函数。与非再入函数的参数传递和局部变量的存储分配方式不同,Cx51编译器为再入函数生成一个模拟栈,通过其来完成参数传递和存放局部变量。
模拟栈所在的存储器空间根据再入函数存储器模式的不同,可以是DATA、PDATA、XDATA存储器空间。当程序中包含有多种存储器模式的再入函数时,编译器为每种模式单独建立一个模拟栈并独立管理各自的栈指针。
对于再入函数有如下规定:
再入函数不能传送bit类型的参数,也不能定义一个局部位变量,再入函数不能包括位操作和8051系列单片机的可位寻址区
与PL/M51兼容的函数不能具有reentrant属性,也不能调用再入函数
编译时存储器模式基础上为再入函数在内部或外部存储器中建立一个模拟堆栈区,称为再入栈。在small模拟下再入栈位于idata区,在compact模式下再入栈位于pdaa区,在large模式下再入栈位于xdata区。再入函数的局部变量及参数都被放入再入栈中,从而使再入函数可进行递归调用。而非再入函数的局部变量被放在再入栈外的暂存区内,如对其进行递归调用,则上次调用时使用的局部变量数据将被覆盖。
在同意 个程序中可定义或使用不同存储器模式的再入函数,任意模式的再入函数不能调用不同模式的再入
您可能关注的文档
- 给句子排个队45.ppt
- 城市控规专家评审会致辞.doc
- NETGEAR_VPN防火墙说明.pdf
- 汽配上盖模具.ppt
- 会计基础理论试题.doc
- Seo教程,网络蜘蛛原理.doc
- 人教版五年级数学上册训练题5.doc
- 多虚拟防火墙的流量分类.docx
- 东胜一中创建环境友好学校自查报告.doc
- 饭堂卫生管理程序.doc
- DB34∕T 2691-2026 道路运输车辆卫星定位系统 服务商能力要求.docx
- DB34∕T 5439-2026 危险货物道路运输企业专用停车场技术要求.docx
- DB33∕T 1437-2025 县域陆生野生动物资源调查技术规程(地方标准).docx
- DB45∕T 2992-2025 福利机构孤残儿童护理员岗前培训规范(地方标准).docx
- 苏J9504 阳台花台图集.docx
- DB31∕T 1703-2026 宠物友好型商业场所安全运行管理指南(地方标准).docx
- DB45∕T 2996-2025 民族地区自主就业退役军人适应性培训规范(地方标准).docx
- DB32∕T 990-2026 电能计量超差(差错)退补电量计算(地方标准).docx
- DB34∕T 5459-2026 家电清洗服务规范.docx
- DB32∕T 634-2026 阳羡雪芽茶质量等级(地方标准).docx
最近下载
- 电气控制与PLC应用技术——西门子S7-200_SMART_PLC(第3版)黄永红全套PPT课件.ppt
- 采用废旧磷酸铁制备磷酸铁锂的方法以及磷酸铁锂正极材料.pdf VIP
- 2026中国企业领导力发展实践调研报告.pdf VIP
- GB/T 47722-2026起重机械 抗风防滑技术规范.pdf
- 耒阳卫生系统招聘2022年考试真题及答案解析.docx VIP
- 教师培训作业布置和批改.pptx
- 索图彩色B超工作站用户手册单机新版软件.docx
- 聚乙烯(PE)缠绕结构壁管卡箍式弹性密封件接口大样图.pdf VIP
- 维修电工技师论文5500字.doc VIP
- 市政府机关党组2025年落实全面从严治党主体责任情况报告.docx VIP
原创力文档

文档评论(0)