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)  large, attempting to load it can wipe out SID altogether. 3 JUN 83 17:21 (TMB)