[發明專利]一種生成快速出棧的匯編代碼的編譯方法及編譯器有效
| 申請號: | 201410490577.5 | 申請日: | 2014-09-23 |
| 公開(公告)號: | CN104216754B | 公開(公告)日: | 2017-05-17 |
| 發明(設計)人: | 蘭光洋;王忠海;肖佐楠;鄭茳 | 申請(專利權)人: | 天津國芯科技有限公司 |
| 主分類號: | G06F9/45 | 分類號: | G06F9/45 |
| 代理公司: | 天津濱海科緯知識產權代理有限公司12211 | 代理人: | 楊慧玲 |
| 地址: | 300457 天津市濱海新區開發*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 生成 快速 匯編 代碼 編譯 方法 編譯器 | ||
1.一種生成快速出棧的匯編代碼的編譯方法,其特征在于包含:
在對源程序進行預處理生成中間代碼后,針對中間代碼的堆棧操作,判斷當前程序是否有出棧操作,并進行分類標記,同時提取出棧地址并進行保存;
若無出棧操作,輸出匯編指令;
若有出棧操作,根據標記對其出棧地址進行分析,判斷當前出棧地址是否符合C*core所規定的堆棧地址要求;
若符合,則以此出棧地址作為最終的出棧地址,輸出匯編指令;
否則將出棧地址改寫成為符合C*core對堆棧地址要求的出棧地址,輸出匯編指令,將出棧地址改寫成為符合C*core對堆棧地址要求的出棧地址的方法是針對出棧地址的屬性:字、半字或者字節來計算出其真正所需要的堆棧地址的基地址,并將其值賦給原來的地址寄存器。
2.一種生成快速出棧的匯編代碼的編譯器,包括用于對源程序進行預處理并生成中間代碼的前端處理模塊和最終生成匯編代碼的后端處理模塊;其特征在于:所述后端處理模塊增加:
出棧檢測模塊,用來在前端處理模塊生成中間代碼后,判斷當前程序是否有出棧操作;
出棧地址處理單元,用來判斷當前出棧地址是否符合C*core所規定的出棧地址要求;若符合,則以此地址作為最終的出棧地址直接輸出,否則將堆棧地址通過地址計算單元改寫成為符合C*core對堆棧地址要求的堆棧地址,將堆棧地址通過地址計算單元改寫成為符合C*core對堆棧地址要求的堆棧地址是針對出棧地址的屬性:字、半字或者字節來計算出其真正所需要的堆棧地址的基地址,并將其值賦給原來的地址寄存器。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于天津國芯科技有限公司,未經天津國芯科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410490577.5/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種防磨牙套組件
- 下一篇:一種半主動懸架ECU控制器軟件在線升級系統與方法





