• 大小: 79KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-11
  • 语言: C/C++
  • 标签: mips  asm  coe  

资源简介

MIPS汇编器与反汇编器 支持20条常用的MIPS汇编指令如 add\sub\slt\beq

资源截图

代码片段和文件信息

// ConsoleApplication1.cpp : 此文件包含 “main“ 函数。程序执行将在此处开始并结束。
//

#include “pch.h“
#include 
#include 
#include 
#include 
#include 
#include  
#include 


using namespace std;

string IntToBin26(int val)
{
string str = ““;
for (int i = 25; i >= 0; i--)
{
if (val & (1 << i))//&按位计算
str += “1“;
else
str += “0“;
}
return str;
}
string IntToBin5(int val)
{
string str = ““;
for (int i = 4; i >= 0; i--)
{
if (val & (1 << i))//&按位计算
str += “1“;
else
str += “0“;
}
return str;
}
string IntToBin16(int val)
{
string str = ““;
for (int i = 15; i >= 0; i--)
{
if (val & (1 << i))//&按位计算
str += “1“;
else
str += “0“;
}
return str;
}
string RegToBin(string reg) {
string str;
switch (reg[0]) {
case ‘z‘:str = “00000“; break;
case ‘v‘: {if (reg[1] == ‘0‘) str = “00010“;
  else str = “00011“; } break;
case ‘a‘: {
switch (reg[1]) {
case ‘t‘:str = “00001“; break;
case ‘0‘:str = “00100“; break;
case ‘1‘:str = “00101“; break;
case ‘2‘:str = “00110“; break;
case ‘3‘:str = “00111“; break;
}
}break;
case ‘t‘: {
switch (reg[1]) {
case ‘0‘:str = “01000“; break;
case ‘1‘:str = “01001“; break;
case ‘2‘:str = “01010“; break;
case ‘3‘:str = “01011“; break;
case ‘4‘:str = “01100“; break;
case ‘5‘:str = “01101“; break;
case ‘6‘:str = “01110“; break;
case ‘7‘:str = “01111“; break;
case ‘8‘:str = “11000“; break;
case ‘9‘:str = “11001“; break;
}
}break;
case ‘s‘: {
switch (reg[1]) {
case ‘0‘:str = “10000“; break;
case ‘1‘:str = “10001“; break;
case ‘2‘:str = “10010“; break;
case ‘3‘:str = “10011“; break;
case ‘4‘:str = “10100“; break;
case ‘5‘:str = “10101“; break;
case ‘6‘:str = “10110“; break;
case ‘7‘:str = “10111“; break;
case ‘p‘:str = “11101“; break;
}
}break;
case ‘g‘:str = “11100“; break;
case ‘f‘:str = “11110“; break;
case ‘r‘:str = “11111“; break;
}
return str;
}
string BinToReg(string bi) {
string reg;
if (bi == “00000“) reg = “$zero“;
if (bi == “00001“) reg = “$at“;
if (bi == “00010“) reg = “$v0“;
if (bi == “00011“) reg = “$v1“;
if (bi == “00100“) reg = “$a0“;
if (bi == “00101“) reg = “$a1“;
if (bi == “00110“) reg = “$a2“;
if (bi == “00111“) reg = “$a3“;
if (bi == “01000“) reg = “$t0“;
if (bi == “01001“) reg = “$t1“;
if (bi == “01010“) reg = “$t2“;
if (bi == “01011“) reg = “$t3“;
if (bi == “01100“) reg = “$t4“;
if (bi == “01101“) reg = “$t5“;
if (bi == “01110“) reg = “$t6“;
if (bi == “01111“) reg = “$t7“;
if (bi == “10000“) reg = “$s0“;
if (bi == “10001“) reg = “$s1“;
if (bi == “10010“) reg = “$s2“;
if (bi == “10011“) reg = “$s3“;
if (bi == “10100“) reg = “$s4“;
if (bi == “10101“) reg = “$s5“;
if (bi == “10110“) reg = “$s6“;
if (bi == “10111“) reg = “$s7“;
if (bi == “11000“) reg = “$t8“;
if (bi == “11001“) reg = “$t9“;
if (bi == “11100“) reg 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1470  2019-04-24 09:20  ConsoleApplication1.sln
     目录           0  2019-05-02 22:56  ConsoleApplication1\
     文件       18646  2019-05-02 22:54  ConsoleApplication1\ConsoleApplication1.cpp
     文件        8428  2019-04-24 09:20  ConsoleApplication1\ConsoleApplication1.vcxproj
     文件        1167  2019-04-24 09:20  ConsoleApplication1\ConsoleApplication1.vcxproj.filters
     文件         165  2019-04-24 09:19  ConsoleApplication1\ConsoleApplication1.vcxproj.user
     文件         200  2019-04-24 09:20  ConsoleApplication1\pch.cpp
     文件         639  2019-04-24 09:20  ConsoleApplication1\pch.h
     文件         838  2019-05-02 22:47  HextoMIPS.coe
     文件         368  2019-05-02 21:37  ReadMe.txt
     文件         840  2019-05-02 22:56  result1.coe
     文件        1238  2019-05-02 22:47  result2.asm
     文件        1476  2019-05-02 19:57  scpu_demo.asm
     目录           0  2019-05-02 22:54  汇编与反汇编exe\
     文件      280576  2019-05-02 22:54  汇编与反汇编exe\ConsoleApplication1.exe

评论

共有 条评论