forked from TCShenanigans/symphony_stdlib
21 lines
650 B
Markdown
21 lines
650 B
Markdown
# Memory Map
|
|
|
|
To not have to allocate a ton of things at run time the Standard Library uses a static memory map for some purposes
|
|
|
|
## Overview
|
|
|
|
| Start | Use |
|
|
| ---- | ---- |
|
|
| `0x0` | Reset Vector |
|
|
| `0x16` | Zero Page |
|
|
| `0x100` | User Code |
|
|
| `?` | Library Code |
|
|
| `0x1_0000` | heap |
|
|
| `0xXXF0_0000` | Stack |
|
|
| `0xXXFF_0000` | quick access |
|
|
|
|
## Zero Page
|
|
Some values are needed not often enough to get their own special register, but often enough that it makes sense to keep them at a quickly accessible location.
|
|
This is what the zero page is for. its position in memory allows us to load them into a register with a single instruction.
|
|
|