code: def read_inverse(self, value, size):
          
          addr_candidates = [addr for addr, val in self._memory.items() if val == (value & 0xff)]
          addr_matches = []
  
          for addr in addr_candidates:
              match = True
  
              for i in range(0, size):
                  byte_curr = (value >> (i * 8)) & 0xff
                  try:
                      match = self._memory[addr + i] == byte_curr
                  except KeyError:
                      match = False
  
                  if not match:
                      break
  
              if match:
                  addr_matches += [addr]
  
          return addr_matches
docs: Return a list of memory addresses that contain the specified
          value.