test.cups
· 1.4 KiB · Text
Sin formato
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
Sin formato
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 |