mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-23 00:14:25 +00:00
91 lines
3.5 KiB
Plaintext
91 lines
3.5 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)
|
||
|
||
|