⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 binarymanager.cpp

📁 mini mips 小型mips软件
💻 CPP
字号:
#include "StdAfx.h"
#include "BinaryManager.h"

void BinaryManager::init(vector<unsigned>& binaryCodes)
{
	unsigned pos = 0x00400000;
	for (vector<unsigned>::iterator i = binaryCodes.begin(); i != binaryCodes.end(); ++i, pos += 4){
		TextCode item;
		RegisterType rt;
		rt.UIntV = *i;
		cpu.instrument.SetCodeRegister(rt);
		item.asmCode = cpu.instrument.GetAsmCode();
		item.binary = *i;
		item.address = pos;
		textCodes.push_back(item);
	}
}

BinaryManager::BinaryManager(vector<unsigned>& binaryCodes)
{
	init(binaryCodes);
}

BinaryManager::BinaryManager(const char* filename, BinaryMode mode)
{
	vector<unsigned> binaryCodes;
	if (mode == Bin){
		FILE *fp;
		fopen_s(&fp, filename, "rb");
		unsigned code;
		while (fread(&code, sizeof(code), 1, fp)){
			binaryCodes.push_back(code);
		}
	}
	else{
		ifstream fin(filename);
		switch(mode){
			case Bin:  break;
			case Hex: 
			case Nor: fin >> hex; break;
			case Oct: fin >> oct; break;
			case Dec: fin >> dec;
		}
		unsigned code;
		while (fin >> code){
			binaryCodes.push_back(code);
		}
	}

	init(binaryCodes);
}

void BinaryManager::Translate(){
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -