pichu when pickchu mates with another fariy group and hold light ball
Goldeen/Seaking, Nidoran/Nidorino, Nidoran/Nidorina and Rhyhorn/Rhydon learn it.
Since dive is not a HM in firered you will have to trade a Pokemon to a friend that has ruby, sapphire or emerald then using that game use the HM Dive to teach the move Dive to that Pokemon trade it back so firered can have that Pokemon again it will still have Dive however you cannot use it to dive underwater.
No pokemon can learn that move in that game because the move didn't exist until diamond and pearl came out the move is only available in those games.
you can use a gameshark code . it enables to learn a Pokemon a move also dragonbreath is a TM try to find it in emerald/firered. or get a rayquaza that has outrage that is better.
Then that Pokemon cannot learn it. Only starter Pokemon can learn the ultimate move. No other Pokemon can learn them.
dark Pokemon can on learn thief in firered
You need to learn the HM strength.
Some Pokemon learn that move like togetic.
Most Normal type pokemon can learn it considering its a Normal type move. Also Electric type pokemon can learn the move as well.
Most of the normal pokemons.
Bulbasaur can learn any move he can learn in Pokemon leafgreen/ firered.
Moonlight is only available as a move a pokemon can learn through leveling up.
Most rock type Pokemon learn this move like Aerodactyl.
Volt tackle is only available as a secret egg move this is how to get it: Take two raichu's of opposite gender and put them in the daycare have the male hold a light ball then when you hatch the egg the pichu will have volt tackle BUT this only occurs in some pokemon games it won't work in firered or leafgreen but it will in ruby and sapphire and emerald.
Yawn is not taught by a move tutor it can be learned by some Pokemon such as Snorlax also Slakoth and Slaking.
Dive is not an HM in firered if you want a Pokemon to learn dive trade it to ruby, sapphire or emerald then take it back after teaching it the move.
The only way Alakazam can learn Fire Punch is through a Move Tutor on Pokemon Emerald Version.