| 3058 | } |
| 3059 | |
| 3060 | void Pop16(int instruction, Reg* reg) { |
| 3061 | newInstruction(instruction, 0); |
| 3062 | SP -= 2; |
| 3063 | reg->u32 = 0xDDDDDDDD; |
| 3064 | memory->writew(cpu->seg[SS].address + SP, 0xAAAA); |
| 3065 | memory->writew(cpu->seg[SS].address + SP - 2, 0x1234); |
| 3066 | memory->writew(cpu->seg[SS].address + SP - 4, 0xBBBB); |
| 3067 | SP -= 2; |
| 3068 | runTestCPU(); |
| 3069 | assertTrue(SP == 4094); |
| 3070 | assertTrue(reg->u32 == 0xDDDD1234); |
| 3071 | assertTrue(memory->readw(cpu->seg[SS].address + SP) == 0xAAAA); |
| 3072 | assertTrue(memory->readw(cpu->seg[SS].address + SP - 4) == 0xBBBB); |
| 3073 | } |
| 3074 | |
| 3075 | void Pop16_SP(int instruction, Reg* reg) { |
| 3076 | newInstruction(instruction, 0); |
no test coverage detected