Mercurial > repos > blastem
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 |