b62026933e3269aa752841fe276182c95da85c41
[fw/sdcc] / sim / ucsim / cmd.src / cmdsetcl.h
1 /*
2  * Simulator of microcontrollers (cmdsetcl.h)
3  *
4  * Copyright (C) 1999,99 Drotos Daniel, Talker Bt.
5  * 
6  * To contact author send email to drdani@mazsola.iit.uni-miskolc.hu
7  *
8  */
9
10 /* This file is part of microcontroller simulator: ucsim.
11
12 UCSIM is free software; you can redistribute it and/or modify
13 it under the terms of the GNU General Public License as published by
14 the Free Software Foundation; either version 2 of the License, or
15 (at your option) any later version.
16
17 UCSIM is distributed in the hope that it will be useful,
18 but WITHOUT ANY WARRANTY; without even the implied warranty of
19 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20 GNU General Public License for more details.
21
22 You should have received a copy of the GNU General Public License
23 along with UCSIM; see the file COPYING.  If not, write to the Free
24 Software Foundation, 59 Temple Place - Suite 330, Boston, MA
25 02111-1307, USA. */
26 /*@1@*/
27
28 #ifndef CMDSETCL_HEADER
29 #define CMDSETCL_HEADER
30
31 #include "newcmdcl.h"
32
33
34 // CONF
35 class cl_conf_cmd: public cl_cmd
36 {
37 public:
38   cl_conf_cmd(class cl_sim *asim,
39               char *aname,
40               int  can_rep,
41               char *short_hlp,
42               char *long_hlp):
43     cl_cmd(asim, aname, can_rep, short_hlp, long_hlp) {}
44   virtual int do_work(class cl_cmdline *cmdline, class cl_console *con);
45 };
46
47 // STATE
48 class cl_state_cmd: public cl_cmd
49 {
50 public:
51   cl_state_cmd(class cl_sim *asim,
52                char *aname,
53                int  can_rep,
54                char *short_hlp,
55                char *long_hlp):
56     cl_cmd(asim, aname, can_rep, short_hlp, long_hlp) {}
57   virtual int do_work(class cl_cmdline *cmdline, class cl_console *con);
58 };
59
60 // FILE
61 class cl_file_cmd: public cl_cmd
62 {
63 public:
64   cl_file_cmd(class cl_sim *asim,
65               char *aname,
66               int  can_rep,
67               char *short_hlp,
68               char *long_hlp):
69     cl_cmd(asim, aname, can_rep, short_hlp, long_hlp) {}
70   virtual int do_work(class cl_cmdline *cmdline, class cl_console *con);
71 };
72
73 // DOWNLOAD
74 class cl_dl_cmd: public cl_cmd
75 {
76 public:
77   cl_dl_cmd(class cl_sim *asim,
78             char *aname,
79             int  can_rep,
80             char *short_hlp,
81             char *long_hlp):
82     cl_cmd(asim, aname, can_rep, short_hlp, long_hlp) {}
83   virtual int do_work(class cl_cmdline *cmdline, class cl_console *con);
84 };
85
86 // GET
87 class cl_get_cmd: public cl_cmd
88 {
89 public:
90   cl_get_cmd(class cl_sim *asim,
91              char *aname,
92              int  can_rep,
93              char *short_hlp,
94              char *long_hlp):
95     cl_cmd(asim, aname, can_rep, short_hlp, long_hlp) {}
96   virtual int do_work(class cl_cmdline *cmdline, class cl_console *con);
97   virtual int timer(class cl_cmdline *cmdline, class cl_console *con);
98 };
99
100 // SET
101 class cl_set_cmd: public cl_cmd
102 {
103 public:
104   cl_set_cmd(class cl_sim *asim,
105              char *aname,
106              int  can_rep,
107              char *short_hlp,
108              char *long_hlp):
109     cl_cmd(asim, aname, can_rep, short_hlp, long_hlp) {}
110   virtual int do_work(class cl_cmdline *cmdline, class cl_console *con);
111   virtual int timer(class cl_cmdline *cmdline, class cl_console *con);
112 };
113
114 // TIMER
115 class cl_timer_cmd: public cl_cmd
116 {
117 public:
118   class cl_ticker *ticker;
119   int what;
120   char *name;
121
122   cl_timer_cmd(class cl_sim *asim,
123                char *aname,
124                int  can_rep,
125                char *short_hlp,
126                char *long_hlp):
127     cl_cmd(asim, aname, can_rep, short_hlp, long_hlp) {}
128   virtual int do_work(class cl_cmdline *cmdline, class cl_console *con);
129   void set_ticker(class cl_cmd_arg *param);
130   virtual int add(class cl_cmdline *cmdline, class cl_console *con);
131   virtual int del(class cl_cmdline *cmdline, class cl_console *con);
132   virtual int get(class cl_cmdline *cmdline, class cl_console *con);
133   virtual int run(class cl_cmdline *cmdline, class cl_console *con);
134   virtual int stop(class cl_cmdline *cmdline, class cl_console *con);
135   virtual int val(class cl_cmdline *cmdline, class cl_console *con);
136 };
137
138 // RUN
139 class cl_run_cmd: public cl_cmd
140 {
141 public:
142   cl_run_cmd(class cl_sim *asim,
143              char *aname,
144              int  can_rep,
145              char *short_hlp,
146              char *long_hlp):
147     cl_cmd(asim, aname, can_rep, short_hlp, long_hlp) {}
148   virtual int do_work(class cl_cmdline *cmdline, class cl_console *con);
149 };
150
151 // STEP
152 class cl_step_cmd: public cl_cmd
153 {
154 public:
155   cl_step_cmd(class cl_sim *asim,
156               char *aname,
157               int  can_rep,
158               char *short_hlp,
159               char *long_hlp):
160     cl_cmd(asim, aname, can_rep, short_hlp, long_hlp) {}
161   virtual int do_work(class cl_cmdline *cmdline, class cl_console *con);
162 };
163
164 // RESET
165 class cl_reset_cmd: public cl_cmd
166 {
167 public:
168   cl_reset_cmd(class cl_sim *asim,
169                char *aname,
170                int  can_rep,
171                char *short_hlp,
172                char *long_hlp):
173     cl_cmd(asim, aname, can_rep, short_hlp, long_hlp) {}
174   virtual int do_work(class cl_cmdline *cmdline, class cl_console *con);
175 };
176
177 // DUMP
178 class cl_dump_cmd: public cl_cmd
179 {
180 public:
181   cl_dump_cmd(class cl_sim *asim,
182               char *aname,
183               int  can_rep,
184               char *short_hlp,
185               char *long_hlp):
186     cl_cmd(asim, aname, can_rep, short_hlp, long_hlp) {}
187   //cl_dump_cmd(class cl_sim *asim): cl_cmd(asim) {}
188   virtual int do_work(class cl_cmdline *cmdline, class cl_console *con);
189 };
190
191 // DI
192 class cl_di_cmd: public cl_dump_cmd
193 {
194 public:
195   cl_di_cmd(class cl_sim *asim,
196             char *aname,
197             int  can_rep,
198             char *short_hlp,
199             char *long_hlp):
200     cl_dump_cmd(asim, aname, can_rep, short_hlp, long_hlp) {}
201   virtual int do_work(class cl_cmdline *cmdline, class cl_console *con);
202 };
203
204 // DX
205 class cl_dx_cmd: public cl_dump_cmd
206 {
207 public:
208   cl_dx_cmd(class cl_sim *asim,
209             char *aname,
210             int  can_rep,
211             char *short_hlp,
212             char *long_hlp):
213     cl_dump_cmd(asim, aname, can_rep, short_hlp, long_hlp) {}
214   virtual int do_work(class cl_cmdline *cmdline, class cl_console *con);
215 };
216
217 // DCH
218 class cl_dch_cmd: public cl_dump_cmd
219 {
220 public:
221   cl_dch_cmd(class cl_sim *asim,
222              char *aname,
223              int  can_rep,
224              char *short_hlp,
225              char *long_hlp):
226     cl_dump_cmd(asim, aname, can_rep, short_hlp, long_hlp) {}
227   virtual int do_work(class cl_cmdline *cmdline, class cl_console *con);
228 };
229
230 // DS
231 class cl_ds_cmd: public cl_dump_cmd
232 {
233 public:
234   cl_ds_cmd(class cl_sim *asim,
235             char *aname,
236             int  can_rep,
237             char *short_hlp,
238             char *long_hlp):
239     cl_dump_cmd(asim, aname, can_rep, short_hlp, long_hlp) {}
240   virtual int do_work(class cl_cmdline *cmdline, class cl_console *con);
241 };
242
243 // DC
244 class cl_dc_cmd: public cl_cmd
245 {
246 public:
247   int last;
248 public:
249   cl_dc_cmd(class cl_sim *asim,
250             char *aname,
251             int  can_rep,
252             char *short_hlp,
253             char *long_hlp):
254     cl_cmd(asim, aname, can_rep, short_hlp, long_hlp) {last=0;}
255   virtual int do_work(class cl_cmdline *cmdline, class cl_console *con);
256 };
257
258 // BREAK
259 class cl_break_cmd: public cl_cmd
260 {
261 public:
262   enum brk_perm perm;
263 public:
264   cl_break_cmd(class cl_sim *asim,
265                char *aname,
266                int  can_rep,
267                char *short_hlp,
268                char *long_hlp):
269     cl_cmd(asim, aname, can_rep, short_hlp, long_hlp) { perm= brkFIX; }
270   virtual int do_work(class cl_cmdline *cmdline, class cl_console *con);
271 };
272
273 // TBREAK
274 class cl_tbreak_cmd: public cl_break_cmd
275 {
276 public:
277   cl_tbreak_cmd(class cl_sim *asim,
278                 char *aname,
279                 int  can_rep,
280                 char *short_hlp,
281                 char *long_hlp):
282     cl_break_cmd(asim, aname, can_rep, short_hlp, long_hlp) {perm=brkDYNAMIC;}
283 };
284
285 // CLEAR
286 class cl_clear_cmd: public cl_cmd
287 {
288 public:
289   cl_clear_cmd(class cl_sim *asim,
290                char *aname,
291                int  can_rep,
292                char *short_hlp,
293                char *long_hlp):
294     cl_cmd(asim, aname, can_rep, short_hlp, long_hlp) {}
295   virtual int do_work(class cl_cmdline *cmdline, class cl_console *con);
296 };
297
298 // HELP
299 class cl_help_cmd: public cl_cmd
300 {
301 public:
302   cl_help_cmd(class cl_sim *asim,
303               char *aname,
304               int  can_rep,
305               char *short_hlp,
306               char *long_hlp):
307     cl_cmd(asim, aname, can_rep, short_hlp, long_hlp) {}
308   virtual int do_work(class cl_cmdline *cmdline, class cl_console *con);
309 };
310
311 // QUIT
312 class cl_quit_cmd: public cl_cmd
313 {
314 public:
315   cl_quit_cmd(class cl_sim *asim,
316               char *aname,
317               int  can_rep,
318               char *short_hlp,
319               char *long_hlp):
320     cl_cmd(asim, aname, can_rep, short_hlp, long_hlp) {}
321   virtual int do_work(class cl_cmdline *cmdline, class cl_console *con);
322 };
323
324 // KILL
325 class cl_kill_cmd: public cl_cmd
326 {
327 public:
328   cl_kill_cmd(class cl_sim *asim,
329               char *aname,
330               int  can_rep,
331               char *short_hlp,
332               char *long_hlp):
333     cl_cmd(asim, aname, can_rep, short_hlp, long_hlp) {}
334   virtual int do_work(class cl_cmdline *cmdline, class cl_console *con);
335 };
336
337
338 #endif
339
340 /* End of cmdsetcl.h */