📄 atr_test.cpp
字号:
( (Core::CPU_32Bit *)Core::Wukong_Get_System().get_cpu() )->run();
cpsr = ( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->get_cpsr().convert_to_int();
CPPUNIT_ASSERT(cpsr == 0x40000000);
Core::Wukong_Get_System().load_binary((Core::Binary_Loader &)(*loader), "ARM", binary_file_10);
( (Core::CPU_32Bit *)Core::Wukong_Get_System().get_cpu() )->run();
cpsr = ( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->get_cpsr().convert_to_int();
CPPUNIT_ASSERT(cpsr == 0x20000000);
Core::Wukong_Get_System().load_binary((Core::Binary_Loader &)(*loader), "ARM", binary_file_11);
( (Core::CPU_32Bit *)Core::Wukong_Get_System().get_cpu() )->run();
cpsr = ( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->get_cpsr().convert_to_int();
CPPUNIT_ASSERT(cpsr == 0x00000000);
Core::Wukong_Get_System().load_binary((Core::Binary_Loader &)(*loader), "ARM", binary_file_12);
( (Core::CPU_32Bit *)Core::Wukong_Get_System().get_cpu() )->run();
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(0,r0);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(1,r1);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(2,r2);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(3,r3);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(4,r4);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(5,r5);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(6,r6);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(7,r7);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(8,r8);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(9,r9);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(10,r10);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(11,r11);
cpsr = ( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->get_cpsr().convert_to_int();
CPPUNIT_ASSERT(r2 == 0x80000000);
CPPUNIT_ASSERT(r3 == 0x00000001);
CPPUNIT_ASSERT(r4 == 0x00000007);
CPPUNIT_ASSERT(r5 == 0x00000007);
CPPUNIT_ASSERT(r6 == 0x0000000f);
CPPUNIT_ASSERT(r8 == 0x00000021);
CPPUNIT_ASSERT(r9 == 0x00000020);
CPPUNIT_ASSERT(r10 == 0x00000000);
CPPUNIT_ASSERT(r11 == 0x00000002);
CPPUNIT_ASSERT(cpsr == 0x00000000);
Core::Wukong_Get_System().load_binary((Core::Binary_Loader &)(*loader), "ARM", binary_file_13);
( (Core::CPU_32Bit *)Core::Wukong_Get_System().get_cpu() )->run();
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(0,r0);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(1,r1);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(2,r2);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(3,r3);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(4,r4);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(5,r5);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(6,r6);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(7,r7);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(8,r8);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(9,r9);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(10,r10);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(11,r11);
cpsr = ( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->get_cpsr().convert_to_int();
CPPUNIT_ASSERT(r2 == 0x7fffffff);
CPPUNIT_ASSERT(r3 == 0x80000000);
CPPUNIT_ASSERT(r4 == 0x00000002);
CPPUNIT_ASSERT(r5 == 0x00000001);
CPPUNIT_ASSERT(r6 == 0x00000001);
CPPUNIT_ASSERT(r8 == 0x00000002);
CPPUNIT_ASSERT(r9 == 0x00000000);
CPPUNIT_ASSERT(r10 == 0x00000020);
CPPUNIT_ASSERT(r11 == 0x00000021);
CPPUNIT_ASSERT(cpsr == 0x20000000);
Core::Wukong_Get_System().load_binary((Core::Binary_Loader &)(*loader), "ARM", binary_file_14);
( (Core::CPU_32Bit *)Core::Wukong_Get_System().get_cpu() )->run();
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(0,r0);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(1,r1);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(2,r2);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(3,r3);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(4,r4);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(5,r5);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(6,r6);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(7,r7);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(8,r8);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(9,r9);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(10,r10);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(11,r11);
cpsr = ( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->get_cpsr().convert_to_int();
CPPUNIT_ASSERT(r2 == 0x80000000);
CPPUNIT_ASSERT(r3 == 0x7fffffff);
CPPUNIT_ASSERT(r4 == 0x00000002);
CPPUNIT_ASSERT(r5 == 0x00000001);
CPPUNIT_ASSERT(r6 == 0xfffffffd);
CPPUNIT_ASSERT(r8 == 0x00000002);
CPPUNIT_ASSERT(r9 == 0x00000000);
CPPUNIT_ASSERT(r10 == 0x00000020);
CPPUNIT_ASSERT(r11 == 0x00000021);
CPPUNIT_ASSERT(cpsr == 0x80000000);
Core::Wukong_Get_System().load_binary((Core::Binary_Loader &)(*loader), "ARM", binary_file_15);
( (Core::CPU_32Bit *)Core::Wukong_Get_System().get_cpu() )->run();
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(0,r0);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(1,r1);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(2,r2);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(3,r3);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(4,r4);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(5,r5);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(6,r6);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(7,r7);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(8,r8);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(9,r9);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(10,r10);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(11,r11);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(12,r12);
/* CPPUNIT_ASSERT(r0 == 0x00007fe0);
CPPUNIT_ASSERT(r1 == 0xe800e800);
CPPUNIT_ASSERT(r2 == 0xe7ff0010);
CPPUNIT_ASSERT(r3 == 0xe800e800);
CPPUNIT_ASSERT(r4 == 0xe7ff0010);
CPPUNIT_ASSERT(r5 == 0xe800e800);
CPPUNIT_ASSERT(r6 == 0xe7ff0010);
CPPUNIT_ASSERT(r7 == 0xe800e800);
CPPUNIT_ASSERT(r8 == 0xe59f0004);*/
CPPUNIT_ASSERT(r9 == 0xe59f0004);
CPPUNIT_ASSERT(r10 == 0xe9301ffe);
CPPUNIT_ASSERT(r11 == 0xef123456);
CPPUNIT_ASSERT(r12 == 0x00008010);
Core::Wukong_Get_System().load_binary((Core::Binary_Loader &)(*loader), "ARM", binary_file_16);
( (Core::CPU_32Bit *)Core::Wukong_Get_System().get_cpu() )->run();
/*
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->get_mmu().access(Core::Memory_32Bit::MEMORY_READ,0x803c,4,buffer);
Core::Wukong_Get_System().convert_from_bytecode(buffer,value);
CPPUNIT_ASSERT(value == 0x0000803c);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->get_mmu().access(Core::Memory_32Bit::MEMORY_READ,0x8040,4,buffer);
Core::Wukong_Get_System().convert_from_bytecode(buffer,value);
CPPUNIT_ASSERT(value == 0x00000002);
*/
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->get_mmu().access(Core::Memory_32Bit::MEMORY_READ,0x8044,4,buffer);
Core::Wukong_Get_System().convert_from_bytecode(buffer,value);
CPPUNIT_ASSERT(value == 0x00000001);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->get_mmu().access(Core::Memory_32Bit::MEMORY_READ,0x8048,4,buffer);
Core::Wukong_Get_System().convert_from_bytecode(buffer,value);
CPPUNIT_ASSERT(value == 0x00000002);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->get_mmu().access(Core::Memory_32Bit::MEMORY_READ,0x804c,4,buffer);
Core::Wukong_Get_System().convert_from_bytecode(buffer,value);
CPPUNIT_ASSERT(value == 0x00000003);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->get_mmu().access(Core::Memory_32Bit::MEMORY_READ,0x8050,4,buffer);
Core::Wukong_Get_System().convert_from_bytecode(buffer,value);
CPPUNIT_ASSERT(value == 0x00000004);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->get_mmu().access(Core::Memory_32Bit::MEMORY_READ,0x8054,4,buffer);
Core::Wukong_Get_System().convert_from_bytecode(buffer,value);
CPPUNIT_ASSERT(value == 0x00000005);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->get_mmu().access(Core::Memory_32Bit::MEMORY_READ,0x8058,4,buffer);
Core::Wukong_Get_System().convert_from_bytecode(buffer,value);
CPPUNIT_ASSERT(value == 0x00000006);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->get_mmu().access(Core::Memory_32Bit::MEMORY_READ,0x805c,4,buffer);
Core::Wukong_Get_System().convert_from_bytecode(buffer,value);
CPPUNIT_ASSERT(value == 0x00000007);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->get_mmu().access(Core::Memory_32Bit::MEMORY_READ,0x8060,4,buffer);
Core::Wukong_Get_System().convert_from_bytecode(buffer,value);
CPPUNIT_ASSERT(value == 0x00000008);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->get_mmu().access(Core::Memory_32Bit::MEMORY_READ,0x8064,4,buffer);
Core::Wukong_Get_System().convert_from_bytecode(buffer,value);
CPPUNIT_ASSERT(value == 0x00000009);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->get_mmu().access(Core::Memory_32Bit::MEMORY_READ,0x8068,4,buffer);
Core::Wukong_Get_System().convert_from_bytecode(buffer,value);
CPPUNIT_ASSERT(value == 0x0000000a);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->get_mmu().access(Core::Memory_32Bit::MEMORY_READ,0x806c,4,buffer);
Core::Wukong_Get_System().convert_from_bytecode(buffer,value);
CPPUNIT_ASSERT(value == 0x0000000b);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->get_mmu().access(Core::Memory_32Bit::MEMORY_READ,0x8070,4,buffer);
Core::Wukong_Get_System().convert_from_bytecode(buffer,value);
CPPUNIT_ASSERT(value == 0x0000000c);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->get_mmu().access(Core::Memory_32Bit::MEMORY_READ,0x8074,4,buffer);
Core::Wukong_Get_System().convert_from_bytecode(buffer,value);
CPPUNIT_ASSERT(value == 0x00008040);
Core::Wukong_Get_System().load_binary((Core::Binary_Loader &)(*loader), "ARM", binary_file_17);
( (Core::CPU_32Bit *)Core::Wukong_Get_System().get_cpu() )->run();
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(0,r0);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(1,r1);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(2,r2);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(3,r3);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(4,r4);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(5,r5);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(6,r6);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(7,r7);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(8,r8);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(9,r9);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(10,r10);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(11,r11);
cpsr = ( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->get_cpsr().convert_to_int();
CPPUNIT_ASSERT(r0 == 0x00008008);
CPPUNIT_ASSERT(r11 == 0x00000018);
CPPUNIT_ASSERT(r1 == 0xffff7ff3);
CPPUNIT_ASSERT(r2 == 0x00010020);
CPPUNIT_ASSERT(r3 == 0x00010028);
CPPUNIT_ASSERT(r4 == 0x00018068);
CPPUNIT_ASSERT(r5 == 0x0001806c);
CPPUNIT_ASSERT(r6 == 0x00008040);
CPPUNIT_ASSERT(r7 == 0x00008044);
CPPUNIT_ASSERT(r8 == 0x00000018);
CPPUNIT_ASSERT(r9 == 0x00000018);
CPPUNIT_ASSERT(r10 == 0x00008060);
CPPUNIT_ASSERT(cpsr == 0x00000000);
Core::Wukong_Get_System().load_binary((Core::Binary_Loader &)(*loader), "ARM", binary_file_18);
( (Core::CPU_32Bit *)Core::Wukong_Get_System().get_cpu() )->run();
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(0,r0);
cpsr = ( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->get_cpsr().convert_to_int();
CPPUNIT_ASSERT(r0 == 0xfffffffe);
CPPUNIT_ASSERT(cpsr == 0x80000000);
Core::Wukong_Get_System().load_binary((Core::Binary_Loader &)(*loader), "ARM", binary_file_19);
( (Core::CPU_32Bit *)Core::Wukong_Get_System().get_cpu() )->run();
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(0,r0);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(1,r1);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(2,r2);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(3,r3);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(4,r4);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(5,r5);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(6,r6);
( (ARM::CPU_7TDMI *)Core::Wukong_Get_System().get_cpu() )->read_register(7,r7);
CPPUNIT_ASSERT(r0 == 0x0000803C);
CPPUNIT_ASSERT(r1 == 0x00000002);
CPPUNIT_ASSERT(r2 == 0x00000080);
CPPUNIT_ASSERT(r3 == 0x00000004);
CPPUNIT_ASSERT(r4 == 0x00000006);
CPPUNIT_ASSERT(r5 == 0x00000007);
CPPUNIT_ASSERT(r6 == 0x00000007);
// CPPUNIT_ASSERT(r7 == 0x04000000);
}
int _tmain(int argc, _TCHAR* argv[])
{
CppUnit::TextUi::TestRunner runner;
CppUnit::Test *suite = CppUnit::TestFactoryRegistry::getRegistry().makeTest();
runner.addTest( suite );
runner.setOutputter( new CppUnit::CompilerOutputter( &runner.result(),std::cerr ) );
runner.run();
int i;
std::cin>>i;
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -