Palm Debuffer Command Summary
For more detail, see
http://www.pagesz.net/~sessoms/debuffer/commands.html
Quitting
--------
Type "bye" (no quotes) to exit. If you do not have a prompt because
the debugger is waiting for a debug event, hit "Ctrl+C".
Syntax
------
The arguments to each command are specified in the stack-effect comment
immediately following the command. Since the Debuffer command language
is FORTH, type the arguments first (in the order listed) before the
command word. For example, to disassemble the next 10 commands at the
current program counter, type "pc @ 10 dis".
Registers
---------
regs ( -- ) Print all registers.
DragonBall registers are mapped to FORTH variables in the debuffer.
Access each using the register name: d0, d1, d2, d3, d4, d5, d6, d7,
a0, a1, a2, a3, a4, a5, a6, usp, ssp, pc, and sr. fp is an alias
for a6. All registers except sr are 32-bits. sr is 16-bits.
Examining and Modifying Memory
------------------------------
@byte ( addr -- n ) Fetch the 8-bit value at the given address.
@word ( addr -- n ) Fetch the 16-bit value at the given address.
@long ( addr -- n ) Fetch the 32-bit value at the given address.
!byte ( byte addr -- ) Store the 8-bit value to the given address.
!word ( word addr -- ) Store the 16-bit value to the given address.
!long ( long addr -- ) Store the 32-bit value to the given address.
da ( addr count -- ) Dump ASCII.
db ( addr count -- ) Dump bytes.
dd ( addr count -- ) Dump double-words (longs).
dw ( addr count -- ) Dump words.
dis ( addr count -- ) Disassemble count instructions at the given address.
Breakpoints
-----------
bc ( bpid -- ) Clear breakpoint.
bd ( bpid -- ) Disable breakpoint.
be ( bpid -- ) Enable breakpoint.
bl ( -- ) List breakpoints.
bp ( addr -- ) Set a breakpoint.
bp takes an optional string argument to execute when the breakpoint is hit.
Controlling Execution
---------------------
go ( -- ) Resume execution.
next ( -- ) Step to the next instruction, over branches.
nospy ( -- ) Remove any installed step-spy.
out ( -- ) Step out of the current routine.
spy ( addr value -- ) Install a step-spy for *addr == value.
step ( -- ) Step to the next instruction, into branches.
to ( addr -- ) Run to the specified address.
wait ( -- ) Wait for something to happen.
Miscellaneous
-------------
bt ( -- ) Backtrace.
ln ( addr -- ) Lookup the name for the given address.