Beispiel #1
0
    def test_load_registers_should_load_registers_and_increase_address_register(self):
        machine = Machine()
        for i in range(6):
            machine.Memory[123 + i] = i
        machine.AddressRegister = 123

        load = LoadRegisters()
        load.arg_registers.append(5)

        load.execute(machine)

        for i in range(6):
            self.assertEqual(machine.VRegisters[i], machine.Memory[123 + i])
        self.assertEqual(machine.AddressRegister, 123 + 5 + 1)
Beispiel #2
0
    def test_store_registers_should_store_and_increase_address_register(self):
        machine = Machine()
        for i in range(6):
            machine.VRegisters[i] = i
        machine.AddressRegister = 123

        store = StoreRegisters()
        store.arg_registers.append(5)

        store.execute(machine)

        for i in range(6):
            self.assertEqual(machine.Memory[123 + i], machine.VRegisters[i])
        self.assertEqual(machine.AddressRegister, 123 + 5 + 1)
Beispiel #3
0
 def execute(self, machine: Machine):
     machine.AddressRegister = machine.FontDict[machine.VRegisters[
         self.vx()]]
Beispiel #4
0
 def execute(self, machine: Machine):
     machine.AddressRegister = self.arg_constant