📄 register_test.cpp
字号:
#include "stdafx.h"
#include ".\register_test.h"
using namespace std;
Register_Test::Register_Test(void)
{
}
Register_Test::~Register_Test(void)
{
}
void Register_Test::setUp()
{
r0 = new Core::Register(32);
}
void Register_Test::tearDown()
{
delete r0;
}
void Register_Test::test_set_and_test()
{
cout<<"set_and_test"<<endl;
r0->convert_from_int(0x00000000);
r0->set(8, 15, 1);
CPPUNIT_ASSERT_EQUAL((u32)0x0000ff00,r0->convert_to_int());
r0->set(8, 11, 0);
CPPUNIT_ASSERT_EQUAL((u32)0x0000f000,r0->convert_to_int());
}
void Register_Test::test_convert()
{
cout<<"convert"<<endl;
r0->convert_from_int(0xffffffff);
CPPUNIT_ASSERT_EQUAL((u32)0xffffffff,r0->convert_to_int());
r0->convert_from_int(0x00000000);
CPPUNIT_ASSERT_EQUAL((u32)0x00000000,r0->convert_to_int());
r0->convert_from_int(0xfedc9876);
CPPUNIT_ASSERT_EQUAL((u32)0xfedc9876,r0->convert_to_int());
CPPUNIT_ASSERT_EQUAL((u32)0x6, r0->convert_to_int(0, 3));
CPPUNIT_ASSERT_EQUAL((u32)0x7, r0->convert_to_int(4, 7));
CPPUNIT_ASSERT_EQUAL((u32)0x8, r0->convert_to_int(8, 11));
CPPUNIT_ASSERT_EQUAL((u32)0x9, r0->convert_to_int(12, 15));
CPPUNIT_ASSERT_EQUAL((u32)0xc, r0->convert_to_int(16, 19));
CPPUNIT_ASSERT_EQUAL((u32)0xd, r0->convert_to_int(20, 23));
CPPUNIT_ASSERT_EQUAL((u32)0xe, r0->convert_to_int(24, 27));
CPPUNIT_ASSERT_EQUAL((u32)0xf, r0->convert_to_int(28, 31));
}
#ifdef WIN32
#pragma warning (disable: 4267)
#endif
void Register_Test::test_bank()
{
cout<<"bank"<<endl;
cfg.clear();
Register_File::append_profile(cfg, "r0", Register_File::REGISTER_32BIT);
Register_File::append_profile(cfg, "r1", Register_File::REGISTER_32BIT);
Register_File::append_profile(cfg, "r2", Register_File::REGISTER_32BIT);
Register_File::append_profile(cfg, "fp", Register_File::REGISTER_32BIT);
Register_File::append_profile(cfg, "pc", Register_File::REGISTER_16BIT);
b0.configurate(cfg);
CPPUNIT_ASSERT_EQUAL((size_t)32, b0.get_register(2).size());
CPPUNIT_ASSERT_EQUAL((size_t)16, b0.get_register(4).size());
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -