[发明专利]基于C-SKY v2指令集的二进制工具集设计方法有效

专利信息
申请号: 201110460873.7 申请日: 2011-12-31
公开(公告)号: CN102681821A 公开(公告)日: 2012-09-19
发明(设计)人: 李莹;尹茸;尹建伟;邓水光;吴健;吴朝晖 申请(专利权)人: 浙江大学
主分类号: G06F9/30 分类号: G06F9/30
代理公司: 杭州裕阳专利事务所(普通合伙) 33221 代理人: 江助菊
地址: 310027 浙*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了基于C-SKYv2指令集的二进制工具集设计方法,包括汇编器设计和反汇编器设计,所述汇编器设计包括CSKY系列CPU的目标体系识别、CSKYv2指令集汇编文件的识别和处理、以及正确生成目标文件;通过重新设计汇编器和反汇编器,使其能在杭州中天微公司CSKY800系列嵌入式处理器工作。
搜索关键词: 基于 sky v2 指令 二进制 工具 设计 方法
【主权项】:
基于C‑SKY v2指令集的二进制工具集设计方法,包括汇编器设计和反汇编器设计,其特征在于,所述汇编器设计包括CSKY系列CPU的目标体系识别、CSKYv2指令集汇编文件的识别和处理、以及正确生成目标文件;所述CSKYv2指令集包括伪指令、一般指令和分支跳转指令;所述CSKYv2指令集汇编文件的识别和处理步骤为:读取汇编源文件,当扫描到标号时调用colon函数处理标号,当扫描到伪指令时调用相应的伪指令处理函数,当扫描到宏指令时调用对应的宏指令处理函数,当扫描到机器指令时调用md_assemble函数进行汇编处理;最后调用若干第二阶段的处理函数处理剩余信息;所述伪指令的处理包括如下步骤:(1)查询伪指令表,调用相应处理函数;(2)若是CSKYv2指令集特有的伪指令,则进行识别转化,根据不同指令以及该汇编语句的具体写法,将这条伪指令转化为一般指令或跳转指令,继续处理;所述md_assemble函数的处理包括如下步骤:(11)将CSKY V2的32位指令按以下三种类型对进行分类,跳转类型编码指令寻址方式、立即数类型编码指令寻址方式和寄存器类型编码指令寻址方式,将CSKY V2的16位指令按跳转类型、立即数类型和寄存器类型进行分类;(12)匹配待处理的汇编文本,解析该段文本所对应的指令,获取该指令的处理函数组;(13)根据该指令的操作数选择合适的处理函数;(14)进入不同种类的指令的处理函数即一般指令或跳转指令急需处理;(15)若指令中包含常量,将该常量放入常量池;所述一般指令的处理包括如下步骤:(16)解析操作数,若操作数不能解析则生成具有相应重定位信息的修补信息;(17)生成新的目标文件片段,写入操作码和操作数;所述分支跳转指令的处理包括如下步骤:(18)解析操作数,若操作数不能解析则生成具有相应重定位信息的修补信息;(19)生成新的目标文件片段,写入操作码和操作数的初始值;(20)进入汇编第二阶段,利用relax方式处理重定位信息和修补信息;所述relax方式的处理包括如下步骤:(21)将CSKYv2中的伪跳转指令和分支跳转指令归纳,分成不同的组,生成数据表;(22)根据该数据表,从同组指令中,选择合适的一条指令;(23)解析修补信息,得到修补后的值;若修补信息不能解析,则作为重定位信息项写入目标文件,修补后的值规定为0;(24)将选定的指令编码,和修补后的值,写入目标文件;所述常量池的处理包括如下步骤:(25)在md_assemble函数的末尾检查常量池;(26)如果常量池大小为0,则创建新的变量池;如果不为0则在常量池查找表达式,创建对常量池的引用;如果不能找到,则在常量池中创建新的一项。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201110460873.7/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top