2006-07-30 20:24:09 +00:00
|
|
|
|
<!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. 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. If you Page
|
|
|
|
|
Down, you can see that Branch Indicators are displayed on the right side of the
|
|
|
|
|
disassembly window, designated by <20><font face="Webdings, serif">5</font><EFBFBD> or <20><font face="Webdings, serif">6</font><EFBFBD>. </p>
|
|
|
|
|
<p>Press Right Arrow to again locate the current instruction. You will also
|
|
|
|
|
notice immediate instructions have a character single quoted, after them, such
|
|
|
|
|
as <20><font face="Courier, monospace">I<EFBFBD></font> at $<b>FA75</b>.</p>
|
|
|
|
|
<p>Pressing Space, will Trace (into) an instruction. Sometimes you trace
|
|
|
|
|
into a JSR (subroutine), and wish you hadn't. 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. Pressing Left Arrow will jump the cursor to
|
|
|
|
|
the next instruction after the original call.
|
|
|
|
|
</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. 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"><EFBFBD></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"><EFBFBD><EFBFBD></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"><EFBFBD></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"><EFBFBD></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"><EFBFBD></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"><EFBFBD></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%">
|
2017-12-20 18:07:23 +00:00
|
|
|
|
<p>G [StopAddress]<br>
|
|
|
|
|
GG [StopAddress]</p>
|
2006-07-30 20:24:09 +00:00
|
|
|
|
</td>
|
|
|
|
|
<td width="65%">
|
|
|
|
|
<p><i>Resume execution until PC = StopAddress.</i></p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr bgcolor="#999999">
|
|
|
|
|
<td width="35%">
|
2017-12-20 18:07:23 +00:00
|
|
|
|
<p>G [StopAddress] [SkipAddress,Length]<br>
|
|
|
|
|
GG [StopAddress] [SkipAddress,Length]</p>
|
2006-07-30 20:24:09 +00:00
|
|
|
|
</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%">
|
2017-12-20 18:07:23 +00:00
|
|
|
|
<p><i>Alias for: R PC [=] address and then G.</i></p>
|
2006-07-30 20:24:09 +00:00
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
2017-12-20 18:07:23 +00:00
|
|
|
|
<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>
|
2006-07-30 20:24:09 +00:00
|
|
|
|
<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 C600 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 <= $D000</i></font></p>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
<br>
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|