def execute(self, slave_id, route_map):
try:<EOL><INDENT>values = []<EOL>for address in range(self.starting_address,<EOL>self.starting_address + self.quantity):<EOL><INDENT>endpoint = route_map.match(slave_id, self.function_code,<EOL>address)<EOL>values.append(endpoint(slave_id=slave_id, address=address,<EOL>function_code=self.function_code))<EOL><DEDENT>return values<EOL><DEDENT>except TypeError:<EOL><INDENT>raise IllegalDataAddressError()<EOL><DEDENT>
Execute the Modbus function registered for a route.

        :param slave_id: Slave id.
        :param eindpoint: Instance of modbus.route.Map.
        :return: Result of call to endpoint.