| 5290 | void testPopEdi0x25f() { cpu->big = true; Pop32(0x5f, &cpu->reg[7]); } |
| 5291 | |
| 5292 | void 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 | |
| 5320 | void testPushA32() { |
| 5321 | cpu->big = true; |
nothing calls this directly
no test coverage detected