I have implemented TF (trap flag) for the 8086.
But when I looked up RBIL, it doesn't say that TF
also works for the 80386. INT 1 is complicated
instead.
So can I single-step an 80386 program?
It looks like x'cc' still works on an 80386, invoking
INT 3 (from my reading of RBIL).
Anyone know for sure?
Thanks. Paul.
I have implemented TF (trap flag) for the 8086.
But when I looked up RBIL,
it doesn't say that TF
also works for the 80386.
I have implemented TF (trap flag) for the 8086.
But when I looked up RBIL, it doesn't say that TF
also works for the 80386. INT 1 is complicated
instead.
So can I single-step an 80386 program?
It looks like x'cc' still works on an 80386, invoking
INT 3 (from my reading of RBIL).
Anyone know for sure?
On 19/11/2022 20:09, Paul Edwards wrote:
I have implemented TF (trap flag) for the 8086.
But when I looked up RBIL, it doesn't say that TF
also works for the 80386. INT 1 is complicated
instead.
So can I single-step an 80386 program?
It looks like x'cc' still works on an 80386, invoking
INT 3 (from my reading of RBIL).
Anyone know for sure?
yes, CC work on all x86.
but any decent debugger use Traps instead:
a) by setting TF to single step one instruction w/o
the need for replace/insert a byte there.
b) by setting breakpoints [DATA or CODE or I/O] to
trap at occurrence (reason for debug-registers).
note: CC work different to the avoidable CD03.
On Monday, November 21, 2022 at 11:37:26 PM UTC+8, wolfgang kern wrote:
On 19/11/2022 20:09, Paul Edwards wrote:
I have implemented TF (trap flag) for the 8086.
But when I looked up RBIL, it doesn't say that TF
also works for the 80386. INT 1 is complicated
instead.
So can I single-step an 80386 program?
It looks like x'cc' still works on an 80386, invoking
INT 3 (from my reading of RBIL).
Anyone know for sure?
yes, CC work on all x86.
but any decent debugger use Traps instead:
a) by setting TF to single step one instruction w/o
the need for replace/insert a byte there.
b) by setting breakpoints [DATA or CODE or I/O] to
trap at occurrence (reason for debug-registers).
note: CC work different to the avoidable CD03.
Ok, thanks for that information.
I am interested in restricting myself to the same tools
that Tim Paterson had when creating the precursor
to MSDOS, with the difference that I am
doing 32-bit C programming instead of 16-bit
assembler programming, so when I debug at the
assembler level, it is almost all generated code.
Concerning debugging, integrated debug support is relatively
late, but there were external circuits that could single
step the processor, stop it on access to some specific
address and similar. High-end systems on this sort were
expensive, but established company could easily afford
them.
On Tuesday, November 29, 2022 at 5:08:37 AM UTC+8, anti...@nospicedham.math.uni.wroc.pl wrote:
Concerning debugging, integrated debug support is relatively
late, but there were external circuits that could single
step the processor, stop it on access to some specific
address and similar. High-end systems on this sort were
expensive, but established company could easily afford
them.
By "integrated debug" I assume you mean things like
the TF triggering an interrupt. That doesn't sound like
something complicated. Is there a reason for it to be
"relatively late"?
Thanks. Paul.
On Tuesday, November 29, 2022 at 5:08:37 AM UTC+8, anti...@nospicedham.math.uni.wroc.pl wrote:
Concerning debugging, integrated debug support is relatively
late, but there were external circuits that could single
step the processor, stop it on access to some specific
address and similar. High-end systems on this sort were
expensive, but established company could easily afford
them.
By "integrated debug" I assume you mean things like
the TF triggering an interrupt. That doesn't sound like
something complicated. Is there a reason for it to be
"relatively late"?
equivalent or better functionality. In 1975 typical
microprocessor needed external support chips, so there was
understandable resistance to putting something which was
not essential to running programs in processor chip.
And once we speak about external chips, folks who wanted
could add equivalent of debug registers using external
chips. Mass produces machines skipped debugging support
for cost reasons.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 489 |
Nodes: | 16 (2 / 14) |
Uptime: | 40:46:52 |
Calls: | 9,670 |
Calls today: | 1 |
Files: | 13,716 |
Messages: | 6,169,727 |