c336e43c19
Add bytesquashing (turning instructions etc. into dead bytes)
2025-05-08 22:18:57 +02:00
010cc5dd87
Make FIX-LABEL-ADDRESSES-IN-INSTRUCTION-LIST add PROGRAM_END label
2025-05-08 22:18:57 +02:00
9d2d0dea6b
Fix instruction redefinition and add some opcodes
2025-05-08 22:18:57 +02:00
184d0324c0
Fix broken INSTRUCTION-LENGTH
2025-05-08 22:18:57 +02:00
31bb5f8509
Add offset label class
2025-05-08 22:18:57 +02:00
15a70836ac
Add temporary ARGVEC and VARVEC definitions
2025-05-08 22:18:57 +02:00
4a4a7b8485
Add LABELP predicate
2025-05-08 22:18:57 +02:00
379d33d5a1
Move label name + prefix warning to the right place
2025-05-08 22:18:57 +02:00
eec5edc715
Correct instruction length of immediates
2025-05-08 22:18:57 +02:00
d9673915a5
Add public.inc
...
That revert before? I was kidding, I concede nothing! I win! (i.e. we
talked for a while and both decided that an argument vector was better
after all)
2025-05-08 21:17:09 +02:00
37b2864a7d
Add function to compute addresses of labels in instruction list
2025-05-08 19:36:10 +02:00
501da2341e
Bind *LABEL-COUNTER* to 0 at the start of compiling
2025-05-08 19:33:31 +02:00
bcc039774b
Move *LABEL-COUNTER* to label.lisp
2025-05-08 19:33:13 +02:00
5ca740efa9
Add PRODUCE-COMMENT
2025-05-08 19:32:54 +02:00
8dd78265b4
Nicer instruction printing
2025-05-08 19:32:43 +02:00
41bd413b4c
Add LABEL class and replace uses of temporary strings with it
2025-05-08 19:10:38 +02:00
76f1fa0658
Add relative addressing type for branches
2025-05-08 19:10:15 +02:00
37241a1fc3
Replace the text assembly in high-level with instruction objects
2025-05-08 17:11:57 +02:00
0a3675feac
Turn the user-side compiler into a proper ASDF system
2025-05-03 12:22:56 +02:00
fd5a8fac4f
Add check so zero-page instructions can't use too big operands
2025-05-02 22:38:35 +02:00
19b9feb02d
Begin serious work on User-Side Compiler (USC)
2025-05-02 22:26:29 +02:00
6f0b19720d
Add method for compiling nodes following the NEXT chain
2025-03-28 11:47:27 +01:00
dc80e6e1e3
Nicer printing of nodes and references
...
References print shorter and show their contents, call nodes now show
what they're calling and with what arguments. Additionally, generated
code for a node starts with a comment of the node as printed.
2025-03-28 11:46:03 +01:00
dd32f294d0
Correct typo in NODE-DOTIMES definition
2025-03-27 23:39:09 +01:00
4918124361
Clarify comments in GENERATE-CODE for NODE-BRANCH
2025-03-27 23:36:15 +01:00
39cf0b54cb
Use real tabs in FORMAT-INST
2025-03-27 23:02:43 +01:00
b22f043523
Proof of concept compiler
...
Compiles hand-created nodes for subroutine calls, forward branching,
and fixed-length looping into textual 6502 assembly code. Currently
only outputs this code to standard output for inspection.
2025-03-27 22:40:56 +01:00