Files
AppleWin/help/dbg-execution.html
tomcw 355f5d0dd7 Help doc:
. Added a new Debugger Screen Layout html page (to describe soft-switch status) (Fixes #406)
  - added a PPT doc which was used to generate the annotated screen layout image
. Added a note about Shift+LMB for toggling 6502 status flags (#483)
2017-12-20 18:07:23 +00:00

275 lines
8.6 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>AppleWin Debugger Tutorial</title>
<meta http-equiv="CONTENT-TYPE" content="text/html; charset=windows-1252">
</head>
<body style="DIRECTION: ltr" lang="en-US">
<h1>
Execution</h1>
<p>As you scroll around, you will notice the cursor and other lines change
colors.&nbsp; Normally the cursor line is shown with an inverse bar, that is
with a white background. Other colors have these meanings:
</p>
<table border="1" bordercolor="#000000" cellpadding="2" cellspacing="0" width="666">
<COLGROUP>
<col width="161">
<col width="494">
<tbody>
<tr bgcolor="#000000">
<td width="161">
<p><font color="#ffffff"><b>Cursor Background</b></font></p>
</td>
<td width="494">
<p><font color="#ffffff"><b>Effect</b></font></p>
</td>
</tr>
<tr>
<td width="161">
<p>White
</p>
</td>
<td width="494">
<p><i>Address of cursor.</i></p>
</td>
</tr>
<tr>
<td bgcolor="#ffff00" width="161">
<p>Yellow (Bright)</p>
</td>
<td width="494">
<p><i>Cursor is on next 6502 instruction (At 6502 PC).</i></p>
</td>
</tr>
<tr>
<td bgcolor="#cccc00" width="161">
<p>Yellow (Dim)</p>
</td>
<td width="494">
<p><i>Line is next 6502 instruction (At 6502 PC).</i></p>
</td>
</tr>
<tr>
<td bgcolor="#ff0000" width="161">
<p>Red (Bright)</p>
</td>
<td width="494">
<p><i>Cursor is on active Breakpoint.</i></p>
</td>
</tr>
</tbody>
</table>
<p><br>
<br>
</p>
<p>Press Right Arrow to locate the current 6502 instruction.&nbsp; If you Page
Down, you can see that Branch Indicators are displayed on the right side of the
disassembly window, designated by <font face="Webdings, serif">5</font> or <font face="Webdings, serif">6</font>.&nbsp;</p>
<p>Press Right Arrow to again locate the current instruction.&nbsp; You will also
notice immediate instructions have a character single quoted, after them, such
as <font face="Courier, monospace">I</font> at $<b>FA75</b>.</p>
<p>Pressing Space, will Trace (into) an instruction. &nbsp; Sometimes you trace
into a JSR (subroutine), and wish you hadn't.&nbsp; Pressing Shift-Space will "<i>Step
Out</i>" - that is, run until the Program Counter (PC) is equal to the
return address on the stack.&nbsp; Pressing Left Arrow will jump the cursor to
the next instruction after the original call.&nbsp;
</p>
<br>
<p><font size="4"><b>Notes</b>:</font></p>
<ul>
<li>
<p><i>Some code will place the arguments to the subroutine after the JSR
instruction.&nbsp; The debugger is not able to detect this and "<b>Step Out</b>"
correctly, so use caution, if the sub-routine plays with the stack.</i></p>
<li>
<p>
<i>The debugger is not able to detect if the top 2 bytes on the stack is a valid
return address, so pay careful attention if the stack is modified!</i></p>
</li>
</ul>
<br>
<table border="1" cellpadding="2" cellspacing="0" width="75%">
<COLGROUP>
<col width="26">
<col width="64">
<col width="166">
<tbody>
<tr bgcolor="#000000">
<td width="10%">
<p><font color="#ffffff"><b>Key</b></font></p>
</td>
<td width="25%">
<p><font color="#ffffff"><b>Name</b></font></p>
</td>
<td width="65%">
<p><font color="#ffffff"><b>Effect</b></font></p>
</td>
</tr>
<tr>
<td width="10%">
<p><font face="Wingdings">§</font>
</p>
</td>
<td width="25%">
<p>Space
</p>
</td>
<td width="65%">
<p><i>Trace into instruction.</i></p>
</td>
</tr>
<tr>
<td width="10%">
<p><font face="Wingdings">ñ§</font>
</p>
</td>
<td width="25%">
<p>Shift-Space
</p>
</td>
<td width="65%">
<p><i>Step out of subroutine.</i></p>
</td>
</tr>
<tr>
<td width="10%">
<p>^<font face="Wingdings">§</font>
</p>
</td>
<td width="25%">
<p>Ctrl-Space
</p>
</td>
<td width="65%">
<p><i>Trace over instruction.</i></p>
</td>
</tr>
<tr>
<td width="10%">
<p>^<font face="Wingdings">â</font>
</p>
</td>
<td width="25%">
<p>Ctrl-Down Arrow
</p>
</td>
<td width="65%">
<p><i>Run until cursor.</i></p>
</td>
</tr>
<tr>
<td width="10%">
<p>^<font face="Wingdings">à</font>
</p>
</td>
<td width="25%">
<p>Ctrl-Right Arrow</p>
</td>
<td width="65%">
<p><i>Set PC to cursor.</i></p>
</td>
</tr>
<tr>
<td width="10%">
<p><font face="Wingdings">ß</font>
</p>
</td>
<td width="25%">
<p>Left Arrow
</p>
</td>
<td width="65%">
<p><i>Jump cursor to return address on stack.</i></p>
</td>
</tr>
</tbody>
</table>
<p><br>
<br>
</p>
<table bgcolor="#000000" border="0" cellpadding="2" cellspacing="0" width="90%">
<COLGROUP>
<col width="90">
<col width="166">
<tbody>
<tr bgcolor="#000000">
<td width="35%">
<p><font color="#ffffff"><b>Command</b></font></p>
</td>
<td width="65%">
<p style="FONT-STYLE: normal"><font color="#ffffff"><b>Description</b></font></p>
</td>
</tr>
<tr bgcolor="#cccccc">
<td width="35%">
<p>G&nbsp;[StopAddress]<br>
GG&nbsp;[StopAddress]</p>
</td>
<td width="65%">
<p><i>Resume execution until PC = StopAddress.</i></p>
</td>
</tr>
<tr bgcolor="#999999">
<td width="35%">
<p>G&nbsp;[StopAddress]&nbsp;[SkipAddress,Length]<br>
GG&nbsp;[StopAddress]&nbsp;[SkipAddress,Length]</p>
</td>
<td width="65%">
<p><i>Resume execution until PC = StopAddress.<br>
Additionally, if the PC exits the range [SkipAddress,Length],<br>
execution will be halted.</i></p>
</td>
</tr>
<tr bgcolor="#cccccc">
<td width="35%">
<p>####G</p>
</td>
<td width="65%">
<p><i>Alias for: R PC [=] address and then G.</i></p>
</td>
</tr>
</tbody>
</table>
<p><br>NB. The GG command resumes execution in full-speed. See <a href="dbg-entering-debugger.html#Exiting-Debugger">Exiting the Debugger</a>.
</p>
<p><br>
<br>
</p>
<table bgcolor="#000000" border="0" cellpadding="2" cellspacing="0" width="90%">
<COLGROUP>
<col width="90">
<col width="166">
<tbody>
<tr bgcolor="#00b8ff">
<td bgcolor="#30c0ff" width="35%">
<p><font color="#000000"><b>Input</b></font></p>
</td>
<td bgcolor="#30c0ff" width="65%">
<p><font color="#000000"><b>Effect</b></font></p>
</td>
</tr>
<tr bgcolor="#000000">
<td width="35%">
<p><font color="#00b8ff"><font face="Courier"><b>R PC FA62 </b></font></font>
</p>
</td>
<td width="65%">
<p><font color="#ffffff"><i>Set Program Counter to Value $<b><font color="#ffff00">FA62</font></b>
(RESET) </i></font>
</p>
</td>
</tr>
<tr bgcolor="#000000">
<td bgcolor="#000000" width="35%">
<p><font color="#00b8ff"><font face="Courier"><b><span style="BACKGROUND: rgb(0,0,0) 0% 50%; moz-background-clip: initial; moz-background-origin: initial; moz-background-inline-policy: initial">G&nbsp;C600&nbsp;D000,3000</span></b></font></font></p>
</td>
<td bgcolor="#000000" width="65%">
<p><font color="#ffffff"><i>Single-step until either PC = $C600, or PC &lt;= $D000</i></font></p>
</td>
</tr>
</tbody>
</table>
<br>
</body>
</html>