summaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs
new file mode 100644
index 0000000..82bd92d
--- /dev/null
+++ b/src/main.rs
@@ -0,0 +1,41 @@
+const SOURCE:&'static str =
+// "
+// %SCREEN-SHUNT 00;
+// %SCREEN-DRAW 00;
+
+// @draw_horizontal_line ( len* clr -- )
+// (1) PSHr ( len* | clr )
+// (4) PSH:41 STD:SCREEN-SHUNT ( len* | clr )
+// &loop
+// (2) SKDr:SCREEN-DRAW ( len* | clr )
+// (4) DEC* JKC*:~loop ( len* | clr )
+// (2) STD:SCREEN-SHUNT
+// (3) POP POPr JMPr*
+// ";
+
+"
+%RED 1234;
+%GREEN 5678 @test;
+%BLUE 9ABC;
+
+@start
+ RED
+ start
+ GREEN
+ BLUE
+ $4
+ @end
+";
+
+use bedrock_asm::*;
+
+fn main() {
+ println!("------- PROGRAM START -------");
+ for line in SOURCE.lines() {
+ println!("{line}");
+ }
+ println!("-------- PROGRAM END --------");
+ println!();
+
+ parse(SOURCE);
+}