comparison svp.cpu @ 1618:5dbc453cd345

Getting SVP core closer to compiling
author Michael Pavone <pavone@retrodev.com>
date Mon, 01 Oct 2018 19:11:17 -0700
parents 5e04f9f8bd85
children 0e8438a4c76f
comparison
equal deleted inserted replaced
1617:5e04f9f8bd85 1618:5dbc453cd345
1 info 1 info
2 prefix svp_ 2 prefix svp_
3 opcode_size 16 3 opcode_size 16
4 body svp_run_op 4 body svp_run_op
5 header svp.h
5 6
6 regs 7 regs
7 internal 16 scratch1 x y scratch2 st pad pc 8 internal 16 scratch1 x y scratch2 st pad pc
8 a 32 9 a 32
9 stack 16 stack0 stack1 stack2 stack3 stack4 stack5 10 stack 16 stack0 stack1 stack2 stack3 stack4 stack5
68 add 1 reg reg 69 add 1 reg reg
69 70
70 case 2 71 case 2
71 #loop decremenet 72 #loop decremenet
72 meta modestr - 73 meta modestr -
73 mov reg tmp
74 74
75 if rpl 75 if rpl
76 local tmp 16
77 mov reg tmp
76 lsl 1 rpl rpl 78 lsl 1 rpl rpl
77 sub 1 rpl rpl 79 sub 1 rpl rpl
78 local mask 16 80 local mask 16
79 not rpl mask 81 not rpl mask
80 and reg mask reg 82 and reg mask reg
81 sub 1 tmp tmp 83 sub 1 tmp tmp
82 and rpl tmp tmp 84 and rpl tmp tmp
83 or rpl reg reg 85 or tmp reg reg
84 else 86 else
85 sub 1 reg reg 87 sub 1 reg reg
86 end 88 end
87 89
88 case 3 90 case 3
89 #loop increment 91 #loop increment
90 meta modestr + 92 meta modestr +
91 93
92 and 7 st rpl 94 and 7 st rpl
93 if rpl 95 if rpl
96 local tmp 16
94 mov reg tmp 97 mov reg tmp
95 lsl 1 rpl rpl 98 lsl 1 rpl rpl
96 sub 1 rpl rpl 99 sub 1 rpl rpl
97 local mask 16 100 local mask 16
98 not rpl mask 101 not rpl mask
99 and reg mask reg 102 and reg mask reg
100 add 1 tmp tmp 103 add 1 tmp tmp
101 and rpl tmp tmp 104 and rpl tmp tmp
102 or rpl reg reg 105 or tmp reg reg
103 else 106 else
104 sub 1 reg reg 107 sub 1 reg reg
105 end 108 end
106 end 109 end
107 110