[发明专利]一种51单片机处理器指令集虚拟化仿真方法有效
申请号: | 202211114546.0 | 申请日: | 2022-09-14 |
公开(公告)号: | CN115421862B | 公开(公告)日: | 2023-09-26 |
发明(设计)人: | 贾张涛;付修锋;勉斌;安恒;李雅斯;刘美佳;孔祥炳;金玉川;安顺 | 申请(专利权)人: | 北京计算机技术及应用研究所 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 中国兵器工业集团公司专利中心 11011 | 代理人: | 刘瑞东 |
地址: | 100854*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 51 单片机 处理器 指令 虚拟 仿真 方法 | ||
1.一种51单片机处理器指令集虚拟化仿真方法,其特征在于,该方法包括如下步骤:
S1、51单片机目标文件解析
打开51单片机编译后的可执行文件*.Hex,Hex文件的每一行中都包含了一个hex记录,这些记录是由一些代表机器语言代码和常量的16进制数据组成;解析Hex文件信息,获取可执行文件中的代码段;
S2、51单片机内存仿真及代码加载
采用数组的方式对51单片机内存进行仿真,记为C51-Vmemory,并加载代码段;
S3、51单片机寄存器仿真
通过数组模拟寄存器,通过数组操作模拟寄存器读写操作,实现寄存器的模拟;
S4、51单片机指令描述
每条指令Instruction有一个唯一的表示,51单片机指令长度非固定长度,共计256条;
S5、51单片机读取指令
根据程序计数器PC(ProgramCount)的值,从51单片机仿真内存C51-Vmemory中读取指令Instruction,获取当前PC对应的指令Instruction;
S6、51单片机指令译码
根据读取的指令Instruction,取Instruction的高8位,该高8位为指令的指令码Opcode,每个数值对应一条指令;
S7、51单片机指令翻译
对51单片机指令集进行功能翻译,并对每条指令的相应的地址、寄存器进行操作模拟,保证运行的内存、寄存器保持一致;并将每个指令对应的指令翻译函数名称存储到指令翻译译码数组中;
S8、51单片机指令执行
根据指令数量,进行循环取指、译码、指令翻译,并根据函数指针,执行指令操作;连续仿真,直到完成所有指令执行,实现针对51单片机的处理器指令集仿真。
2.如权利要求1所述的51单片机处理器指令集虚拟化仿真方法,其特征在于,所述步骤S1具体包括:
S11、打开51单片机编译后的可执行文件*.Hex,读取文件信息;
S12、Hex文件的每一行中都包含了一个hex记录,这些记录是由一些代表机器语言代码和常量的16进制数据组成,解析可执行文件*.Hex中的文件信息,获取可执行文件中的代码段。
3.如权利要求2所述的51单片机处理器指令集虚拟化仿真方法,其特征在于,所述步骤S2具体包括:
S21、51单片机RAM大小为256Byte、ROM大小为64KByte、XDATA大小为64KByte,采用数组的方式对51单片机内存进行仿真,记为C51-Vmemory,包括RAM[256]、ROM[65536]和XDATA[65536],RAM[256]对应256Byte内存块大小,包含寄存器,ROM[65536]对应64KByte内存块大小,XDATA[65536]对应64KByte内存块大小;
S22、将S1获取的代码段,写入到51单片机芯片仿真内存C51-Vmemory中,并根据代码段的大小,维护整个仿真内存结构。
4.如权利要求3所述的51单片机处理器指令集虚拟化仿真方法,其特征在于,所述步骤S3具体包括:
S31、51单片机芯片RAM中包含256个可用寄存器,通过C51-Vmemory中的RAM描述51单片机的256个寄存器,实现寄存器的模拟;
S32、通过访问C51-Vmemory中的RAM数组,对相应的寄存器进行操作模拟51单片机的寄存器操作,实现对51单片机的寄存器仿真。
5.如权利要求4所述的51单片机处理器指令集虚拟化仿真方法,其特征在于,所述寄存器包括:B、ACC、PSW、TH2*、TL2*、RCAP2H*、RCAP2L*、T2CON*、IP、P3、IE、P2、SBUF、SCON、P1、TH1、TH0、TL1、TL0、TMOD、TCON、DPH、DPL、SP、P0和PCON。
6.如权利要求4所述的51单片机处理器指令集虚拟化仿真方法,其特征在于,所述步骤S5具体包括:根据程序计数器PC(ProgramCount)的值,从S2维护的C51-Vmemory中ROM[65536]数组中读取指令Instruction。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京计算机技术及应用研究所,未经北京计算机技术及应用研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211114546.0/1.html,转载请声明来源钻瓜专利网。