Texas Instruments Bans Assembly on TI-84


Miguel Solis, Casual Contributor

 Almost everyone in high school has a TI-84 whether it is a color edition or not. Besides being a calculator, TI-84s are also programmable microcomputers. The most common type of calculator programs is written in TI-BASIC. Programs written in this language are generally simple and perform mathematical functions, like a program to automate the quadratic formula.  The problem with TI-BASIC is that it is an interpreted program, meaning each line of code is translated into machine code as it runs, severely slowing it down. Additionally, TI-BASIC has a limited set of commands that can be used making it impossible to explore deeper programming, like communicating through the USB port. The second programming language available on calculators is assembly (asm). Asm almost isn’t a programming language, because instead of being compiled or interpreted, it is “assembled.” This means that each instruction in asm directly correlates to an instruction in machine code, making assembly an exceedingly difficult language to code in, but also very simple for the computer. There are none of the luxuries of modern, or even ancient, programming languages, like multiplication or division of numbers. In spite of its difficulty, the language still has its uses in modern computing and allows for efficient, speedy, and complex programs on the TI-84.

When one thinks of calculator programming their mind goes to trivial applications such as calculator games and a dark mode for calculators. However, asm programs can also be used to automate complex math equations where the speed of assembly is the difference between the calculation taking minutes or hours. That is to say, the most important aspect of asm on calculators is the ability to learn assembly. Even though assembly is a hard language to learn, it is still an effective way to learn about computer science because it allows for programmers to explore every part of programming, and it can run on a device almost everyone has: a calculator.

Recently Texas Instruments (TI) has come under fire for security flaws in their Operating System (OS) that enabled cheating. The recent controversy relates to the enabling of programs in exam mode, which can only be done with an asm program designed to exploit flaws in exam mode. For those who don’t know, exam mode is a mode on all TI-84’s that allows a teacher to disable certain features of a calculator for a test. Enabling programs allow students to speed up or automate calculations. Because of this recent exploit, teachers have begun to associate assembly programming with cheating. The most logical fix to this problem would be to fix the flaws in the OS to prevent exam mode from being exploited; instead, TI decided to disable asm programming entirely on all TI-84 Plus Color Editions. TI claims that it has now increased security on their TI-84’s, but this is simply not true. Disabling asm does not close the loopholes present in exam mode, it merely gives a fake appearance of security. Due to extensive flaws in the OS created by TI, the programming community quickly came out with a way to run assembly programs on the new OS’s, called arTIfice. Even if TI created a patch to render this fix useless, another fix would come out exploiting a different flaw. Therefore, trying to block assembly still won’t stop a determined cheater. The only real fix for cheating is to fix flaws in the OS instead of issuing a workaround. Assembly programming does not cause cheating; faulty Operating Systems do.