[发明专利]一种生成快速出栈的汇编代码的编译方法及编译器有效
| 申请号: | 201410490577.5 | 申请日: | 2014-09-23 |
| 公开(公告)号: | CN104216754B | 公开(公告)日: | 2017-05-17 |
| 发明(设计)人: | 兰光洋;王忠海;肖佐楠;郑茳 | 申请(专利权)人: | 天津国芯科技有限公司 |
| 主分类号: | G06F9/45 | 分类号: | G06F9/45 |
| 代理公司: | 天津滨海科纬知识产权代理有限公司12211 | 代理人: | 杨慧玲 |
| 地址: | 300457 天津市滨海新区开发*** | 国省代码: | 天津;12 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | 本发明提供一种生成快速出栈的汇编代码的编译器,包括生成中间代码的前端处理模块和最终生成汇编代码的后端处理模块;所述后端处理模块增加出栈检测模块,用来在前端处理模块生成中间代码后,判断当前程序是否有出栈操作;出栈地址处理单元,用来判断当前出栈地址是否符合C*core所规定的出栈地址要求;若符合,则以此地址作为最终的出栈地址直接输出,否则将堆栈地址通过地址计算单元改写成为符合C*core对堆栈地址要求的堆栈地址。本发明的优点和积极效果是要比以前编译器编译出来的汇编指令中出栈指令要少,而在程序的运行过程中,压栈出栈是经常使用的指令;因此处理器所要执行的有效指令的条数要比以前少很多,从而提高了处理器的处理速度和性能。 | ||
| 搜索关键词: | 一种 生成 快速 汇编 代码 编译 方法 编译器 | ||
【主权项】:
一种生成快速出栈的汇编代码的编译方法,其特征在于包含:在对源程序进行预处理生成中间代码后,针对中间代码的堆栈操作,判断当前程序是否有出栈操作,并进行分类标记,同时提取出栈地址并进行保存;若无出栈操作,输出汇编指令;若有出栈操作,根据标记对其出栈地址进行分析,判断当前出栈地址是否符合C*core所规定的堆栈地址要求;若符合,则以此出栈地址作为最终的出栈地址,输出汇编指令;否则将出栈地址改写成为符合C*core对堆栈地址要求的出栈地址,输出汇编指令,将出栈地址改写成为符合C*core对堆栈地址要求的出栈地址的方法是针对出栈地址的属性:字、半字或者字节来计算出其真正所需要的堆栈地址的基地址,并将其值赋给原来的地址寄存器。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津国芯科技有限公司,未经天津国芯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410490577.5/,转载请声明来源钻瓜专利网。
- 上一篇:一种防磨牙套组件
- 下一篇:一种半主动悬架ECU控制器软件在线升级系统与方法





