forked from TCShenanigans/symphony_stdlib
19 lines
661 B
Markdown
19 lines
661 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
|
|
|
|
| Address Range | Use |
|
|
| ---- | ---- |
|
|
| `0x0:0x15` | Reset Vector |
|
|
| `0x16:0xFF` | Zero |
|
|
| `0x100:(user code end)` | User Code |
|
|
| `(User code end + 1):0xFFFF` | Library Code |
|
|
| `0xXXF0_0000:0xXXFF_FFFF` | Stack |
|
|
|
|
## 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.
|
|
|