📄 binarymanager.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 + -