Difference between revisions of "83Plus:OS:Memory Layout"

From WikiTI
Jump to: navigation, search
 
m
Line 6: Line 6:
 
<tr><th>Address</th><th>Description</th></tr>
 
<tr><th>Address</th><th>Description</th></tr>
  
<tr><td>[[83Plus:RAM:8000|appData]]-[[83Plus:RAM:9D95|userMem]]</td>
+
<tr><td>[[83Plus:RAM:8000|appData]] to [[83Plus:RAM:9D95|userMem]]</td>
 
<td>System RAM: Used by the OS to store various pointers, settings, buffers, etc.</td></tr>
 
<td>System RAM: Used by the OS to store various pointers, settings, buffers, etc.</td></tr>
  
<tr><td>[[83Plus:RAM:9D95|userMem]]-([[83Plus:RAM:9820|tempMem]])</td>
+
<tr><td>[[83Plus:RAM:9D95|userMem]] to ([[83Plus:RAM:9820|tempMem]])</td>
 
<td>User Memory: This is where all variables are stored.</td></tr>
 
<td>User Memory: This is where all variables are stored.</td></tr>
  
<tr><td>([[83Plus:RAM:9820|tempMem]])-([[83Plus:RAM:9822|FPBase]])</td>
+
<tr><td>([[83Plus:RAM:9820|tempMem]]) to ([[83Plus:RAM:9822|FPBase]])</td>
 
<td>Temp Memory: This is where the OS stores temporary variables.</td></tr>
 
<td>Temp Memory: This is where the OS stores temporary variables.</td></tr>
  
<tr><td>([[83Plus:RAM:9822|FPBase]])-([[83Plus:RAM:9824|FPS]])</td>
+
<tr><td>([[83Plus:RAM:9822|FPBase]]) to ([[83Plus:RAM:9824|FPS]])</td>
 
<td>Floating Point Stack: A LIFO stack for floating point number (or variable names).</td></tr>
 
<td>Floating Point Stack: A LIFO stack for floating point number (or variable names).</td></tr>
  
<tr><td>([[83Plus:RAM:9824|FPS]])-([[83Plus:RAM:9828|OPS]])</td>
+
<tr><td>([[83Plus:RAM:9824|FPS]]) to ([[83Plus:RAM:9828|OPS]])</td>
 
<td>Free RAM.</td></tr>
 
<td>Free RAM.</td></tr>
  
<tr><td>([[83Plus:RAM:9828|OPS]])-([[83Plus:RAM:9826|OPBase]])</td>
+
<tr><td>([[83Plus:RAM:9828|OPS]]) to ([[83Plus:RAM:9826|OPBase]])</td>
 
<td>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. TI won't tell anything about this.</td></tr>
 
<td>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. TI won't tell anything about this.</td></tr>
  
<tr><td>([[83Plus:RAM:9826|OPBase]])-([[83Plus:RAM:982E|pTemp]])</td>
+
<tr><td>([[83Plus:RAM:9826|OPBase]]) to ([[83Plus:RAM:982E|pTemp]])</td>
 
<td>Variable Allocation Table (VAT) for temporary variables.</td></tr>
 
<td>Variable Allocation Table (VAT) for temporary variables.</td></tr>
  
<tr><td>([[83Plus:RAM:982E|pTemp]])-([[83Plus:RAM:9830|progPtr]])</td>
+
<tr><td>([[83Plus:RAM:982E|pTemp]]) to ([[83Plus:RAM:9830|progPtr]])</td>
 
<td>Variable Allocation Table (VAT) for programs,appvars,groups and lists with variable length names.</td></tr>
 
<td>Variable Allocation Table (VAT) for programs,appvars,groups and lists with variable length names.</td></tr>
  
<tr><td>([[83Plus:RAM:9830|progPtr]])-[[83Plus:RAM:FE66|symTable]]</td>
+
<tr><td>([[83Plus:RAM:9830|progPtr]]) to [[83Plus:RAM:FE66|symTable]]</td>
 
<td>Variable Allocation Table (VAT) for all variables with a fixed name: reals, strings, ans, functions, matrices, etc.</td></tr>
 
<td>Variable Allocation Table (VAT) for all variables with a fixed name: reals, strings, ans, functions, matrices, etc.</td></tr>
  
<tr><td>[[83Plus:RAM:FE66|symTable]]+1 - FFFF</td>
+
<tr><td>[[83Plus:RAM:FE66|symTable]]+1 to $FFFF</td>
 
<td>Hardware Stack</td></tr>
 
<td>Hardware Stack</td></tr>
 
</table>
 
</table>

Revision as of 11:12, 9 July 2007

Memory Layout

This table describes how the RAM is organized.

AddressDescription
appData to userMem System RAM: Used by the OS to store various pointers, settings, buffers, etc.
userMem to (tempMem) User Memory: This is where all variables are stored.
(tempMem) to (FPBase) Temp Memory: This is where the OS stores temporary variables.
(FPBase) to (FPS) Floating Point Stack: A LIFO stack for floating point number (or variable names).
(FPS) to (OPS) Free RAM.
(OPS) to (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. TI won't tell anything about this.
(OPBase) to (pTemp) Variable Allocation Table (VAT) for temporary variables.
(pTemp) to (progPtr) Variable Allocation Table (VAT) for programs,appvars,groups and lists with variable length names.
(progPtr) to symTable Variable Allocation Table (VAT) for all variables with a fixed name: reals, strings, ans, functions, matrices, etc.
symTable+1 to $FFFF Hardware Stack