ucsim-0.2.37-pre3 into cvs
[fw/sdcc] / sim / ucsim / doc / cmd_general.html
1 <html>
2 <head>
3 <title>General commands of uCsim</title>
4 </head>
5
6 <body bgcolor="white">
7
8 <h2>General commands of uCsim</h2>
9
10                                                               <!-- GENERAL -->
11
12 Some commands can be repeated by entering an empty command (just
13 pressing ENTER if command console is interactive). This repeats the
14 <b>full</b> command entered previously precisely including parameters
15 of the command. Repeatable commands are signed with <img
16 src="burst.gif" alt="[Repeatable]"> icon.
17
18 <p>Some commands accept parameters which in most cases can be
19 numbers. Numbers can be entered in C-style form. If the number begins
20 whith <tt><b>0x</b></tt> or <tt><b>0X</b></tt> it is interpreted as a
21 hexadecimal number. If it begins with <tt><b>0</b></tt> followed by
22 digits it is interpreted as octal number. In other cases it is
23 interpreted as decimal number.
24
25 <p>Every command which changes content of ROM area such as <b><a
26 href="#l">l</a></b>, <b><a href="#dl">dl</a></b> or <b><a
27 href="#sc">sc</a></b> deletes result of code analyzer and causes to
28 re-analyze the code.
29
30
31 <a name="show"><h3>show c|w</h3></a>
32
33 This command can be used to list licensing information. If <b>c</b>
34 option has given, the license is listed. It is first 10 point of the
35 version 2 of GNU Genral Public License. Using <b>w</b> parameter the
36 command prints out last 2 point of the license ("NO WARRANTY"
37 message). If you do not accept GPL simply do not use the program.
38
39
40 <a name="dl"><h3>download,dl</h3></a>
41
42 Download command. It is same as <a href="#l">load</a> above but it
43 reads information from command console which is standard input by
44 default. This command stops read records when it detects an "END"
45 record which is normaly the last record. This command has two
46 equivalent forms <b>download</b> and <b>dl</b>.
47
48 <pre>
49 $ <font color="#118811">s51 -V</font>
50 ucsim 0.2.24, Copyright (C) 1997 Daniel Drotos, Talker Bt.
51 ucsim comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
52 This is free software, and you are welcome to redistribute it
53 under certain conditions; type `show c' for details.
54 > <font color="#118811">do
55 :03000000020003F8
56 :1000030075812078207600D8FC900000AE83AF8203
57 :100013009000001200416005E4F0A380F690009F79
58 :1000230012004A9000A312004A9000A712006890A1
59 :1000330000AD12006875D0001200B50200B3EF6581
60 :10004300827003EE658322E493F8740193F97402DA
61 :1000530093FE740393F5828E83E869700122E4931F
62 :10006300F6A30880F4E493FC740193FD740293FEF9
63 :10007300740393FF740493F8740593F582888312D1
64 :100083000041700122E493A3A883A9828C838D820B
65 :10009300F0A3AC83AD828883898280E3212100B5FC
66 :1000A300212100B5000000B500B5000000B500B582
67 :0200B30080FECD
68 :1000B5007520117501AA850120750102850120228F
69 :00000001FF</font>
70 197 bytes loaded
71 > </pre>
72
73
74 <a name="q"><h3>quit</h3></a>
75
76 Quit. This command terminates actual console, it does not ask you to
77 confirm your intention. Simulator always reads commands from a file so
78 end of file condition finishes too. If command console is on standard
79 input/output, pressing the CTRL-D will quit just like the quit
80 command.
81
82 <p>Note that if <a href="invoke.html#Zoption">-Z option</a> was used at
83 invokation then the quit command does not terminate the simulator
84 program. In this case <a href="#kill">kill</a> command can be used to
85 terminate the simulator. See for more information about <a
86 href="mulcons.html">using multiple consoles</a>.
87
88 <pre>$ <font color="#118811">s51</font>
89 ucsim 0.2.24, Copyright (C) 1997 Daniel Drotos, Talker Bt.
90 ucsim comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
91 This is free software, and you are welcome to redistribute it
92 under certain conditions; type `show c' for details.
93 > <font color="#118811">q</font>
94 $ </pre>
95
96
97 <a name="kill"><h3>kill</h3></a>
98
99 This kommand terminates the simulator. It does not ask for
100 confirmation. It doesn't matter how many consoles are used and what
101 commands are running on them.
102
103
104 <a name="h"><h3>help,?</h3></a>
105
106 Help command. It prints out short description of the commands.
107
108
109 <a name="reset"><h3>reset</h3></a>
110
111 Reset command. It resets the microcontroller. It has same effect as
112 active signal on the RST pin.
113
114 <pre>
115 $ <font color="#118811">s51 -V remoansi.hex</font>
116 ucsim 0.2.24, Copyright (C) 1997 Daniel Drotos, Talker Bt.
117 ucsim comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
118 This is free software, and you are welcome to redistribute it
119 under certain conditions; type `show c' for details.
120 58659 bytes read from remoansi.hex
121 > <font color="#118811">dr</font>
122 000000 00 00 00 00 00 00 00 00 ........
123 000000 00 .  ACC= 0x00   0 .  B= 0x00   DPTR= 0x0000 @DPTR= 0x00   0 .
124 000000 00 .  PSW= 0x00 CY=0 AC=0 OV=0 P=0
125    000000 02 01 60 LJMP  0160
126 > <font color="#118811">s 2</font>
127 000000 00 00 00 00 00 00 00 00 ........
128 000000 00 .  ACC= 0x00   0 .  B= 0x00   DPTR= 0x0000 @DPTR= 0x00   0 .
129 000000 00 .  PSW= 0x00 CY=0 AC=0 OV=0 P=0
130    000160 c2 90    CLR   P1.0
131 000000 00 00 00 00 00 00 00 00 ........
132 000000 00 .  ACC= 0x00   0 .  B= 0x00   DPTR= 0x0000 @DPTR= 0x00   0 .
133 000000 00 .  PSW= 0x00 CY=0 AC=0 OV=0 P=0
134    000162 c2 97    CLR   P1.7
135 > <font color="#118811">res</font>
136 > <font color="#118811">dr</font>
137 000000 00 00 00 00 00 00 00 00 ........
138 000000 00 .  ACC= 0x00   0 .  B= 0x00   DPTR= 0x0000 @DPTR= 0x00   0 .
139 000000 00 .  PSW= 0x00 CY=0 AC=0 OV=0 P=0
140    000000 02 01 60 LJMP  0160
141 > </pre>
142
143
144 <a name="wi"><h3>wi,Wi string</h3></a>
145
146 Searching for specified string in internal RAM area. String is
147 interpreted from first non-space sharacter until end of the command
148 including spaces. <b>wi</b> command makes case insensitive search and
149 <b>Wi</b> can be used to make case sensitive search. Result is a hexa
150 dump of memory areas that match with specified string. Most of C-style
151 escape sequences can be used in the string: <tt>\f</tt>, <tt>\n</tt>,
152 <tt>\r</tt>, <tt>\t</tt>, <tt>\v</tt>, <tt>\a</tt>, <tt>\b</tt>,
153 <tt>\0</tt>, and <tt>\0xxx</tt> where <tt>xxx</tt> is an octadecimal
154 number of the code of the character.
155
156 <pre>
157 $ <font color="#118811">s51 remoansi.hex</font>
158 ucsim 0.2.24, Copyright (C) 1997 Daniel Drotos, Talker Bt.
159 ucsim comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
160 This is free software, and you are welcome to redistribute it
161 under certain conditions; type `show c' for details.
162 58659 bytes read from remoansi.hex
163 > <font color="#118811">g</font>
164 Simulation started, PC=0x000000
165
166 Stop at 00019c: (7) User stopped
167 F 00019c
168 > <font color="#118811">si 20 Dani DAni</font>
169 000014 44 61 6e 69 44 41 6e 69                         DaniDAni
170 > <font color="#118811">wi dani</font>
171 000014 44 61 6e 69             Dani
172 000018 44 41 6e 69             DAni
173 > <font color="#118811">Wi Dani</font>
174 000014 44 61 6e 69             Dani
175 > <font color="#118811">wi dani\0</font>
176 000018 44 41 6e 69 00          DAni.
177 > </pre>
178
179
180 <a name="wx"><h3>wx,Wx string</h3></a>
181
182 Search commands. These commands are similar to <a href="#wi"><b>wi,
183 Wi</b></a> commands the only difference is that <b>wx,Wx</b> are used
184 to search for a string in external memory.
185
186
187 <a name="wc"><h3>wc,Wc string</h3></a>
188
189 Search commands. These commands are similar to <a href="#wi"><b>wi,
190 Wi</b></a> commands the only difference is that <b>wx,Wx</b> are used
191 to search for a string in code memory area.
192
193
194 <a name="gopt"><h3>gopt [opt]</h3></a>
195
196 Get actual value of option(s). Some options can be set by <a
197 href="#sopt"><b>sopt</b></a> to modify behavior of the
198 simulator. Using <b>gopt</b> you can get actual value of these
199 options. If you use this command without parameter you get list of all
200 options known by the program. In this way you can figure out which
201 options can be used.
202
203 <pre>
204 $ <font color="#118811">s51 -V</font>
205 ucsim 0.2.24, Copyright (C) 1997 Daniel Drotos, Talker Bt.
206 ucsim comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
207 This is free software, and you are welcome to redistribute it
208 under certain conditions; type `show c' for details.
209 > <font color="#118811">gopt</font>
210 verbose TRUE Verbose flag.
211 stopit FALSE Stop if interrupt accepted.
212 debug FALSE Debug flag.
213 > <font color="#118811">gopt stopit</font>
214 stopit FALSE Stop if interrupt accepted.
215 > </pre>
216
217 This version of the simulator knows about three options. First element
218 of the list is name of the option (<b>verbose</b>, <b>debug</b> and
219 <b>stopit</b>). This name can be used to identify the option in
220 <b>gopt</b> and <a href="#sopt"><b>sopt</b></a> command. Second
221 element of the list is the value of the option. In this case type of
222 both options is boolean, their value can be TRUE or FALSE. Third
223 element is a short description of the option.
224
225 <dl><dt><b>verbose</b> <dd>?
226
227 <dt><b>debug</b> <dd>Debug flag can be set by <b>-V</b> option of the
228 program to TRUE otherwise its default value is FALSE. If it is TRUE,
229 the simulator prints out short messages about important events.
230
231 <dt><b>stopit</b> <dd>Setting this option to TRUE (default value is
232 FALSE) forces execution to stop every time when CPU accepts an
233 interrupt. You do not have to use breakpoints to inspect interrupts.
234
235 </dl>
236
237
238 <a name="sopt"><h3>sopt opt value</h3></a>
239
240 Set option value. Options described at previous command (<a
241 href="#gopt"><b>gopt</b></a>) can be set using this command. First
242 parameter must be an option name and second the new
243 value. Interpretation of the value depends on type of the
244 option. Value for a boolean type of option interpreted as follows: if
245 first character of the value is one of <tt>1</tt>, <tt>t</tt>,
246 <tt>T</tt>, <tt>y</tt>, <tt>Y</tt> then value will be TRUE otherwise
247 it will be FALSE.
248
249 <pre>
250 $ <font color="#118811">s51 -V</font>
251 ucsim 0.2.24, Copyright (C) 1997 Daniel Drotos, Talker Bt.
252 ucsim comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
253 This is free software, and you are welcome to redistribute it
254 under certain conditions; type `show c' for details.
255 > <font color="#118811">gopt</font>
256 verbose TRUE Verbose flag.
257 stopit FALSE Stop if interrupt accepted.
258 debug FALSE Debug messages appears on this console.
259 > <font color="#118811">sopt debug t</font>
260 > <font color="#118811">gopt</font>
261 verbose TRUE Verbose flag.
262 stopit FALSE Stop if interrupt accepted.
263 debug TRUE Debug messages appears on this console.
264 > </pre>
265
266
267 <a name="conf"><h3>conf </h3></a>
268
269 This command prints out configuration of the simulator:
270
271 <pre>
272 > <font color="#118811">conf</font>
273 ucsim version 0.2.37
274 Type of microcontroller: 51 CMOS
275 Controller has 8 hardware element(s).
276   timer0[0]
277   timer1[1]
278   uart[0]
279   port[0]
280   port[1]
281   port[2]
282   port[3]
283   irq[0]
284 Memories:
285   ROM  size= 0x010000 65536
286   XRAM size= 0x010000 65536
287   IRAM size= 0x000100 256
288   SFR  size= 0x000100 256
289
290 </pre>
291
292 First line contains version number of the program. Second line informs
293 about type of the simulated microcontroller. Third line prints out how
294 many hardware elements are simulated. Following lines contain
295 information about memories. Note that size of the simulated memory
296 segment can be bigger than size of addressable part of the memory as
297 you see above SFR type of the memory has bigger simulated than
298 addressable size.
299
300
301 <a name="state"><h3>state</h3></a>
302
303 State of the simulator and the simulated microcontroller:
304
305 <pre>
306 > <font color="#118811">state</font>
307 CPU state= OK PC= 0x004349 XTAL= 1.10592e+07
308 Total time since last reset= 0.614873 sec (6800004 clks)
309 Time in isr = 0.0144227 sec (159504 clks) 2.3%
310 Time in idle= 0 sec (0 clks)   0%
311 Max value of stack pointer= 0x000049, avg= 0x000026
312
313 </pre>
314
315 The "CPU state" in the first line is an internal information. PC is
316 value of the program counter. First line shows XTAL frequency too.
317
318 <p>Following lines contain information about simulated time. First,
319 full simulated time (elapsed from last reset) is printed out in
320 seconds and number of clock periods then same data is printed out
321 about time spent in interrupt service routines as well as in idle
322 mode. Last data in lines of ISR and IDLE time shows ratio of ISRs,
323 Idle times and main program.
324
325 <p>Last line infroms about maximum value of the stack pointer and a
326 "not very well" calculated average value of it.
327
328
329 <a name="file"><h3>file,load "FILE"</h3></a>
330
331 Loads file named FILE into the simulated code memory. File must
332 contain data in Intel HEX format.
333
334 <pre>
335 > <font color="#118811">file "../../remo.hex"</font>
336 55470 words read from ../../remo.hex
337
338 </pre>
339
340 Don't forget to enclose file name in quotes to make the parameter to
341 be a string.
342
343
344 <a name="info"><h3>info</h3></a>
345
346 This command prints out information about different things which must
347 be specified as paramater to the command. Following subcommands are
348 known:
349
350 <p>info <a href="#info_bp">breakpoints</a>
351 <br>info <a href="#info_reg">registers</a>
352 <br>info <a href="#info_hw">hardware</a>
353
354
355 <a name="info_bp"><h4>info breakpoints</h4></a>
356
357 This subcommand prints out information about breakpoints:
358
359 <pre>
360 > <font color="#118811">b 12</font>
361 Breakpoint 1 at 0x00000c: MOV   R7,A
362 > <font color="#118811">tb 43</font>
363 Breakpoint 2 at 0x00002b: MOV   R7,A
364 > <font color="#118811">bse ws f 0x80</font>
365 > <font color="#118811">i b</font>
366 Num Type       Disp Hit   Cnt   Address  What
367 1   fetch      keep 1     1     0x00000c MOV   R7,A
368 2   fetch      del  1     1     0x00002b MOV   R7,A
369 1   event      keep 1     1     0x000080 ws
370
371 </pre>
372
373 As you see above, the command can be shortened to "i b". The list of
374 breakpoints contains 7 columns:
375
376 <dl><dt><b>Num</b> <dd>Number of the breakpoint. Normal and event
377 breakpoints are numbered separately.
378
379 <dt><b>Type</b> <dd>This column shows type of the breakpoint. It can
380 be <i>fetch</i> for normal breakpoints or <i>event</i> for event
381 breakpoints. First the normal breakpoints are listed and then the
382 event breakpoints.
383
384 <dt><b>Disp</b> <dd>This shows if the breakpoint is temporary
385 (<i>del</i>) or not (<i>keep</i>).
386
387 <dt><b>Hit</b> <dd>How many times the breakpoint must be hit before it
388 really stops the program.
389
390 <dt><b>Cnt</b> <dd>Counter of breakpint hits. This counter decrements
391 and the breakpoint is activated if it reaches zero.
392
393 <dt><b>Address</b> <dd>Address where the breakpoint is set.
394
395 <dt><b>What</b> <dd>For normal breakpoints this field contains
396 disassembled instruction where the breakpoint is set. For event
397 breakpoints it contains type of event.
398
399 </dl>
400
401 <a name="info_reg"><h4>info registers</h4></a>
402
403 This subcommand prints out full register set of the CPU. Output of
404 this command depends of type of CPU.
405
406 <h5>Registers of MCS51 family</h5>
407
408 <pre>
409 $ <font color="#118811">s51 remoansi.hex</font> 
410 ucsim 0.2.12, Copyright (C) 1997 Daniel Drotos, Talker Bt.
411 ucsim comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
412 This is free software, and you are welcome to redistribute it
413 under certain conditions; type `show c' for details.
414 58659 bytes read from remoansi.hex
415 > <font color="#118811">sopt stopit 1</font>
416 > <font color="#118811">g</font>
417 5
418  * 000023 02 01 1c LJMP  011c
419 > <font color="#118811">i r</font>
420 000000 18 02 16 ba 00 02 00 0a ........
421 000018 4a J  ACC= 0x0a  10 .  B= 0x00   DPTR= 0x16ba @DPTR= 0x00   0 .
422 000002 16 .  PSW= 0x00 CY=0 AC=0 OV=0 P=0
423  * 000023 02 01 1c LJMP  011c
424 > </pre>
425
426 In first line the actual register bank is dumped out. Register banks
427 reside in internal RAM, address at the begining of the line shows
428 start address of actual register bank selected by RS0 and RS1 bits of
429 PSW register.
430
431 <p>Next two lines begin with value of indirectly addressed internal
432 RAM cells. Second line shows IRAM cell pointed by R0 while third line
433 shows IRAM addressed by R1.
434
435 <p>Second line displays some important registers. First one is the
436 accumulator. Its value dumped out in hexadecimal, decimal form and
437 then the ASCII character of its value. It is followed by value of the
438 B register which is dumped out in hexadecimal form only. Next is DPTR
439 register in hexadecimal and then external RAM cell which is addressed
440 by DPTR. This is dumped out in hexadecimal, decimal and ASCII too.
441
442 <p>In third line you find program status word in hexadecimal and then
443 some flag bits of PSW register. Last line is disassembled instruction
444 at PC.
445
446 <h5>Registers of AVR family</h5>
447
448 <pre>
449 $ <font color="#118811">savr test_arith.hex</font>
450 ucsim 0.2.37, Copyright (C) 1997 Daniel Drotos, Talker Bt.
451 ucsim comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
452 This is free software, and you are welcome to redistribute it
453 under certain conditions; type `show c' for details.
454 > 83 words read from test_arith.hex
455 83 words read from test_arith.hex
456 > <font color="#118811">run</font>
457
458 Stop at 0x000047: (105) User stopped
459 F 0x000047
460 > <font color="#118811">i r</font>
461 000000 00 2c 21 23 20 35 19 14 03 00 00 00 00 00 00 00 .,!# 5..........
462 000010 00 01 1e 89 01 00 10 e2 14 00 01 10 00 00 00 00 ................
463 ITHSVNZC  SREG= 0x03   3 .
464 00000011  SP  = 0x000000
465 X= 0x1001 [X]= 0x00   0 .  Y= 0x0000 [Y]= 0x00   0 .  Z= 0x0000 [Z]= 0x00   0 .
466  * 000047 940c 0047 jmp   0x000047
467
468 </pre>
469
470 First two lines show first 32 bytes of internal RAM which is the
471 register set of AVR controllers.
472
473 <p>At the beginning of next two lines bits of status register are
474 printed. These lines present hexadecimal, decimal and ASCII values of
475 the status register too, and value of the stack pointer.
476
477 <p>Following line shows indirect addressing registers X, Y, and Z as
478 well as pointed memory values.
479
480 <p>Last line is disassembled instruction ap PC.
481
482 <a name="info_hw"><h4>info hardware|hw cathegory [id]</h4></a>
483
484 This subcommand prints out information about a unit of the
485 controller. Cathegory can be:
486
487 <ul><li>timer
488 <li>uart
489 <li>port
490 <li>pca
491 <li>interrupt
492 <li>wdt
493 </ul>
494
495 Ouput format of this command depends on CPU family and type of the CPU
496 too because requested unit can be different in different type of
497 controller even in the same CPU family.
498
499 <pre>
500 $ <font color="#118811">s51 -t 51</font>
501 ucsim 0.2.36, Copyright (C) 1997 Daniel Drotos, Talker Bt.
502 ucsim comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
503 This is free software, and you are welcome to redistribute it
504 under certain conditions; type `show c' for details.
505 > <font color="#118811">i h t</font>
506 timer0[0] 0x0000 13 bit timer OFF irq=0 dis prio=0
507 timer1[1] 0x0000 13 bit timer OFF irq=0 dis prio=0
508
509 </pre>
510
511 Timer #2 differs a little bit from other timers of MCS51:
512
513 <pre>
514 $ <font color="#118811">s51 -t 52</font>
515 ucsim 0.2.36, Copyright (C) 1997 Daniel Drotos, Talker Bt.
516 ucsim comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
517 This is free software, and you are welcome to redistribute it
518 under certain conditions; type `show c' for details.
519 > <font color="#118811">i h t</font>
520 timer0[0] 0x0000 13 bit timer OFF irq=0 dis prio=0
521 timer1[1] 0x0000 13 bit timer OFF irq=0 dis prio=0
522 timer2[2] 0x0000 reload 0x0000 timer OFF irq=0 dis prio=0
523
524 </pre>
525
526 <p>If the controller contains more than one unit of a cathegory, then
527 optional <b>id</b> parameter can be used to select a specific one. If
528 <b>id</b> is not used then information is printed about all units
529 belonging to specified cathegory.
530
531 <pre>
532 > <font color="#118811">i h t 1</font>
533 timer1[1] 0x0000 13 bit timer OFF irq=0 dis prio=0
534
535 </pre>
536
537 It is possible that there is no unit belonging to some cathegory. It
538 is also possible that the specific unit exists but information command
539 of that unit is not implemented, in this case you have to check SFRs
540 of the unit...
541
542 <pre>
543 > <font color="#118811">i h pca</font>
544
545 </pre>
546
547 Information you can get about units of MCS51 controllers:
548
549 <pre>
550 $ <font color="#118811">s51 -t 251</font> 
551 ucsim 0.2.37, Copyright (C) 1997 Daniel Drotos, Talker Bt.
552 ucsim comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
553 This is free software, and you are welcome to redistribute it
554 under certain conditions; type `show c' for details.
555 > <font color="#118811">g</font>
556 Simulation started, PC=0x000000
557
558 Stop at 0x000023: (105) User stopped
559 F 0x000023
560 > <font color="#118811">i h t</font>
561 timer0[0] 0xaa8d 16 bit timer ON irq=0 en prio=0
562 timer1[1] 0xfdff 8 bit autoreload timer ON irq=1 dis prio=0
563 timer2[2] 0x0000 reload 0x0000 timer OFF irq=0 dis prio=0
564 > <font color="#118811">i h u</font>
565 uart[0] 8 bit UART timer clocked MultiProc=none irq=en prio=1
566 Receiver ON RB8=1 irq=0
567 Transmitter TB8=1 irq=1
568 > <font color="#118811">i h po</font>
569 port[0]
570 P0    11111111 0xff 255 . (Value in SFR register)
571 Pin0  11111111 0xff 255 . (Output of outside circuits)
572 Port0 11111111 0xff 255 . (Value on the port pins)
573 port[1]
574 P1    11111111 0xff 255 . (Value in SFR register)
575 Pin1  11111111 0xff 255 . (Output of outside circuits)
576 Port1 11111111 0xff 255 . (Value on the port pins)
577 port[2]
578 P2    11111111 0xff 255 . (Value in SFR register)
579 Pin2  11111111 0xff 255 . (Output of outside circuits)
580 Port2 11111111 0xff 255 . (Value on the port pins)
581 port[3]
582 P3    11111111 0xff 255 . (Value in SFR register)
583 Pin3  11111111 0xff 255 . (Output of outside circuits)
584 Port3 11111111 0xff 255 . (Value on the port pins)
585 > <font color="#118811">i h i</font>
586 Interrupts are enabled. Interrupt sources:
587   Handler  En  Pr Req Act Name
588   0x000003 en   1 no  act external #0
589   0x00000b en   0 no  act timer #0
590   0x000013 en   1 no  act external #1
591   0x00001b dis  0 YES act timer #1
592   0x000033 dis  0 no  act PCA counter
593   0x000033 dis  0 no  act PCA module #0
594   0x000033 dis  0 no  act PCA module #1
595   0x000033 dis  0 no  act PCA module #2
596   0x000033 dis  0 no  act PCA module #3
597   0x000033 dis  0 no  act PCA module #4
598   0x000023 en   1 YES act serial transmit
599   0x000023 en   1 no  act serial receive
600   0x00002b dis  0 no  act timer #2 TF2
601   0x00002b dis  0 no  act timer #2 EXF2
602 Active interrupt service(s):
603   Pr Handler  PC       Source
604    1 0x000023 0x003672 serial transmit
605 >
606 </pre>
607
608
609 <a name="timer"><h3>timer a|d|g|r|s|v id [value]</h3></a>
610
611 Handling of timers. First parameter of timer command determines the
612 operation which can be
613
614 <dl><dt><b>add (or simply a)</b> <dd>to create a new timer. New timers
615 are turned ON by default and initialized to value 0.
616
617 <dt><b>del (or simply d)</b> <dd>to remove a timer if you don't need
618 it any more.
619
620 <dt><b>get (or simply g)</b> <dd>to get value of timers. See comment
621 below.
622
623 <dt><b>run (or simply r)</b> <dd>to turn a timer ON.
624
625 <dt><b>stop (or simply s)</b> <dd>to turn a timer OFF. It still exist
626 but doesn't count xtal periods.
627
628 <dt><b>value (or simply v)</b> <dd>to set value of the timer (number
629 of xtal periods). `param' is the new value.
630
631 </dl>
632
633 <b>id</b> can be a number or a string. Timers are numbered from 1. You
634 can use any number greater than 0 to identify a timer. Or you can use
635 a simbolic name, in this case simulator uses the first unused number
636 to allocate a new timer:
637
638 <pre>
639 > <font color="#118811">tim a 3</font>
640 > <font color="#118811">tim g 0</font>
641 timer #0("time") ON: 0.463255 sec (5123232 clks)
642 timer #0("isr") ON: 0.0051888 sec (57384 clks)
643 timer #3("unnamed") ON: 0 sec (0 clks)
644 > <font color="#118811">tim a "a"</font>
645 > <font color="#118811">tim g 0</font>
646 timer #0("time") ON: 0.463255 sec (5123232 clks)
647 timer #0("isr") ON: 0.0051888 sec (57384 clks)
648 timer #1("a") ON: 0 sec (0 clks)
649 timer #3("unnamed") ON: 0 sec (0 clks)
650
651 </pre>
652
653 If you use 0 as timer id in "get" operation, simulator prints out
654 value of all timers including predefined ones.
655
656 <hr>
657
658 </body>
659 </html>