Compare commits
45
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b7621187e6 | ||
|
|
560855f6ac | ||
|
|
0ad8cf639c | ||
|
|
51c7869ce4 | ||
|
|
443623c945 | ||
|
|
a91895b8ac | ||
|
|
ef80825f40 | ||
|
|
d0afb22568 | ||
|
|
a4ecadfad5 | ||
|
|
6e5d0acfeb | ||
|
|
1508c22fc7 | ||
|
|
2b85e5a851 | ||
|
|
cbdcec77b5 | ||
|
|
6686bc54fc | ||
|
|
eb9dbfb8ad | ||
|
|
75da3d730f | ||
|
|
267dcba57d | ||
|
|
0894cdca40 | ||
|
|
a3f74a1f05 | ||
|
|
f91c56deb1 | ||
|
|
63e9d43440 | ||
|
|
8a463207ae | ||
|
|
98ecc3619c | ||
|
|
6be5e520bc | ||
|
|
bb4095b8fc | ||
|
|
bda60bd486 | ||
|
|
46e8fad974 | ||
|
|
993bbb797d | ||
|
|
7a9f2da1c0 | ||
|
|
db8462a2fe | ||
|
|
aa5cc1dbe0 | ||
|
|
f7d3ca2ec5 | ||
|
|
da811fd65d | ||
|
|
49767b61df | ||
|
|
6eb91f3433 | ||
|
|
9220e3dc28 | ||
|
|
25ecd155e1 | ||
|
|
c071a00746 | ||
|
|
5400da0157 | ||
|
|
f19dfd3611 | ||
|
|
a9fa16a241 | ||
|
|
de9ac7fe72 | ||
|
|
1fc4515f6b | ||
|
|
f4ae43bbc1 | ||
|
|
f27715b5b3 |
@@ -0,0 +1,21 @@
|
||||
# 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.
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
This is a standard library for symphony.
|
||||
It is both intended as a practical toolkit to develop more complex software as well as a teaching resource.
|
||||
|
||||
If you just want to use the standard library [[src/stdlib.asm]] is your main header, include it after your code.
|
||||
If you just want to use the standard library [[stdlib.asm]] is your main header, include it after your code.
|
||||
You also need to include [[globals.asm]] as the first line in your assembly file.
|
||||
|
||||
If you are using it as a learning resource have a look at the [teaching folder](teaching).
|
||||
|
||||
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
jmp 0x100
|
||||
|
||||
@0x10
|
||||
screen:
|
||||
frambuffer_ptr: U32 0x0
|
||||
size: U32 0x0
|
||||
position_xy: U32 0x0
|
||||
mode: U32 0x0
|
||||
|
||||
@0x100
|
||||
@@ -1,6 +1,5 @@
|
||||
pub include bit
|
||||
pub include imath
|
||||
pub include array
|
||||
pub include console
|
||||
|
||||
; Needs to be last!
|
||||
|
||||
Reference in New Issue
Block a user