From: sms@WLV.IIPO.GTEGSC.COM (Steven M. Schultz)
Subject: screwy opcodes in 'as' overlooked (#71)
Organization: GTE Government Systems
Date: Fri, 28 Aug 92 06:05:43 GMT

Subject: screwy opcodes in 'as' overlooked (#71)
Index:	bin/as/{as12,as14,as17,as22,as27}.s 2.11BSD

Description:
	When several of the obsolete/deprecated/oddball opcodes were
	removed from the assembler the usage of these in the assembler
	itself was overlooked (the compiler never generates them).

Repeat-By:
	Attempt to assemble the assembler.  Note the errors on
	'dvd', 'mpy' and 'als'.  Changing these to 'div', 'mul' and 'ash'
	fixes the problem.

Fix:
	Apply the patch below and reinstall the assembler.   Both the old
	and new assemblers recognize the "standard" opcodes, there wasn't
	any risk of the assembler not being able to reconstitute itself.
=========================cut here===============================
*** /usr/src/bin/as/as12.s.old	Wed Dec 13 16:43:06 1989
--- /usr/src/bin/as/as12.s	Thu Aug 27 20:40:36 1992
***************
*** 26,32 ****
  	mov	$4,r1
  2:
  	clr	r2
! 	dvd	$10.,r2
  	add	$'0,r3
  	movb	r3,-(r0)
  	mov	r2,r3
--- 26,32 ----
  	mov	$4,r1
  2:
  	clr	r2
! 	div	$10.,r2
  	add	$'0,r3
  	movb	r3,-(r0)
  	mov	r2,r3
*** /usr/src/bin/as/as14.s.old	Wed Dec 13 16:43:14 1989
--- /usr/src/bin/as/as14.s	Thu Aug 27 20:41:07 1992
***************
*** 146,154 ****
  	cmp	r0,$'9
  	bgt	1f
  	sub	$'0,r0
! 	mpy	$10.,r5
  	add	r0,r5
! 	als	$3,r1
  	add	r0,r1
  	br	1b
  1:
--- 146,154 ----
  	cmp	r0,$'9
  	bgt	1f
  	sub	$'0,r0
! 	mul	$10.,r5
  	add	r0,r5
! 	ash	$3,r1
  	add	r0,r1
  	br	1b
  1:
*** /usr/src/bin/as/as17.s.old	Wed Dec 13 16:43:25 1989
--- /usr/src/bin/as/as17.s	Thu Aug 27 20:41:43 1992
***************
*** 143,149 ****
  exlsh:
  	clr	r5
  	jsr	pc,combin
! 	als	r1,r2
  	br	eoprnd
  
  exmod:
--- 143,149 ----
  exlsh:
  	clr	r5
  	jsr	pc,combin
! 	ash	r1,r2
  	br	eoprnd
  
  exmod:
***************
*** 152,158 ****
  	mov	r1,-(sp)
  	mov	r2,r1
  	clr	r0
! 	dvd	(sp)+,r0
  	mov	r1,r2
  	br	eoprnd
  
--- 152,158 ----
  	mov	r1,-(sp)
  	mov	r2,r1
  	clr	r0
! 	div	(sp)+,r0
  	mov	r1,r2
  	br	eoprnd
  
***************
*** 184,190 ****
  exmul:
  	clr	r5
  	jsr	pc,combin
! 	mpy	r2,r1
  	mov	r1,r2
  	br	eoprnd
  
--- 184,190 ----
  exmul:
  	clr	r5
  	jsr	pc,combin
! 	mul	r2,r1
  	mov	r1,r2
  	br	eoprnd
  
***************
*** 194,200 ****
  	mov	r1,-(sp)
  	mov	r2,r1
  	clr	r0
! 	dvd	(sp)+,r0
  	mov	r0,r2
  	br	eoprnd
  
--- 194,200 ----
  	mov	r1,-(sp)
  	mov	r2,r1
  	clr	r0
! 	div	(sp)+,r0
  	mov	r0,r2
  	br	eoprnd
  
*** /usr/src/bin/as/as22.s.old	Sun Dec 24 16:53:18 1989
--- /usr/src/bin/as/as22.s	Thu Aug 27 20:42:41 1992
***************
*** 144,150 ****
  	mov	$4,r1
  2:
  	clr	r2
! 	dvd	$10.,r2
  	add	$'0,r3
  	movb	r3,-(r0)
  	mov	r2,r3
--- 144,150 ----
  	mov	$4,r1
  2:
  	clr	r2
! 	div	$10.,r2
  	add	$'0,r3
  	movb	r3,-(r0)
  	mov	r2,r3
*** /usr/src/bin/as/as27.s.old	Sun Dec 24 21:29:19 1989
--- /usr/src/bin/as/as27.s	Thu Aug 27 20:43:23 1992
***************
*** 159,165 ****
  exlsh:
  	mov	$relte2,r5
  	jsr	pc,combin
! 	als	r1,r2
  	br	eoprnd
  
  exmod:
--- 159,165 ----
  exlsh:
  	mov	$relte2,r5
  	jsr	pc,combin
! 	ash	r1,r2
  	br	eoprnd
  
  exmod:
***************
*** 168,174 ****
  	mov	r3,r0
  	mov	r2,r3
  	clr	r2
! 	dvd	r1,r2
  	mov	r3,r2
  	mov	r0,r3
  	br	eoprnd
--- 168,174 ----
  	mov	r3,r0
  	mov	r2,r3
  	clr	r2
! 	div	r1,r2
  	mov	r3,r2
  	mov	r0,r3
  	br	eoprnd
***************
*** 201,207 ****
  exmul:
  	mov	$relte2,r5
  	jsr	pc,combin
! 	mpy	r2,r1
  	mov	r1,r2
  	br	eoprnd
  
--- 201,207 ----
  exmul:
  	mov	$relte2,r5
  	jsr	pc,combin
! 	mul	r2,r1
  	mov	r1,r2
  	br	eoprnd
  
***************
*** 211,217 ****
  	mov	r3,r0
  	mov	r2,r3
  	clr	r2
! 	dvd	r1,r2
  	mov	r0,r3
  	br	eoprnd
  
--- 211,217 ----
  	mov	r3,r0
  	mov	r2,r3
  	clr	r2
! 	div	r1,r2
  	mov	r0,r3
  	br	eoprnd
  
***************
*** 258,264 ****
  	clr	maxtyp
  	jsr	pc,maprel
  	mov	r0,r1
! 	mpy	$6,r1
  	mov	r3,r0
  	jsr	pc,maprel
  	add	r5,r0
--- 258,264 ----
  	clr	maxtyp
  	jsr	pc,maprel
  	mov	r0,r1
! 	mul	$6,r1
  	mov	r3,r0
  	jsr	pc,maprel
  	add	r5,r0
Newsgroups: comp.bugs.2bsd