ASM is shorthand for ASseMbly. It's the game's natural running code. I'm talking about what the processor sees and executes to run the game at the lowest possible programming level above binary. It's not a tool. Only a handful of people understand it well enough to create different day and night Pokémon.
Diegoisawesome probably used some custom ASM (or possibly just rejigged mine which is floating about somewhere on this site) to do it. There's no way to do it without ASM.