コード例 #1
0
ファイル: test_cpu.py プロジェクト: Yuffster/mcx4
 def test_not(self):
     mc = Microcontroller()
     self.assertEqual(0, mc.acc)
     mc.execute("not")
     self.assertEqual(100, mc.acc)
     mc.register('acc').write('-999')
     mc.execute("not")
     self.assertEqual(0, mc.acc)
コード例 #2
0
ファイル: test_cpu.py プロジェクト: Yuffster/mcx4
 def test_dat_registers(self):
     mc = Microcontroller(name='mc1', dats=1)
     d0 = mc.dat0
     dat = mc.dat
     self.assertEqual(d0, dat)
     self.assertIsInstance(d0, Register)
     d0.write(5)
     self.assertEqual(5, d0.read())
     with self.assertRaises(x.RegisterException):
         mc.register('d1')
コード例 #3
0
ファイル: test_cpu.py プロジェクト: Yuffster/mcx4
 def test_tgt(self):
     code = """
       tgt acc 2
     + mov 3 acc
     - mov 1 acc
     """
     mc = Microcontroller()
     mc.execute(code)
     self.assertEqual(1, mc.acc)
     mc.register('acc').write(2)
     mc.execute(code)
     self.assertEqual(1, mc.acc)
コード例 #4
0
ファイル: test_cpu.py プロジェクト: Yuffster/mcx4
 def test_teq(self):
     code = """
       teq acc 2
     + mov 1 acc
     - mov 3 acc
     """
     mc = Microcontroller(name='mc1')
     mc.execute(code)
     self.assertEqual(3, mc.acc)
     mc.register('acc').write(2)
     self.assertEqual(2, mc.acc)
     mc.execute(code)
     self.assertEqual(1, mc.acc)
コード例 #5
0
ファイル: test_cpu.py プロジェクト: Yuffster/mcx4
 def test_acc_register(self):
     mc1 = Microcontroller(name='mc1', gpio=1)
     acc = mc1.register('acc')
     self.assertEqual(0, acc.read())
     self.assertEqual(0, mc1.acc)
     mc1.execute('add 1')
     self.assertEqual(1, acc.read())
     self.assertEqual(1, mc1.acc)
コード例 #6
0
ファイル: test_cpu.py プロジェクト: Yuffster/mcx4
 def test_mov(self):
     mc1 = Microcontroller(name='mc1', dats=1)
     acc = mc1.register('acc')
     dat = mc1.register('dat')
     acc.write(42)
     mc1.execute('mov acc dat')
     self.assertEqual(42, dat.read())
     self.assertEqual(42, acc.read())
     dat.write(12)
     mc1.execute('mov dat acc')
     self.assertEqual(12, acc.read())
     self.assertEqual(12, dat.read())
コード例 #7
0
ファイル: test_cpu.py プロジェクト: Yuffster/mcx4
 def test_dst(self):
     mc = Microcontroller()
     mc.register('acc').write(567)
     mc.execute('dst 0 9')
     self.assertEqual(569, mc.acc)
     mc.register('acc').write(567)
     mc.execute('dst 1 9')
     self.assertEqual(597, mc.acc)
     mc.register('acc').write(567)
     mc.execute('dst 2 9')
     self.assertEqual(967, mc.acc)
     mc.register('acc').write(567)
     mc.execute('dst 3 9')
     self.assertEqual(0, mc.acc)
コード例 #8
0
ファイル: test_cpu.py プロジェクト: Yuffster/mcx4
 def test_dgt(self):
     mc = Microcontroller()
     mc.register('acc').write(567)
     mc.execute('dgt 0')
     self.assertEqual(7, mc.acc)
     mc.register('acc').write(567)
     mc.execute('dgt 1')
     self.assertEqual(6, mc.acc)
     mc.register('acc').write(567)
     mc.execute('dgt 2')
     self.assertEqual(5, mc.acc)
     mc.register('acc').write(567)
     mc.execute('dgt 3')
     self.assertEqual(0, mc.acc)
コード例 #9
0
ファイル: test_cpu.py プロジェクト: Yuffster/mcx4
 def test_null_register(self):
     mc = Microcontroller()
     n = mc.register('null')
     n.write(100)
     self.assertEqual(0, n.read())
コード例 #10
0
ファイル: test_cpu.py プロジェクト: Yuffster/mcx4
 def test_mul(self):
     mc = Microcontroller()
     mc.register('acc').write(2)
     mc.execute('mul 5')
     self.assertEqual(10, mc.acc)