This is going to be a long answer, but here goes.
Firstly, here are several ground rules. Some of the TMs in Gen I that were later removed were added as Move Tutor Moves in FireRed/LeafGreen/Emerald. These are technically "available", so I will not include them below, but most people don't have access to them. If you want to see those moves as well, just let me know. Also, just in terms of writing less, I will only list the weakest Pokemon in the evolutionary line that can learn it. Just assume the stronger ones can as well, unless I specifically state otherwise.
TM02 Razor Wind
- Butterfree
- Pidgey
- Zubat
- Venomoth
- Farfetch'd
- Kabutops
- Aerodactyl
- Articuno
- Zapdos
- Moltres
- Dragonite
- Mew
TM04 Whirlwind
- Venomoth
- Farfetch'd
- Doduo
- Articuno
- Zapdos
- Moltres
- Mew
TM07 Horn Drill
- Nidorina
- Tauros
- Omastar
- Dragonair
- Mew
TM09 Take Down
- Charmander
- Squirtle
- Butterfree
- Beedrill
- Pidgey
- Rattata
- Spearow
- Ekans
- Pikachu
- Sandshrew
- Clefairy
- Vulpix
- Jigglypuff
- Zubat
- Oddish
- Paras
- Venonat
- Diglett
- Meowth
- Psyduck
- Mankey
- Growlithe
- Poliwag
- Abra
- Machop
- Bellsprout
- Tentacool
- Geodude
- Slowpoke
- Magnemite
- Farfetch'd
- Doduo
- Gengar
- Onix
- Drowzee
- Krabby
- Voltorb
- Exeggcute
- Cubone
- Hitmonlee
- Hitmonchan
- Lickitung
- Tangela
- Kangaskhan
- Horsea
- Goldeen
- Staryu
- Mr. Mime
- Scyther
- Jynx
- Electabuzz
- Magmar
- Pinsir
- Gyarados
- Lapras
- Porygon
- Omanyte
- Articuno
- Zapdos
- Moltres
- Dratini
- Mewtwo
- Mew
TM10 Double-Edge
- All Pokemon who can learn TMs can learn this, except for Grimer, Muk, Gastly, Haunter, Voltorb, Electrode, Koffing, and Weezing
- Pokemon that learn it currently are Bulbasaur, Rattata, Jigglypuff, Geodude, Onix, Cubone, Chansey, Eevee, Snorlax, Growlithe, Ponyta, and Kangaskhan, so anything not only this list can only learn it in Gen I
TM11 Bubblebeam
- Squirtle
- Rattata
- Nidorina
- Nidorino
- Clefairy
- Jigglypuff
- Meowth
- Psyduck
- Slowpoke
- Seel
- Cubone
- Lickitung
- Rhydon
- Chansey
- Kangaskhan
- Goldeen
- Jynx
- Gyarados
- Lapras
- Vaporeon
- Snorlax
- Articuno
- Dratini
- Mewtwo
- Mew
TM12 Water Gun
- Rattata
- Nidorina
- Nidorino
- Clefairy
- Jigglypuff
- Meowth
- Seel
- Shellder
- Krabby
- Cubone
- Lickitung
- Rhydon
- Chansey
- Kangaskhan
- Goldeen
- Jynx
- Gyarados
- Kabuto
- Snorlax
- Articuno
- Dratini
- Mewtwo
- Mew
TM16 Pay Day
- Pikachu
- Nidoqueen
- Nidoking
- Psyduck
- Mankey
- Slowpoke
- Seel
- Rhydon
- Snorlax
- Mewtwo (Red and Blue Only)
- Mew
TM17 Submission
- Charmander
- Squirtle
- Pikachu
- Sandshrew
- Nidoqueen
- Nidoking
- Clefairy
- Jigglypuff
- Psyduck
- Mankey
- Abra
- Geodude
- Slowbro
- Gengar
- Drowzee
- Cubone
- Hitmonlee
- Hitmonchan
- Lickitung
- Rhydon
- Chansey
- Kangaskhan
- Mr. Mime
- Jynx
- Electabuzz
- Magmar
- Omastar
- Kabutops
- Snorlax
- Mewtwo
- Mew
TM20 Rage
- All Pokemon who can learn TMs can learn Rage
- Currently the Pokemon who naturally learn Rage are: Chamander (Gen III and earlier only), Beedrill, Primeape, Doduo, Onix, Cubone, Kangaskhan, and Tauros, so all other Pokemon can only learn it in Gen I.
TM21 Mega Drain
- Bulbasaur
- Butterfree
- Beedrill
- Ekans
- Zubat
- Paras
- Venonat
- Bellsprout
- Tentacool
- Grimer
- Gastly
- Mew
TM23 Dragon Rage
- Growlithe
- Lapras
- Aerodactyl
- Mew
TM27 Fissure
- Charizard
- Blastoise
- Ekans
- Sandshrew
- Nidoqueen
- Nidoking
- Poliwhirl
- Machop
- Geodude
- Slowpoke
- Onix
- Cubone
- Lickitung
- Rhyhorn
- Kangaskhan
- Tauros
- Mew
TM30 Teleport
- Butterfree
- Clefairy
- Jigglypuff
- Venomoth
- Arcanine
- Slowpoke
- Magnemite
- Shellder
- Drowzee
- Voltorb
- Exeggcute
- Chansey
- Staryu
- Mr. Mime
- Jynx
- Electabuzz
- Magmar
- Porygon
- Mewtwo
- Mew
TM34 Bide
- All Pokemon who can learn TMs can learn Bide
- The only Pokemon who can currently learn it are Krabby, Omanyte, and Pikachu, so all others could only learn it in Gen I.
TM36 Selfdestruct
(technically it was a move tutor move in Pokemon XD: Gales of Darkness as well, but I am only counting main series games)
- Grimer
- Shellder
- Gastly
- Onix
- Exeggcute
- Snorlax
- Mewtwo
- Mew
TM37 Egg Bomb
TM40 Skull Bash
- Charmander
- Beedrill
- Rattata
- Ekans
- Pikachu
- Sandshrew
- Nidoran-m
- Clefairy
- Vulpix
- Jigglypuff
- Paras
- Meowth
- Psyduck
- Mankey
- Growlithe
- Poliwag
- Abra
- Machop
- Tentacool
- Ponyta
- Slowbro
- Farfetch'd
- Doduo
- Seel
- Gengar
- Onix
- Drowzee
- Electrode
- Hitmonlee
- Hitmonchan
- Lickitung
- Chansey
- Tangela
- Kangaskhan
- Horsea
- Staryu
- Mr. Mime
- Scyther
- Jynx
- Electabuzz
- Magmar
- Tauros
- Gyarados
- Lapras
- Eevee
- Porygon
- Omastar
- Kabutops
- Snorlax
- Dratini
- Mewtwo
- Mew
TM46 Psywave
- Butterfree
- Clefairy
- Jigglypuff
- Venonat
- Poliwag
- Abra
- Slowpoke
- Drowzee
- Exeggcute
- Chansey
- Jynx
- Electabuzz
- Magmar
- Lapras
- Porygon
- Snorlax
- Mewtwo
- Mew
TM49 Tri Attack
- Clefairy
- Jigglypuff
- Abra
- Slowpoke
- Shellder
- Drowzee
- Chansey
- Staryu
- Mewtwo
- Mew
OK, that was a lot of Pokemon.
Source and looking at the individual TM pages