diff options
| author | Xavier ASUS <xavi92psx@gmail.com> | 2019-10-18 00:31:54 +0200 |
|---|---|---|
| committer | Xavier ASUS <xavi92psx@gmail.com> | 2019-10-18 00:31:54 +0200 |
| commit | 268a53de823a6750d6256ee1fb1e7707b4b45740 (patch) | |
| tree | 42c1799a9a82b2f7d9790ee9fe181d72a7274751 /sim/ucsim/doc/cmd_bp.html | |
| download | sdcc-gas-268a53de823a6750d6256ee1fb1e7707b4b45740.tar.gz | |
sdcc-3.9.0 fork implementing GNU assembler syntax
This fork aims to provide better support for stm8-binutils
Diffstat (limited to 'sim/ucsim/doc/cmd_bp.html')
| -rw-r--r-- | sim/ucsim/doc/cmd_bp.html | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/sim/ucsim/doc/cmd_bp.html b/sim/ucsim/doc/cmd_bp.html new file mode 100644 index 0000000..0429e30 --- /dev/null +++ b/sim/ucsim/doc/cmd_bp.html @@ -0,0 +1,112 @@ +<html> + <head> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-2"> + <title>Breakpoints commands of μCsim</title> + </head> + <body style=" background-color: white;"> + <!-- BREAKPOINTS --> + <h2>Commands of <i>μCsim</i> to manage breakpoints</h2> + Two kind of breakpoint can be used: fetch and event breakpoint. <b>Fetch</b> + breakpoints are classical breakpoints. They can be placed at any instruction + in the code memory. Breakpoint will be hit if CPU fetches instruction code + from the memory location specified by the breakpoint. Only fetching of first + byte of the instruction hits the breakpoint. If the execution reaches a + breakpoint it stops <i>before</i> the instruction at location specified by + the breakpoint would be executed. + <p><b>Event</b> breakpoints are special onces. They cause stop of execution + if event specified by the breakpoint occurs. Event can be a read or a + write operation on any address space location. Event breakpoint stops + execution <i>after</i> specified event occurred. </p> + <p>Every breakpoint can be <b>fix</b> (permanent) or <b>dynamic</b> + (temporary). Dynamic breakpoints are automatically removed when they + reached. Some commands place dynamic fetch breakpoints into the code, for + example <a href="#g"><b>go</b></a> or <a href="#n"><b>next</b></a>. </p> + <p>A <b>hit number</b> can be associated to any breakpoint. This hit number + specifies how many times the breakpoint must be hit before it causes the + execution to stop. This hit number is 1 by default. </p> + <hr> <a name="break"> + <h3>break <i>addr [hit] [if expression]</i> <br> + break <i>memory_type r|w addr [hit] [if expression]<br> + </i></h3> + </a> <a name="tbreak"> + <h3>tbreak<i> addr [hit] [if expression]</i> <br> + tbreak <i>memory_type r|w addr [hit] [if expression]<br> + </i></h3> + </a> Set fetch or event breakpoint. The command specifies if the breakpoint + will be fix (<b>break</b>) or dynamic (temporary) (<b>tbreak</b>). + <p>Fetch or event breakpoint can be defined. First form defines fetch while + second form defines event breakpoint. </p> + <dl> + <dt>Fetch breakpoint </dt> + <dd>First parameter specifies address where the breakpoint must be placed + to. It should be address of an instruction. <br> + Second parameter is optional and it specifies the hit number. It is 1 by + default. </dd> + <dt>Event breakpoint </dt> + <dd>First parameter specifies class name of memory where we are going to + watch for en event. Class names of memories can be checked by <a href="cmd_general.html#info_memory">info + memory</a> command. <br> + Second parameter specifies the event. It can be <b>r</b> to specify <b>read</b> + operation or <b>w</b> which means <b>write</b> operation. <br> + Remaining parameters are address of watched memory location and an + optional hit number (1 by default). </dd> + </dl> + <pre>$ <font color="#118811">s51 remoansi.hex</font> +ucsim 0.2.24, Copyright (C) 1997 Daniel Drotos, Talker Bt. +ucsim comes with ABSOLUTELY NO WARRANTY; for details type `show w'. +This is free software, and you are welcome to redistribute it +under certain conditions; type `show c' for details. +58659 bytes read from remoansi.hex +> <font color="#118811">dc 0 0x10</font> + 000000 02 01 60 LJMP 0160 + * 000003 02 00 3c LJMP 003c + * 000006 ff MOV R7,A + * 000007 ff MOV R7,A + * 000008 ff MOV R7,A + * 000009 ff MOV R7,A + * 00000a ff MOV R7,A + * 00000b 02 3b e0 LJMP 3be0 + * 00000e ff MOV R7,A + * 00000f ff MOV R7,A + * 000010 ff MOV R7,A +> <font color="#118811">break 0x160</font> +Breakpoint 1 at 0x000160: CLR P1.0 +> <font color="#118811">tbreak 8 2</font> +Breakpoint 2 at 0x000008: MOV R7,A +> <font color="#118811">g</font> +Simulation started, PC=0x000000 +Stop at 000160: (4) Breakpoint +F 000160 +> </pre> + <hr> <a name="clear"> + <h3>clear <i>[addr...]</i></h3> + </a> Delete fetch breakpoint. Parameter specifies address of breakpoint. If + there is no breakpoint specified at given address this command prints out a + warning message. + <p>If parameter is not given then breakpoint at current PC will be deleted + if it exists. If more than one address is specified then all breakpoints + at specified addresses will be deleted. </p> + <pre>> <font color="#118811">i b</font> +Num Type Disp Hit Cnt Address What +1 fetch keep 1 1 0x000160 CLR P1.0 +2 fetch del 1 1 0x000180 LJMP 022a +1 event keep 1 1 0x000006 wi +> <font color="#118811">clear 160</font> +No breakpoint at 0000a0 +> <font color="#118811">clear 0x160</font> +> <font color="#118811">i b</font> +Num Type Disp Hit Cnt Address What +2 fetch del 1 1 0x000180 LJMP 022a +1 event keep 1 1 0x000006 wi +> </pre> + <hr> <a name="delete"> + <h3>delete <i>[number...]</i></h3> + </a> Delete breakpoint(s) by its number. + <p>If parameter is not used then all breakpoints are deleted. </p> + <hr> <a name="commands"> + <h3>commands <i>script</i></h3> + </a> + <p> </p> + <hr> + </body> +</html> |
