硬件设计测试中,MIPS汇编指令翻译成二进制编码的Python实现

本文介绍了一个Python脚本,用于将MIPS汇编指令自动转换为二进制编码,简化了硬件设计测试中的手动转换过程。脚本针对实现的16条MIPS指令进行了处理,并提供了读取、处理和写入文件的功能。
摘要由CSDN通过智能技术生成

最近在做计算机体系结构与组成原理的实验,需要写MIPS指令系统的CPU。在测试时,人工将需要测试的指令翻译成二进制的编码实在有些繁琐,而且极易出错,正好最近在学习python,就写了一个实用的脚本,来完成这个工作。

 

由于我们实现的CPU暂时只实现了16条指令,分别是:

 

add rd,rs,rt 

addu rd,rs,rt 

addi rt,rs,imm 

addiu rt,rs,imm 

sub rd,rs,rt 

subu rd,rs,rt 

nor rd,rs,rt 

xori rt,rs,imm 

clo rd, rs

clz rs,rs

slt rd,rs,rt 

sltu rd,rs,rt 

slti rt,rs,imm 

 

sltiu rt,rs imm 

blez rs,imm 

j target 

 

因此这个脚本只涉及了这些指令的内容,以后再扩展吧。

 

 

下面说一下实现思路:

1、从一个文件中读取MIPS的汇编指令;

2、通过字符串处理,然后将其各个部分进行匹配;

3、将生成的二进制编码写到一个文件中。

 

 

需要注意的是,指令应该向上边的示例一样,在操作符和操作数之间应该有个空格,操作数之间以逗号和若干(最好0)个空格分隔,每行写一条指令,指令前最好没有空字符。由于这个脚本主要是自己用,鲁棒性不是很好,见谅。

 

下面直接上代码:

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值