code: def instruction_BGT(self, opcode, ea):
          
          # Note these variantes are the same:
          #    not ((self.N ^ self.V) == 1 or self.Z == 1)
          #    not ((self.N ^ self.V) | self.Z)
          #    self.N == self.V and self.Z == 0
          # ;)
          if not self.Z and self.N == self.V:
  #            log.info("$%x BGT branch to $%x, because (N==V and Z==0) \t| %s" % (
  #                self.program_counter, ea, self.cfg.mem_info.get_shortest(ea)
  #            ))
              self.program_counter.set(ea)
docs: Causes a branch if the N (negative) bit and V (overflow) bit are either
          both set or both clear and the Z (zero) bit is clear. In other words,
          branch if the sign of a valid twos complement result is, or would be,
          positive and not zero. When used after a subtract or compare operation
          on twos complement values, this instruction will branch if the register
          was greater than the memory register.
  
          source code forms: BGT dd; LBGT DDDD
  
          CC bits "HNZVC": -----