Chapter 3: Application Development Process 125
TI-83 Plus Developer Guide Third Release May 28, 2002
Reading a Key Press
The system routine GetKey waits for a user to press a key on the calculator keypad.
The example (found in the hello.asm file) uses this fact to implement a pause so that
you can read the string it printed.
Exiting an Application
When an application is ready to quit and return control back to the calculator operating
system so that normal calculator features will again be available, it must perform the
following system call:
B_JUMP JForceCmdNoChar ; Exit the application
Creating a Multiple Page Application
The fundamental change in moving from a one-page application to a multi-page
application is the addition of the branch table. The branch table is used by system code
to perform the correct paging of physical Flash ROM pages into the logical address
space when a call or jump is made to a routine that exists on a page that is not currently
mapped.
Branch Table Entries
The branch table exists only on the first application page, immediately after the header.
It is a table of three-byte entries. Each entry is a pointer to a routine that is either called
or jumped to from a page of the application other than the page where it exists. A
routine that is called or jumped to only from locations on the same page does not need
an entry in the table. Each entry has the form:
DW Address
DB Relative App Page
The Address is the address of the routine on its page. To obtain the address where the
routine is defined, make the label public. You will need to refer to your assembler for
instructions on how to make and reference a public routine.
The Relative Application Page is the page of the application where the routine resides.
In this case, page numbers are relative to the first application page: the first application
page is 0, the second is 1, and so on.