mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-23 00:14:25 +00:00
87 lines
3.3 KiB
Plaintext
87 lines
3.3 KiB
Plaintext
SID-68K 20 MAY 1983
|
|
(For internal DRI use)
|
|
|
|
Please refer bugs, complaints, questions, and suggestions to
|
|
Tim Benson at ext. 6092.
|
|
|
|
1. Much like DDT-68K (see CP/M-68K Programmer's Guide) with
|
|
the following enhancements:
|
|
a. Symbols
|
|
b. W-option on T- and U-commands
|
|
c. Pass points (P-command)
|
|
These operate much as in SID-86 and CP/M SID (see manuals).
|
|
|
|
2. For now, to run SID-68K you need SID.68K and SID68K.68K, the
|
|
latter on default drive. Just say SID [file-spec].
|
|
|
|
3. Symbols are loaded automatically if present in a load module that
|
|
is loaded at start-up or with the E-command. For now, symbol table
|
|
is an array of fixed size with room for up to 2000 symbol entries.
|
|
|
|
For a listing of symbols, type H. If you need to look at symbol
|
|
table, type K (the K-command "edit symbol table", which otherwise
|
|
doesn't work yet).
|
|
|
|
You may use a symbol reference wherever a Hex specification could
|
|
be used. For example, if _main is a symbol, then
|
|
H._main prints value of symbol
|
|
H=_main prints byte at addr given by value of symbol
|
|
H@_main prints word at addr given by value of symbol
|
|
H!_main prints long at addr given by value of symbol.
|
|
|
|
The disassembler only prints such symbols as refer to addrs in the
|
|
text, data, and bss segments, but any symbol is recognized when you
|
|
are typing in SID commands.
|
|
|
|
4. The P-command works just as in SID-86 (see manual).
|
|
|
|
5. The G-, T-, and U-commands work much as in SID-86 (see manual).
|
|
However, a TRAP instruction will not be traced thru, even if the
|
|
W-option is not specified. Note that the "-" prefix works with
|
|
these commands (see manual). For now, a hyphen preceding any other
|
|
SID command is ignored.
|
|
|
|
6. Pass points behave much as in SID-86. The following exceptions
|
|
are noteworthy:
|
|
a. When a pass-point is encountered, you get a message,
|
|
and both "before" and "after" state displays.
|
|
b. If your program contains the ILLEGAL instruction,
|
|
and if SID encounters it under Go, Trace, and Untrace,
|
|
you get an error message, and the command is aborted.
|
|
c. SID will not "see" any pass points between the time
|
|
an attempt is made to Trace or Untrace thru a TRAP
|
|
and the time when control returns to the instruction
|
|
following the TRAP (if it ever does).
|
|
d. DO NOT set a pass point in the middle of an instruction--
|
|
result is undefined.
|
|
e. A break point that is set the same as a pass point
|
|
is treated as a pass point; in effect, it is ignored.
|
|
|
|
|
|
MAJOR KNOWN BUGS
|
|
|
|
Please report any bugs OTHER THAN the following:
|
|
|
|
1. Some machine instructions are disassembled incorrectly.
|
|
Examples:
|
|
IN HEX GIVEN AS SHOULD BE
|
|
4AFC xxxx tas #xxxx illegal ...
|
|
000A 3202 ori.b #$3202,A2 *unknown instruction*
|
|
4CF9 0018 0000 06C0
|
|
movem.L $180000,D3-D3/D6-D7/A1-A2
|
|
movem.L $6C0,D3-D4
|
|
(In the MOVEM instruction, the disassembler takes the LAST word
|
|
to be the register mask--it should take the SECOND word, which may
|
|
or may not be last.)
|
|
|
|
2. In D- and L-commands, if you give addr via a symbol reference
|
|
and symbol does not exist, then you should get "?", but you don't.
|
|
|
|
3. G-command, inter al., is not protected in any way against
|
|
odd-numbered addresses in the command line.
|
|
|
|
4. If the bss segment in a load module is too large, attempting
|
|
to load it can wipe out SID altogether.
|
|
|
|
3 JUN 83 17:21 (TMB)
|