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 ****
  <sp\0\0\0\0\0\0>;	24;000006
  <pc\0\0\0\0\0\0>;	24;000007
  
- .if eae
- 
- /eae & switches
- 
- <csw\0\0\0\0\0>;	01;177570
- <div\0\0\0\0\0>;	01;177300
- <ac\0\0\0\0\0\0>;	01;177302
- <mq\0\0\0\0\0\0>;	01;177304
- <mul\0\0\0\0\0>;	01;177306
- <sc\0\0\0\0\0\0>;	01;177310
- <sr\0\0\0\0\0\0>;	01;177311
- <nor\0\0\0\0\0>;	01;177312
- <lsh\0\0\0\0\0>;	01;177314
- <ash\0\0\0\0\0>;	01;177316
- 
- .endif
- 
  / double operand
  
  <mov\0\0\0\0\0>;	13;0010000
--- 55,60 ----
***************
*** 168,173 ****
--- 149,157 ----
  <stst\0\0\0\0>;		15;0170300
  <mfps\0\0\0\0>;		15;0106700
  <mtps\0\0\0\0>;		15;0106400
+ <csm\0\0\0\0\0>;	15;0007000
+ <tstset\0\0>;		15;0007200
+ <wrtlck\0\0>;		15;0007300
  
  / jsr
  
***************
*** 235,250 ****
  
  / 11/45 operations
  
- <als\0\0\0\0\0>;	30;072000
- <alsc\0\0\0\0>;		30;073000
- <mpy\0\0\0\0\0>;	30;070000
- .if eae-1
  <mul\0\0\0\0\0>;	30;070000
  <div\0\0\0\0\0>;	30;071000
  <ash\0\0\0\0\0>;	30;072000
  <ashc\0\0\0\0>;		30;073000
- .endif
- <dvd\0\0\0\0\0>;	30;071000
  <xor\0\0\0\0\0>;	07;074000
  <sxt\0\0\0\0\0>;	15;006700
  <mark\0\0\0\0>;		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
