Why are additional programs sometimes needed to run assembly programs?
On the TI-82, TI-85, and TI-92, there is no TI-supported interface to run your own machine code, so the only way to run it is to install a backup which modifies some system memory areas, allowing a user machine code to run. Quite logically, the program of choice is a program which allows you to run any other machine code program you store in memory. On the TI-83 and TI-83+, the reason for using a shell (Ion) is simply that using TI’s format wastes a lot of memory. On the TI-89 and TI-92+, the custom format (supported by the various kernels) is designed mainly to allow more direct access to ROM functions, and to allow use of libraries. But keep in mind that using the special format is not required on any of these calculators. For more details on these utilities, see the sections referring to each specific calculator.