code: def read_memory(self, addr, transfer_size=32, now=True):
          
          result = self.ap.read_memory(addr, transfer_size, now)
  
          # Read callback returned for async reads.
          def read_memory_cb():
              return self.bp_manager.filter_memory(addr, transfer_size, result())
  
          if now:
              return self.bp_manager.filter_memory(addr, transfer_size, result)
          else:
              return read_memory_cb
docs: read a memory location. By default, a word will
          be read