Example #1
0
 def test_sub_op_pos_neg_neg_overflow(self):
     # Subtract -2 from POS_MAX
     self.vmac.flags |= ZERO
     value = self.vmac._sub(0x7FFF, utils.to_hex(-2) )
     self.assertEqual(value, 0x8001)
     self.assertTrue(self.vmac.flags & OVERFLOW)
     self.assertTrue(self.vmac.flags & CARRY)
     self.assertFalse(self.vmac.flags & ZERO)
     self.assertTrue(self.vmac.flags & NEGATIVE)
Example #2
0
 def test_sub_op_pos_pos_neg(self):
     # Subtract 49 from 7
     self.vmac.flags |= OVERFLOW | ZERO
     value = self.vmac._sub(7, 49)
     self.assertEqual(value, utils.to_hex(-42) )
     self.assertFalse(self.vmac.flags & OVERFLOW)
     self.assertTrue(self.vmac.flags & CARRY)
     self.assertFalse(self.vmac.flags & ZERO)
     self.assertTrue(self.vmac.flags & NEGATIVE)
Example #3
0
 def test_sub_op_neg_pos_pos_underflow(self):
     # Subtract POS_MAX from -2
     self.vmac.flags |= CARRY | ZERO | NEGATIVE
     value = self.vmac._sub(utils.to_hex(-2), 0x7FFF)
     self.assertEqual(value, 0x7FFF)
     self.assertTrue(self.vmac.flags & OVERFLOW)
     self.assertFalse(self.vmac.flags & CARRY)
     self.assertFalse(self.vmac.flags & ZERO)
     self.assertFalse(self.vmac.flags & NEGATIVE)
Example #4
0
 def test_neg_max_to_hex(self):
     self.assertEqual(utils.to_hex(-32768), 0x8000)
Example #5
0
 def test_neg_one_to_hex(self):
     self.assertEqual(utils.to_hex(-1), 0xFFFF)
Example #6
0
 def test_max_to_hex(self):
     self.assertEqual(utils.to_hex(32767), 0x7FFF)
Example #7
0
 def test_1_to_hex(self):
     self.assertEqual(utils.to_hex(1), 0x1)
Example #8
0
 def test_0_to_hex(self):
     self.assertEqual(utils.to_hex(0), 0x0)