forked from TCShenanigans/symphony_stdlib
665 B
665 B
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 |
LUTs |
? |
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.