test.cups
· 1.4 KiB · Text
原始文件
Playground
initial-state:
set &move #1
set &a:1000000 #1
search:
rule-1:
jez &a:1000000 %rule-2
set @alu.op1 #max
cpy &a:1000000 @alu.op2
inc @alu.min
cpy @alu.out1 &min
cpy &a:1000000 @alu.op1
cpy &min @alu.op2
inc @alu.sub-sat
cpy @alu.out1 &a:1000000
set @alu.op1 #1000000
cpy &min @alu.op2
inc @alu.mul
cpy &a @alu.op1
cpy @alu.out1 @alu.op2
inc @alu.add
cpy @alu.out1 &a
jmp %search
rule-2:
jez &move %rule-3
jez &a %rule-3
jez &a %rule-3
set @alu.op1 #max
cpy &move @alu.op2
inc @alu.min
cpy @alu.out1 @alu.op1
cpy &a @alu.op2
inc @alu.min
cpy @alu.out1 @alu.op1
cpy &a @alu.op2
inc @alu.min
cpy @alu.out1 &min
cpy &move @alu.op1
cpy &min @alu.op2
inc @alu.sub-sat
cpy @alu.out1 &move
cpy &a @alu.op1
cpy &min @alu.op2
inc @alu.sub-sat
cpy @alu.out1 &a
cpy &a @alu.op1
cpy &min @alu.op2
inc @alu.sub-sat
cpy @alu.out1 &a
set @alu.op1 #2
cpy &min @alu.op2
inc @alu.mul
cpy &move @alu.op1
cpy @alu.out1 @alu.op2
inc @alu.add
cpy @alu.out1 &move
set @alu.op1 #1
cpy &min @alu.op2
inc @alu.mul
cpy &b @alu.op1
cpy @alu.out1 @alu.op2
inc @alu.add
cpy @alu.out1 &b
jmp %search
rule-3:
jez &move %rule-done
set @alu.op1 #max
cpy &move @alu.op2
inc @alu.min
cpy @alu.out1 &min
cpy &move @alu.op1
cpy &min @alu.op2
inc @alu.sub-sat
cpy @alu.out1 &move
jmp %search
rule-done:
hlt
1 | initial-state: |
2 | set &move #1 |
3 | set &a:1000000 #1 |
4 | search: |
5 | rule-1: |
6 | jez &a:1000000 %rule-2 |
7 | set @alu.op1 #max |
8 | cpy &a:1000000 @alu.op2 |
9 | inc @alu.min |
10 | cpy @alu.out1 &min |
11 | cpy &a:1000000 @alu.op1 |
12 | cpy &min @alu.op2 |
13 | inc @alu.sub-sat |
14 | cpy @alu.out1 &a:1000000 |
15 | set @alu.op1 #1000000 |
16 | cpy &min @alu.op2 |
17 | inc @alu.mul |
18 | cpy &a @alu.op1 |
19 | cpy @alu.out1 @alu.op2 |
20 | inc @alu.add |
21 | cpy @alu.out1 &a |
22 | jmp %search |
23 | rule-2: |
24 | jez &move %rule-3 |
25 | jez &a %rule-3 |
26 | jez &a %rule-3 |
27 | set @alu.op1 #max |
28 | cpy &move @alu.op2 |
29 | inc @alu.min |
30 | cpy @alu.out1 @alu.op1 |
31 | cpy &a @alu.op2 |
32 | inc @alu.min |
33 | cpy @alu.out1 @alu.op1 |
34 | cpy &a @alu.op2 |
35 | inc @alu.min |
36 | cpy @alu.out1 &min |
37 | cpy &move @alu.op1 |
38 | cpy &min @alu.op2 |
39 | inc @alu.sub-sat |
40 | cpy @alu.out1 &move |
41 | cpy &a @alu.op1 |
42 | cpy &min @alu.op2 |
43 | inc @alu.sub-sat |
44 | cpy @alu.out1 &a |
45 | cpy &a @alu.op1 |
46 | cpy &min @alu.op2 |
47 | inc @alu.sub-sat |
48 | cpy @alu.out1 &a |
49 | set @alu.op1 #2 |
50 | cpy &min @alu.op2 |
51 | inc @alu.mul |
52 | cpy &move @alu.op1 |
53 | cpy @alu.out1 @alu.op2 |
54 | inc @alu.add |
55 | cpy @alu.out1 &move |
56 | set @alu.op1 #1 |
57 | cpy &min @alu.op2 |
58 | inc @alu.mul |
59 | cpy &b @alu.op1 |
60 | cpy @alu.out1 @alu.op2 |
61 | inc @alu.add |
62 | cpy @alu.out1 &b |
63 | jmp %search |
64 | rule-3: |
65 | jez &move %rule-done |
66 | set @alu.op1 #max |
67 | cpy &move @alu.op2 |
68 | inc @alu.min |
69 | cpy @alu.out1 &min |
70 | cpy &move @alu.op1 |
71 | cpy &min @alu.op2 |
72 | inc @alu.sub-sat |
73 | cpy @alu.out1 &move |
74 | jmp %search |
75 | rule-done: |
76 | hlt |
test.nv
· 79 B · Text
原始文件
Playground
|#| constant, a, 1000000
|move, a, a| move, move, b
|move|
|| move, a:1000000
1 | |#| constant, a, 1000000 |
2 | |
3 | |move, a, a| move, move, b |
4 | |move| |
5 | |
6 | || move, a:1000000 |