... | ... |
@@ -10,32 +10,34 @@ cc uxn.c -std=c89 -Os -DNDEBUG -g0 -s -Wall -Wno-unknown-pragmas -o uxn |
10 | 10 |
|
11 | 11 |
## Assembly Syntax |
12 | 12 |
|
13 |
-- `:label`, a named offset |
|
13 |
+- `:label`, a named address |
|
14 | 14 |
- `+literal`, a numeric value |
15 | 15 |
- `.pointer`, pointer to a label |
16 | 16 |
|
17 | 17 |
``` |
18 |
-< comment > |
|
18 |
+< conditionals > |
|
19 | 19 |
|
20 |
-+01 < literal > |
|
20 |
++03 +02 ADD |
|
21 |
++05 EQU |
|
21 | 22 |
|
22 |
-[ 01 02 03 04 ] < block of literals > |
|
23 |
+.there JMQ |
|
23 | 24 |
|
24 |
-$01 < pointer8 > |
|
25 |
+:here |
|
26 |
+ < when not equal > |
|
27 |
+ +ee |
|
28 |
+ BRK |
|
25 | 29 |
|
26 |
-{ 01 02 03 04 } < block of pointer8 > |
|
27 |
- |
|
28 |
-~ff0f < pointer16 > |
|
29 |
- |
|
30 |
-( ff00 ff01 ff02 ff03 ) < block of pointer16 > |
|
31 |
- |
|
32 |
-=const +ff |
|
33 |
- |
|
34 |
-:label ADD RTS |
|
30 |
+:there |
|
31 |
+ < when is equal > |
|
32 |
+ +ff |
|
33 |
+ BRK |
|
35 | 34 |
``` |
36 | 35 |
|
37 | 36 |
## Mission |
38 | 37 |
|
38 |
+- constants |
|
39 |
+- variables |
|
40 |
+- A Three-Way Decision Routine(http://www.6502.org/tutorials/compare_instructions.html) |
|
39 | 41 |
- Carry flag? |
40 | 42 |
- Loop |
41 | 43 |
- Pointers/Literals |
... | ... |
@@ -44,9 +46,6 @@ $01 < pointer8 > |
44 | 46 |
- Detect mouse click |
45 | 47 |
- 16 bits addressing |
46 | 48 |
- jumping to subroutine should be relative |
47 |
- |
|
48 |
-## TODOs |
|
49 |
- |
|
50 | 49 |
- Implement addressing |
51 | 50 |
- Implement 16 bits operations |
52 | 51 |
- Jumps should be relative |