Subject: re: db 'step' function
To: None <vanburen%flovax.dnet@rocdec.roc.wayne.edu>
From: Stan Shebs <shebs@cygnus.com>
List: macbsd-general
Date: 01/03/1995 10:44:34
From: vanburen%flovax.dnet@rocdec.roc.wayne.edu
Date: Tue, 3 Jan 95 11:32:54 -0500
I'm no authority on this, but it seems to me that it is impossible to
'step' through ROM. The way I understand it, the debugger tries to use this
algorithm to 'step':
1) save the instruction after the current instruction
2) insert a trap after the current instruction
3) execute the current instruction
4) (control returns to the debugger via the inserted trap)
5) replace the saved instruction (which is now current)
In ROM (Read Only Memory), this algorithm fails, since you cannot write the
necessary trap instruction to ROM. This results in the 'step' command
acting like a 'continue' command (without the trap, control never returns
to the debugger; the processor simply continues to execute instructions in
ROM).
Exactly. Now you know why ``hardware breakpoints'' are a good thing for
a chip to support, and why in-circuit emulator companies make money...
Stan