Assembly shell

From Wikipedia, the free encyclopedia

On graphing calculators, an assembly shell is a program that is used to run other[clarification needed] programs written in the calculator's native machine code rather than the calculator's standard[clarification needed] high-level programming language. While all assembly shells can run assembly programs, some can also run high-level programs. For example, MirageOS and DoorsCS, two popular TI-83+ assembly shells, can run TI-BASIC programs by placing a colon as the first bit of code on the first line in the program.

Assembly shells were created when calculator manufacturers did not support native-code programming. ZShell,[1] the first assembly shell, was created for the TI-85 after an exploit was found using a hacked memory backup file containing the shell to bypass the calculator's standard[clarification needed] operating system. Rather than crack down[clarification needed] on users who had managed to bypass the OS to run their own code, Texas Instruments chose to release native programming information for its then-upcoming TI-83 calculator. However, their stance changed and they decided to remove native code functionality from the TI-84 plus CE, making an assembly shell necessary once again.

Although this rendered the traditional assembly shell unnecessary on the TI-83 hardware, calculator programmers continued to develop shells to supplement or replace the standard operating system. Since the TI-83, TI has supported assembly-level programming on all subsequent graphing calculators, though similar shell hacks needed to be created for older hardware, such as the TI-82 and the TI-92.

Hewlett-Packard also supports assembly language programming, though onboard[clarification needed] programming tools mean that a separate shell is not needed.

See also[edit]

References[edit]

External links[edit]

  • ticalc.org - An archive of Assembly and Basic programs for TI calculators.