[发明专利]标志位模拟方法、装置和处理器有效
| 申请号: | 201410424348.3 | 申请日: | 2014-08-26 | 
| 公开(公告)号: | CN105446791B | 公开(公告)日: | 2018-11-20 | 
| 发明(设计)人: | 魏振伟;屈秋雯;王策;汪清;黄文君 | 申请(专利权)人: | 龙芯中科技术有限公司 | 
| 主分类号: | G06F9/455 | 分类号: | G06F9/455 | 
| 代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 刘芳 | 
| 地址: | 100095 北京市海淀*** | 国省代码: | 北京;11 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 标志 模拟 方法 装置 处理器 | ||
1.一种标志位模拟方法,其特征在于,包括:
根据第一系统下的分支跳转指令,对执行第一运算的第一操作数与第二操作数进行第二运算,获得运算结果,所述第一运算为第一系统下影响标志位的运算,所述第二运算为第二系统下产生与所述第一系统下的分支跳转指令中所使用的标志位具有相同语义的运算;
将所述运算结果存储至预设寄存器中;
根据所述第一系统下的分支跳转指令,利用所述预设寄存器中存储的所述运算结果生成所述第二系统下对应的分支跳转指令序列,以执行所述第二系统下的分支跳转指令。
2.根据权利要求1所述的方法,其特征在于,所述第一系统为X86系统,所述第二系统为MIPS系统。
3.根据权利要求2所述的方法,其特征在于,如果所述第一系统下的分支跳转指令中所使用的标志位为进位标志位CF、零标志位ZF或者符号标志位SF,则所述对执行第一运算的第一操作数与第二操作数进行第二运算,获得运算结果,包括:
对执行所述X86系统中test指令的所述第一操作数与所述第二操作数进行所述MIPS系统中的逻辑与运算,获得逻辑与结果;或者,
对执行所述X86系统中cmp指令的所述第一操作数与所述第二操作数进行所述MIPS系统中的相减运算,获得相减结果;或者,
对执行所述X86系统中加法的所述第一操作数与所述第二操作数进行所述MIPS系统中的相加运算,获得相加结果;或者,
对执行所述X86系统中减法的所述第一操作数与所述第二操作数进行所述MIPS系统中的相减运算,获得相减结果。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一系统下的分支跳转指令,利用所述预设寄存器中存储的所述运算结果生成所述第二系统下对应的分支跳转指令序列,包括:
利用与所述第一系统下的分支跳转指令相对应的相对跳转指令,所述预设寄存器中存储的所述运算结果与零号寄存器中的数据,生成在所述第二系统下与所述第一系统下的分支跳转指令相对应的分支跳转指令。
5.根据权利要求4所述的方法,其特征在于,所述执行所述第二系统下的分支跳转指令,包括:
若确定所述预设寄存器中存储的所述运算结果等于所述零号寄存器中存储的数据,则将当前指令跳转至所述运算结果为0时所对应的地址;或者,
若确定所述预设寄存器中存储的所述运算结果不等于所述零号寄存器中存储的数据,则将当前指令跳转至所述运算结果不为0时所对应的地址;或者,
若确定所述预设存储器中存储的所述运算结果小于所述零号寄存器中存储的数据,则将当前指令跳转至所述运算结果小于0所对应的地址;或者,
若确定所述预设存储器中存储的所述运算结果不小于所述零号寄存器中存储的数据,则将当前指令跳转至所述运算结果不小于0所对应的地址;或者,
若确定所述预设存储器中存储的所述运算结果大于所述零号寄存器中存储的数据,则将当前指令跳转至所述运算结果大于0所对应的地址;或者,
若确定所述预设存储器中存储的所述运算结果不大于所述零号寄存器中存储的数据,则将当前指令跳转至所述运算结果不大于0所对应的地址;
其中,零号寄存器中存储的数据为0。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于龙芯中科技术有限公司,未经龙芯中科技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410424348.3/1.html,转载请声明来源钻瓜专利网。





