DDT notes: I don't know very well how DDT is used. I have guessed everything. Since the source code was OCR'ed and assembled, there are probably some bugs in the program. Key usage: * Numeric characters (which must be entered in lower-case mode) are interpreted as numbers (either decimal or octal). * Lower-case alphabetic characters seem to be interpreted as symbol names. * Upper-case alphabetic characters and non-alphanumeric characters seem to be interpreted as commands. Command names are always a single character. Concepts: current address: this is a value that ddt maitains. The TAB command enables you to enter a new value as the current address, whereas the RETURN command restores the current address to the default DDT buffer. current expression: The current expression is stored at the current address, and it equates the numbers and lower case symbols you have entered since you have executed the last command. Commands: * TAB This command takes the current expression as the new current address, and then disassembles the word at this address as a PDP-1 instruction. The word at the new current address will be the new current expression, and everything you type will affect the new curetn location. For instance, if you type 6000 (you need to be in lower-case mode to enter '6000'), the computer will print out: 6000/ lio 7403 which is the disassembly of the instruction located at octal address 6000. Everything you will enter until the memory location is changed again (i.e. until you press ENTER or TAB) will be entered into location 6000. * RETURN This command reinitializes the current address to its default value in the DDT buffer. You should press RETURN when you are done with editing a memory location. For instance, typing 01234560 will display whatever was at address 0, then display the new value you have just entered (i.e. 123456): 0/ xxxxx 0/ jfd 3456 You may use lower-case symbols, too, e.g. typing 0lio 10 will print: 0/ xxxxx 0/ lio 1 (The lio symbol is predefined in DDT, like other PDP-1 assembly mnemonic.) * , This command takes a 3-letter symbol name as a parameter. It creates a symbol with this name, whose value is the current address. * = This command prints out the current expression as octal. For instance 6000= will print out: 6000 * -> (right arrow) This command prints out the current expression as instruction. For instance lio-> will print out: lio (what a surprise!) Error message: * ? (printed in red): the command expects a valid current expression as a parameter, but none has been entered. * u: undefined symbol DDT command list (derived from the DDT source code): FIO-DEC CHARACTER dtb SYMBOL CODE LOWER UPPER LOWER UPPER ---------------------------------------- 00 Space pls 01 1 " n quo /" means take as flexo codes 02 2 ' n sqo /' means take decimal number 03 3 ~ n pbx /print as bcd 04 4 (supset) n daq /\supset defines sym as address of Q 05 5 (or) n uni 06 6 (and) n isc 07 7 < n pul /punch lower limit setup 10 8 > n uc8 /> means make corr. and open register 11 9 (up arrow) n fs /arrow up (forward space) 20 0 (right arrow) n arw /print as instruction 21 / ? bar err 22 s S l smb 23 t T l tbl /symbol table reader 24 u U l dec /octal-decimal switch setup 25 v V l vfy 26 w W l wds /word search 27 x X l xec /execute 30 y Y l rd 31 z Z l zro /zero registers below ddt 33 , = com eql /comma defines sym as loc /print octal integer 36 tab tab 40 (n-s middle dot) _ pwd err /punch word 41 j J l jbk /jump block 42 k K l kil 43 l L l ttl /title punch and punch format setup 44 m M l m /M means mask register 45 n N l nws /not word search 46 o O l oad 47 p P l pra 50 q Q l q /Q means last quantity 51 r R l rad /octal-relative switch setup 54 - + min pls 55 ) ] def bas /define symbol /closed bracket (bar-symbolic) 56 (n-s overstrike) | err err 57 ( [ val bac /open paren, sets up value for define /open bracket (bar-constant) 61 a A l a /A means accumulator 62 b B l bk 63 c C l cns /symbolic-constant switch setup 64 d D l pun /punch any length block 65 e E l eas /effective address search 66 f F l f /F means lowest register 67 g G l bgn /begin 70 h H l oct /octal-decimal switch setup 71 i I l ir /I means i-o 72 Lower Case lc 73 . (multiply) dot del /end of no-eval routines, delete 74 Upper Case uc 75 Backspace bs 77 Carriage Return cr