MCPcopy Create free account
hub / github.com/danoon2/Boxedwine / testPushA16

Function testPushA16

source/test/testCPU.cpp:5292–5318  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5290void testPopEdi0x25f() { cpu->big = true; Pop32(0x5f, &cpu->reg[7]); }
5291
5292void testPushA16() {
5293 cpu->big = false;
5294
5295 newInstruction(0x60, 0);
5296 memory->memset(cpu->seg[SS].address + ESP - 16, 0, 16);
5297
5298 EAX = 0xFFFF1111;
5299 ECX = 0xFFFF2222;
5300 EDX = 0xFFFF3333;
5301 EBX = 0xFFFF4444;
5302 EBP = 0xFFFF6666;
5303 ESI = 0xFFFF7777;
5304 EDI = 0xFFFF8888;
5305
5306 U32 esp = ESP;
5307 runTestCPU();
5308 U32 newEsp = esp - 16;
5309 assertTrue(ESP == newEsp);
5310 assertTrue(memory->readw(cpu->seg[SS].address + newEsp) == 0x8888);
5311 assertTrue(memory->readw(cpu->seg[SS].address + newEsp + 2) == 0x7777);
5312 assertTrue(memory->readw(cpu->seg[SS].address + newEsp + 4) == 0x6666);
5313 assertTrue(memory->readw(cpu->seg[SS].address + newEsp + 6) == (esp & 0xFFFF));
5314 assertTrue(memory->readw(cpu->seg[SS].address + newEsp + 8) == 0x4444);
5315 assertTrue(memory->readw(cpu->seg[SS].address + newEsp + 10) == 0x3333);
5316 assertTrue(memory->readw(cpu->seg[SS].address + newEsp + 12) == 0x2222);
5317 assertTrue(memory->readw(cpu->seg[SS].address + newEsp + 14) == 0x1111);
5318}
5319
5320void testPushA32() {
5321 cpu->big = true;

Callers

nothing calls this directly

Calls 5

newInstructionFunction · 0.85
runTestCPUFunction · 0.85
assertTrueFunction · 0.85
memsetMethod · 0.80
readwMethod · 0.45

Tested by

no test coverage detected