code: def instruction_MUL(self, opcode):
          
          r = self.accu_a.value * self.accu_b.value
          self.accu_d.set(r)
          self.Z = 1 if r == 0 else 0
          self.C = 1 if r & 0x80 else 0
docs: Multiply the unsigned binary numbers in the accumulators and place the
          result in both accumulators (ACCA contains the most-significant byte of
          the result). Unsigned multiply allows multiple-precision operations.
  
          The C (carry) bit allows rounding the most-significant byte through the
          sequence: MUL, ADCA #0.
  
          source code forms: MUL
  
          CC bits "HNZVC": --a-a