These AIs can also be accessed by modifying address D031 while in battle (possible with arbitrary code execution and perhaps - (Generation I move) corruption.) Full battles with artificial Trainer classes (but without their rosters) can be forced with Game Genie codes XXF-549-C49, 3EF-539-B31 and entering a battle, where XX is the index number (in hexadecimal) of the glitch Trainer.
Move modification AIs are meant to modify the likelyhood of a Trainer choosing a particular attack, but are actually routines in a table, hence are a gateway to unrelated code execution for Trainers with indices $30 and up, as well as index number $00.
Secondary pointers are more basic, and are a single pointer to a routine, again allowing for unrelated code execution for glitch Trainers. Each Trainer only has one secondary pointer.