83:OS:Memory Layout

From WikiTI
Jump to: navigation, search

Memory Layout

The following table describes various parts of memory when in normal mapping mode.

AddressDescription
0000-3FFF ROM Page 0
4000-7FFF Swappable ROM/RAM page using 83:Ports:00 and 83:Ports:02. There are 16 ROM pages (00-0F) end two RAM pages (00-01)
8000-9326 System RAM: Used by the OS to store various pointers, settings, buffers, etc.
userMem-(tempMem?) User Memory: This is where all variables are stored.
(tempMem?)-(FPBase) Temp Memory?: This is where the OS stores temporary variables.
(FPBase)-(FPS) Floating Point Stack: A LIFO stack for floating point registers.
(FPS)-(OPS) Free RAM.
(OPS)-(OPBase) Operator Stack: A LIFO stack used to parse expressions and to store return information when a TI-Basic program is called from another TI-Basic program.
(OPBase)-(pTemp) Variable Allocation Table (VAT) for temporary variables.
(pTemp)-(progPtr) Variable Allocation Table (VAT) for programs and lists with variable length names.
(progPtr)-symTable Variable Allocation Table (VAT) for all variables with a fixed name: reals, lists, strings, ans, functions, matrices, window settings, etc.
FE6F-FFFF Hardware Stack