summaryrefslogtreecommitdiff
path: root/src/main.rs
blob: 82bd92dce25311dcc643ad5132619e6d4707a6c6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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);
}