Commit graph

25 commits

Author SHA1 Message Date
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