UK retailer Asda, which has seen recent sales lag behind its rivals, has launched a "cast-iron promise" that consumers will not find their shopping cheaper elsewhere.