def test_push_from_register(self): """ Pushed value in register to stack """ self.cpu.registers[REG.A].value = 0xdead # SET PUSH, A self.cpu.ram[0].value = pack_instruction(op_code=OPCODE.SET, a=Value.push_pop(), b=Value.reg(REG.A)) self.emulator.dispatch() self.assertTrue(self.cpu.ram[self.cpu.SP.value].value == 0xdead, "Stack pushing b0rked")
def test_pop_into_reg(self): """ Pops from stack into register """ self.cpu.ram[self.cpu.SP.value].value = 0xdead # SET A POP self.cpu.ram[0].value = pack_instruction(op_code=OPCODE.SET, a=Value.reg(REG.A), b=Value.push_pop()) self.emulator.dispatch() self.assertTrue(self.cpu.registers[REG.A].value == 0xdead, "Stack popping b0rked")