How do you catch Dive in Pokemon FireRed?

You can't unless you trade a Pokemon from Pokemon Ruby, Sapphire or Emerald and get a Pokemon that knows Dive. The HM Dive is not necessary in Pokemon Firered and is thus not avaliable. However, a Pokemon that knows Dive can be traded from Pokemon Sapphire, Ruby or Emerald version to Firered.
can not
I can't remember much, but I think you have to get it from Wallace or Juan.