Where do you get hm dive from on Pokemon Emerald?

To get HM Dive in Pokemon Emerald, go to the Space Center and then help Steven beat Team Magma, then go to his house and he shall give you the HM.