| Ti-83 and Ti-84 Assembly Programming | ||
| Getting Started 1.1: About This Tutorial 1.2: About TI-ASM 1.3: Writing Your First Program 1.4: Compiling 1.5: Debugging ASM Basics 2.1: Calls and Jumps 2.2: Registers 2.3: Displaying Text System Controls and Calls 3.1: Data 3.2: Register Stack 3.3: If Statements (Comparing) 3.4: GetKey and GetCSC 3.5: System Flags 3.6: Menus 3.7: Displaying Pictures 3.8: For Loops (djnz) 3.9: White Loops 3.10: OP Registers Applications 4.1: Apps vs ASM 4.5: KeyHooks | Register Stack It should be assumed that every register is destroyed with every operation. This means that any of the registers should not be used for any long-term data storage. So there is the register stack. You push things into the stack and pop things off the stack. This means that the first register you push will be the last popped. You can only push register pairs onto the stack. The pairs are af, bc, de, and hl. The commands are shown below.
Register a is now back to the original value, even though calling ClearLCDFull destroyed it. This becomes very important when dealing with menus and loops. ***IMPORTANT*** If there are any registers in the stack when the program quits, it will crash the calculator. The stack also has a limited size. If you try to push too many registers onto the stack, then the program will also crash (but this is a large size, like 100). So make sure that you have routines set up to registers do not build on top of each other. | |
![]() The text in this tutorial is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License. | ||

