Difference between revisions of "83Plus:OS:Memory Layout"
From WikiTI
84plusfreak (Talk | contribs) |
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]] | + | <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]] | + | <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]]) | + | <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]]) | + | <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]]) | + | <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]]) | + | <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]]) | + | <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]]) | + | <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]]) | + | <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 | + | <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 10:12, 9 July 2007
Memory Layout
This table describes how the RAM is organized.
Address | Description |
---|---|
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 |