Subject: missing instructions in the assembler 'as' (#65) Index: bin/as19.s,as29.s 2.11BSD Description: While updating the debugger 'adb' it was noticed that the assembler was similarily deficient in some of the KDJ-11 instructions. These were added. Also the 'eae' instructions were removed, the odds of 2.11BSD ever running on a system which uses the EAE are not distinguishable from 0. The odd/unused/alternate spellings of some instructions were removed, e.g 'mpy' = 'mul', 'als' = 'ash', etc. Not quite sure what the historical reasons were for these. One of these days the assembler (and compilers) should be updated to use the standard DEC mnemonics (and address mode notation): 'ldexp' instead of 'movei' and '@' instead of '*' for example. _sigh_ Repeat-By: Examine the sources. Fix: Apply the patch below (it updates two files, as19.s and as29.s). Remake the assembler. Prior to installation (if you're in a paranoid mood) you might want to save /bin/as and /lib/as2 (or just have the original distribution tapes around). I simply installed the new assembler and it worked fine. ------------------------------------------------------------------------ *** /usr/src/bin/as/as19.s.old Wed Dec 13 16:43:31 1989 --- /usr/src/bin/as/as19.s Tue Jun 30 22:34:56 1992 *************** *** 3,10 **** / a9 -- pdp-11 assembler pass 1 - eae = 0 - / key to types / 0 undefined --- 3,8 ---- *************** *** 57,79 **** ; 24;000006 ; 24;000007 - .if eae - - /eae & switches - - ; 01;177570 - ; 01;177300 - ; 01;177302 - ; 01;177304 - ; 01;177306 - ; 01;177310 - ; 01;177311 - ; 01;177312 - ; 01;177314 - ; 01;177316 - - .endif - / double operand ; 13;0010000 --- 55,60 ---- *************** *** 168,173 **** --- 149,157 ---- ; 15;0170300 ; 15;0106700 ; 15;0106400 + ; 15;0007000 + ; 15;0007200 + ; 15;0007300 / jsr *************** *** 235,250 **** / 11/45 operations - ; 30;072000 - ; 30;073000 - ; 30;070000 - .if eae-1 ; 30;070000 ; 30;071000 ; 30;072000 ; 30;073000 - .endif - ; 30;071000 ; 07;074000 ; 15;006700 ; 11;006400 --- 219,228 ---- *** /usr/src/bin/as/as29.s.old Sun Dec 24 15:06:33 1989 --- /usr/src/bin/as/as29.s Tue Jun 30 22:37:56 1992 *************** *** 3,10 **** / as9 -- PDP-11 assembler pass 2 - eae = 0 - .data symtab: --- 3,8 ---- *************** *** 24,46 **** 24;000006 /sp 24;000007 /pc - - .if eae - /eae & switches - - 01;177570 /csw - 01;177300 /div - 01;177302 /ac - 01;177304 /mq - 01;177306 /mul - 01;177310 /sc - 01;177311 /sr - 01;177312 /nor - 01;177314 /lsh - 01;177316 /ash - - .endif - / double operand 13;0010000 /mov --- 22,27 ---- *************** *** 135,140 **** --- 116,124 ---- 15;0170300 /stst 15;0106700 /mfps 15;0106400 /mtps + 15;0007000 /csm + 15;0007200 /tstset + 15;0007300 /wrtlck / jsr *************** *** 202,217 **** / 11/45 operations ! 30;072000 /als (ash) ! 30;073000 /alsc (ashc) ! 30;070000 /mpy ! .if eae-1 ! 30;070000/ mul ! 30;071000 / div ! 30;072000 / ash 30;073000 /ashc - .endif - 30;071000 /dvd 07;074000 /xor 15;006700 /sxt 11;006400 /mark --- 186,195 ---- / 11/45 operations ! 30;070000 /mul ! 30;071000 /div ! 30;072000 /ash 30;073000 /ashc 07;074000 /xor 15;006700 /sxt 11;006400 /mark