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