Google
 

Trailing-Edge - PDP-10 Archives - klad_sources - klad.sources/dbkal.seq
There are no other files named dbkal.seq in the archive.
MAINDEC-10-DBKAL.TXT
                                                                                                                           SEQ 0001





 
				IDENTIFICATION
				--------------


	PRODUCT CODE:	MAINDEC-10-DBKAL

	PRODUCT NAME:	DECSYSTEM10 PDP-10 KI10 BASIC
			INSTRUCTION DIAGNOSTIC (12)

	FUNCTION:	MULTIPY & DIVIDE

	VERSION:	0.2

	DATE RELEASED:	AUGUST,1976

	MAINTAINED BY:	DIAGNOSTIC ENGINEERING GROUP

	AUTHOR:		JOHN R. KIRCHOFF

COPYRIGHT(C) 1976
DIGITAL EQUIPMENT CORPORATION
MARLBORO, MASS. 01752

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY
ON A SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH
THE INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE,
OR ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE
MADE AVAILABLE TO ANY OTHER PERSON EXECPT FOR USE ON SUCH SYSTEM
AND TO ONE WHO AGREES TO THESE LICENSE TERMS.  TITLE TO AND
OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN IN DEC.

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
EQUIPMENT CORPORATION.

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
							MAINDEC-10-DBKAL.TXT
							PAGE 2                                                             SEQ 0002

			TABLE OF CONTENTS
			-----------------

1.0	ABSTRACT

2.0	REQUIREMENTS

2.1	EQUIPMENT

2.2	STORAGE

2.3	PRELIMINARY PROGRAMS

3.0	PROGRAM PROCEDURES

3.1	LOADING PROCEDURE

3.2	STARTING PROCEDURE

3.3	OPERATING PROCEDURE

4.0	DATA SWITCH FUNCTIONS

5.0	ERRORS

6.0	ITERATION COUNTER

7.0	CYCLE TIME

8.0	OPERATIONAL VARIATIONS

9.0	MISCELLANEOUS

10.0	LISTING
							MAINDEC-10-DBKAL.TXT
							PAGE 3                                                             SEQ 0003

1.0	ABSTRACT

	THIS PDP-10 KI10 BASIC INSTRUCTION DIAGNOSTIC IS THE
	TWELVTH IN A SERIES OF PDP-10 KI10 PROCESSOR DIAGNOSTICS.
	THE DIAGNOSTIC TESTS THE MULTIPY, INTERGER MULIPLY,
	DIVIDE AND INTERGER DIVIDE INSTRUCTIONS.

2.0	REQUIREMENTS

2.1	EQUIPMENT

	A PDP-10 KI10 EQUIPPED WITH A MINIMUM OF 32K OF MEMORY

	PAPER TAPE READER (KI10)
	CONSOLE TELETYPE
	DECTAPE
	LINE PRINTER (OPTIONAL)

2.2	STORAGE

	THE PROGRAM RUNS WITHIN 32K OF MEMORY.

2.3	PRELIMINARY PROGRAMS

	PREVIOUS PROCESSOR DIAGNOSTICS

3.0	PROGRAM PROCEDURES

3.1	LOADING PROCEDURE

	THIS DIAGNOSTIC REQUIRES THAT THE DECSYSTEM10 SUBROUTINE
	PROGRAM BE RESIDENT IN THE PDP-10.

	PAPER TAPE - HARDWARE READ-IN (READER DEVICE CODE 104)
	DECTAPE - LOAD WITH DIAMON (DECTAPE DEVICE CODE 320)
	TIME SHARING - RUN UNDER DIAMON.
							MAINDEC-10-DBKAL.TXT
							PAGE 4                                                             SEQ 0004

3.2	STARTING PROCEDURE

	A.  SELECT OPERATIONAL CONSOLE DATA SWITCH SETTINGS (REFER TO
	    4.0 DATA SWITCH FUNCTIONS).

	B.  EXEC MODE

	    STAND-ALONE STARTING ADDRESS IS 30000.

	C.  USER MODE

	    RUN UNDER "DIAMON".
	    IN USER MODE THE FOLLOWING QUESTIONS WILL BE ASKED TO 
	    SELECT THE OPERATIONAL SWITCHES:

		    TELETYPE SWITCH CONTROL ? 0,S,Y OR N (CR) -

		    IF THE OPERATOR TYPES "N", THE ACTUAL CONSOLE
		    SWITCHES ARE USED.

		    IF THE OPERATOR TYPES "Y", THE FOLLOWING QUESTIONS
		    ARE ASKED AND THE OPERATOR RESPONDS BY TYPING
		    THE ANSWER AS SIX OCTAL DIGITS REPRESENTING
		    THE DESIRED SWITCH SETTINGS.

		    SPECIFY LH SWITCHES IN OCTAL-

		    SPECIFY RH SWITCHES IN OCTAL-

		    IF THE OPERATOR TYPES "0", ZERO'S ARE USED FOR
		    THE SWITCH SETTINGS.

		    IF THE OPERATOR TYPES "S", PREVIOUSLY SET SWITCHES
		    ARE USED.  THIS IS ONLY VALID UPON RESTARTING
		    OF AN INTERRUPTED PROGRAM.
							MAINDEC-10-DBKAL.TXT
							PAGE 5                                                             SEQ 0005

3.3	OPERATING PROCEDURE

	A.  TO THROUGHLY TEST ALL HARDWARE, ALL TEST CONTROL DATA 
	    SWITCHES SHOULD BE SET TO 0.

	B.  WHEN DEBUGGING HARDWARE, SET SWITCHES TO 0.  ALLOW THE 
	    TELETYPE TO PRINT THE ERROR MESSAGES.  THIS ALLOWS THE 
	    PROGRAM TO RUN A COMPLETE PASS AND THEN THE ERROR MESSAGES
	    MAY BE CORRELATED TO QUICKLY DIAGNOSE THE FAILURE.  IF A
	    HARDWARE PROBLEM IS SUCH THAT THE ERROR MESSAGES, AFTER THE
	    FIRST ONE, HAVE NO MEANING (FIRST ERROR CAUSES ALL FOLLOWING
	    TESTS TO FAIL) SET THE LOOP ON ERROR SWITCH AND RESTART THE
	    TEST FROM THE BEGINNING.  THE FIRST FAILURE WILL THEN CAUSE
	    THE PROGRAM TO ENTER A LOOP SUITABLE FOR SCOPING.

	    THE ERROR MESSAGE USED IN CONJUNCTION WITH THE LISTING AND
	    SCOPING IF NECESSARY SHOULD ALLOW THE FAILING CONPONENT 
	    TO BE ISOLATED AND REPLACED AND/OR REPAIRED.

	C.  WHEN TAKING MARGINS, SET DATA SWITCHES 'NOPNT' AND 'DING'.
	    THIS WILL INHIBIT PRINTOUT BUT WILL ALLOW THE TELETYPE
	    BELL TO BE RUNG WHEN A ERROR OCCURS.  IF THE MARGIN OBTAINED
	    IS UNACCEPTABLE, THE OPERATOR MAY REVERT TO STANDARD SWITCH
	    SETTINGS FOR DEBUGGING PURPOSES.

	D.  ERROR INFORMATION MAY BE OBTAINED QUICKLY BY PRINTING 
	    ERRORS ON THE LINE PRINTER.

	E.  IN THE EVENT OF A PRINT ROUTINE FAILURE THE 'NOPNT' SWITCH
	    AND THE 'ERSTOP' SWITCH MAY BE SET TO INHIBIT PRINTOUT 
	    BUT HALT THE PROGRAM POINTING TO THE ERROR.
							MAINDEC-10-DBKAL.TXT
							PAGE 6                                                             SEQ 0006

4.0	DATA SWITCH FUNCTIONS

	SWITCH		STATE	FUNCTION
	------		-----	--------

	0    ABORT	0	NORMAL OPERATION
			1	ABORT AT END OF PASS

	1    RSTART		NOT USED

	2    TOTALS		NOT USED

	3    NOPNT	0	NORMAL TYPEOUT
			1	INHIBIT ALL PRINT/TYPEOUT
				(EXCEPT FORCED)

	4    PNTLPT	0	NORMAL OUTPUT TO TTY
			1	PRINT ALL DATA ON LPT
				(LOGICAL DEVICE, USER MODE)

	5    DING	0	NO FUNCTION
			1	RING TTY BELL ON ERROR

	6    LOOPER	0	PROCEED TO NEXT TEST
			1	ENTER SCOPE LOOP ON TEST ERROR

	7    ERSTOP	0	NO FUNCTION
			1	HALT ON TEST ERROR

	8    PALERS	0	PRINT ONLY FIRST ERROR WHEN LOOPING
			1	PRINT ALL ERRORS, EVEN IF SAME ERROR

	9    RELIAB		NOT USED

	10   TXTINH	0	PRINT FULL ERROR MESSAGES.
			1	INHIBIT COMMENT PORTION OF 
				ERROR MESSAGES.

	11   INHPAG	0	ALLOW PAGING AND TRAP ENABLE
			1	INHIBIT PAGING AND TRAPPING

	12   MODDVC		NOT USED

	13   INHCSH		NOT USED
							MAINDEC-10-DBKAL.TXT
							PAGE 7                                                             SEQ 0007

5.0	ERRORS

	ERRORS ARE PRINTED ON THE TTY OR LINE PRINTER.  THE ERROR 
	PRINTOUT CONTAINS THE TEST TITLE, THE PC OF THE FAILURE, ERROR
	NUMBER AND THE CONTENTS OF AN APPLICABLE AC.

	THE PC VALUE IS USEFUL IN RELATING THE FAILURE TO THE LISTING.
	THE ERROR NUMBER IS PROVIDED SUCH THAT AN ERROR DICTIONARY MAY
	BE MADE AT SOME FUTURE DATE.

	WHEN THE SCOPE LOOP MODE IS USED THE MI REGISTER WILL COUNT 
	FOR EACH OCCURANCE OF AN ERROR.  IF AN AUDIO INDICATION OF
	A CONTINUING ERROR IS DESIRED THE 'DING' SWITCH MAY BE SET.

6.0	ITERATION COUNTER

	THE ITERATION COUNT OF THE PROGRAM IS DISPLAYED IN THE MEMORY
	INDICATORS (MI).  THIS COUNT IS A DECREMENTING COUNT AND 
	INITIALLY STARTS AT -1 IN STAND-ALONE OPERATION.

7.0	CYCLE TIME

	THE CYCLE TIME OF THE PROGRAM IS IN THE MILLISECOND RANGE AND
	IS THEREFORE SUITABLE FOR TAKING MARGINS, VIBRATION TESTS,
	ETC.
							MAINDEC-10-DBKAL.TXT
							PAGE 8                                                             SEQ 0008

8.0	OPERATIONAL VARIATIONS

	A.  DIAGNOSTIC MONITOR

	    THE PROGRAM IS USABLE WITH THE DIAGNOSTIC MONITOR TO PROVIDE
	    RELIABILITY TESTS, ACCEPTANCE TESTS, AND/OR TO PROVIDE A
	    QUICK METHOD OF ISOLATION OF A FAULT TO A PARTICULAR AREA
	    OF THE PROCESSOR.  CERTAIN PROCEDURES ARE USED WHEN THE
	    PROGRAM IS USED IN THIS MANNER.  THEY ARE:

	    1.	THE DIAGNOSTIC MONITOR TRANSFERS CONTROL TO THE PROGRAM
		AND STARTS IT AT LOCATION 30002.

	    2.	MONCTL - LOCATION 30043 IS USED AS THE DIAGNOSTIC MONITOR
		CONTROL WORD.
			LH = 0, STAND-ALONE OPERATION
			    -1, RUNNING UNDER DIAGNOSTIC MONITOR

			RH = RIGHT HALF OF CONSOLE SWITCHES IF UNDER
			     DIAGNOSTIC MONITOR CONTROL.

	B.  USER MODE

	    TO OUTPUT THE PRINTED ERROR MESSAGES TO A USER SPECIFIED
	    DEVICE IN USER MODE, ASSIGN THE DESIRED OUTPUT DEVICE TO
	    DEVICE NAME 'DEV' AND SET SWITCH 'PNTLPT'.  THE PHYSICAL
	    DEVICE USED CAN BE ANY DEVICE THAT CAN ACCEPT ASCII OUTPUT
	    FORMAT SUCH AS LPT, DSK, DTA, ETC.  THE CORRESPONDING 
	    OUTPUT FILE IS 'DBKAL.PNT'

	    EXAMPLE DEVICE ASSIGNMENT:

	    .ASSIGN DSK DEV

	    IN USER MODE THE PROGRAM WILL MAKE 1000(8) PASSES AND THEN
	    RETURN TO DIAMON COMMAND MODE.
							MAINDEC-10-DBKAL.TXT
							PAGE 9                                                             SEQ 0009

8.0	OPERATIONAL VARIATIONS (CON'T)

	THE OUTPUT FILE (IF USED) MAY THEN BE LISTED BY USING THE
	NORMAL MONITOR COMMANDS (PRINT, LIST, TYPE, PIP, ETC.).

	IF THE PROGRAM IS ABORTED BEFORE COMPLETION (BY ^C, ETC.) THE
	OUTPUT FILE MAY BE CLOSED BY USING THE MONITOR 'REENTER' 
	COMMAND.

	C.  SYSTEM EXERCISER

	    START ADDRESS IS 30003.  DATA SWITCHES ARE PRESTORED IN
	    'SWTEXR' LOC 30023.

9.0	MISCELLANEOUS

	THE NON-EX-MEMORY AND PARITY STOP SWITCHES SHOULD BE RESET 
	(0).  THESE ERRORS, ILLEGAL UUO'S AND OTHER ERRORS OF THIS
	TYPE ARE HANDLED BY PRINTOUT ON THE TELETYPE.

10.0	LISTING
THIS IS A HISTORY OF THE DEVELOPMENT OF MAINDEC-10-DBKAL
                                                                                                                           SEQ 0010
************************************************************************

PRODUCT CODE:		MAINDEC-10-DBKAL

PRODUCT NAME:		BASIC INSTRUCTION DIAGNOSTIC #12

DATE RELEASED:		AUGUST,1976

VERSION:		0.2

UPDATE AUTHOR:		EDWARD G. PRENTICE

CHANGES MADE:

	1. UPGRADE TO ALLOW COMPATABILITY WITH THE SUBROUTINE PACKAGE.

************************************************************************

ORIGINAL VERSION:	0.1

ORIGINAL AUTHOR:	RICHARD MALISKA

ORIGINAL RELEASE:	16-MAR-72

************************************************************************
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 1
DBKALT	MAC	30-JUL-76 12:39		DIAGNOSTIC PARAMETERS                                                              SEQ 0011

     1					;DBKAL
     2
     3			000000			MCNVER==0
     4			000002			DECVER==2
     5
     6
     7						XLIST
     8						LIST
     9						LALL
    10
    11						NAME	\MCNVER,\DECVER^
    12
    13					TITLE	DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2
    14					^
    15
    16					;(MULTIPY, INTERGER MULTIPLY, DIVIDE, INTERGER DIVIDE)
    17
    18					;COPYRIGHT 1975
    19					;DIGITAL EQUIPMENT CORPORATION
    20					;MARLBORO, MASS. 01752
    21
    22					;JOHN R. KIRCHOFF
    23
    24	000137					LOC	137
    25	000137	000000	000002			MCNVER,,DECVER
    26
    27						.DIRECTIVE	.OKOVL
    28						NOSYM
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 2
DBKALT	MAC	30-JUL-76 12:39		DIAGNOSTIC PARAMETERS                                                              SEQ 0012

    29					SUBTTL	DIAGNOSTIC PARAMETERS
    30
    31					;OPERATOR DEFINITIONS
    32
    33		001000	000000		OPDEF	ER1	[1B8]
    34		002000	000000		OPDEF	ER2	[2B8]
    35		003000	000000		OPDEF	ER3	[3B8]
    36		004000	000000		OPDEF	ER4	[4B8]
    37		005000	000000		OPDEF	ER5	[5B8]
    38		006000	000000		OPDEF	ER6	[6B8]
    39		007000	000000		OPDEF	ER7	[7B8]
    40		010000	000000		OPDEF	ER10	[10B8]
    41		011000	000000		OPDEF	ER11	[11B8]
    42		012000	000000		OPDEF	ER12	[12B8]
    43		013000	000000		OPDEF	ER13	[13B8]
    44
    45			044422		LUUO1=ERRMES
    46			044422		LUUO2=ERRMES
    47			044422		LUUO3=ERRMES
    48			044422		LUUO4=ERRMES
    49			044422		LUUO5=ERRMES
    50			044422		LUUO6=ERRMES
    51			044422		LUUO7=ERRMES
    52			044422		LUUO10=ERRMES
    53			044422		LUUO11=ERRMES
    54			044422		LUUO12=ERRMES
    55			044422		LUUO13=ERRMES
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 3
DBKALT	MAC	30-JUL-76 12:39		DIAGNOSTIC PARAMETERS                                                              SEQ 0013

    56					;SUBROUTINE ASSEMBLY DEFINITIONS
    57
    58			000040		DEBUG=40
    59			000001		EXCASB=1
    60			000001		USRASB=1
    61			000001		KI10=1
    62			000001		KLOLD==1
    63			000001		PGMEND=1
    64			000001		ERDIAG=1
    65
    66					;SPECIAL FEATURE DEFINITIONS
    67
    68			030000		SADR1=BEGIN
    69			030000		SADR2=BEGIN
    70			030000		SADR3=BEGIN
    71			030000		SADR4=BEGIN
    72		254000	030000		SADR5=JRST BEGIN
    73		254000	030000		SADR6=JRST BEGIN
    74		254000	030000		SADR7=JRST BEGIN
    75		254000	030000		SADR8=JRST BEGIN
    76		254000	030000		SADR9=JRST BEGIN
    77		254000	030000		SADR10=JRST BEGIN
    78		254000	030000		SADR11=JRST BEGIN
    79
    80					;SPECIAL FEATURE PARAMETERS
    81
    82			000000		PAREA0=0
    83			000000		PAREA1=0
    84			000000		PAREA2=0
    85		444253	415400		PAREA3=SIXBIT/DBKAL/
    86		605664	000000		PAREA4=SIXBIT/PNT/
    87			000000		PAREA5=0
    88			000000		PAREA6=0
    89			001000		ITERAT==1000
    90
    91					;MACROS
    92
    93					DEFINE	SAVEAC	(A,B)<
    94						MOVEI	AC+2,.		;SAVE TEST PC
    95						MOVEM	AC+2,TESTPC
    96						MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
    97						MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION>
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 4
DBKALT	MAC	30-JUL-76 12:39		DIAGNOSTIC PARAMETERS                                                              SEQ 0014

    98					DEFINE	MOP1	(T,A1,A2,EE,R1,R2)<
    99					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [A1],[A2] AND
   100					;[EE] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
   101					;AND E AGAINST [R1], [R2] AND [EE] RESPECTIVELY.
   102					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
   103					
   104					F'T'0:	AA1=A1				;INITIAL C(AC)
   105						MOVE	AC,[A1]			;PRELOAD AC (MULTIPLIER)
   106						AA2=A2				;INITIAL C(AC+1)
   107						MOVE	AC+1,[A2]		;PRELOAD AC+1
   108						AEE=EE				;INITIAL C(E)
   109						MOVE	E,[EE]			;PRELOAD E (MULTIPLICAND)
   110						MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
   111						AR1=R1				;EXPECTED RESULT IN AC
   112						CAME	AC,[R1]			;IS HIGH PRODUCT CORRECT?
   113						ER3	AC,T'1		;HIGH PRODUCT FAILED
   114						AR2=R2				;EXPECTED RESULT IN AC+1
   115						CAME	AC+1,[R2]		;IS LOW PRODUCT CORRECT?
   116						ER4	AC+1,T'2		;LOW PRODUCT FAILED
   117						AEE=EE				;INITIAL C(E)
   118						CAME	E,[EE]			;WAS C(E) CLOBBERED?
   119						ER5	E,T'3			;C(E) WAS CLOBBERED
   120						JUMPL	AC+2,F'T'0		;LOOP ON ERROR SWITCH>
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 1
PARAM	KLM	26-FEB-76		*PARAM*	CONSOLE DATA SWITCH ASSIGNMENTS, FEB 26,1976                               SEQ 0015

   121					SUBTTL	*PARAM*	CONSOLE DATA SWITCH ASSIGNMENTS, FEB 26,1976
   122
   123					DEFINE	S,<;*********************************************************************>
   124
   125					S^;*********************************************************************^
   126					;*DATA SWITCHES (READ FROM CONSOLE IN EXEC MODE OR TYPED IN IN USER MODE)
   127					;*LEFT HALF SWITCHES ARE PRE-ASSIGNED FOR SUBROUTINE PACKAGE USE
   128					;*AND CONTROL LOOPING, PRINTING (TTY OR OTHER DEVICE) AND MISC. FUNCTIONS
   129					S^;*********************************************************************^
   130
   131			400000		ABORT==	400000			;ABORT PROGRAM ON PASS COMPLETION
   132			200000		RSTART==200000			;RESTART TEST, PRINT TOTALS
   133			100000		TOTALS==100000			;PRINT TOTALS, CONTINUE
   134
   135			040000		NOPNT==	040000			;INHIBIT ALL PRINT/TYPE OUT (EXCEPT FORCED)
   136			020000		PNTLPT==020000			;PRINT ALL DATA ON LPT (LOGICAL DEVICE, USER MODE)
   137			010000		DING==	010000			;RING BELL ON ERROR
   138
   139			004000		LOOPER==004000			;ENTER EXERCISE/CHECK LOOP ON ERROR
   140			002000		ERSTOP==002000			;HALT ON TEST ERROR
   141			001000		PALERS==001000			;PRINT ALL ERRORS
   142
   143			000400		RELIAB==000400			;RELIABILITY MODE
   144			000200		TXTINH==000200			;INHIBIT ERROR TEXT
   145			000100		INHPAG==000100			;INHIBIT PAGING
   146
   147			000040		MODDVC==000040			;MODIFY DEVICE CODE
   148			000020		INHCSH==000020			;INHIBIT CACHE
   149			000010		OPRSEL==000010			;OPERATOR SELECTION
   150
   151			000004		CHAIN==	000004			;CHAIN CONTROL SWITCH
   152
   153			000002		KAHZ50==000002			;KA10 50 HERTZ POWER
   154
   155									;SWITCH 17 RESERVED !!!
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 2
PARAM	KLM	26-FEB-76		*PARAM* PROGRAM/SUBROUTINE PARAMETERS, FEB 26,1976                                 SEQ 0016

   156					SUBTTL	*PARAM* PROGRAM/SUBROUTINE PARAMETERS, FEB 26,1976
   157
   158					S^;*********************************************************************^
   159					;*SPECIAL SUBPROGRAM LINKAGES
   160					S^;*********************************************************************^
   161
   162			027772		FSELNK=	27772	;FILE SELECT LINK
   163			027773		FRDLNK=	27773	;FILE READ LINK
   164			027774		LDLNK=	27774	;LOAD LINKAGE ADDRESS
   165			027775		DDTLNK=	27775	;DDT LINKAGE ADDRESS
   166			027776		MODLNK=	27776	;OPERATIONAL MODE CHECK LINKAGE ADDRESS
   167			027777		SUBLNK=	27777	;SUBROUTINE LINKAGE ADDRESS
   168
   169					S^;*********************************************************************^
   170					;*SPECIAL SUBROUTINE FATAL HALTS
   171					;*USED TO REPORT ERRORS THAT CAUSE THE SUBROUTINES TO BE UNUSABLE
   172					S^;*********************************************************************^
   173
   174					;ADDRESS   TAG	REASON
   175					;---------------------
   176
   177					; 1010 	NOEXEC	;PROGRAM NOT CODED FOR EXEC MODE OPERATION
   178					; 1011  PLERR	;FATAL PUSH LIST POINTER ERROR
   179					; 1012  PLERR1	;INITIAL PUSH LIST POINTER ERROR
   180					; 1013  MUOERR	;MUUO WITH LUUO HANDLER WIPED OUT
   181					; 1014  DTEBER	;DTE20 INTERRUPT WITHOUT DOORBELL
   182					; 1015  DTECER	;DTE20 CLOCK INTERRUPT WITHOUT FLAG SET
   183					; 1016  CPIERR	;CPU INITIALIZATION ERROR
   184					; 1017  EOPERR	;END OF PROGRAM ERROR
   185					; 1020  LUOERR	;INTERRUPT WITH LUUO HANDLER WIPED OUT
   186
   187					S^;*********************************************************************^
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 3
PARAM	KLM	26-FEB-76		*PARAM* PROGRAM/SUBROUTINE PARAMETERS, FEB 26,1976                                 SEQ 0017

   188					S^;*********************************************************************^
   189					;OPERATOR DEFINITIONS (NON-UUO'S)
   190					S^;*********************************************************************^
   191
   192		260740	000000		OPDEF	GO	[PUSHJ	P,]	;SUBROUTINE CALL
   193		263740	000000		OPDEF	RTN	[POPJ	P,]	;SUBROUTINE RETURN 
   194		261740	000000		OPDEF	PUT	[PUSH	P,]	;PUT DATA ON PUSH LIST
   195		262740	000000		OPDEF	GET	[POP	P,]	;GET DATA FROM PUSH LIST 
   196		254000	000000		OPDEF	PJRST	[JRST	]	;JRST TO ROUTINE THAT RTN'S
   197		254200	000000		OPDEF	HALT	[JRST	4,]	;DEFINITION FOR DDT
   198		254100	000000		OPDEF	JRSTF	[JRST	2,]	;DEFINITION FOR DDT
   199		254500	000000		OPDEF	JEN	[JRST	12,]	;DEFINITION FOR DDT
   200
   201					S^;*********************************************************************^
   202					;*SUBROUTINE INITIALIZATION CALL
   203					S^;*********************************************************************^
   204
   205		265000	030011		OPDEF	PGMINT	[JSP	0,SBINIT]	;SUBROUTINE INITIALIZATION
   206
   207					S^;*********************************************************************^
   208					;*HALTING UUO'S (A MORE GRACEFUL HALT THAN SIMPLY USING THE HALT INSTRUCTION).
   209					S^;*********************************************************************^
   210
   211		037640	000004		OPDEF	FATAL	[37B8!15B12!4]	;FATAL PROGRAMMING HALT
   212		037600	000004		OPDEF	ERRHLT	[37B8!14B12!4]	;PROGRAM ERROR HALT
   213
   214					S^;*********************************************************************^
   215					;*TERMINAL INPUT UUO'S
   216					;*ALWAYS COME FROM THE CONSOLE TERMINAL IN EXEC MODE OR THE
   217					;*CONTROLLING TERMINAL (REAL TERMINAL OR PTY) IN USER MODE.
   218					S^;*********************************************************************^
   219
   220		037000	000003		OPDEF	TTICHR 	[37B8!0B12!3]	;TTY, INPUT ANY CHARACTER
   221		037040	000003		OPDEF	TTIYES	[37B8!1B12!3]	;TTY, NORMAL RETURN Y
   222		037100	000003		OPDEF	TTINO	[37B8!2B12!3]	;TTY, NORMAL RETURN N
   223		037140	000003		OPDEF	TTIOCT	[37B8!3B12!3]	;TTY, INPUT OCTAL WORD
   224		037200	000003		OPDEF	TTIDEC	[37B8!4B12!3]	;TTY, INPUT DECIMAL WORD
   225		037240	000003		OPDEF	TTICNV	[37B8!5B12!3]	;TTY, INPUT CONVERTABLE WORD
   226		037300	000003		OPDEF	TTLOOK	[37B8!6B12!3]	;TTY, KEYBOARD CHECK
   227		037340	000003		OPDEF	TTALTM	[37B8!7B12!3]	;TTY, ALT-MODE CHECK
   228		037400	000003		OPDEF	TTSIXB	[37B8!10B12!3]	;TTY, INPUT SIXBIT WORD
   229		037440	000003		OPDEF	TTYINP	[37B8!11B12!3]	;TTY, IMAGE MODE INPUT
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 4
PARAM	KLM	26-FEB-76		*PARAM* PROGRAM/SUBROUTINE PARAMETERS, FEB 26,1976                                 SEQ 0018

   230					;*TERMINAL OUTPUT UUO'S.
   231
   232		037000	000000		OPDEF	PNTA	[37B8!0B12!0]	;PRINT ASCII WORD
   233		037000	000001		OPDEF	PNTAF	[37B8!0B12!1]	;PRINT ASCII WORD FORCED
   234		037740	000000		OPDEF	PNTAL	[37B8!17B12!0]	;PRINT ASCIZ LINE
   235		037740	000001		OPDEF	PNTALF	[37B8!17B12!1]	;PRINT ASCIZ LINE FORCED
   236		037600	000003		OPDEF	PSIXL	[37B8!14B12!3]	;PRINT SIXBIT'Z LINE
   237		037640	000003		OPDEF	PSIXLF	[37B8!15B12!3]	;PRINT SIXBIT'Z LINE FORCED
   238		037000	000000		OPDEF	PNTMSG	[37B8!0B12!0]	;PRINT MESSAGE IMMEDIATE
   239		037040	000000		OPDEF	PNTMSF	[37B8!1B12!0]	;PRINT MESSAGE IMMEDIATE FORCED
   240		037100	000000		OPDEF	PSIXM	[37B8!2B12!0]	;PRINT SIXBIT'Z MSG IMMEDIATE
   241		037200	000000		OPDEF	PSIXMF	[37B8!4B12!0]	;PRINT SIXBIT'Z MSG IMM FORCED
   242		037000	000000		OPDEF	PNTCI	[37B8!0B12!0]	;PRINT CHARACTER IMMEDIATE
   243		037040	000000		OPDEF	PNTCIF	[37B8!1B12!0]	;PRINT CHARACTER IMMEDIATE FORCED
   244		037500	000000		OPDEF	PNTCHR	[37B8!12B12!0]	;PRINT CHARACTER
   245		037500	000001		OPDEF	PNTCHF	[37B8!12B12!1]	;PRINT CHARACTER FORCED
   246		037040	000000		OPDEF	PNT1	[37B8!1B12!0]	;PRINT ONE OCTAL DIGIT
   247		037040	000001		OPDEF	PNT1F	[37B8!1B12!1]	;PRINT 1 OCTAL DIGIT FORCED	
   248		037100	000000		OPDEF	PNT2	[37B8!2B12!0]	;PRINT TWO OCTAL DIGITS
   249		037100	000001		OPDEF	PNT2F	[37B8!2B12!1]	;PRINT 2 OCTAL DIGITS FORCED	
   250		037140	000000		OPDEF	PNT3	[37B8!3B12!0]	;PRINT THREE OCTAL DIGITS
   251		037140	000001		OPDEF	PNT3F	[37B8!3B12!1]	;PRINT THREE OCTAL DIGITS FORCED	
   252		037200	000000		OPDEF	PNT4	[37B8!4B12!0]	;PRINT FOUR OCTAL DIGITS
   253		037200	000001		OPDEF	PNT4F	[37B8!4B12!1]	;PRINT FOUR OCTAL DIGITS FORCED
   254		037240	000000		OPDEF	PNT5	[37B8!5B12!0]	;PRINT FIVE OCTAL DIGITS
   255		037240	000001		OPDEF	PNT5F	[37B8!5B12!1]	;PRINT FIVE OCTAL DIGITS FORCED
   256		037300	000000		OPDEF	PNT6	[37B8!6B12!0]	;PRINT SIX OCTAL DIGITS
   257		037300	000001		OPDEF	PNT6F	[37B8!6B12!1]	;PRINT SIX OCTAL DIGITS FORCED
   258		037340	000000		OPDEF	PNT7	[37B8!7B12!0]	;PRINT 7 OCTAL DIGITS
   259		037340	000001		OPDEF	PNT7F	[37B8!7B12!1]	;PRINT 7 OCTAL DIGITS FORCED
   260		037440	000000		OPDEF	PNT11	[37B8!11B12!0]	;PRINT 11 OCTAL DIGITS
   261		037440	000001		OPDEF	PNT11F	[37B8!11B12!1]	;PRINT 11 OCTAL DIGITS FORCED.
   262		037400	000000		OPDEF	PNTADR	[37B8!10B12!0]	;PRINT PHYSICAL ADDRESS
   263		037400	000001		OPDEF	PNTADF	[37B8!10B12!1]	;PRINT PHYSICAL ADDRESS FORCED
   264		037600	000000		OPDEF	PNTOCT  [37B8!14B12!0]	;PRINT FULL WORD OCTAL
   265		037600	000001		OPDEF	PNTOTF	[37B8!14B12!1]	;PRINT FULL WORD OCTAL FORCED
   266		037540	000000		OPDEF	PNTHW	[37B8!13B12!0]	;PRINT OCTAL HALF WORDS, 6 SP 6
   267		037540	000001		OPDEF	PNTHWF	[37B8!13B12!1]	;PRINT OCTAL HALF WORDS, 6 SP 6 FORCED
   268		037700	000003		OPDEF	PNTOCS	[37B8!16B12!3]	;PRINT OCTAL, SUPPRESS LEADING 0'S
   269		037740	000003		OPDEF	PNTOCF	[37B8!17B12!3]	;PRINT OCTAL, SUPPRESS LEADING 0'S FORCED
   270		037640	000000		OPDEF	PNTDEC	[37B8!15B12!0]	;PRINT DECIMAL, SUPRESS LEADING 0'S
   271		037640	000001		OPDEF	PNTDCF	[37B8!15B12!1]	;PRINT DECIMAL, SUPRESS LEADING 0'S FORCED
   272		037700	000000		OPDEF	PNTDS	[37B8!16B12!0]	;PRINT DECIMAL, SPACES FOR LD 0'S
   273		037700	000001		OPDEF	PNTDSF	[37B8!16B12!1]	;PRINT DECIMAL, SPACES FOR LD 0'S FORCED
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 5
PARAM	KLM	26-FEB-76		*PARAM* PROGRAM/SUBROUTINE PARAMETERS, FEB 26,1976                                 SEQ 0019

   274		037200	000002		OPDEF	PNTNM	[37B8!4B12!2]	;PRINT PROGRAM NAME
   275		037000	000002		OPDEF	PNTSIX	[37B8!0B12!2]	;PRINT SIXBIT WORD
   276		037040	000002		OPDEF	PNTSXF	[37B8!1B12!2]	;PRINT SIXBIT WORD FORCED
   277		037240	000002		OPDEF	DROPDV	[37B8!5B12!2]	;CLOSE LOGICAL FILE, USER MODE
   278		037100	000002		OPDEF	PNTCW	[37B8!2B12!2]	;PRINT DF10 CONTROL WORD
   279		037140	000002		OPDEF	PNTCWF	[37B8!3B12!2]	;PRINT DF10 CONTROL WORD FORCED
   280		037000	030242		OPDEF	PCRL	[37B8!0B12!CRLF] ;PRINT CARRIAGE RETURN/LINE FEED
   281		037040	030242		OPDEF	PCRLF	[37B8!1B12!CRLF] ;PRINT CARRIAGE RETURN/LINE FEED FORCED
   282		037000	000040		OPDEF	PSP	[37B8!0B12!40]	;PRINT SPACE
   283		037040	000040		OPDEF	PSPF	[37B8!1B12!40]	;PRINT SPACE FORCED
   284		037000	030243		OPDEF	PCRL2	[37B8!0B12!CRLF2] ;PRINT CARRIAGE RETURN/LINE FEED (TWICE)
   285		037040	030243		OPDEF	PCRL2F	[37B8!1B12!CRLF2] ;PRINT CARRIAGE RETURN/LINE FEED (TWICE) FORCED
   286		037040	000007		OPDEF	PBELL	[37B8!1B12!7]	;PRINT TTY BELL
   287
   288		037040	000026		OPDEF	PFORCE	[37B8!1B12!26]	;PRINT FORCE, CONTROL O OVERRIDE
   289
   290					DEFINE	PMSG	(ARG),<
   291						PSIXM	[SIXBIT\ARG'_\]>
   292
   293					DEFINE	PMSGF	(ARG),<
   294						PSIXMF	[SIXBIT\ARG'_\]>
   295
   296					;*SIXBTZ -- MACRO TO GENERATE SIXBIT DATA FOR PRINTING
   297					;*	CONSERVES CORE OVER ASCIZ
   298
   299					DEFINE	SIXBTZ	(ARG),<	[SIXBIT\ARG'_\]>
   300
   301					;*CONSOLE SWITCH INPUT UUO.
   302					;*READS CONSOLE SWITCHES IF IN EXEC MODE OR ASKS FOR THEM IF
   303					;* USER MODE.
   304
   305		037400	000002		OPDEF	SWITCH	[37B8!10B12!2]	;INPUT CONSOLE SWITCHES
   306
   307					;*CLOCK INITIALIZATION UUO - TO SET DESIRED CLOCK OPERATION
   308					;*EITHER IGNORE CLOCK, ONLY LET IT TICK OR CAUSE INTERRUPT TO OCCUR.
   309
   310		037540	000004		OPDEF	CLOKOP	[37B8!13B12!4]	;CLOCK OPERATION UUO - PDP-11 CLOCK
   311		037200	000004		OPDEF	MTROP	[37B8!4B12!4]	;CLOCK OPERATION UUO - DK20 METER
   312
   313					;*KL10 ONLY CACHE OPERATION UUO'S
   314
   315		037040	000004		OPDEF	CINVAL	[37B8!1B12!4]	;CACHE INVALIDATE
   316		037100	000004		OPDEF	CFLUSH	[37B8!2B12!4]	;CACHE FLUSH
   317		037140	000004		OPDEF	CWRTBI	[37B8!3B12!4]	;CACHE WRITE-BACK & INVALIDATE
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 6
PARAM	KLM	26-FEB-76		*PARAM* PROGRAM/SUBROUTINE PARAMETERS, FEB 26,1976                                 SEQ 0020

   318					;*END OF PASS/PROGRAM UUOS
   319
   320					;PERFORMS THE END OF PASS FUNCTIONS. INCREMENT PASS COUNT,
   321					;*DECREMENT ITERATION COUNT, CHECK IF FINISHED WITH THIS PROGRAM ETC.
   322
   323		037500	000004		OPDEF	ENDUUO	[37B8!12B12!4]	;UUO TO DISPLAY LIGHTS
   324		037700	000004		OPDEF	EOPUUO	[37B8!16B12!4]	;END OF PROGRAM UUO
   325
   326					;*MEMORY MANAGEMENT UUO'S
   327					;*UUO'S TO PERFORM VARIOUS MEMORY FUNCTIONS. MAPPING, ZEROING, PAGING,
   328					;*ADDRESS CONVERSION, ETC...
   329
   330		037000	000004		OPDEF	MAPMEM	[37B8!0B12!4]	;MAP MEMORY
   331		037500	000002		OPDEF	MEMZRO	[37B8!12B12!2]	;ZERO MEMORY
   332		037440	000002		OPDEF	MEMSEG	[37B8!11B12!2]	;SETUP MEMORY SEGMENT
   333		037540	000002		OPDEF	MAPADR	[37B8!13B12!2]	;VIRTUAL TO PHYSICAL ADR CONVERT
   334		037640	000002		OPDEF	MAPCNK	[37B8!15B12!2]	;MAP MEMORY CHUNK
   335		037600	000002		OPDEF	MAPSET	[37B8!14B12!2]	;SET KI10 EXEC PAGE MAP
   336		037740	000002		OPDEF	MAPPNT	[37B8!17B12!2]	;PRINT MEMORY MAP
   337
   338					;*DEVICE CODE MODIFICATION UUO
   339					;*ALLOWS THE MODIFICATION OF IOT'S TO ONE DEVICE TO BE CHANGED TO
   340					;*IOT'S TO A DIFFERENT DEVICE CODE.
   341
   342		037340	000002		OPDEF	MODPCU	[37B8!7B12!2]	;MODIFY PERHIPERAL CODE, USER
   343		037300	000002		OPDEF	MODPCP	[37B8!6B12!2]	;MODIFY PERHIPERAL CODE, PROGRAM
   344
   345			030000			IFNDEF	MODDVL,<MODDVL==BEGIN>
   346			030000			IFNDEF	MODDVU,<MODDVU==BEGIN>
   347
   348					;*"DIAMON" FILE SELECTION AND READ UUOS
   349
   350		037240	000004		OPDEF	FSELECT	[37B8!5B12!4]	;FILE SELECTION
   351		037300	000004		OPDEF	FREAD	[37B8!6B12!4]	;FILE READ - ASCII DATA
   352		037340	000004		OPDEF	FRD36	[37B8!7B12!4]	;FILE READ - 36 BIT DATA
   353		037400	000004		OPDEF	FRD8	[37B8!10B12!4]	;FILE READ - 8 BIT DATA
   354
   355					;*KI10 ONLY UUO FOR PRINTING MARGIN VALUES
   356
   357		037700	000002		OPDEF	PNTMGN	[37B8!16B12!2]	;PRINT MARGIN VALUE
   358
   359						XLIST
   360						LIST
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 1
FIXED	KLM	26-FEB-76		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, FEB 26,1976                            SEQ 0021

   361					SUBTTL	*FIXED* FIXED CONTROL AND DISPATCH STORAGE, FEB 26,1976
   362
   363	030000					LOC	30000
   364
   365					S^;*********************************************************************^
   366					;*PROGRAM STARTING ADDRESSES
   367					;*THESE ADDRESSES CALL VARIOUS SPECIAL START ROUTINES AND OR OPTIONS
   368					;*NORMAL START ADDRESS IS 30000 ALL OTHERS ARE SPECIAL. INVOKED BECAUSE
   369					;*OF END OF PASS, POWER FAILURE, DDT START, RE-ENTERING(TYPICALLY USER
   370					;*MODE), OR ANY NUMBER OF SPECIAL FEATURE TESTS.
   371					S^;*********************************************************************^
   372
   373	030000	254 00 1 00 027776 	BEGIN:	JRST	@MODLNK		;STAND-ALONE START
   374	030001	254 00 0 00 030616 	$START:	JRST	START		;MODE CHECK STARTING ADDRESS
   375
   376	030002	254 00 1 00 027774 	DIAGMN:	JRST	@LDLNK		;DIAGNOSTIC MONITOR START
   377
   378	030003	254 00 1 00 027774 	SYSEXR:	JRST	@LDLNK		;SYSTEM EXERCISER START
   379
   380	030004	254 00 0 00 030000 	SFSTRT:	JRST	SADR1		;SPECIAL FEATURE START
   381
   382	030005	254 00 0 00 030000 	PFSTRT:	JRST	SADR2		;POWER FAIL RESTART
   383
   384	030006	254 00 0 00 030000 	REENTR:	JRST	SADR3		;REENTER START(USUALLY USER MODE ONLY)
   385
   386	030007				SRTDDT:				;COMMONLY MISTAKEN NAME FOR "DDTSRT"
   387	030007	254 00 1 00 027775 	DDTSRT:	JRST	@DDTLNK		;DDT START
   388
   389	030010	254 00 0 00 030621 	BEGIN1:	JRST	STARTA		;LOOP START(END OF PASS COMES HERE)
   390	030011	254 00 1 00 027777 	SBINIT:	JRST	@SUBLNK		;PMGINT LINKAGE
   391	030012	000000	000000		RETURN:	0			;RETURN ADDRESS STORAGE
   392
   393	030013	254000	030000		START1:	SADR7			;OPTIONAL STARTING ADR/INSTRUCTIONS
   394	030014	254000	030000		START2:	SADR8			; "
   395	030015	254000	030000		START3:	SADR9			; "
   396	030016	254000	030000		START4:	SADR10			; "
   397	030017	254000	030000		START5:	SADR11			; "
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 2
FIXED	KLM	26-FEB-76		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, FEB 26,1976                            SEQ 0022

   398					S^;*********************************************************************^
   399					;*PROGRAM FIXED PARAMETER AREA
   400					S^;*********************************************************************^
   401
   402	030020	444253	415400		PNTNAM:	PAREA3		;SIXBIT PROGRAM NAME
   403	030021	605664	000000		PNTEXT:	PAREA4		;SIXBIT PROGRAM EXTENSION
   404	030022	000000	000000		RANDBS:	PAREA1		;RANDOM BASE NUMBER
   405	030023	000000	000000		SWTEXR:	PAREA2		;SYSTEM EXERCISER SWITCHES
   406	030024	000000	001000		ITRCNT:	ITERAT		;PROGRAM ITERATIONS
   407	030025	000000	030602		$PNAME:	PGMNAM		;POINTER TO PROGRAMS NAME
   408	030026	000000	000002		$PVER:	MCNVER,,DECVER	;MCN & DEC VERSION LEVEL
   409	030027	000000	030000		$MODVL:	MODDVL		;DEVICE CODE CHANGE LOWER LIMIT
   410	030030	000000	030000		$MODVU:	MODDVU		;DEVICE CODE CHANGE UPPER LIMIT
   411	030031	777777	777777		$EMODE:	IFNDEF EXCASB,<0> IFDEF EXCASB,<-1>	;EXEC ALLOWED
   412	030032	777777	777777		$UMODE:	IFNDEF USRASB,<0> IFDEF USRASB,<-1>	;USER ALLOWED
   413	030033	000000	000000		$DSKUP:	IFNDEF DSKUPD,<0> IFDEF DSKUPD,<-1>	;DISK UPDATE MODE
   414	030034	000000	000000		$MMAP:	IFNDEF MEMMAP,<0> IFDEF MEMMAP,<-1>	;ALLOW MEMORY RTNS
   415	030035	000000	000000		PAREA7:	PAREA5		;OPTIONAL PARAMETER
   416	030036	000000	000000		PAREA8:	PAREA6		;OPTIONAL PARAMETER
   417
   418					S^;*********************************************************************^
   419					;*PROGRAM VARIABLE PARAMETER AREA
   420					S^;*********************************************************************^
   421
   422	030037	000000	000000		USER:	0		; 0 = EXEC, -1 = USER MODE FLAG
   423	030040	000000	000000		KAIFLG:	0		;PROCESSOR TYPE, 0 = KA10, -1 = KI10
   424	030041	000000	000000		KLFLG:	0		;PROCESSOR TYPE, 0 = KA/KI, -1 = KL10
   425	030042	777777	777777		MONFLG:	-1		;DIAG MONITOR SPECIAL USER FLAG
   426	030043	000000	000000		MONCTL:	0		;DIAG MON/SYS EXR FLAG
   427	030044	000000	000000		MONTEN:	0		;-1= LOADED BY 10
   428	030045	000000	000000		CLOCKF:	0		;CLOCK TICKED FLAG
   429	030046	000000	000000		CONSW:	0		;CONSOLE SWITCH SETTINGS
   430	030047	000000	000000		PASCNT:	0		;PROGRAM PASS COUNT
   431	030050	000000	000000		RUNFLG:	0		;PROGRAM RUN FLAG
   432	030051	000000	000000		TESTPC:	0		;SUBTEST PC
   433	030052	000000	000000		ERRPC:	0		;ERROR PC
   434	030053	000000	000000		ERRTLS:	0		;ERROR TOTALS
   435	030054	000000	000000		TICKS:	0		;PROGRAM RUNNING TIME
   436	030055	000000	000000		MARGIN:	0		;KI10 MARGIN WORD VALUE
   437	030056	000000	000000		$ONETM:	0		;SUBROUTINE INITIALIZATION FLAG
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 3
FIXED	KLM	26-FEB-76		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, FEB 26,1976                            SEQ 0023

   438					S^;*********************************************************************^
   439					;*SPECIAL PROGRAM DISPATCH ADDRESSES
   440					S^;*********************************************************************^
   441
   442	030057	037 12 0 00 000004 	BEGEND:	ENDUUO		;END OF PASS
   443	030060	254 00 0 00 030010 	$BEND1:	JRST	BEGIN1	;KEEP RUNNING PROGRAM
   444	030061	037 16 0 00 000004 	$BEND2:	EOPUUO		;END OF PROGRAM - NO RETURN
   445	030062	254000	030000		CNTLC:	SADR5		;CONTROL C XFER ADDRESS
   446	030063	254000	030000		ALTMGO:	SADR6		;ALTMODE XFER ADDRESS
   447	030064				CPOPJ1:			;SKIP RETURN
   448	030064	350 00 0 17 000000 	UUOSKP:	AOS	(P)	;SKIP RETURN FROM UUO
   449	030065				CPOPJ:			;NON-SKIP REGULAR RETURN
   450	030065	263 17 0 00 000000 	UUOEXT:	RTN		;UUO RETURN
   451	030066	255 00 0 00 000000 	UUORTN:	JFCL		;ADDITIONAL USERS UUO ROUTINE
   452	030067	255 00 0 00 000000 	$UORTX:	JFCL		;ADDITIONAL UUO LINKAGE
   453	030070	255 00 0 00 000000 	$UUOER:	JFCL		;INITED AS (JRST $UOERX)
   454	030071	255 00 0 00 000000 	$ITRHL:	JFCL		;ADDITIONAL INTERRUPT LINKAGE
   455	030072	255 00 0 00 000000 	$ITRX1:	JFCL		; "
   456	030073	255 00 0 00 000000 	$USRHL:	JFCL		; "
   457	030074	255 00 0 00 000000 	$RSRTX:	JFCL		;ADDITIONAL POWER FAIL LINKAGE
   458	030075	255 00 0 00 000000 	$RSRTY:	JFCL		; "
   459	030076	255 00 0 00 000000 	RESRT1:	JFCL		; INITED AS (JRST RESRTX)
   460	030077	255 00 0 00 000000 	RESRT2:	JFCL		; "
   461	030100	255 00 0 00 000000 	$PARER:	JFCL		;ADDITIONAL PARITY ERROR LINKAGE
   462	030101	255 00 0 00 000000 	ERMORE:	JFCL		;ADDITIONAL ERROR HANDLER LINKAGE
   463	030102	254 04 0 00 030102 		HALT	.	;IMPROPER TRANSFER HALT
   464
   465	030103	000000	000000		$PSHER:	0		;INITED AS (JRST PSHERR)
   466	030104	000000	000000		ITRCH1:	0		;PC & FLAGS OF CURRENT INTERRUPT
   467	030105	000000	000000			0		;INITED AS (JRST $ITRC1)
   468
   469					S^;*********************************************************************^
   470					;*PROCESSOR CONTROL STORAGE
   471					S^;*********************************************************************^
   472
   473	030106	000000	000000		$ACC0:	0		;INTERRUPT SAVED AC0
   474	030107	000000	000000		$SVPI:	0		;INTERRUPT SAVED PI
   475	030110	000000	000000		$SVAPR:	0		;INTERRUPT SAVED APR
   476	030111	000000	000000		$SVPAG:	0		;INTERRUPT SAVED PAG (DATAI)
   477	030112	000000	000000		$SPAG1:	0		;INTERRUPT SAVED PAG (CONI)
   478
   479	030113	000000	000000		$SVUUO:	0		;CURRENT USERS UUO
   480	030114	000000	000000		$SVUPC:	0		;PC OF CURRENT USERS UUO
   481
   482	030115	000000	000000		REPTU:	0		;REPEAT UUO ITERATIONS
   483	030116	000000	000000		SCOPE:	0		;ERROR HANDLER SCOPE LOOP FLAG
   484	030117	000000	000000		%CORFLG:0		; " CORRECT FLAG
   485	030120	000000	000000		%COREC:	0		; " CORRECT DATA
   486	030121	000000	000000		%ACTFL:	0		; " ACTUAL FLAG
   487	030122	000000	000000		%ACTUL:	0		; " ACTUAL DATA
   488	030123	000000	000000		%DISCR:	0		; " DISCREPENCY DATA
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 4
FIXED	KLM	26-FEB-76		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, FEB 26,1976                            SEQ 0024

   489					S^;*********************************************************************^
   490					;*UUO DISPATCH TABLE
   491					S^;*********************************************************************^
   492						XLIST
   493						LIST
   494	030124	044422	030070		UUODIS:	LUUO1,,$UUOER
   495	030125	044422	044422			LUUO3,,LUUO2
   496	030126	044422	044422			LUUO5,,LUUO4
   497	030127	044422	044422			LUUO7,,LUUO6
   498	030130	044422	044422			LUUO11,,LUUO10
   499	030131	044422	044422			LUUO13,,LUUO12
   500	030132	030070	030070			LUUO15,,LUUO14
   501	030133	030070	030070			LUUO17,,LUUO16
   502	030134	030070	030070			LUUO21,,LUUO20
   503	030135	030070	030070			LUUO23,,LUUO22
   504	030136	030070	030070			LUUO25,,LUUO24
   505	030137	030070	030070			LUUO27,,LUUO26
   506	030140	030070	030070			LUUO31,,LUUO30
   507	030141	030070	030070			LUUO33,,LUUO32
   508
   509					S^;*********************************************************************^
   510					;*MEMORY MANAGMENT STORAGE
   511					S^;*********************************************************************^
   512
   513	030142	000000	000000		DF22F:	0		;DF10 CONTROL FLAG, 0 = 18, -1 = 22 BIT
   514	030143	000000	000000		MAPNEW:	0		;MEMORY MAPPING CONTROL FLAG, -1 = 4096K MAPPING
   515	030144	000000	000000		MEMTOT:	0		;TOTAL MEMORY SIZE IN K (1024.)
   516	030145	000000	000000		MEMLOW:	0		;LOWEST USABLE MEMORY
   517	030146				MEMSIZ:	BLOCK ^D41	;MEMORY SEGMENT POINTER TABLE
   518
   519					S^;*********************************************************************^
   520					;*PRINT CONTROL STORAGE
   521					S^;*********************************************************************^
   522
   523	030217	000000	000000		PNTFLG:	0		;PRINT FLAG, -1 WHILE IN PRINT ROUTINE
   524	030220	000000	000000		PNTENB:	0		;PRINT ENABLE
   525	030221	000000	000000		PDISF:	0		;PRINT DISABLED FLAG
   526	030222	000000	000000		PNTINH:	0		;INHIBIT PRINT INPUT CHECKS
   527	030223	000000	000000		PNTSPC:	0		;PRINT SPACE CONTROL
   528	030224	000000	000000		OPTIME:	0		;TYPE-IN WAIT TIME
   529	030225	000000	000000		$TWCNT:	0		;TIME WAITED
   530	030226	000000	000000		$DVOFF:	0		;LOGICAL DEVICE INITED FLAG
   531	030227	000000	000000		TTYFIL:	0		;TTY EXEC FILLERS FLAG
   532	030230	000000	000000		TTYSPD:	0		;TTY EXEC BAUD RATE
   533	030231	000000	000000		$TTCHR:	0		;ACTUAL TYPED IN CHAR
   534	030232	000000	000000		$CHRIN:	0		;UPPER CASED & PARITY STRIPPED CHAR
   535	030233	000000	000000		$TYPNB:	0		;TYPED IN NUMBER
   536	030234	000000	000000		$CRLF:	0		;FREE CR/LF FLAG
   537	030235	000000	000000		$TABF:	0		;TAB CONVERSION FLAG
   538	030236	000000	000000		$FFF:	0		;FORM FEED CONVERSION FLAG
   539	030237	000000	000000		$VTF:	0		;VERTICAL TAB CONVERSION FLAG
   540	030240	000000	000000		USRLFF:	0		;USER LF FILLERS
   541	030241	000000	000000		USRCRF:	0		;USER CR FILLERS
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 5
FIXED	KLM	26-FEB-76		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, FEB 26,1976                            SEQ 0025

   542					S^;*********************************************************************^
   543					;*THE FOLLOWING MISCELLANEOUS PRINT CHARACTERS ARE INCLUDED
   544					;*TO FACILITATE PRINTING AND ARE CALLED AS FOLLOWS:
   545					;*	MOVEI	NAME
   546					;*	PNTA		;OR PNTAF
   547					S^;*********************************************************************^
   548
   549	030242				CRLF:	ASCII/
   550	030242	015 012 000 000 000 	/
   551	030243				CRLF2:	ASCII/
   552
   553	030243	015 012 015 012 000 	/
   554	030244	054 000 000 000 000 	COMMA:	ASCII/,/
   555	030245	056 000 000 000 000 	PERIOD:	ASCII/./
   556	030246	040 000 000 000 000 	SPACE:	ASCII/ /
   557	030247	011 000 000 000 000 	TAB:	ASCII/	/
   558	030250				MINUS:
   559	030250	055 000 000 000 000 	HYPEN:	ASCII/-/
   560	030251	053 000 000 000 000 	PLUS:	ASCII/+/
   561	030252	052 000 000 000 000 	AST:	ASCII/*/
   562	030253	100 000 000 000 000 	ATSIN:	ASCII/@/
   563	030254	050 000 000 000 000 	LFP:	ASCII/(/
   564	030255	051 000 000 000 000 	RTP:	ASCII/)/
   565	030256	007 0000000000 		BELL:	BYTE (7) 007
   566	030257	077 000 000 000 000 	QUEST:	ASCII/?/
   567	030260	057 000 000 000 000 	SLASH:	ASCII!/!
   568	030261	044 000 000 000 000 	DOLLAR:	ASCII/$/
   569	030262	000000	000012		RADIX:	^D10			;DECIMAL PRINT RADIX
   570	030263	000000	000040		RADLSP:	40			;DECIMAL PRINT LEADING CHAR
   571	030264	000000	000012		RADLSC:	^D10			;DECIMAL PRINT LEADING CHAR COUNT
   572
   573					S^;*********************************************************************^
   574					;*USER MODE OUTPUT FILE INFORMATION
   575					S^;*********************************************************************^
   576
   577	030265				$OBUF:	BLOCK	3		;LOGICAL FILE OUTPUT BUFFER HEADER
   578	030270	60 62 51 56 64 00 	$OUTNM:	SIXBIT	/PRINT/		;FILE NAME
   579	030271	60 56 64 00 00 00 	$OUTEX:	SIXBIT	/PNT/		;FILE NAME EXTENSION
   580	030272					BLOCK	2
   581
   582					S^;*********************************************************************^
   583					;*DISK UPDATE MODE FILE INFORMATION
   584					S^;*********************************************************************^
   585
   586	030274				$IBUF:	BLOCK	3
   587	030277	60 62 51 56 64 00 	$INNM:	SIXBIT	/PRINT/
   588	030300	60 56 64 00 00 00 	$INEXT:	SIXBIT	/PNT/
   589	030301					BLOCK	2
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 6
FIXED	KLM	26-FEB-76		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, FEB 26,1976                            SEQ 0026

   590					S^;*********************************************************************^
   591					;*PUSHDOWN LIST CONTROL INFORMATION
   592					S^;*********************************************************************^
   593
   594	030303	777577	030303		PLIST:	PLIST-PLISTE,,PLIST
   595	030304				PLISTS:	BLOCK	200
   596	030504	000000	000000		PLISTE:	0		;END OF PUSHDOWN LIST
   597
   598					S^;*********************************************************************^
   599					;*POWER LINE CLOCK FREQUENCY FLAG
   600					S^;*********************************************************************^
   601
   602	030505	000000	000000		CYCL60:	0	;0 = 60, -1 = 50 CYCLE
   603
   604					S^;*********************************************************************^
   605					;*KL10 CACHE CONTROL FLAGS
   606					S^;*********************************************************************^
   607
   608	030506	000000	000000		CSHFLG:	0	;ALLOW CACHE IF 0
   609	030507	000000	000000		CSHMEM:	0	;CACHE MEMORY SEGMENTS IF 0
   610
   611					S^;*********************************************************************^
   612					;*NUMBER INPUT DIGIT FLAG
   613					S^;*********************************************************************^
   614
   615	030510	000000	000000		TTNBRF:	0	;-1 IF ANY DIGIT TYPED
   616
   617					S^;*********************************************************************^
   618					;*KL10 & KI10 "INHPAG" SWITCH PAGING PREVENTION
   619					S^;*********************************************************************^
   620
   621	030511	000000	000000		PVPAGI:	0	;IF NON-ZERO, OVERRIDE "INHPAG" SWITCH ACTION
   622
   623					S^;*********************************************************************^
   624					;*ERROR REPORTING ROUTINE ADDITIONAL USERS CONTROL INSTRUCTIONS
   625					S^;*********************************************************************^
   626
   627	030512	000000	000000		%ERHI1:	0	;IF NON-ZERO, XCT'D AT START OF %ERUUO
   628	030513	000000	000000		%ERHI2:	0	;IF NON-ZERO, XCT'D AT END OF %ERUUO
   629	030514	000000	000000		%ERHI3:	0	;IF NON-ZERO, XCT'D AFTER "PC" OF %ERUUO
   630
   631					S^;*********************************************************************^
   632					;*SPECIAL USERS UUO INTERCEPT INSTRUCTION
   633					S^;*********************************************************************^
   634
   635	030515	000000	000000		$$UUO:	0	;IF NON-ZERO, XCT'D AT START OF $UORTN
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 7
FIXED	KLM	26-FEB-76		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, FEB 26,1976                            SEQ 0027

   636					S^;*********************************************************************^
   637					;*KL10 PROCESSOR TYPE FLAG, 0=P0, 1=BBD NEW, 2=BBD OLD
   638					S^;*********************************************************************^
   639
   640	030516	000000	000000		KLTYP:	0
   641
   642					S^;*********************************************************************^
   643					;*SPECIAL USERS MUUO INTERCEPT INSTRUCTION
   644					S^;*********************************************************************^
   645
   646	030517	000000	000000		$$MUUO:	0	;IF NON-ZERO, XCT'D AT START OF MUUOER
   647
   648					S^;*********************************************************************^
   649					;*SPECIAL USERS USER MODE OUTPUT ERROR INTERCEPT INSTUCTION
   650					S^;*********************************************************************^
   651
   652	030520	000000	000000		$$OUTER:0	;IF NON-ZERO, XCT'D AT END OF USER MODE ERROR
   653
   654					S^;*********************************************************************^
   655					;*"SWITCH" CALL USAGE CONTROL
   656					S^;*********************************************************************^
   657
   658	030521	000000	000000		$$TOGGLE:0	;IF NON-ZERO, USE C(CONSW) FOR SWITCHES
   659
   660					S^;*********************************************************************^
   661					;*SPECIAL USERS ALTMODE SWITCH CALL INTERCEPT INSTRUCTIONS
   662					S^;*********************************************************************^
   663
   664	030522	000000	000000		$$TAX1:	0	;IF NON-ZERO, XCT'D AT START OF ALTMODE SWITCH CALL
   665	030523	000000	000000		$$TAX2:	0	;IF NON-ZERO, XCT'D AT END OF ALTMODE SWITCH CALL
   666
   667					S^;*********************************************************************^
   668					;*SPECIAL FUTURE EXPANSION ROOM
   669					;*IF ANY FIXED AREA TAGS ARE ADDED, REDUCE THE SIZE OF
   670					;*THIS BLOCK STATEMENT ACCORDINGLY.  THIS MUST BE DONE
   671					;*SO THAT PREVIOUS FIXED ASSIGNMENTS DO NOT CHANGE.
   672					S^;*********************************************************************^
   673
   674	030524					BLOCK	53	;HOPEFULLY THIS IS ENOUGH FOREVER
   675
   676					S^;*********************************************************************^
   677					;*END OF FIXED STORAGE
   678					S^;*********************************************************************^
   679
   680			030577			$ENDFX=<PLISTE+100>&<777700>-1
   681	030577					LOC	$ENDFX
   682	030577	000000	000000		ENDFIX:	0		;END OF FIXED STORAGE
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION                                                                 SEQ 0028

   683					SUBTTL	DIAGNOSTIC SECTION
   684
   685	030600	037 05 0 00 000002 	EXIT:	DROPDV		;CLOSE LOGICAL OUTPUT FILE
   686	030601	000000	030600			EXIT
   687
   688	030602				PGMNAM:	ASCIZ/
   689	030602	015 012 120 104 120 	PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) [DBKAL]
   690	030603	055 061 060 040 040 
   691	030604	113 111 061 060 040 
   692	030605	102 101 123 111 103 
   693	030606	040 111 116 123 124 
   694	030607	122 125 103 124 111 
   695	030610	117 116 040 104 111 
   696	030611	101 107 116 117 123 
   697	030612	124 111 103 040 050 
   698	030613	061 062 051 040 133 
   699	030614	104 102 113 101 114 
   700	030615	135 015 012 000 000 	/
   701
   702	030616	265 00 0 00 030011 	START:	PGMINT
   703	030617	200 00 0 00 044627 		MOVE	[ASCIZ/AL/]
   704	030620	202 00 0 00 044543 		MOVEM	TLET		;INITIALIZE TEST LETTER
   705
   706	030621	254 00 0 00 030622 	STARTA:	JRST	F00		;GO PERFORM DIAGNOSTIC
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 2
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0029

   707					SUBTTL	MAIN TESTING
   708
   709			003000			ADR=3000
   710			000014		F00:	AC=14
   711			000012			E=<AC-2>&17
   712		525252	525252			N1=525252525252
   713		252525	252525			N2=252525252525
   714						SAVEAC	(1,1)^
   715	030622	201 16 0 00 030622 		MOVEI	AC+2,.		;SAVE TEST PC
   716	030623	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
   717	030624	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
   718	030625	202 16 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
   719			000044			WW=^D36
   720			000000			XX=0
   721
   722						REPEAT	^D36,<
   723						ADR=ADR+1
   724						WW=WW-1
   725						XX=XX+XX
   726						IFE	XX,<XX=1>
   727					
   728					;MULTIPLY A FLOATING 1 BY 1010...101010
   729						V1=N1
   730						V2=N1*XX
   731						IFL	XX,<V3=N2+1>
   732						IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
   733						MOP1	(\ADR,V1,0,XX,V3,V2)>
   734
   735			003001			ADR=ADR+1
   736			000043			WW=WW-1
   737			000000			XX=XX+XX
   738			000001			IFE	XX,<XX=1>
   739
   740					;MULTIPLY A FLOATING 1 BY 1010...101010
   741		525252	525252			V1=N1
   742		525252	525252			V2=N1*XX
   743						IFL	XX,<V3=N2+1>
   744		777777	777777			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
   745						MOP1	(\ADR,V1,0,XX,V3,V2)^
   746					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
   747					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
   748					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
   749					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
   750
   751		525252	525252		F30010:	AA1=V1				;INITIAL C(AC)
   752	030626	200 14 0 00 044630 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
   753			000000			AA2=0				;INITIAL C(AC+1)
   754	030627	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
   755			000001			AEE=XX				;INITIAL C(E)
   756	030630	200 12 0 00 044632 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
   757	030631	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
   758		777777	777777			AR1=V3				;EXPECTED RESULT IN AC
   759	030632	312 14 0 00 044633 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
   760	030633	003 14 0 00 030011 		ER3	AC,30011		;HIGH PRODUCT FAILED
   761		525252	525252			AR2=V2				;EXPECTED RESULT IN AC+1
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 2-1
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0030

   762	030634	312 15 0 00 044630 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
   763	030635	004 15 0 00 030012 		ER4	AC+1,30012		;LOW PRODUCT FAILED
   764			000001			AEE=XX				;INITIAL C(E)
   765	030636	312 12 0 00 044632 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
   766	030637	005 12 0 00 030013 		ER5	E,30013			;C(E) WAS CLOBBERED
   767	030640	321 16 0 00 030626 		JUMPL	AC+2,F30010		;LOOP ON ERROR SWITCH^
   768
   769			003002			ADR=ADR+1
   770			000042			WW=WW-1
   771			000002			XX=XX+XX
   772						IFE	XX,<XX=1>
   773
   774					;MULTIPLY A FLOATING 1 BY 1010...101010
   775		525252	525252			V1=N1
   776		652525	252524			V2=N1*XX
   777						IFL	XX,<V3=N2+1>
   778		777777	777776			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
   779						MOP1	(\ADR,V1,0,XX,V3,V2)^
   780					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
   781					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
   782					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
   783					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
   784
   785		525252	525252		F30020:	AA1=V1				;INITIAL C(AC)
   786	030641	200 14 0 00 044630 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
   787			000000			AA2=0				;INITIAL C(AC+1)
   788	030642	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
   789			000002			AEE=XX				;INITIAL C(E)
   790	030643	200 12 0 00 044634 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
   791	030644	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
   792		777777	777776			AR1=V3				;EXPECTED RESULT IN AC
   793	030645	312 14 0 00 044635 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
   794	030646	003 14 0 00 030021 		ER3	AC,30021		;HIGH PRODUCT FAILED
   795		652525	252524			AR2=V2				;EXPECTED RESULT IN AC+1
   796	030647	312 15 0 00 044636 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
   797	030650	004 15 0 00 030022 		ER4	AC+1,30022		;LOW PRODUCT FAILED
   798			000002			AEE=XX				;INITIAL C(E)
   799	030651	312 12 0 00 044634 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
   800	030652	005 12 0 00 030023 		ER5	E,30023			;C(E) WAS CLOBBERED
   801	030653	321 16 0 00 030641 		JUMPL	AC+2,F30020		;LOOP ON ERROR SWITCH^
   802
   803			003003			ADR=ADR+1
   804			000041			WW=WW-1
   805			000004			XX=XX+XX
   806						IFE	XX,<XX=1>
   807
   808					;MULTIPLY A FLOATING 1 BY 1010...101010
   809		525252	525252			V1=N1
   810		525252	525250			V2=N1*XX
   811						IFL	XX,<V3=N2+1>
   812		777777	777775			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
   813						MOP1	(\ADR,V1,0,XX,V3,V2)^
   814					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
   815					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
   816					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 2-2
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0031

   817					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
   818
   819		525252	525252		F30030:	AA1=V1				;INITIAL C(AC)
   820	030654	200 14 0 00 044630 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
   821			000000			AA2=0				;INITIAL C(AC+1)
   822	030655	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
   823			000004			AEE=XX				;INITIAL C(E)
   824	030656	200 12 0 00 044637 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
   825	030657	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
   826		777777	777775			AR1=V3				;EXPECTED RESULT IN AC
   827	030660	312 14 0 00 044640 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
   828	030661	003 14 0 00 030031 		ER3	AC,30031		;HIGH PRODUCT FAILED
   829		525252	525250			AR2=V2				;EXPECTED RESULT IN AC+1
   830	030662	312 15 0 00 044641 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
   831	030663	004 15 0 00 030032 		ER4	AC+1,30032		;LOW PRODUCT FAILED
   832			000004			AEE=XX				;INITIAL C(E)
   833	030664	312 12 0 00 044637 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
   834	030665	005 12 0 00 030033 		ER5	E,30033			;C(E) WAS CLOBBERED
   835	030666	321 16 0 00 030654 		JUMPL	AC+2,F30030		;LOOP ON ERROR SWITCH^
   836
   837			003004			ADR=ADR+1
   838			000040			WW=WW-1
   839			000010			XX=XX+XX
   840						IFE	XX,<XX=1>
   841
   842					;MULTIPLY A FLOATING 1 BY 1010...101010
   843		525252	525252			V1=N1
   844		652525	252520			V2=N1*XX
   845						IFL	XX,<V3=N2+1>
   846		777777	777772			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
   847						MOP1	(\ADR,V1,0,XX,V3,V2)^
   848					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
   849					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
   850					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
   851					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
   852
   853		525252	525252		F30040:	AA1=V1				;INITIAL C(AC)
   854	030667	200 14 0 00 044630 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
   855			000000			AA2=0				;INITIAL C(AC+1)
   856	030670	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
   857			000010			AEE=XX				;INITIAL C(E)
   858	030671	200 12 0 00 044642 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
   859	030672	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
   860		777777	777772			AR1=V3				;EXPECTED RESULT IN AC
   861	030673	312 14 0 00 044643 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
   862	030674	003 14 0 00 030041 		ER3	AC,30041		;HIGH PRODUCT FAILED
   863		652525	252520			AR2=V2				;EXPECTED RESULT IN AC+1
   864	030675	312 15 0 00 044644 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
   865	030676	004 15 0 00 030042 		ER4	AC+1,30042		;LOW PRODUCT FAILED
   866			000010			AEE=XX				;INITIAL C(E)
   867	030677	312 12 0 00 044642 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
   868	030700	005 12 0 00 030043 		ER5	E,30043			;C(E) WAS CLOBBERED
   869	030701	321 16 0 00 030667 		JUMPL	AC+2,F30040		;LOOP ON ERROR SWITCH^
   870
   871			003005			ADR=ADR+1
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 2-3
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0032

   872			000037			WW=WW-1
   873			000020			XX=XX+XX
   874						IFE	XX,<XX=1>
   875
   876					;MULTIPLY A FLOATING 1 BY 1010...101010
   877		525252	525252			V1=N1
   878		525252	525240			V2=N1*XX
   879						IFL	XX,<V3=N2+1>
   880		777777	777765			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
   881						MOP1	(\ADR,V1,0,XX,V3,V2)^
   882					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
   883					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
   884					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
   885					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
   886
   887		525252	525252		F30050:	AA1=V1				;INITIAL C(AC)
   888	030702	200 14 0 00 044630 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
   889			000000			AA2=0				;INITIAL C(AC+1)
   890	030703	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
   891			000020			AEE=XX				;INITIAL C(E)
   892	030704	200 12 0 00 044645 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
   893	030705	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
   894		777777	777765			AR1=V3				;EXPECTED RESULT IN AC
   895	030706	312 14 0 00 044646 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
   896	030707	003 14 0 00 030051 		ER3	AC,30051		;HIGH PRODUCT FAILED
   897		525252	525240			AR2=V2				;EXPECTED RESULT IN AC+1
   898	030710	312 15 0 00 044647 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
   899	030711	004 15 0 00 030052 		ER4	AC+1,30052		;LOW PRODUCT FAILED
   900			000020			AEE=XX				;INITIAL C(E)
   901	030712	312 12 0 00 044645 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
   902	030713	005 12 0 00 030053 		ER5	E,30053			;C(E) WAS CLOBBERED
   903	030714	321 16 0 00 030702 		JUMPL	AC+2,F30050		;LOOP ON ERROR SWITCH^
   904
   905			003006			ADR=ADR+1
   906			000036			WW=WW-1
   907			000040			XX=XX+XX
   908						IFE	XX,<XX=1>
   909
   910					;MULTIPLY A FLOATING 1 BY 1010...101010
   911		525252	525252			V1=N1
   912		652525	252500			V2=N1*XX
   913						IFL	XX,<V3=N2+1>
   914		777777	777752			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
   915						MOP1	(\ADR,V1,0,XX,V3,V2)^
   916					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
   917					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
   918					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
   919					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
   920
   921		525252	525252		F30060:	AA1=V1				;INITIAL C(AC)
   922	030715	200 14 0 00 044630 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
   923			000000			AA2=0				;INITIAL C(AC+1)
   924	030716	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
   925			000040			AEE=XX				;INITIAL C(E)
   926	030717	200 12 0 00 044650 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 2-4
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0033

   927	030720	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
   928		777777	777752			AR1=V3				;EXPECTED RESULT IN AC
   929	030721	312 14 0 00 044651 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
   930	030722	003 14 0 00 030061 		ER3	AC,30061		;HIGH PRODUCT FAILED
   931		652525	252500			AR2=V2				;EXPECTED RESULT IN AC+1
   932	030723	312 15 0 00 044652 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
   933	030724	004 15 0 00 030062 		ER4	AC+1,30062		;LOW PRODUCT FAILED
   934			000040			AEE=XX				;INITIAL C(E)
   935	030725	312 12 0 00 044650 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
   936	030726	005 12 0 00 030063 		ER5	E,30063			;C(E) WAS CLOBBERED
   937	030727	321 16 0 00 030715 		JUMPL	AC+2,F30060		;LOOP ON ERROR SWITCH^
   938
   939			003007			ADR=ADR+1
   940			000035			WW=WW-1
   941			000100			XX=XX+XX
   942						IFE	XX,<XX=1>
   943
   944					;MULTIPLY A FLOATING 1 BY 1010...101010
   945		525252	525252			V1=N1
   946		525252	525200			V2=N1*XX
   947						IFL	XX,<V3=N2+1>
   948		777777	777725			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
   949						MOP1	(\ADR,V1,0,XX,V3,V2)^
   950					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
   951					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
   952					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
   953					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
   954
   955		525252	525252		F30070:	AA1=V1				;INITIAL C(AC)
   956	030730	200 14 0 00 044630 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
   957			000000			AA2=0				;INITIAL C(AC+1)
   958	030731	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
   959			000100			AEE=XX				;INITIAL C(E)
   960	030732	200 12 0 00 044653 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
   961	030733	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
   962		777777	777725			AR1=V3				;EXPECTED RESULT IN AC
   963	030734	312 14 0 00 044654 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
   964	030735	003 14 0 00 030071 		ER3	AC,30071		;HIGH PRODUCT FAILED
   965		525252	525200			AR2=V2				;EXPECTED RESULT IN AC+1
   966	030736	312 15 0 00 044655 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
   967	030737	004 15 0 00 030072 		ER4	AC+1,30072		;LOW PRODUCT FAILED
   968			000100			AEE=XX				;INITIAL C(E)
   969	030740	312 12 0 00 044653 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
   970	030741	005 12 0 00 030073 		ER5	E,30073			;C(E) WAS CLOBBERED
   971	030742	321 16 0 00 030730 		JUMPL	AC+2,F30070		;LOOP ON ERROR SWITCH^
   972
   973			003010			ADR=ADR+1
   974			000034			WW=WW-1
   975			000200			XX=XX+XX
   976						IFE	XX,<XX=1>
   977
   978					;MULTIPLY A FLOATING 1 BY 1010...101010
   979		525252	525252			V1=N1
   980		652525	252400			V2=N1*XX
   981						IFL	XX,<V3=N2+1>
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 2-5
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0034

   982		777777	777652			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
   983						MOP1	(\ADR,V1,0,XX,V3,V2)^
   984					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
   985					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
   986					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
   987					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
   988
   989		525252	525252		F30100:	AA1=V1				;INITIAL C(AC)
   990	030743	200 14 0 00 044630 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
   991			000000			AA2=0				;INITIAL C(AC+1)
   992	030744	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
   993			000200			AEE=XX				;INITIAL C(E)
   994	030745	200 12 0 00 044656 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
   995	030746	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
   996		777777	777652			AR1=V3				;EXPECTED RESULT IN AC
   997	030747	312 14 0 00 044657 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
   998	030750	003 14 0 00 030101 		ER3	AC,30101		;HIGH PRODUCT FAILED
   999		652525	252400			AR2=V2				;EXPECTED RESULT IN AC+1
  1000	030751	312 15 0 00 044660 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1001	030752	004 15 0 00 030102 		ER4	AC+1,30102		;LOW PRODUCT FAILED
  1002			000200			AEE=XX				;INITIAL C(E)
  1003	030753	312 12 0 00 044656 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1004	030754	005 12 0 00 030103 		ER5	E,30103			;C(E) WAS CLOBBERED
  1005	030755	321 16 0 00 030743 		JUMPL	AC+2,F30100		;LOOP ON ERROR SWITCH^
  1006
  1007			003011			ADR=ADR+1
  1008			000033			WW=WW-1
  1009			000400			XX=XX+XX
  1010						IFE	XX,<XX=1>
  1011
  1012					;MULTIPLY A FLOATING 1 BY 1010...101010
  1013		525252	525252			V1=N1
  1014		525252	525000			V2=N1*XX
  1015						IFL	XX,<V3=N2+1>
  1016		777777	777525			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1017						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1018					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1019					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1020					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1021					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1022
  1023		525252	525252		F30110:	AA1=V1				;INITIAL C(AC)
  1024	030756	200 14 0 00 044630 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1025			000000			AA2=0				;INITIAL C(AC+1)
  1026	030757	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1027			000400			AEE=XX				;INITIAL C(E)
  1028	030760	200 12 0 00 044661 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1029	030761	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1030		777777	777525			AR1=V3				;EXPECTED RESULT IN AC
  1031	030762	312 14 0 00 044662 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1032	030763	003 14 0 00 030111 		ER3	AC,30111		;HIGH PRODUCT FAILED
  1033		525252	525000			AR2=V2				;EXPECTED RESULT IN AC+1
  1034	030764	312 15 0 00 044663 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1035	030765	004 15 0 00 030112 		ER4	AC+1,30112		;LOW PRODUCT FAILED
  1036			000400			AEE=XX				;INITIAL C(E)
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 2-6
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0035

  1037	030766	312 12 0 00 044661 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1038	030767	005 12 0 00 030113 		ER5	E,30113			;C(E) WAS CLOBBERED
  1039	030770	321 16 0 00 030756 		JUMPL	AC+2,F30110		;LOOP ON ERROR SWITCH^
  1040
  1041			003012			ADR=ADR+1
  1042			000032			WW=WW-1
  1043			001000			XX=XX+XX
  1044						IFE	XX,<XX=1>
  1045
  1046					;MULTIPLY A FLOATING 1 BY 1010...101010
  1047		525252	525252			V1=N1
  1048		652525	252000			V2=N1*XX
  1049						IFL	XX,<V3=N2+1>
  1050		777777	777252			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1051						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1052					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1053					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1054					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1055					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1056
  1057		525252	525252		F30120:	AA1=V1				;INITIAL C(AC)
  1058	030771	200 14 0 00 044630 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1059			000000			AA2=0				;INITIAL C(AC+1)
  1060	030772	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1061			001000			AEE=XX				;INITIAL C(E)
  1062	030773	200 12 0 00 044664 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1063	030774	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1064		777777	777252			AR1=V3				;EXPECTED RESULT IN AC
  1065	030775	312 14 0 00 044665 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1066	030776	003 14 0 00 030121 		ER3	AC,30121		;HIGH PRODUCT FAILED
  1067		652525	252000			AR2=V2				;EXPECTED RESULT IN AC+1
  1068	030777	312 15 0 00 044666 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1069	031000	004 15 0 00 030122 		ER4	AC+1,30122		;LOW PRODUCT FAILED
  1070			001000			AEE=XX				;INITIAL C(E)
  1071	031001	312 12 0 00 044664 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1072	031002	005 12 0 00 030123 		ER5	E,30123			;C(E) WAS CLOBBERED
  1073	031003	321 16 0 00 030771 		JUMPL	AC+2,F30120		;LOOP ON ERROR SWITCH^
  1074
  1075			003013			ADR=ADR+1
  1076			000031			WW=WW-1
  1077			002000			XX=XX+XX
  1078						IFE	XX,<XX=1>
  1079
  1080					;MULTIPLY A FLOATING 1 BY 1010...101010
  1081		525252	525252			V1=N1
  1082		525252	524000			V2=N1*XX
  1083						IFL	XX,<V3=N2+1>
  1084		777777	776525			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1085						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1086					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1087					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1088					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1089					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1090
  1091		525252	525252		F30130:	AA1=V1				;INITIAL C(AC)
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 2-7
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0036

  1092	031004	200 14 0 00 044630 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1093			000000			AA2=0				;INITIAL C(AC+1)
  1094	031005	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1095			002000			AEE=XX				;INITIAL C(E)
  1096	031006	200 12 0 00 044667 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1097	031007	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1098		777777	776525			AR1=V3				;EXPECTED RESULT IN AC
  1099	031010	312 14 0 00 044670 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1100	031011	003 14 0 00 030131 		ER3	AC,30131		;HIGH PRODUCT FAILED
  1101		525252	524000			AR2=V2				;EXPECTED RESULT IN AC+1
  1102	031012	312 15 0 00 044671 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1103	031013	004 15 0 00 030132 		ER4	AC+1,30132		;LOW PRODUCT FAILED
  1104			002000			AEE=XX				;INITIAL C(E)
  1105	031014	312 12 0 00 044667 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1106	031015	005 12 0 00 030133 		ER5	E,30133			;C(E) WAS CLOBBERED
  1107	031016	321 16 0 00 031004 		JUMPL	AC+2,F30130		;LOOP ON ERROR SWITCH^
  1108
  1109			003014			ADR=ADR+1
  1110			000030			WW=WW-1
  1111			004000			XX=XX+XX
  1112						IFE	XX,<XX=1>
  1113
  1114					;MULTIPLY A FLOATING 1 BY 1010...101010
  1115		525252	525252			V1=N1
  1116		652525	250000			V2=N1*XX
  1117						IFL	XX,<V3=N2+1>
  1118		777777	775252			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1119						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1120					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1121					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1122					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1123					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1124
  1125		525252	525252		F30140:	AA1=V1				;INITIAL C(AC)
  1126	031017	200 14 0 00 044630 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1127			000000			AA2=0				;INITIAL C(AC+1)
  1128	031020	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1129			004000			AEE=XX				;INITIAL C(E)
  1130	031021	200 12 0 00 044672 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1131	031022	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1132		777777	775252			AR1=V3				;EXPECTED RESULT IN AC
  1133	031023	312 14 0 00 044673 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1134	031024	003 14 0 00 030141 		ER3	AC,30141		;HIGH PRODUCT FAILED
  1135		652525	250000			AR2=V2				;EXPECTED RESULT IN AC+1
  1136	031025	312 15 0 00 044674 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1137	031026	004 15 0 00 030142 		ER4	AC+1,30142		;LOW PRODUCT FAILED
  1138			004000			AEE=XX				;INITIAL C(E)
  1139	031027	312 12 0 00 044672 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1140	031030	005 12 0 00 030143 		ER5	E,30143			;C(E) WAS CLOBBERED
  1141	031031	321 16 0 00 031017 		JUMPL	AC+2,F30140		;LOOP ON ERROR SWITCH^
  1142
  1143			003015			ADR=ADR+1
  1144			000027			WW=WW-1
  1145			010000			XX=XX+XX
  1146						IFE	XX,<XX=1>
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 2-8
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0037

  1147
  1148					;MULTIPLY A FLOATING 1 BY 1010...101010
  1149		525252	525252			V1=N1
  1150		525252	520000			V2=N1*XX
  1151						IFL	XX,<V3=N2+1>
  1152		777777	772525			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1153						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1154					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1155					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1156					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1157					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1158
  1159		525252	525252		F30150:	AA1=V1				;INITIAL C(AC)
  1160	031032	200 14 0 00 044630 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1161			000000			AA2=0				;INITIAL C(AC+1)
  1162	031033	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1163			010000			AEE=XX				;INITIAL C(E)
  1164	031034	200 12 0 00 044675 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1165	031035	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1166		777777	772525			AR1=V3				;EXPECTED RESULT IN AC
  1167	031036	312 14 0 00 044676 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1168	031037	003 14 0 00 030151 		ER3	AC,30151		;HIGH PRODUCT FAILED
  1169		525252	520000			AR2=V2				;EXPECTED RESULT IN AC+1
  1170	031040	312 15 0 00 044677 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1171	031041	004 15 0 00 030152 		ER4	AC+1,30152		;LOW PRODUCT FAILED
  1172			010000			AEE=XX				;INITIAL C(E)
  1173	031042	312 12 0 00 044675 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1174	031043	005 12 0 00 030153 		ER5	E,30153			;C(E) WAS CLOBBERED
  1175	031044	321 16 0 00 031032 		JUMPL	AC+2,F30150		;LOOP ON ERROR SWITCH^
  1176
  1177			003016			ADR=ADR+1
  1178			000026			WW=WW-1
  1179			020000			XX=XX+XX
  1180						IFE	XX,<XX=1>
  1181
  1182					;MULTIPLY A FLOATING 1 BY 1010...101010
  1183		525252	525252			V1=N1
  1184		652525	240000			V2=N1*XX
  1185						IFL	XX,<V3=N2+1>
  1186		777777	765252			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1187						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1188					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1189					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1190					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1191					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1192
  1193		525252	525252		F30160:	AA1=V1				;INITIAL C(AC)
  1194	031045	200 14 0 00 044630 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1195			000000			AA2=0				;INITIAL C(AC+1)
  1196	031046	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1197			020000			AEE=XX				;INITIAL C(E)
  1198	031047	200 12 0 00 044700 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1199	031050	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1200		777777	765252			AR1=V3				;EXPECTED RESULT IN AC
  1201	031051	312 14 0 00 044701 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 2-9
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0038

  1202	031052	003 14 0 00 030161 		ER3	AC,30161		;HIGH PRODUCT FAILED
  1203		652525	240000			AR2=V2				;EXPECTED RESULT IN AC+1
  1204	031053	312 15 0 00 044702 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1205	031054	004 15 0 00 030162 		ER4	AC+1,30162		;LOW PRODUCT FAILED
  1206			020000			AEE=XX				;INITIAL C(E)
  1207	031055	312 12 0 00 044700 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1208	031056	005 12 0 00 030163 		ER5	E,30163			;C(E) WAS CLOBBERED
  1209	031057	321 16 0 00 031045 		JUMPL	AC+2,F30160		;LOOP ON ERROR SWITCH^
  1210
  1211			003017			ADR=ADR+1
  1212			000025			WW=WW-1
  1213			040000			XX=XX+XX
  1214						IFE	XX,<XX=1>
  1215
  1216					;MULTIPLY A FLOATING 1 BY 1010...101010
  1217		525252	525252			V1=N1
  1218		525252	500000			V2=N1*XX
  1219						IFL	XX,<V3=N2+1>
  1220		777777	752525			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1221						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1222					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1223					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1224					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1225					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1226
  1227		525252	525252		F30170:	AA1=V1				;INITIAL C(AC)
  1228	031060	200 14 0 00 044630 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1229			000000			AA2=0				;INITIAL C(AC+1)
  1230	031061	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1231			040000			AEE=XX				;INITIAL C(E)
  1232	031062	200 12 0 00 044703 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1233	031063	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1234		777777	752525			AR1=V3				;EXPECTED RESULT IN AC
  1235	031064	312 14 0 00 044704 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1236	031065	003 14 0 00 030171 		ER3	AC,30171		;HIGH PRODUCT FAILED
  1237		525252	500000			AR2=V2				;EXPECTED RESULT IN AC+1
  1238	031066	312 15 0 00 044705 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1239	031067	004 15 0 00 030172 		ER4	AC+1,30172		;LOW PRODUCT FAILED
  1240			040000			AEE=XX				;INITIAL C(E)
  1241	031070	312 12 0 00 044703 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1242	031071	005 12 0 00 030173 		ER5	E,30173			;C(E) WAS CLOBBERED
  1243	031072	321 16 0 00 031060 		JUMPL	AC+2,F30170		;LOOP ON ERROR SWITCH^
  1244
  1245			003020			ADR=ADR+1
  1246			000024			WW=WW-1
  1247			100000			XX=XX+XX
  1248						IFE	XX,<XX=1>
  1249
  1250					;MULTIPLY A FLOATING 1 BY 1010...101010
  1251		525252	525252			V1=N1
  1252		652525	200000			V2=N1*XX
  1253						IFL	XX,<V3=N2+1>
  1254		777777	725252			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1255						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1256					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 2-10
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0039

  1257					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1258					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1259					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1260
  1261		525252	525252		F30200:	AA1=V1				;INITIAL C(AC)
  1262	031073	200 14 0 00 044630 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1263			000000			AA2=0				;INITIAL C(AC+1)
  1264	031074	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1265			100000			AEE=XX				;INITIAL C(E)
  1266	031075	200 12 0 00 044706 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1267	031076	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1268		777777	725252			AR1=V3				;EXPECTED RESULT IN AC
  1269	031077	312 14 0 00 044707 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1270	031100	003 14 0 00 030201 		ER3	AC,30201		;HIGH PRODUCT FAILED
  1271		652525	200000			AR2=V2				;EXPECTED RESULT IN AC+1
  1272	031101	312 15 0 00 044710 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1273	031102	004 15 0 00 030202 		ER4	AC+1,30202		;LOW PRODUCT FAILED
  1274			100000			AEE=XX				;INITIAL C(E)
  1275	031103	312 12 0 00 044706 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1276	031104	005 12 0 00 030203 		ER5	E,30203			;C(E) WAS CLOBBERED
  1277	031105	321 16 0 00 031073 		JUMPL	AC+2,F30200		;LOOP ON ERROR SWITCH^
  1278
  1279			003021			ADR=ADR+1
  1280			000023			WW=WW-1
  1281			200000			XX=XX+XX
  1282						IFE	XX,<XX=1>
  1283
  1284					;MULTIPLY A FLOATING 1 BY 1010...101010
  1285		525252	525252			V1=N1
  1286		525252	400000			V2=N1*XX
  1287						IFL	XX,<V3=N2+1>
  1288		777777	652525			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1289						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1290					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1291					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1292					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1293					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1294
  1295		525252	525252		F30210:	AA1=V1				;INITIAL C(AC)
  1296	031106	200 14 0 00 044630 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1297			000000			AA2=0				;INITIAL C(AC+1)
  1298	031107	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1299			200000			AEE=XX				;INITIAL C(E)
  1300	031110	200 12 0 00 044711 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1301	031111	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1302		777777	652525			AR1=V3				;EXPECTED RESULT IN AC
  1303	031112	312 14 0 00 044712 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1304	031113	003 14 0 00 030211 		ER3	AC,30211		;HIGH PRODUCT FAILED
  1305		525252	400000			AR2=V2				;EXPECTED RESULT IN AC+1
  1306	031114	312 15 0 00 044713 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1307	031115	004 15 0 00 030212 		ER4	AC+1,30212		;LOW PRODUCT FAILED
  1308			200000			AEE=XX				;INITIAL C(E)
  1309	031116	312 12 0 00 044711 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1310	031117	005 12 0 00 030213 		ER5	E,30213			;C(E) WAS CLOBBERED
  1311	031120	321 16 0 00 031106 		JUMPL	AC+2,F30210		;LOOP ON ERROR SWITCH^
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 2-11
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0040

  1312
  1313			003022			ADR=ADR+1
  1314			000022			WW=WW-1
  1315			400000			XX=XX+XX
  1316						IFE	XX,<XX=1>
  1317
  1318					;MULTIPLY A FLOATING 1 BY 1010...101010
  1319		525252	525252			V1=N1
  1320		652525	000000			V2=N1*XX
  1321						IFL	XX,<V3=N2+1>
  1322		777777	525252			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1323						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1324					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1325					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1326					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1327					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1328
  1329		525252	525252		F30220:	AA1=V1				;INITIAL C(AC)
  1330	031121	200 14 0 00 044630 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1331			000000			AA2=0				;INITIAL C(AC+1)
  1332	031122	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1333			400000			AEE=XX				;INITIAL C(E)
  1334	031123	200 12 0 00 044714 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1335	031124	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1336		777777	525252			AR1=V3				;EXPECTED RESULT IN AC
  1337	031125	312 14 0 00 044715 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1338	031126	003 14 0 00 030221 		ER3	AC,30221		;HIGH PRODUCT FAILED
  1339		652525	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  1340	031127	312 15 0 00 044716 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1341	031130	004 15 0 00 030222 		ER4	AC+1,30222		;LOW PRODUCT FAILED
  1342			400000			AEE=XX				;INITIAL C(E)
  1343	031131	312 12 0 00 044714 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1344	031132	005 12 0 00 030223 		ER5	E,30223			;C(E) WAS CLOBBERED
  1345	031133	321 16 0 00 031121 		JUMPL	AC+2,F30220		;LOOP ON ERROR SWITCH^
  1346
  1347			003023			ADR=ADR+1
  1348			000021			WW=WW-1
  1349		000001	000000			XX=XX+XX
  1350						IFE	XX,<XX=1>
  1351
  1352					;MULTIPLY A FLOATING 1 BY 1010...101010
  1353		525252	525252			V1=N1
  1354		525252	000000			V2=N1*XX
  1355						IFL	XX,<V3=N2+1>
  1356		777777	252525			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1357						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1358					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1359					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1360					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1361					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1362
  1363		525252	525252		F30230:	AA1=V1				;INITIAL C(AC)
  1364	031134	200 14 0 00 044630 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1365			000000			AA2=0				;INITIAL C(AC+1)
  1366	031135	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 2-12
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0041

  1367		000001	000000			AEE=XX				;INITIAL C(E)
  1368	031136	200 12 0 00 044717 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1369	031137	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1370		777777	252525			AR1=V3				;EXPECTED RESULT IN AC
  1371	031140	312 14 0 00 044720 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1372	031141	003 14 0 00 030231 		ER3	AC,30231		;HIGH PRODUCT FAILED
  1373		525252	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  1374	031142	312 15 0 00 044721 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1375	031143	004 15 0 00 030232 		ER4	AC+1,30232		;LOW PRODUCT FAILED
  1376		000001	000000			AEE=XX				;INITIAL C(E)
  1377	031144	312 12 0 00 044717 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1378	031145	005 12 0 00 030233 		ER5	E,30233			;C(E) WAS CLOBBERED
  1379	031146	321 16 0 00 031134 		JUMPL	AC+2,F30230		;LOOP ON ERROR SWITCH^
  1380
  1381			003024			ADR=ADR+1
  1382			000020			WW=WW-1
  1383		000002	000000			XX=XX+XX
  1384						IFE	XX,<XX=1>
  1385
  1386					;MULTIPLY A FLOATING 1 BY 1010...101010
  1387		525252	525252			V1=N1
  1388		652524	000000			V2=N1*XX
  1389						IFL	XX,<V3=N2+1>
  1390		777776	525252			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1391						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1392					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1393					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1394					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1395					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1396
  1397		525252	525252		F30240:	AA1=V1				;INITIAL C(AC)
  1398	031147	200 14 0 00 044630 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1399			000000			AA2=0				;INITIAL C(AC+1)
  1400	031150	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1401		000002	000000			AEE=XX				;INITIAL C(E)
  1402	031151	200 12 0 00 044722 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1403	031152	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1404		777776	525252			AR1=V3				;EXPECTED RESULT IN AC
  1405	031153	312 14 0 00 044723 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1406	031154	003 14 0 00 030241 		ER3	AC,30241		;HIGH PRODUCT FAILED
  1407		652524	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  1408	031155	312 15 0 00 044724 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1409	031156	004 15 0 00 030242 		ER4	AC+1,30242		;LOW PRODUCT FAILED
  1410		000002	000000			AEE=XX				;INITIAL C(E)
  1411	031157	312 12 0 00 044722 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1412	031160	005 12 0 00 030243 		ER5	E,30243			;C(E) WAS CLOBBERED
  1413	031161	321 16 0 00 031147 		JUMPL	AC+2,F30240		;LOOP ON ERROR SWITCH^
  1414
  1415			003025			ADR=ADR+1
  1416			000017			WW=WW-1
  1417		000004	000000			XX=XX+XX
  1418						IFE	XX,<XX=1>
  1419
  1420					;MULTIPLY A FLOATING 1 BY 1010...101010
  1421		525252	525252			V1=N1
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 2-13
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0042

  1422		525250	000000			V2=N1*XX
  1423						IFL	XX,<V3=N2+1>
  1424		777775	252525			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1425						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1426					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1427					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1428					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1429					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1430
  1431		525252	525252		F30250:	AA1=V1				;INITIAL C(AC)
  1432	031162	200 14 0 00 044630 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1433			000000			AA2=0				;INITIAL C(AC+1)
  1434	031163	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1435		000004	000000			AEE=XX				;INITIAL C(E)
  1436	031164	200 12 0 00 044725 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1437	031165	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1438		777775	252525			AR1=V3				;EXPECTED RESULT IN AC
  1439	031166	312 14 0 00 044726 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1440	031167	003 14 0 00 030251 		ER3	AC,30251		;HIGH PRODUCT FAILED
  1441		525250	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  1442	031170	312 15 0 00 044727 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1443	031171	004 15 0 00 030252 		ER4	AC+1,30252		;LOW PRODUCT FAILED
  1444		000004	000000			AEE=XX				;INITIAL C(E)
  1445	031172	312 12 0 00 044725 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1446	031173	005 12 0 00 030253 		ER5	E,30253			;C(E) WAS CLOBBERED
  1447	031174	321 16 0 00 031162 		JUMPL	AC+2,F30250		;LOOP ON ERROR SWITCH^
  1448
  1449			003026			ADR=ADR+1
  1450			000016			WW=WW-1
  1451		000010	000000			XX=XX+XX
  1452						IFE	XX,<XX=1>
  1453
  1454					;MULTIPLY A FLOATING 1 BY 1010...101010
  1455		525252	525252			V1=N1
  1456		652520	000000			V2=N1*XX
  1457						IFL	XX,<V3=N2+1>
  1458		777772	525252			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1459						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1460					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1461					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1462					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1463					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1464
  1465		525252	525252		F30260:	AA1=V1				;INITIAL C(AC)
  1466	031175	200 14 0 00 044630 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1467			000000			AA2=0				;INITIAL C(AC+1)
  1468	031176	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1469		000010	000000			AEE=XX				;INITIAL C(E)
  1470	031177	200 12 0 00 044730 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1471	031200	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1472		777772	525252			AR1=V3				;EXPECTED RESULT IN AC
  1473	031201	312 14 0 00 044731 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1474	031202	003 14 0 00 030261 		ER3	AC,30261		;HIGH PRODUCT FAILED
  1475		652520	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  1476	031203	312 15 0 00 044732 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 2-14
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0043

  1477	031204	004 15 0 00 030262 		ER4	AC+1,30262		;LOW PRODUCT FAILED
  1478		000010	000000			AEE=XX				;INITIAL C(E)
  1479	031205	312 12 0 00 044730 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1480	031206	005 12 0 00 030263 		ER5	E,30263			;C(E) WAS CLOBBERED
  1481	031207	321 16 0 00 031175 		JUMPL	AC+2,F30260		;LOOP ON ERROR SWITCH^
  1482
  1483			003027			ADR=ADR+1
  1484			000015			WW=WW-1
  1485		000020	000000			XX=XX+XX
  1486						IFE	XX,<XX=1>
  1487
  1488					;MULTIPLY A FLOATING 1 BY 1010...101010
  1489		525252	525252			V1=N1
  1490		525240	000000			V2=N1*XX
  1491						IFL	XX,<V3=N2+1>
  1492		777765	252525			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1493						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1494					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1495					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1496					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1497					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1498
  1499		525252	525252		F30270:	AA1=V1				;INITIAL C(AC)
  1500	031210	200 14 0 00 044630 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1501			000000			AA2=0				;INITIAL C(AC+1)
  1502	031211	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1503		000020	000000			AEE=XX				;INITIAL C(E)
  1504	031212	200 12 0 00 044733 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1505	031213	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1506		777765	252525			AR1=V3				;EXPECTED RESULT IN AC
  1507	031214	312 14 0 00 044734 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1508	031215	003 14 0 00 030271 		ER3	AC,30271		;HIGH PRODUCT FAILED
  1509		525240	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  1510	031216	312 15 0 00 044735 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1511	031217	004 15 0 00 030272 		ER4	AC+1,30272		;LOW PRODUCT FAILED
  1512		000020	000000			AEE=XX				;INITIAL C(E)
  1513	031220	312 12 0 00 044733 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1514	031221	005 12 0 00 030273 		ER5	E,30273			;C(E) WAS CLOBBERED
  1515	031222	321 16 0 00 031210 		JUMPL	AC+2,F30270		;LOOP ON ERROR SWITCH^
  1516
  1517			003030			ADR=ADR+1
  1518			000014			WW=WW-1
  1519		000040	000000			XX=XX+XX
  1520						IFE	XX,<XX=1>
  1521
  1522					;MULTIPLY A FLOATING 1 BY 1010...101010
  1523		525252	525252			V1=N1
  1524		652500	000000			V2=N1*XX
  1525						IFL	XX,<V3=N2+1>
  1526		777752	525252			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1527						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1528					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1529					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1530					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1531					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 2-15
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0044

  1532
  1533		525252	525252		F30300:	AA1=V1				;INITIAL C(AC)
  1534	031223	200 14 0 00 044630 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1535			000000			AA2=0				;INITIAL C(AC+1)
  1536	031224	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1537		000040	000000			AEE=XX				;INITIAL C(E)
  1538	031225	200 12 0 00 044736 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1539	031226	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1540		777752	525252			AR1=V3				;EXPECTED RESULT IN AC
  1541	031227	312 14 0 00 044737 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1542	031230	003 14 0 00 030301 		ER3	AC,30301		;HIGH PRODUCT FAILED
  1543		652500	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  1544	031231	312 15 0 00 044740 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1545	031232	004 15 0 00 030302 		ER4	AC+1,30302		;LOW PRODUCT FAILED
  1546		000040	000000			AEE=XX				;INITIAL C(E)
  1547	031233	312 12 0 00 044736 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1548	031234	005 12 0 00 030303 		ER5	E,30303			;C(E) WAS CLOBBERED
  1549	031235	321 16 0 00 031223 		JUMPL	AC+2,F30300		;LOOP ON ERROR SWITCH^
  1550
  1551			003031			ADR=ADR+1
  1552			000013			WW=WW-1
  1553		000100	000000			XX=XX+XX
  1554						IFE	XX,<XX=1>
  1555
  1556					;MULTIPLY A FLOATING 1 BY 1010...101010
  1557		525252	525252			V1=N1
  1558		525200	000000			V2=N1*XX
  1559						IFL	XX,<V3=N2+1>
  1560		777725	252525			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1561						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1562					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1563					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1564					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1565					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1566
  1567		525252	525252		F30310:	AA1=V1				;INITIAL C(AC)
  1568	031236	200 14 0 00 044630 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1569			000000			AA2=0				;INITIAL C(AC+1)
  1570	031237	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1571		000100	000000			AEE=XX				;INITIAL C(E)
  1572	031240	200 12 0 00 044741 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1573	031241	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1574		777725	252525			AR1=V3				;EXPECTED RESULT IN AC
  1575	031242	312 14 0 00 044742 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1576	031243	003 14 0 00 030311 		ER3	AC,30311		;HIGH PRODUCT FAILED
  1577		525200	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  1578	031244	312 15 0 00 044743 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1579	031245	004 15 0 00 030312 		ER4	AC+1,30312		;LOW PRODUCT FAILED
  1580		000100	000000			AEE=XX				;INITIAL C(E)
  1581	031246	312 12 0 00 044741 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1582	031247	005 12 0 00 030313 		ER5	E,30313			;C(E) WAS CLOBBERED
  1583	031250	321 16 0 00 031236 		JUMPL	AC+2,F30310		;LOOP ON ERROR SWITCH^
  1584
  1585			003032			ADR=ADR+1
  1586			000012			WW=WW-1
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 2-16
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0045

  1587		000200	000000			XX=XX+XX
  1588						IFE	XX,<XX=1>
  1589
  1590					;MULTIPLY A FLOATING 1 BY 1010...101010
  1591		525252	525252			V1=N1
  1592		652400	000000			V2=N1*XX
  1593						IFL	XX,<V3=N2+1>
  1594		777652	525252			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1595						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1596					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1597					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1598					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1599					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1600
  1601		525252	525252		F30320:	AA1=V1				;INITIAL C(AC)
  1602	031251	200 14 0 00 044630 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1603			000000			AA2=0				;INITIAL C(AC+1)
  1604	031252	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1605		000200	000000			AEE=XX				;INITIAL C(E)
  1606	031253	200 12 0 00 044744 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1607	031254	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1608		777652	525252			AR1=V3				;EXPECTED RESULT IN AC
  1609	031255	312 14 0 00 044745 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1610	031256	003 14 0 00 030321 		ER3	AC,30321		;HIGH PRODUCT FAILED
  1611		652400	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  1612	031257	312 15 0 00 044746 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1613	031260	004 15 0 00 030322 		ER4	AC+1,30322		;LOW PRODUCT FAILED
  1614		000200	000000			AEE=XX				;INITIAL C(E)
  1615	031261	312 12 0 00 044744 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1616	031262	005 12 0 00 030323 		ER5	E,30323			;C(E) WAS CLOBBERED
  1617	031263	321 16 0 00 031251 		JUMPL	AC+2,F30320		;LOOP ON ERROR SWITCH^
  1618
  1619			003033			ADR=ADR+1
  1620			000011			WW=WW-1
  1621		000400	000000			XX=XX+XX
  1622						IFE	XX,<XX=1>
  1623
  1624					;MULTIPLY A FLOATING 1 BY 1010...101010
  1625		525252	525252			V1=N1
  1626		525000	000000			V2=N1*XX
  1627						IFL	XX,<V3=N2+1>
  1628		777525	252525			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1629						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1630					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1631					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1632					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1633					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1634
  1635		525252	525252		F30330:	AA1=V1				;INITIAL C(AC)
  1636	031264	200 14 0 00 044630 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1637			000000			AA2=0				;INITIAL C(AC+1)
  1638	031265	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1639		000400	000000			AEE=XX				;INITIAL C(E)
  1640	031266	200 12 0 00 044747 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1641	031267	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 2-17
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0046

  1642		777525	252525			AR1=V3				;EXPECTED RESULT IN AC
  1643	031270	312 14 0 00 044750 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1644	031271	003 14 0 00 030331 		ER3	AC,30331		;HIGH PRODUCT FAILED
  1645		525000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  1646	031272	312 15 0 00 044751 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1647	031273	004 15 0 00 030332 		ER4	AC+1,30332		;LOW PRODUCT FAILED
  1648		000400	000000			AEE=XX				;INITIAL C(E)
  1649	031274	312 12 0 00 044747 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1650	031275	005 12 0 00 030333 		ER5	E,30333			;C(E) WAS CLOBBERED
  1651	031276	321 16 0 00 031264 		JUMPL	AC+2,F30330		;LOOP ON ERROR SWITCH^
  1652
  1653			003034			ADR=ADR+1
  1654			000010			WW=WW-1
  1655		001000	000000			XX=XX+XX
  1656						IFE	XX,<XX=1>
  1657
  1658					;MULTIPLY A FLOATING 1 BY 1010...101010
  1659		525252	525252			V1=N1
  1660		652000	000000			V2=N1*XX
  1661						IFL	XX,<V3=N2+1>
  1662		777252	525252			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1663						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1664					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1665					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1666					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1667					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1668
  1669		525252	525252		F30340:	AA1=V1				;INITIAL C(AC)
  1670	031277	200 14 0 00 044630 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1671			000000			AA2=0				;INITIAL C(AC+1)
  1672	031300	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1673		001000	000000			AEE=XX				;INITIAL C(E)
  1674	031301	200 12 0 00 044752 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1675	031302	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1676		777252	525252			AR1=V3				;EXPECTED RESULT IN AC
  1677	031303	312 14 0 00 044753 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1678	031304	003 14 0 00 030341 		ER3	AC,30341		;HIGH PRODUCT FAILED
  1679		652000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  1680	031305	312 15 0 00 044754 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1681	031306	004 15 0 00 030342 		ER4	AC+1,30342		;LOW PRODUCT FAILED
  1682		001000	000000			AEE=XX				;INITIAL C(E)
  1683	031307	312 12 0 00 044752 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1684	031310	005 12 0 00 030343 		ER5	E,30343			;C(E) WAS CLOBBERED
  1685	031311	321 16 0 00 031277 		JUMPL	AC+2,F30340		;LOOP ON ERROR SWITCH^
  1686
  1687			003035			ADR=ADR+1
  1688			000007			WW=WW-1
  1689		002000	000000			XX=XX+XX
  1690						IFE	XX,<XX=1>
  1691
  1692					;MULTIPLY A FLOATING 1 BY 1010...101010
  1693		525252	525252			V1=N1
  1694		524000	000000			V2=N1*XX
  1695						IFL	XX,<V3=N2+1>
  1696		776525	252525			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 2-18
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0047

  1697						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1698					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1699					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1700					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1701					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1702
  1703		525252	525252		F30350:	AA1=V1				;INITIAL C(AC)
  1704	031312	200 14 0 00 044630 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1705			000000			AA2=0				;INITIAL C(AC+1)
  1706	031313	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1707		002000	000000			AEE=XX				;INITIAL C(E)
  1708	031314	200 12 0 00 044755 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1709	031315	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1710		776525	252525			AR1=V3				;EXPECTED RESULT IN AC
  1711	031316	312 14 0 00 044756 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1712	031317	003 14 0 00 030351 		ER3	AC,30351		;HIGH PRODUCT FAILED
  1713		524000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  1714	031320	312 15 0 00 044757 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1715	031321	004 15 0 00 030352 		ER4	AC+1,30352		;LOW PRODUCT FAILED
  1716		002000	000000			AEE=XX				;INITIAL C(E)
  1717	031322	312 12 0 00 044755 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1718	031323	005 12 0 00 030353 		ER5	E,30353			;C(E) WAS CLOBBERED
  1719	031324	321 16 0 00 031312 		JUMPL	AC+2,F30350		;LOOP ON ERROR SWITCH^
  1720
  1721			003036			ADR=ADR+1
  1722			000006			WW=WW-1
  1723		004000	000000			XX=XX+XX
  1724						IFE	XX,<XX=1>
  1725
  1726					;MULTIPLY A FLOATING 1 BY 1010...101010
  1727		525252	525252			V1=N1
  1728		650000	000000			V2=N1*XX
  1729						IFL	XX,<V3=N2+1>
  1730		775252	525252			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1731						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1732					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1733					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1734					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1735					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1736
  1737		525252	525252		F30360:	AA1=V1				;INITIAL C(AC)
  1738	031325	200 14 0 00 044630 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1739			000000			AA2=0				;INITIAL C(AC+1)
  1740	031326	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1741		004000	000000			AEE=XX				;INITIAL C(E)
  1742	031327	200 12 0 00 044760 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1743	031330	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1744		775252	525252			AR1=V3				;EXPECTED RESULT IN AC
  1745	031331	312 14 0 00 044761 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1746	031332	003 14 0 00 030361 		ER3	AC,30361		;HIGH PRODUCT FAILED
  1747		650000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  1748	031333	312 15 0 00 044762 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1749	031334	004 15 0 00 030362 		ER4	AC+1,30362		;LOW PRODUCT FAILED
  1750		004000	000000			AEE=XX				;INITIAL C(E)
  1751	031335	312 12 0 00 044760 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 2-19
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0048

  1752	031336	005 12 0 00 030363 		ER5	E,30363			;C(E) WAS CLOBBERED
  1753	031337	321 16 0 00 031325 		JUMPL	AC+2,F30360		;LOOP ON ERROR SWITCH^
  1754
  1755			003037			ADR=ADR+1
  1756			000005			WW=WW-1
  1757		010000	000000			XX=XX+XX
  1758						IFE	XX,<XX=1>
  1759
  1760					;MULTIPLY A FLOATING 1 BY 1010...101010
  1761		525252	525252			V1=N1
  1762		520000	000000			V2=N1*XX
  1763						IFL	XX,<V3=N2+1>
  1764		772525	252525			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1765						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1766					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1767					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1768					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1769					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1770
  1771		525252	525252		F30370:	AA1=V1				;INITIAL C(AC)
  1772	031340	200 14 0 00 044630 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1773			000000			AA2=0				;INITIAL C(AC+1)
  1774	031341	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1775		010000	000000			AEE=XX				;INITIAL C(E)
  1776	031342	200 12 0 00 044763 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1777	031343	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1778		772525	252525			AR1=V3				;EXPECTED RESULT IN AC
  1779	031344	312 14 0 00 044764 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1780	031345	003 14 0 00 030371 		ER3	AC,30371		;HIGH PRODUCT FAILED
  1781		520000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  1782	031346	312 15 0 00 044765 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1783	031347	004 15 0 00 030372 		ER4	AC+1,30372		;LOW PRODUCT FAILED
  1784		010000	000000			AEE=XX				;INITIAL C(E)
  1785	031350	312 12 0 00 044763 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1786	031351	005 12 0 00 030373 		ER5	E,30373			;C(E) WAS CLOBBERED
  1787	031352	321 16 0 00 031340 		JUMPL	AC+2,F30370		;LOOP ON ERROR SWITCH^
  1788
  1789			003040			ADR=ADR+1
  1790			000004			WW=WW-1
  1791		020000	000000			XX=XX+XX
  1792						IFE	XX,<XX=1>
  1793
  1794					;MULTIPLY A FLOATING 1 BY 1010...101010
  1795		525252	525252			V1=N1
  1796		640000	000000			V2=N1*XX
  1797						IFL	XX,<V3=N2+1>
  1798		765252	525252			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1799						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1800					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1801					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1802					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1803					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1804
  1805		525252	525252		F30400:	AA1=V1				;INITIAL C(AC)
  1806	031353	200 14 0 00 044630 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 2-20
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0049

  1807			000000			AA2=0				;INITIAL C(AC+1)
  1808	031354	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1809		020000	000000			AEE=XX				;INITIAL C(E)
  1810	031355	200 12 0 00 044766 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1811	031356	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1812		765252	525252			AR1=V3				;EXPECTED RESULT IN AC
  1813	031357	312 14 0 00 044767 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1814	031360	003 14 0 00 030401 		ER3	AC,30401		;HIGH PRODUCT FAILED
  1815		640000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  1816	031361	312 15 0 00 044770 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1817	031362	004 15 0 00 030402 		ER4	AC+1,30402		;LOW PRODUCT FAILED
  1818		020000	000000			AEE=XX				;INITIAL C(E)
  1819	031363	312 12 0 00 044766 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1820	031364	005 12 0 00 030403 		ER5	E,30403			;C(E) WAS CLOBBERED
  1821	031365	321 16 0 00 031353 		JUMPL	AC+2,F30400		;LOOP ON ERROR SWITCH^
  1822
  1823			003041			ADR=ADR+1
  1824			000003			WW=WW-1
  1825		040000	000000			XX=XX+XX
  1826						IFE	XX,<XX=1>
  1827
  1828					;MULTIPLY A FLOATING 1 BY 1010...101010
  1829		525252	525252			V1=N1
  1830		500000	000000			V2=N1*XX
  1831						IFL	XX,<V3=N2+1>
  1832		752525	252525			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1833						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1834					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1835					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1836					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1837					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1838
  1839		525252	525252		F30410:	AA1=V1				;INITIAL C(AC)
  1840	031366	200 14 0 00 044630 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1841			000000			AA2=0				;INITIAL C(AC+1)
  1842	031367	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1843		040000	000000			AEE=XX				;INITIAL C(E)
  1844	031370	200 12 0 00 044771 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1845	031371	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1846		752525	252525			AR1=V3				;EXPECTED RESULT IN AC
  1847	031372	312 14 0 00 044772 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1848	031373	003 14 0 00 030411 		ER3	AC,30411		;HIGH PRODUCT FAILED
  1849		500000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  1850	031374	312 15 0 00 044773 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1851	031375	004 15 0 00 030412 		ER4	AC+1,30412		;LOW PRODUCT FAILED
  1852		040000	000000			AEE=XX				;INITIAL C(E)
  1853	031376	312 12 0 00 044771 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1854	031377	005 12 0 00 030413 		ER5	E,30413			;C(E) WAS CLOBBERED
  1855	031400	321 16 0 00 031366 		JUMPL	AC+2,F30410		;LOOP ON ERROR SWITCH^
  1856
  1857			003042			ADR=ADR+1
  1858			000002			WW=WW-1
  1859		100000	000000			XX=XX+XX
  1860						IFE	XX,<XX=1>
  1861
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 2-21
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0050

  1862					;MULTIPLY A FLOATING 1 BY 1010...101010
  1863		525252	525252			V1=N1
  1864		600000	000000			V2=N1*XX
  1865						IFL	XX,<V3=N2+1>
  1866		725252	525252			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1867						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1868					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1869					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1870					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1871					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1872
  1873		525252	525252		F30420:	AA1=V1				;INITIAL C(AC)
  1874	031401	200 14 0 00 044630 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1875			000000			AA2=0				;INITIAL C(AC+1)
  1876	031402	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1877		100000	000000			AEE=XX				;INITIAL C(E)
  1878	031403	200 12 0 00 044774 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1879	031404	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1880		725252	525252			AR1=V3				;EXPECTED RESULT IN AC
  1881	031405	312 14 0 00 044775 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1882	031406	003 14 0 00 030421 		ER3	AC,30421		;HIGH PRODUCT FAILED
  1883		600000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  1884	031407	312 15 0 00 044776 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1885	031410	004 15 0 00 030422 		ER4	AC+1,30422		;LOW PRODUCT FAILED
  1886		100000	000000			AEE=XX				;INITIAL C(E)
  1887	031411	312 12 0 00 044774 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1888	031412	005 12 0 00 030423 		ER5	E,30423			;C(E) WAS CLOBBERED
  1889	031413	321 16 0 00 031401 		JUMPL	AC+2,F30420		;LOOP ON ERROR SWITCH^
  1890
  1891			003043			ADR=ADR+1
  1892			000001			WW=WW-1
  1893		200000	000000			XX=XX+XX
  1894						IFE	XX,<XX=1>
  1895
  1896					;MULTIPLY A FLOATING 1 BY 1010...101010
  1897		525252	525252			V1=N1
  1898		400000	000000			V2=N1*XX
  1899						IFL	XX,<V3=N2+1>
  1900		652525	252525			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1901						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1902					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1903					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1904					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1905					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1906
  1907		525252	525252		F30430:	AA1=V1				;INITIAL C(AC)
  1908	031414	200 14 0 00 044630 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1909			000000			AA2=0				;INITIAL C(AC+1)
  1910	031415	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1911		200000	000000			AEE=XX				;INITIAL C(E)
  1912	031416	200 12 0 00 044777 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1913	031417	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1914		652525	252525			AR1=V3				;EXPECTED RESULT IN AC
  1915	031420	312 14 0 00 045000 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1916	031421	003 14 0 00 030431 		ER3	AC,30431		;HIGH PRODUCT FAILED
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 2-22
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0051

  1917		400000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  1918	031422	312 15 0 00 045001 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1919	031423	004 15 0 00 030432 		ER4	AC+1,30432		;LOW PRODUCT FAILED
  1920		200000	000000			AEE=XX				;INITIAL C(E)
  1921	031424	312 12 0 00 044777 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1922	031425	005 12 0 00 030433 		ER5	E,30433			;C(E) WAS CLOBBERED
  1923	031426	321 16 0 00 031414 		JUMPL	AC+2,F30430		;LOOP ON ERROR SWITCH^
  1924
  1925			003044			ADR=ADR+1
  1926			000000			WW=WW-1
  1927		400000	000000			XX=XX+XX
  1928						IFE	XX,<XX=1>
  1929
  1930					;MULTIPLY A FLOATING 1 BY 1010...101010
  1931		525252	525252			V1=N1
  1932			000000			V2=N1*XX
  1933		252525	252526			IFL	XX,<V3=N2+1>
  1934						IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1935						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1936					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1937					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1938					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1939					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1940
  1941		525252	525252		F30440:	AA1=V1				;INITIAL C(AC)
  1942	031427	200 14 0 00 044630 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1943			000000			AA2=0				;INITIAL C(AC+1)
  1944	031430	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1945		400000	000000			AEE=XX				;INITIAL C(E)
  1946	031431	200 12 0 00 045001 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1947	031432	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1948		252525	252526			AR1=V3				;EXPECTED RESULT IN AC
  1949	031433	312 14 0 00 045002 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1950	031434	003 14 0 00 030441 		ER3	AC,30441		;HIGH PRODUCT FAILED
  1951			000000			AR2=V2				;EXPECTED RESULT IN AC+1
  1952	031435	312 15 0 00 044631 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1953	031436	004 15 0 00 030442 		ER4	AC+1,30442		;LOW PRODUCT FAILED
  1954		400000	000000			AEE=XX				;INITIAL C(E)
  1955	031437	312 12 0 00 045001 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1956	031440	005 12 0 00 030443 		ER5	E,30443			;C(E) WAS CLOBBERED
  1957	031441	321 16 0 00 031427 		JUMPL	AC+2,F30440		;LOOP ON ERROR SWITCH^
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 3
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0052

  1958			000014			AC=14
  1959			000012			E=<AC-2>&17
  1960						SAVEAC	(1,1)^
  1961	031442	201 16 0 00 031442 		MOVEI	AC+2,.		;SAVE TEST PC
  1962	031443	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
  1963	031444	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  1964	031445	202 16 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  1965
  1966			000044			WW=^D36
  1967			000000			XX=0
  1968
  1969						REPEAT	^D36,<
  1970						ADR=ADR+1
  1971						WW=WW-1
  1972						XX=XX+XX
  1973						IFE	XX,<XX=1>
  1974					
  1975					;MULTIPLY 0101...0101 BY A FLOATING 1
  1976						V1=N2
  1977						V2=N2*XX
  1978						IFG	XX,<V3=<N2_<-WW>>>
  1979						IFL	XX,<V3=N1+1>
  1980						MOP1	(\ADR,XX,0,V1,V3,V2)>
  1981
  1982			003045			ADR=ADR+1
  1983			000043			WW=WW-1
  1984			000000			XX=XX+XX
  1985			000001			IFE	XX,<XX=1>
  1986
  1987					;MULTIPLY 0101...0101 BY A FLOATING 1
  1988		252525	252525			V1=N2
  1989		252525	252525			V2=N2*XX
  1990			000000			IFG	XX,<V3=<N2_<-WW>>>
  1991						IFL	XX,<V3=N1+1>
  1992						MOP1	(\ADR,XX,0,V1,V3,V2)^
  1993					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  1994					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1995					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  1996					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1997
  1998			000001		F30450:	AA1=XX				;INITIAL C(AC)
  1999	031446	200 14 0 00 044632 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2000			000000			AA2=0				;INITIAL C(AC+1)
  2001	031447	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2002		252525	252525			AEE=V1				;INITIAL C(E)
  2003	031450	200 12 0 00 045003 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2004	031451	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2005			000000			AR1=V3				;EXPECTED RESULT IN AC
  2006	031452	312 14 0 00 044631 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2007	031453	003 14 0 00 030451 		ER3	AC,30451		;HIGH PRODUCT FAILED
  2008		252525	252525			AR2=V2				;EXPECTED RESULT IN AC+1
  2009	031454	312 15 0 00 045003 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2010	031455	004 15 0 00 030452 		ER4	AC+1,30452		;LOW PRODUCT FAILED
  2011		252525	252525			AEE=V1				;INITIAL C(E)
  2012	031456	312 12 0 00 045003 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 3-1
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0053

  2013	031457	005 12 0 00 030453 		ER5	E,30453			;C(E) WAS CLOBBERED
  2014	031460	321 16 0 00 031446 		JUMPL	AC+2,F30450		;LOOP ON ERROR SWITCH^
  2015
  2016			003046			ADR=ADR+1
  2017			000042			WW=WW-1
  2018			000002			XX=XX+XX
  2019						IFE	XX,<XX=1>
  2020
  2021					;MULTIPLY 0101...0101 BY A FLOATING 1
  2022		252525	252525			V1=N2
  2023		125252	525252			V2=N2*XX
  2024			000001			IFG	XX,<V3=<N2_<-WW>>>
  2025						IFL	XX,<V3=N1+1>
  2026						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2027					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2028					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2029					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2030					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2031
  2032			000002		F30460:	AA1=XX				;INITIAL C(AC)
  2033	031461	200 14 0 00 044634 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2034			000000			AA2=0				;INITIAL C(AC+1)
  2035	031462	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2036		252525	252525			AEE=V1				;INITIAL C(E)
  2037	031463	200 12 0 00 045003 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2038	031464	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2039			000001			AR1=V3				;EXPECTED RESULT IN AC
  2040	031465	312 14 0 00 044632 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2041	031466	003 14 0 00 030461 		ER3	AC,30461		;HIGH PRODUCT FAILED
  2042		125252	525252			AR2=V2				;EXPECTED RESULT IN AC+1
  2043	031467	312 15 0 00 045004 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2044	031470	004 15 0 00 030462 		ER4	AC+1,30462		;LOW PRODUCT FAILED
  2045		252525	252525			AEE=V1				;INITIAL C(E)
  2046	031471	312 12 0 00 045003 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2047	031472	005 12 0 00 030463 		ER5	E,30463			;C(E) WAS CLOBBERED
  2048	031473	321 16 0 00 031461 		JUMPL	AC+2,F30460		;LOOP ON ERROR SWITCH^
  2049
  2050			003047			ADR=ADR+1
  2051			000041			WW=WW-1
  2052			000004			XX=XX+XX
  2053						IFE	XX,<XX=1>
  2054
  2055					;MULTIPLY 0101...0101 BY A FLOATING 1
  2056		252525	252525			V1=N2
  2057		252525	252524			V2=N2*XX
  2058			000002			IFG	XX,<V3=<N2_<-WW>>>
  2059						IFL	XX,<V3=N1+1>
  2060						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2061					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2062					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2063					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2064					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2065
  2066			000004		F30470:	AA1=XX				;INITIAL C(AC)
  2067	031474	200 14 0 00 044637 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 3-2
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0054

  2068			000000			AA2=0				;INITIAL C(AC+1)
  2069	031475	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2070		252525	252525			AEE=V1				;INITIAL C(E)
  2071	031476	200 12 0 00 045003 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2072	031477	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2073			000002			AR1=V3				;EXPECTED RESULT IN AC
  2074	031500	312 14 0 00 044634 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2075	031501	003 14 0 00 030471 		ER3	AC,30471		;HIGH PRODUCT FAILED
  2076		252525	252524			AR2=V2				;EXPECTED RESULT IN AC+1
  2077	031502	312 15 0 00 045005 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2078	031503	004 15 0 00 030472 		ER4	AC+1,30472		;LOW PRODUCT FAILED
  2079		252525	252525			AEE=V1				;INITIAL C(E)
  2080	031504	312 12 0 00 045003 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2081	031505	005 12 0 00 030473 		ER5	E,30473			;C(E) WAS CLOBBERED
  2082	031506	321 16 0 00 031474 		JUMPL	AC+2,F30470		;LOOP ON ERROR SWITCH^
  2083
  2084			003050			ADR=ADR+1
  2085			000040			WW=WW-1
  2086			000010			XX=XX+XX
  2087						IFE	XX,<XX=1>
  2088
  2089					;MULTIPLY 0101...0101 BY A FLOATING 1
  2090		252525	252525			V1=N2
  2091		125252	525250			V2=N2*XX
  2092			000005			IFG	XX,<V3=<N2_<-WW>>>
  2093						IFL	XX,<V3=N1+1>
  2094						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2095					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2096					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2097					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2098					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2099
  2100			000010		F30500:	AA1=XX				;INITIAL C(AC)
  2101	031507	200 14 0 00 044642 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2102			000000			AA2=0				;INITIAL C(AC+1)
  2103	031510	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2104		252525	252525			AEE=V1				;INITIAL C(E)
  2105	031511	200 12 0 00 045003 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2106	031512	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2107			000005			AR1=V3				;EXPECTED RESULT IN AC
  2108	031513	312 14 0 00 045006 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2109	031514	003 14 0 00 030501 		ER3	AC,30501		;HIGH PRODUCT FAILED
  2110		125252	525250			AR2=V2				;EXPECTED RESULT IN AC+1
  2111	031515	312 15 0 00 045007 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2112	031516	004 15 0 00 030502 		ER4	AC+1,30502		;LOW PRODUCT FAILED
  2113		252525	252525			AEE=V1				;INITIAL C(E)
  2114	031517	312 12 0 00 045003 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2115	031520	005 12 0 00 030503 		ER5	E,30503			;C(E) WAS CLOBBERED
  2116	031521	321 16 0 00 031507 		JUMPL	AC+2,F30500		;LOOP ON ERROR SWITCH^
  2117
  2118			003051			ADR=ADR+1
  2119			000037			WW=WW-1
  2120			000020			XX=XX+XX
  2121						IFE	XX,<XX=1>
  2122
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 3-3
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0055

  2123					;MULTIPLY 0101...0101 BY A FLOATING 1
  2124		252525	252525			V1=N2
  2125		252525	252520			V2=N2*XX
  2126			000012			IFG	XX,<V3=<N2_<-WW>>>
  2127						IFL	XX,<V3=N1+1>
  2128						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2129					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2130					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2131					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2132					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2133
  2134			000020		F30510:	AA1=XX				;INITIAL C(AC)
  2135	031522	200 14 0 00 044645 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2136			000000			AA2=0				;INITIAL C(AC+1)
  2137	031523	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2138		252525	252525			AEE=V1				;INITIAL C(E)
  2139	031524	200 12 0 00 045003 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2140	031525	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2141			000012			AR1=V3				;EXPECTED RESULT IN AC
  2142	031526	312 14 0 00 045010 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2143	031527	003 14 0 00 030511 		ER3	AC,30511		;HIGH PRODUCT FAILED
  2144		252525	252520			AR2=V2				;EXPECTED RESULT IN AC+1
  2145	031530	312 15 0 00 045011 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2146	031531	004 15 0 00 030512 		ER4	AC+1,30512		;LOW PRODUCT FAILED
  2147		252525	252525			AEE=V1				;INITIAL C(E)
  2148	031532	312 12 0 00 045003 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2149	031533	005 12 0 00 030513 		ER5	E,30513			;C(E) WAS CLOBBERED
  2150	031534	321 16 0 00 031522 		JUMPL	AC+2,F30510		;LOOP ON ERROR SWITCH^
  2151
  2152			003052			ADR=ADR+1
  2153			000036			WW=WW-1
  2154			000040			XX=XX+XX
  2155						IFE	XX,<XX=1>
  2156
  2157					;MULTIPLY 0101...0101 BY A FLOATING 1
  2158		252525	252525			V1=N2
  2159		125252	525240			V2=N2*XX
  2160			000025			IFG	XX,<V3=<N2_<-WW>>>
  2161						IFL	XX,<V3=N1+1>
  2162						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2163					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2164					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2165					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2166					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2167
  2168			000040		F30520:	AA1=XX				;INITIAL C(AC)
  2169	031535	200 14 0 00 044650 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2170			000000			AA2=0				;INITIAL C(AC+1)
  2171	031536	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2172		252525	252525			AEE=V1				;INITIAL C(E)
  2173	031537	200 12 0 00 045003 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2174	031540	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2175			000025			AR1=V3				;EXPECTED RESULT IN AC
  2176	031541	312 14 0 00 045012 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2177	031542	003 14 0 00 030521 		ER3	AC,30521		;HIGH PRODUCT FAILED
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 3-4
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0056

  2178		125252	525240			AR2=V2				;EXPECTED RESULT IN AC+1
  2179	031543	312 15 0 00 045013 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2180	031544	004 15 0 00 030522 		ER4	AC+1,30522		;LOW PRODUCT FAILED
  2181		252525	252525			AEE=V1				;INITIAL C(E)
  2182	031545	312 12 0 00 045003 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2183	031546	005 12 0 00 030523 		ER5	E,30523			;C(E) WAS CLOBBERED
  2184	031547	321 16 0 00 031535 		JUMPL	AC+2,F30520		;LOOP ON ERROR SWITCH^
  2185
  2186			003053			ADR=ADR+1
  2187			000035			WW=WW-1
  2188			000100			XX=XX+XX
  2189						IFE	XX,<XX=1>
  2190
  2191					;MULTIPLY 0101...0101 BY A FLOATING 1
  2192		252525	252525			V1=N2
  2193		252525	252500			V2=N2*XX
  2194			000052			IFG	XX,<V3=<N2_<-WW>>>
  2195						IFL	XX,<V3=N1+1>
  2196						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2197					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2198					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2199					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2200					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2201
  2202			000100		F30530:	AA1=XX				;INITIAL C(AC)
  2203	031550	200 14 0 00 044653 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2204			000000			AA2=0				;INITIAL C(AC+1)
  2205	031551	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2206		252525	252525			AEE=V1				;INITIAL C(E)
  2207	031552	200 12 0 00 045003 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2208	031553	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2209			000052			AR1=V3				;EXPECTED RESULT IN AC
  2210	031554	312 14 0 00 045014 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2211	031555	003 14 0 00 030531 		ER3	AC,30531		;HIGH PRODUCT FAILED
  2212		252525	252500			AR2=V2				;EXPECTED RESULT IN AC+1
  2213	031556	312 15 0 00 045015 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2214	031557	004 15 0 00 030532 		ER4	AC+1,30532		;LOW PRODUCT FAILED
  2215		252525	252525			AEE=V1				;INITIAL C(E)
  2216	031560	312 12 0 00 045003 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2217	031561	005 12 0 00 030533 		ER5	E,30533			;C(E) WAS CLOBBERED
  2218	031562	321 16 0 00 031550 		JUMPL	AC+2,F30530		;LOOP ON ERROR SWITCH^
  2219
  2220			003054			ADR=ADR+1
  2221			000034			WW=WW-1
  2222			000200			XX=XX+XX
  2223						IFE	XX,<XX=1>
  2224
  2225					;MULTIPLY 0101...0101 BY A FLOATING 1
  2226		252525	252525			V1=N2
  2227		125252	525200			V2=N2*XX
  2228			000125			IFG	XX,<V3=<N2_<-WW>>>
  2229						IFL	XX,<V3=N1+1>
  2230						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2231					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2232					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 3-5
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0057

  2233					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2234					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2235
  2236			000200		F30540:	AA1=XX				;INITIAL C(AC)
  2237	031563	200 14 0 00 044656 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2238			000000			AA2=0				;INITIAL C(AC+1)
  2239	031564	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2240		252525	252525			AEE=V1				;INITIAL C(E)
  2241	031565	200 12 0 00 045003 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2242	031566	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2243			000125			AR1=V3				;EXPECTED RESULT IN AC
  2244	031567	312 14 0 00 045016 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2245	031570	003 14 0 00 030541 		ER3	AC,30541		;HIGH PRODUCT FAILED
  2246		125252	525200			AR2=V2				;EXPECTED RESULT IN AC+1
  2247	031571	312 15 0 00 045017 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2248	031572	004 15 0 00 030542 		ER4	AC+1,30542		;LOW PRODUCT FAILED
  2249		252525	252525			AEE=V1				;INITIAL C(E)
  2250	031573	312 12 0 00 045003 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2251	031574	005 12 0 00 030543 		ER5	E,30543			;C(E) WAS CLOBBERED
  2252	031575	321 16 0 00 031563 		JUMPL	AC+2,F30540		;LOOP ON ERROR SWITCH^
  2253
  2254			003055			ADR=ADR+1
  2255			000033			WW=WW-1
  2256			000400			XX=XX+XX
  2257						IFE	XX,<XX=1>
  2258
  2259					;MULTIPLY 0101...0101 BY A FLOATING 1
  2260		252525	252525			V1=N2
  2261		252525	252400			V2=N2*XX
  2262			000252			IFG	XX,<V3=<N2_<-WW>>>
  2263						IFL	XX,<V3=N1+1>
  2264						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2265					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2266					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2267					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2268					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2269
  2270			000400		F30550:	AA1=XX				;INITIAL C(AC)
  2271	031576	200 14 0 00 044661 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2272			000000			AA2=0				;INITIAL C(AC+1)
  2273	031577	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2274		252525	252525			AEE=V1				;INITIAL C(E)
  2275	031600	200 12 0 00 045003 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2276	031601	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2277			000252			AR1=V3				;EXPECTED RESULT IN AC
  2278	031602	312 14 0 00 045020 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2279	031603	003 14 0 00 030551 		ER3	AC,30551		;HIGH PRODUCT FAILED
  2280		252525	252400			AR2=V2				;EXPECTED RESULT IN AC+1
  2281	031604	312 15 0 00 045021 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2282	031605	004 15 0 00 030552 		ER4	AC+1,30552		;LOW PRODUCT FAILED
  2283		252525	252525			AEE=V1				;INITIAL C(E)
  2284	031606	312 12 0 00 045003 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2285	031607	005 12 0 00 030553 		ER5	E,30553			;C(E) WAS CLOBBERED
  2286	031610	321 16 0 00 031576 		JUMPL	AC+2,F30550		;LOOP ON ERROR SWITCH^
  2287
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 3-6
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0058

  2288			003056			ADR=ADR+1
  2289			000032			WW=WW-1
  2290			001000			XX=XX+XX
  2291						IFE	XX,<XX=1>
  2292
  2293					;MULTIPLY 0101...0101 BY A FLOATING 1
  2294		252525	252525			V1=N2
  2295		125252	525000			V2=N2*XX
  2296			000525			IFG	XX,<V3=<N2_<-WW>>>
  2297						IFL	XX,<V3=N1+1>
  2298						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2299					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2300					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2301					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2302					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2303
  2304			001000		F30560:	AA1=XX				;INITIAL C(AC)
  2305	031611	200 14 0 00 044664 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2306			000000			AA2=0				;INITIAL C(AC+1)
  2307	031612	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2308		252525	252525			AEE=V1				;INITIAL C(E)
  2309	031613	200 12 0 00 045003 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2310	031614	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2311			000525			AR1=V3				;EXPECTED RESULT IN AC
  2312	031615	312 14 0 00 045022 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2313	031616	003 14 0 00 030561 		ER3	AC,30561		;HIGH PRODUCT FAILED
  2314		125252	525000			AR2=V2				;EXPECTED RESULT IN AC+1
  2315	031617	312 15 0 00 045023 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2316	031620	004 15 0 00 030562 		ER4	AC+1,30562		;LOW PRODUCT FAILED
  2317		252525	252525			AEE=V1				;INITIAL C(E)
  2318	031621	312 12 0 00 045003 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2319	031622	005 12 0 00 030563 		ER5	E,30563			;C(E) WAS CLOBBERED
  2320	031623	321 16 0 00 031611 		JUMPL	AC+2,F30560		;LOOP ON ERROR SWITCH^
  2321
  2322			003057			ADR=ADR+1
  2323			000031			WW=WW-1
  2324			002000			XX=XX+XX
  2325						IFE	XX,<XX=1>
  2326
  2327					;MULTIPLY 0101...0101 BY A FLOATING 1
  2328		252525	252525			V1=N2
  2329		252525	252000			V2=N2*XX
  2330			001252			IFG	XX,<V3=<N2_<-WW>>>
  2331						IFL	XX,<V3=N1+1>
  2332						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2333					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2334					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2335					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2336					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2337
  2338			002000		F30570:	AA1=XX				;INITIAL C(AC)
  2339	031624	200 14 0 00 044667 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2340			000000			AA2=0				;INITIAL C(AC+1)
  2341	031625	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2342		252525	252525			AEE=V1				;INITIAL C(E)
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 3-7
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0059

  2343	031626	200 12 0 00 045003 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2344	031627	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2345			001252			AR1=V3				;EXPECTED RESULT IN AC
  2346	031630	312 14 0 00 045024 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2347	031631	003 14 0 00 030571 		ER3	AC,30571		;HIGH PRODUCT FAILED
  2348		252525	252000			AR2=V2				;EXPECTED RESULT IN AC+1
  2349	031632	312 15 0 00 045025 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2350	031633	004 15 0 00 030572 		ER4	AC+1,30572		;LOW PRODUCT FAILED
  2351		252525	252525			AEE=V1				;INITIAL C(E)
  2352	031634	312 12 0 00 045003 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2353	031635	005 12 0 00 030573 		ER5	E,30573			;C(E) WAS CLOBBERED
  2354	031636	321 16 0 00 031624 		JUMPL	AC+2,F30570		;LOOP ON ERROR SWITCH^
  2355
  2356			003060			ADR=ADR+1
  2357			000030			WW=WW-1
  2358			004000			XX=XX+XX
  2359						IFE	XX,<XX=1>
  2360
  2361					;MULTIPLY 0101...0101 BY A FLOATING 1
  2362		252525	252525			V1=N2
  2363		125252	524000			V2=N2*XX
  2364			002525			IFG	XX,<V3=<N2_<-WW>>>
  2365						IFL	XX,<V3=N1+1>
  2366						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2367					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2368					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2369					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2370					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2371
  2372			004000		F30600:	AA1=XX				;INITIAL C(AC)
  2373	031637	200 14 0 00 044672 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2374			000000			AA2=0				;INITIAL C(AC+1)
  2375	031640	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2376		252525	252525			AEE=V1				;INITIAL C(E)
  2377	031641	200 12 0 00 045003 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2378	031642	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2379			002525			AR1=V3				;EXPECTED RESULT IN AC
  2380	031643	312 14 0 00 045026 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2381	031644	003 14 0 00 030601 		ER3	AC,30601		;HIGH PRODUCT FAILED
  2382		125252	524000			AR2=V2				;EXPECTED RESULT IN AC+1
  2383	031645	312 15 0 00 045027 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2384	031646	004 15 0 00 030602 		ER4	AC+1,30602		;LOW PRODUCT FAILED
  2385		252525	252525			AEE=V1				;INITIAL C(E)
  2386	031647	312 12 0 00 045003 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2387	031650	005 12 0 00 030603 		ER5	E,30603			;C(E) WAS CLOBBERED
  2388	031651	321 16 0 00 031637 		JUMPL	AC+2,F30600		;LOOP ON ERROR SWITCH^
  2389
  2390			003061			ADR=ADR+1
  2391			000027			WW=WW-1
  2392			010000			XX=XX+XX
  2393						IFE	XX,<XX=1>
  2394
  2395					;MULTIPLY 0101...0101 BY A FLOATING 1
  2396		252525	252525			V1=N2
  2397		252525	250000			V2=N2*XX
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 3-8
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0060

  2398			005252			IFG	XX,<V3=<N2_<-WW>>>
  2399						IFL	XX,<V3=N1+1>
  2400						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2401					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2402					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2403					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2404					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2405
  2406			010000		F30610:	AA1=XX				;INITIAL C(AC)
  2407	031652	200 14 0 00 044675 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2408			000000			AA2=0				;INITIAL C(AC+1)
  2409	031653	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2410		252525	252525			AEE=V1				;INITIAL C(E)
  2411	031654	200 12 0 00 045003 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2412	031655	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2413			005252			AR1=V3				;EXPECTED RESULT IN AC
  2414	031656	312 14 0 00 045030 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2415	031657	003 14 0 00 030611 		ER3	AC,30611		;HIGH PRODUCT FAILED
  2416		252525	250000			AR2=V2				;EXPECTED RESULT IN AC+1
  2417	031660	312 15 0 00 045031 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2418	031661	004 15 0 00 030612 		ER4	AC+1,30612		;LOW PRODUCT FAILED
  2419		252525	252525			AEE=V1				;INITIAL C(E)
  2420	031662	312 12 0 00 045003 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2421	031663	005 12 0 00 030613 		ER5	E,30613			;C(E) WAS CLOBBERED
  2422	031664	321 16 0 00 031652 		JUMPL	AC+2,F30610		;LOOP ON ERROR SWITCH^
  2423
  2424			003062			ADR=ADR+1
  2425			000026			WW=WW-1
  2426			020000			XX=XX+XX
  2427						IFE	XX,<XX=1>
  2428
  2429					;MULTIPLY 0101...0101 BY A FLOATING 1
  2430		252525	252525			V1=N2
  2431		125252	520000			V2=N2*XX
  2432			012525			IFG	XX,<V3=<N2_<-WW>>>
  2433						IFL	XX,<V3=N1+1>
  2434						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2435					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2436					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2437					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2438					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2439
  2440			020000		F30620:	AA1=XX				;INITIAL C(AC)
  2441	031665	200 14 0 00 044700 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2442			000000			AA2=0				;INITIAL C(AC+1)
  2443	031666	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2444		252525	252525			AEE=V1				;INITIAL C(E)
  2445	031667	200 12 0 00 045003 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2446	031670	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2447			012525			AR1=V3				;EXPECTED RESULT IN AC
  2448	031671	312 14 0 00 045032 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2449	031672	003 14 0 00 030621 		ER3	AC,30621		;HIGH PRODUCT FAILED
  2450		125252	520000			AR2=V2				;EXPECTED RESULT IN AC+1
  2451	031673	312 15 0 00 045033 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2452	031674	004 15 0 00 030622 		ER4	AC+1,30622		;LOW PRODUCT FAILED
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 3-9
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0061

  2453		252525	252525			AEE=V1				;INITIAL C(E)
  2454	031675	312 12 0 00 045003 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2455	031676	005 12 0 00 030623 		ER5	E,30623			;C(E) WAS CLOBBERED
  2456	031677	321 16 0 00 031665 		JUMPL	AC+2,F30620		;LOOP ON ERROR SWITCH^
  2457
  2458			003063			ADR=ADR+1
  2459			000025			WW=WW-1
  2460			040000			XX=XX+XX
  2461						IFE	XX,<XX=1>
  2462
  2463					;MULTIPLY 0101...0101 BY A FLOATING 1
  2464		252525	252525			V1=N2
  2465		252525	240000			V2=N2*XX
  2466			025252			IFG	XX,<V3=<N2_<-WW>>>
  2467						IFL	XX,<V3=N1+1>
  2468						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2469					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2470					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2471					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2472					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2473
  2474			040000		F30630:	AA1=XX				;INITIAL C(AC)
  2475	031700	200 14 0 00 044703 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2476			000000			AA2=0				;INITIAL C(AC+1)
  2477	031701	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2478		252525	252525			AEE=V1				;INITIAL C(E)
  2479	031702	200 12 0 00 045003 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2480	031703	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2481			025252			AR1=V3				;EXPECTED RESULT IN AC
  2482	031704	312 14 0 00 045034 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2483	031705	003 14 0 00 030631 		ER3	AC,30631		;HIGH PRODUCT FAILED
  2484		252525	240000			AR2=V2				;EXPECTED RESULT IN AC+1
  2485	031706	312 15 0 00 045035 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2486	031707	004 15 0 00 030632 		ER4	AC+1,30632		;LOW PRODUCT FAILED
  2487		252525	252525			AEE=V1				;INITIAL C(E)
  2488	031710	312 12 0 00 045003 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2489	031711	005 12 0 00 030633 		ER5	E,30633			;C(E) WAS CLOBBERED
  2490	031712	321 16 0 00 031700 		JUMPL	AC+2,F30630		;LOOP ON ERROR SWITCH^
  2491
  2492			003064			ADR=ADR+1
  2493			000024			WW=WW-1
  2494			100000			XX=XX+XX
  2495						IFE	XX,<XX=1>
  2496
  2497					;MULTIPLY 0101...0101 BY A FLOATING 1
  2498		252525	252525			V1=N2
  2499		125252	500000			V2=N2*XX
  2500			052525			IFG	XX,<V3=<N2_<-WW>>>
  2501						IFL	XX,<V3=N1+1>
  2502						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2503					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2504					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2505					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2506					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2507
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 3-10
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0062

  2508			100000		F30640:	AA1=XX				;INITIAL C(AC)
  2509	031713	200 14 0 00 044706 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2510			000000			AA2=0				;INITIAL C(AC+1)
  2511	031714	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2512		252525	252525			AEE=V1				;INITIAL C(E)
  2513	031715	200 12 0 00 045003 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2514	031716	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2515			052525			AR1=V3				;EXPECTED RESULT IN AC
  2516	031717	312 14 0 00 045036 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2517	031720	003 14 0 00 030641 		ER3	AC,30641		;HIGH PRODUCT FAILED
  2518		125252	500000			AR2=V2				;EXPECTED RESULT IN AC+1
  2519	031721	312 15 0 00 045037 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2520	031722	004 15 0 00 030642 		ER4	AC+1,30642		;LOW PRODUCT FAILED
  2521		252525	252525			AEE=V1				;INITIAL C(E)
  2522	031723	312 12 0 00 045003 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2523	031724	005 12 0 00 030643 		ER5	E,30643			;C(E) WAS CLOBBERED
  2524	031725	321 16 0 00 031713 		JUMPL	AC+2,F30640		;LOOP ON ERROR SWITCH^
  2525
  2526			003065			ADR=ADR+1
  2527			000023			WW=WW-1
  2528			200000			XX=XX+XX
  2529						IFE	XX,<XX=1>
  2530
  2531					;MULTIPLY 0101...0101 BY A FLOATING 1
  2532		252525	252525			V1=N2
  2533		252525	200000			V2=N2*XX
  2534			125252			IFG	XX,<V3=<N2_<-WW>>>
  2535						IFL	XX,<V3=N1+1>
  2536						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2537					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2538					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2539					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2540					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2541
  2542			200000		F30650:	AA1=XX				;INITIAL C(AC)
  2543	031726	200 14 0 00 044711 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2544			000000			AA2=0				;INITIAL C(AC+1)
  2545	031727	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2546		252525	252525			AEE=V1				;INITIAL C(E)
  2547	031730	200 12 0 00 045003 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2548	031731	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2549			125252			AR1=V3				;EXPECTED RESULT IN AC
  2550	031732	312 14 0 00 045040 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2551	031733	003 14 0 00 030651 		ER3	AC,30651		;HIGH PRODUCT FAILED
  2552		252525	200000			AR2=V2				;EXPECTED RESULT IN AC+1
  2553	031734	312 15 0 00 045041 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2554	031735	004 15 0 00 030652 		ER4	AC+1,30652		;LOW PRODUCT FAILED
  2555		252525	252525			AEE=V1				;INITIAL C(E)
  2556	031736	312 12 0 00 045003 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2557	031737	005 12 0 00 030653 		ER5	E,30653			;C(E) WAS CLOBBERED
  2558	031740	321 16 0 00 031726 		JUMPL	AC+2,F30650		;LOOP ON ERROR SWITCH^
  2559
  2560			003066			ADR=ADR+1
  2561			000022			WW=WW-1
  2562			400000			XX=XX+XX
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 3-11
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0063

  2563						IFE	XX,<XX=1>
  2564
  2565					;MULTIPLY 0101...0101 BY A FLOATING 1
  2566		252525	252525			V1=N2
  2567		125252	400000			V2=N2*XX
  2568			252525			IFG	XX,<V3=<N2_<-WW>>>
  2569						IFL	XX,<V3=N1+1>
  2570						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2571					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2572					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2573					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2574					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2575
  2576			400000		F30660:	AA1=XX				;INITIAL C(AC)
  2577	031741	200 14 0 00 044714 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2578			000000			AA2=0				;INITIAL C(AC+1)
  2579	031742	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2580		252525	252525			AEE=V1				;INITIAL C(E)
  2581	031743	200 12 0 00 045003 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2582	031744	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2583			252525			AR1=V3				;EXPECTED RESULT IN AC
  2584	031745	312 14 0 00 045042 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2585	031746	003 14 0 00 030661 		ER3	AC,30661		;HIGH PRODUCT FAILED
  2586		125252	400000			AR2=V2				;EXPECTED RESULT IN AC+1
  2587	031747	312 15 0 00 045043 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2588	031750	004 15 0 00 030662 		ER4	AC+1,30662		;LOW PRODUCT FAILED
  2589		252525	252525			AEE=V1				;INITIAL C(E)
  2590	031751	312 12 0 00 045003 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2591	031752	005 12 0 00 030663 		ER5	E,30663			;C(E) WAS CLOBBERED
  2592	031753	321 16 0 00 031741 		JUMPL	AC+2,F30660		;LOOP ON ERROR SWITCH^
  2593
  2594			003067			ADR=ADR+1
  2595			000021			WW=WW-1
  2596		000001	000000			XX=XX+XX
  2597						IFE	XX,<XX=1>
  2598
  2599					;MULTIPLY 0101...0101 BY A FLOATING 1
  2600		252525	252525			V1=N2
  2601		252525	000000			V2=N2*XX
  2602			525252			IFG	XX,<V3=<N2_<-WW>>>
  2603						IFL	XX,<V3=N1+1>
  2604						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2605					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2606					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2607					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2608					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2609
  2610		000001	000000		F30670:	AA1=XX				;INITIAL C(AC)
  2611	031754	200 14 0 00 044717 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2612			000000			AA2=0				;INITIAL C(AC+1)
  2613	031755	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2614		252525	252525			AEE=V1				;INITIAL C(E)
  2615	031756	200 12 0 00 045003 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2616	031757	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2617			525252			AR1=V3				;EXPECTED RESULT IN AC
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 3-12
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0064

  2618	031760	312 14 0 00 045044 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2619	031761	003 14 0 00 030671 		ER3	AC,30671		;HIGH PRODUCT FAILED
  2620		252525	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  2621	031762	312 15 0 00 045045 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2622	031763	004 15 0 00 030672 		ER4	AC+1,30672		;LOW PRODUCT FAILED
  2623		252525	252525			AEE=V1				;INITIAL C(E)
  2624	031764	312 12 0 00 045003 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2625	031765	005 12 0 00 030673 		ER5	E,30673			;C(E) WAS CLOBBERED
  2626	031766	321 16 0 00 031754 		JUMPL	AC+2,F30670		;LOOP ON ERROR SWITCH^
  2627
  2628			003070			ADR=ADR+1
  2629			000020			WW=WW-1
  2630		000002	000000			XX=XX+XX
  2631						IFE	XX,<XX=1>
  2632
  2633					;MULTIPLY 0101...0101 BY A FLOATING 1
  2634		252525	252525			V1=N2
  2635		125252	000000			V2=N2*XX
  2636		000001	252525			IFG	XX,<V3=<N2_<-WW>>>
  2637						IFL	XX,<V3=N1+1>
  2638						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2639					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2640					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2641					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2642					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2643
  2644		000002	000000		F30700:	AA1=XX				;INITIAL C(AC)
  2645	031767	200 14 0 00 044722 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2646			000000			AA2=0				;INITIAL C(AC+1)
  2647	031770	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2648		252525	252525			AEE=V1				;INITIAL C(E)
  2649	031771	200 12 0 00 045003 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2650	031772	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2651		000001	252525			AR1=V3				;EXPECTED RESULT IN AC
  2652	031773	312 14 0 00 045046 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2653	031774	003 14 0 00 030701 		ER3	AC,30701		;HIGH PRODUCT FAILED
  2654		125252	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  2655	031775	312 15 0 00 045047 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2656	031776	004 15 0 00 030702 		ER4	AC+1,30702		;LOW PRODUCT FAILED
  2657		252525	252525			AEE=V1				;INITIAL C(E)
  2658	031777	312 12 0 00 045003 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2659	032000	005 12 0 00 030703 		ER5	E,30703			;C(E) WAS CLOBBERED
  2660	032001	321 16 0 00 031767 		JUMPL	AC+2,F30700		;LOOP ON ERROR SWITCH^
  2661
  2662			003071			ADR=ADR+1
  2663			000017			WW=WW-1
  2664		000004	000000			XX=XX+XX
  2665						IFE	XX,<XX=1>
  2666
  2667					;MULTIPLY 0101...0101 BY A FLOATING 1
  2668		252525	252525			V1=N2
  2669		252524	000000			V2=N2*XX
  2670		000002	525252			IFG	XX,<V3=<N2_<-WW>>>
  2671						IFL	XX,<V3=N1+1>
  2672						MOP1	(\ADR,XX,0,V1,V3,V2)^
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 3-13
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0065

  2673					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2674					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2675					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2676					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2677
  2678		000004	000000		F30710:	AA1=XX				;INITIAL C(AC)
  2679	032002	200 14 0 00 044725 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2680			000000			AA2=0				;INITIAL C(AC+1)
  2681	032003	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2682		252525	252525			AEE=V1				;INITIAL C(E)
  2683	032004	200 12 0 00 045003 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2684	032005	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2685		000002	525252			AR1=V3				;EXPECTED RESULT IN AC
  2686	032006	312 14 0 00 045050 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2687	032007	003 14 0 00 030711 		ER3	AC,30711		;HIGH PRODUCT FAILED
  2688		252524	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  2689	032010	312 15 0 00 045051 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2690	032011	004 15 0 00 030712 		ER4	AC+1,30712		;LOW PRODUCT FAILED
  2691		252525	252525			AEE=V1				;INITIAL C(E)
  2692	032012	312 12 0 00 045003 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2693	032013	005 12 0 00 030713 		ER5	E,30713			;C(E) WAS CLOBBERED
  2694	032014	321 16 0 00 032002 		JUMPL	AC+2,F30710		;LOOP ON ERROR SWITCH^
  2695
  2696			003072			ADR=ADR+1
  2697			000016			WW=WW-1
  2698		000010	000000			XX=XX+XX
  2699						IFE	XX,<XX=1>
  2700
  2701					;MULTIPLY 0101...0101 BY A FLOATING 1
  2702		252525	252525			V1=N2
  2703		125250	000000			V2=N2*XX
  2704		000005	252525			IFG	XX,<V3=<N2_<-WW>>>
  2705						IFL	XX,<V3=N1+1>
  2706						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2707					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2708					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2709					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2710					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2711
  2712		000010	000000		F30720:	AA1=XX				;INITIAL C(AC)
  2713	032015	200 14 0 00 044730 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2714			000000			AA2=0				;INITIAL C(AC+1)
  2715	032016	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2716		252525	252525			AEE=V1				;INITIAL C(E)
  2717	032017	200 12 0 00 045003 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2718	032020	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2719		000005	252525			AR1=V3				;EXPECTED RESULT IN AC
  2720	032021	312 14 0 00 045052 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2721	032022	003 14 0 00 030721 		ER3	AC,30721		;HIGH PRODUCT FAILED
  2722		125250	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  2723	032023	312 15 0 00 045053 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2724	032024	004 15 0 00 030722 		ER4	AC+1,30722		;LOW PRODUCT FAILED
  2725		252525	252525			AEE=V1				;INITIAL C(E)
  2726	032025	312 12 0 00 045003 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2727	032026	005 12 0 00 030723 		ER5	E,30723			;C(E) WAS CLOBBERED
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 3-14
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0066

  2728	032027	321 16 0 00 032015 		JUMPL	AC+2,F30720		;LOOP ON ERROR SWITCH^
  2729
  2730			003073			ADR=ADR+1
  2731			000015			WW=WW-1
  2732		000020	000000			XX=XX+XX
  2733						IFE	XX,<XX=1>
  2734
  2735					;MULTIPLY 0101...0101 BY A FLOATING 1
  2736		252525	252525			V1=N2
  2737		252520	000000			V2=N2*XX
  2738		000012	525252			IFG	XX,<V3=<N2_<-WW>>>
  2739						IFL	XX,<V3=N1+1>
  2740						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2741					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2742					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2743					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2744					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2745
  2746		000020	000000		F30730:	AA1=XX				;INITIAL C(AC)
  2747	032030	200 14 0 00 044733 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2748			000000			AA2=0				;INITIAL C(AC+1)
  2749	032031	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2750		252525	252525			AEE=V1				;INITIAL C(E)
  2751	032032	200 12 0 00 045003 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2752	032033	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2753		000012	525252			AR1=V3				;EXPECTED RESULT IN AC
  2754	032034	312 14 0 00 045054 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2755	032035	003 14 0 00 030731 		ER3	AC,30731		;HIGH PRODUCT FAILED
  2756		252520	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  2757	032036	312 15 0 00 045055 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2758	032037	004 15 0 00 030732 		ER4	AC+1,30732		;LOW PRODUCT FAILED
  2759		252525	252525			AEE=V1				;INITIAL C(E)
  2760	032040	312 12 0 00 045003 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2761	032041	005 12 0 00 030733 		ER5	E,30733			;C(E) WAS CLOBBERED
  2762	032042	321 16 0 00 032030 		JUMPL	AC+2,F30730		;LOOP ON ERROR SWITCH^
  2763
  2764			003074			ADR=ADR+1
  2765			000014			WW=WW-1
  2766		000040	000000			XX=XX+XX
  2767						IFE	XX,<XX=1>
  2768
  2769					;MULTIPLY 0101...0101 BY A FLOATING 1
  2770		252525	252525			V1=N2
  2771		125240	000000			V2=N2*XX
  2772		000025	252525			IFG	XX,<V3=<N2_<-WW>>>
  2773						IFL	XX,<V3=N1+1>
  2774						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2775					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2776					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2777					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2778					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2779
  2780		000040	000000		F30740:	AA1=XX				;INITIAL C(AC)
  2781	032043	200 14 0 00 044736 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2782			000000			AA2=0				;INITIAL C(AC+1)
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 3-15
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0067

  2783	032044	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2784		252525	252525			AEE=V1				;INITIAL C(E)
  2785	032045	200 12 0 00 045003 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2786	032046	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2787		000025	252525			AR1=V3				;EXPECTED RESULT IN AC
  2788	032047	312 14 0 00 045056 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2789	032050	003 14 0 00 030741 		ER3	AC,30741		;HIGH PRODUCT FAILED
  2790		125240	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  2791	032051	312 15 0 00 045057 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2792	032052	004 15 0 00 030742 		ER4	AC+1,30742		;LOW PRODUCT FAILED
  2793		252525	252525			AEE=V1				;INITIAL C(E)
  2794	032053	312 12 0 00 045003 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2795	032054	005 12 0 00 030743 		ER5	E,30743			;C(E) WAS CLOBBERED
  2796	032055	321 16 0 00 032043 		JUMPL	AC+2,F30740		;LOOP ON ERROR SWITCH^
  2797
  2798			003075			ADR=ADR+1
  2799			000013			WW=WW-1
  2800		000100	000000			XX=XX+XX
  2801						IFE	XX,<XX=1>
  2802
  2803					;MULTIPLY 0101...0101 BY A FLOATING 1
  2804		252525	252525			V1=N2
  2805		252500	000000			V2=N2*XX
  2806		000052	525252			IFG	XX,<V3=<N2_<-WW>>>
  2807						IFL	XX,<V3=N1+1>
  2808						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2809					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2810					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2811					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2812					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2813
  2814		000100	000000		F30750:	AA1=XX				;INITIAL C(AC)
  2815	032056	200 14 0 00 044741 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2816			000000			AA2=0				;INITIAL C(AC+1)
  2817	032057	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2818		252525	252525			AEE=V1				;INITIAL C(E)
  2819	032060	200 12 0 00 045003 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2820	032061	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2821		000052	525252			AR1=V3				;EXPECTED RESULT IN AC
  2822	032062	312 14 0 00 045060 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2823	032063	003 14 0 00 030751 		ER3	AC,30751		;HIGH PRODUCT FAILED
  2824		252500	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  2825	032064	312 15 0 00 045061 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2826	032065	004 15 0 00 030752 		ER4	AC+1,30752		;LOW PRODUCT FAILED
  2827		252525	252525			AEE=V1				;INITIAL C(E)
  2828	032066	312 12 0 00 045003 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2829	032067	005 12 0 00 030753 		ER5	E,30753			;C(E) WAS CLOBBERED
  2830	032070	321 16 0 00 032056 		JUMPL	AC+2,F30750		;LOOP ON ERROR SWITCH^
  2831
  2832			003076			ADR=ADR+1
  2833			000012			WW=WW-1
  2834		000200	000000			XX=XX+XX
  2835						IFE	XX,<XX=1>
  2836
  2837					;MULTIPLY 0101...0101 BY A FLOATING 1
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 3-16
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0068

  2838		252525	252525			V1=N2
  2839		125200	000000			V2=N2*XX
  2840		000125	252525			IFG	XX,<V3=<N2_<-WW>>>
  2841						IFL	XX,<V3=N1+1>
  2842						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2843					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2844					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2845					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2846					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2847
  2848		000200	000000		F30760:	AA1=XX				;INITIAL C(AC)
  2849	032071	200 14 0 00 044744 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2850			000000			AA2=0				;INITIAL C(AC+1)
  2851	032072	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2852		252525	252525			AEE=V1				;INITIAL C(E)
  2853	032073	200 12 0 00 045003 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2854	032074	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2855		000125	252525			AR1=V3				;EXPECTED RESULT IN AC
  2856	032075	312 14 0 00 045062 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2857	032076	003 14 0 00 030761 		ER3	AC,30761		;HIGH PRODUCT FAILED
  2858		125200	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  2859	032077	312 15 0 00 045063 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2860	032100	004 15 0 00 030762 		ER4	AC+1,30762		;LOW PRODUCT FAILED
  2861		252525	252525			AEE=V1				;INITIAL C(E)
  2862	032101	312 12 0 00 045003 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2863	032102	005 12 0 00 030763 		ER5	E,30763			;C(E) WAS CLOBBERED
  2864	032103	321 16 0 00 032071 		JUMPL	AC+2,F30760		;LOOP ON ERROR SWITCH^
  2865
  2866			003077			ADR=ADR+1
  2867			000011			WW=WW-1
  2868		000400	000000			XX=XX+XX
  2869						IFE	XX,<XX=1>
  2870
  2871					;MULTIPLY 0101...0101 BY A FLOATING 1
  2872		252525	252525			V1=N2
  2873		252400	000000			V2=N2*XX
  2874		000252	525252			IFG	XX,<V3=<N2_<-WW>>>
  2875						IFL	XX,<V3=N1+1>
  2876						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2877					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2878					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2879					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2880					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2881
  2882		000400	000000		F30770:	AA1=XX				;INITIAL C(AC)
  2883	032104	200 14 0 00 044747 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2884			000000			AA2=0				;INITIAL C(AC+1)
  2885	032105	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2886		252525	252525			AEE=V1				;INITIAL C(E)
  2887	032106	200 12 0 00 045003 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2888	032107	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2889		000252	525252			AR1=V3				;EXPECTED RESULT IN AC
  2890	032110	312 14 0 00 045064 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2891	032111	003 14 0 00 030771 		ER3	AC,30771		;HIGH PRODUCT FAILED
  2892		252400	000000			AR2=V2				;EXPECTED RESULT IN AC+1
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 3-17
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0069

  2893	032112	312 15 0 00 045065 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2894	032113	004 15 0 00 030772 		ER4	AC+1,30772		;LOW PRODUCT FAILED
  2895		252525	252525			AEE=V1				;INITIAL C(E)
  2896	032114	312 12 0 00 045003 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2897	032115	005 12 0 00 030773 		ER5	E,30773			;C(E) WAS CLOBBERED
  2898	032116	321 16 0 00 032104 		JUMPL	AC+2,F30770		;LOOP ON ERROR SWITCH^
  2899
  2900			003100			ADR=ADR+1
  2901			000010			WW=WW-1
  2902		001000	000000			XX=XX+XX
  2903						IFE	XX,<XX=1>
  2904
  2905					;MULTIPLY 0101...0101 BY A FLOATING 1
  2906		252525	252525			V1=N2
  2907		125000	000000			V2=N2*XX
  2908		000525	252525			IFG	XX,<V3=<N2_<-WW>>>
  2909						IFL	XX,<V3=N1+1>
  2910						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2911					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2912					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2913					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2914					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2915
  2916		001000	000000		F31000:	AA1=XX				;INITIAL C(AC)
  2917	032117	200 14 0 00 044752 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2918			000000			AA2=0				;INITIAL C(AC+1)
  2919	032120	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2920		252525	252525			AEE=V1				;INITIAL C(E)
  2921	032121	200 12 0 00 045003 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2922	032122	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2923		000525	252525			AR1=V3				;EXPECTED RESULT IN AC
  2924	032123	312 14 0 00 045066 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2925	032124	003 14 0 00 031001 		ER3	AC,31001		;HIGH PRODUCT FAILED
  2926		125000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  2927	032125	312 15 0 00 045067 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2928	032126	004 15 0 00 031002 		ER4	AC+1,31002		;LOW PRODUCT FAILED
  2929		252525	252525			AEE=V1				;INITIAL C(E)
  2930	032127	312 12 0 00 045003 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2931	032130	005 12 0 00 031003 		ER5	E,31003			;C(E) WAS CLOBBERED
  2932	032131	321 16 0 00 032117 		JUMPL	AC+2,F31000		;LOOP ON ERROR SWITCH^
  2933
  2934			003101			ADR=ADR+1
  2935			000007			WW=WW-1
  2936		002000	000000			XX=XX+XX
  2937						IFE	XX,<XX=1>
  2938
  2939					;MULTIPLY 0101...0101 BY A FLOATING 1
  2940		252525	252525			V1=N2
  2941		252000	000000			V2=N2*XX
  2942		001252	525252			IFG	XX,<V3=<N2_<-WW>>>
  2943						IFL	XX,<V3=N1+1>
  2944						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2945					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2946					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2947					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 3-18
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0070

  2948					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2949
  2950		002000	000000		F31010:	AA1=XX				;INITIAL C(AC)
  2951	032132	200 14 0 00 044755 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2952			000000			AA2=0				;INITIAL C(AC+1)
  2953	032133	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2954		252525	252525			AEE=V1				;INITIAL C(E)
  2955	032134	200 12 0 00 045003 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2956	032135	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2957		001252	525252			AR1=V3				;EXPECTED RESULT IN AC
  2958	032136	312 14 0 00 045070 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2959	032137	003 14 0 00 031011 		ER3	AC,31011		;HIGH PRODUCT FAILED
  2960		252000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  2961	032140	312 15 0 00 045071 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2962	032141	004 15 0 00 031012 		ER4	AC+1,31012		;LOW PRODUCT FAILED
  2963		252525	252525			AEE=V1				;INITIAL C(E)
  2964	032142	312 12 0 00 045003 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2965	032143	005 12 0 00 031013 		ER5	E,31013			;C(E) WAS CLOBBERED
  2966	032144	321 16 0 00 032132 		JUMPL	AC+2,F31010		;LOOP ON ERROR SWITCH^
  2967
  2968			003102			ADR=ADR+1
  2969			000006			WW=WW-1
  2970		004000	000000			XX=XX+XX
  2971						IFE	XX,<XX=1>
  2972
  2973					;MULTIPLY 0101...0101 BY A FLOATING 1
  2974		252525	252525			V1=N2
  2975		124000	000000			V2=N2*XX
  2976		002525	252525			IFG	XX,<V3=<N2_<-WW>>>
  2977						IFL	XX,<V3=N1+1>
  2978						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2979					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2980					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2981					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2982					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2983
  2984		004000	000000		F31020:	AA1=XX				;INITIAL C(AC)
  2985	032145	200 14 0 00 044760 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2986			000000			AA2=0				;INITIAL C(AC+1)
  2987	032146	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2988		252525	252525			AEE=V1				;INITIAL C(E)
  2989	032147	200 12 0 00 045003 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2990	032150	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2991		002525	252525			AR1=V3				;EXPECTED RESULT IN AC
  2992	032151	312 14 0 00 045072 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2993	032152	003 14 0 00 031021 		ER3	AC,31021		;HIGH PRODUCT FAILED
  2994		124000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  2995	032153	312 15 0 00 045073 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2996	032154	004 15 0 00 031022 		ER4	AC+1,31022		;LOW PRODUCT FAILED
  2997		252525	252525			AEE=V1				;INITIAL C(E)
  2998	032155	312 12 0 00 045003 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2999	032156	005 12 0 00 031023 		ER5	E,31023			;C(E) WAS CLOBBERED
  3000	032157	321 16 0 00 032145 		JUMPL	AC+2,F31020		;LOOP ON ERROR SWITCH^
  3001
  3002			003103			ADR=ADR+1
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 3-19
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0071

  3003			000005			WW=WW-1
  3004		010000	000000			XX=XX+XX
  3005						IFE	XX,<XX=1>
  3006
  3007					;MULTIPLY 0101...0101 BY A FLOATING 1
  3008		252525	252525			V1=N2
  3009		250000	000000			V2=N2*XX
  3010		005252	525252			IFG	XX,<V3=<N2_<-WW>>>
  3011						IFL	XX,<V3=N1+1>
  3012						MOP1	(\ADR,XX,0,V1,V3,V2)^
  3013					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  3014					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3015					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  3016					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3017
  3018		010000	000000		F31030:	AA1=XX				;INITIAL C(AC)
  3019	032160	200 14 0 00 044763 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  3020			000000			AA2=0				;INITIAL C(AC+1)
  3021	032161	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3022		252525	252525			AEE=V1				;INITIAL C(E)
  3023	032162	200 12 0 00 045003 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  3024	032163	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3025		005252	525252			AR1=V3				;EXPECTED RESULT IN AC
  3026	032164	312 14 0 00 045074 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3027	032165	003 14 0 00 031031 		ER3	AC,31031		;HIGH PRODUCT FAILED
  3028		250000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  3029	032166	312 15 0 00 045075 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3030	032167	004 15 0 00 031032 		ER4	AC+1,31032		;LOW PRODUCT FAILED
  3031		252525	252525			AEE=V1				;INITIAL C(E)
  3032	032170	312 12 0 00 045003 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  3033	032171	005 12 0 00 031033 		ER5	E,31033			;C(E) WAS CLOBBERED
  3034	032172	321 16 0 00 032160 		JUMPL	AC+2,F31030		;LOOP ON ERROR SWITCH^
  3035
  3036			003104			ADR=ADR+1
  3037			000004			WW=WW-1
  3038		020000	000000			XX=XX+XX
  3039						IFE	XX,<XX=1>
  3040
  3041					;MULTIPLY 0101...0101 BY A FLOATING 1
  3042		252525	252525			V1=N2
  3043		120000	000000			V2=N2*XX
  3044		012525	252525			IFG	XX,<V3=<N2_<-WW>>>
  3045						IFL	XX,<V3=N1+1>
  3046						MOP1	(\ADR,XX,0,V1,V3,V2)^
  3047					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  3048					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3049					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  3050					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3051
  3052		020000	000000		F31040:	AA1=XX				;INITIAL C(AC)
  3053	032173	200 14 0 00 044766 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  3054			000000			AA2=0				;INITIAL C(AC+1)
  3055	032174	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3056		252525	252525			AEE=V1				;INITIAL C(E)
  3057	032175	200 12 0 00 045003 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 3-20
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0072

  3058	032176	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3059		012525	252525			AR1=V3				;EXPECTED RESULT IN AC
  3060	032177	312 14 0 00 045076 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3061	032200	003 14 0 00 031041 		ER3	AC,31041		;HIGH PRODUCT FAILED
  3062		120000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  3063	032201	312 15 0 00 045077 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3064	032202	004 15 0 00 031042 		ER4	AC+1,31042		;LOW PRODUCT FAILED
  3065		252525	252525			AEE=V1				;INITIAL C(E)
  3066	032203	312 12 0 00 045003 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  3067	032204	005 12 0 00 031043 		ER5	E,31043			;C(E) WAS CLOBBERED
  3068	032205	321 16 0 00 032173 		JUMPL	AC+2,F31040		;LOOP ON ERROR SWITCH^
  3069
  3070			003105			ADR=ADR+1
  3071			000003			WW=WW-1
  3072		040000	000000			XX=XX+XX
  3073						IFE	XX,<XX=1>
  3074
  3075					;MULTIPLY 0101...0101 BY A FLOATING 1
  3076		252525	252525			V1=N2
  3077		240000	000000			V2=N2*XX
  3078		025252	525252			IFG	XX,<V3=<N2_<-WW>>>
  3079						IFL	XX,<V3=N1+1>
  3080						MOP1	(\ADR,XX,0,V1,V3,V2)^
  3081					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  3082					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3083					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  3084					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3085
  3086		040000	000000		F31050:	AA1=XX				;INITIAL C(AC)
  3087	032206	200 14 0 00 044771 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  3088			000000			AA2=0				;INITIAL C(AC+1)
  3089	032207	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3090		252525	252525			AEE=V1				;INITIAL C(E)
  3091	032210	200 12 0 00 045003 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  3092	032211	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3093		025252	525252			AR1=V3				;EXPECTED RESULT IN AC
  3094	032212	312 14 0 00 045100 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3095	032213	003 14 0 00 031051 		ER3	AC,31051		;HIGH PRODUCT FAILED
  3096		240000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  3097	032214	312 15 0 00 045101 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3098	032215	004 15 0 00 031052 		ER4	AC+1,31052		;LOW PRODUCT FAILED
  3099		252525	252525			AEE=V1				;INITIAL C(E)
  3100	032216	312 12 0 00 045003 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  3101	032217	005 12 0 00 031053 		ER5	E,31053			;C(E) WAS CLOBBERED
  3102	032220	321 16 0 00 032206 		JUMPL	AC+2,F31050		;LOOP ON ERROR SWITCH^
  3103
  3104			003106			ADR=ADR+1
  3105			000002			WW=WW-1
  3106		100000	000000			XX=XX+XX
  3107						IFE	XX,<XX=1>
  3108
  3109					;MULTIPLY 0101...0101 BY A FLOATING 1
  3110		252525	252525			V1=N2
  3111		100000	000000			V2=N2*XX
  3112		052525	252525			IFG	XX,<V3=<N2_<-WW>>>
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 3-21
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0073

  3113						IFL	XX,<V3=N1+1>
  3114						MOP1	(\ADR,XX,0,V1,V3,V2)^
  3115					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  3116					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3117					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  3118					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3119
  3120		100000	000000		F31060:	AA1=XX				;INITIAL C(AC)
  3121	032221	200 14 0 00 044774 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  3122			000000			AA2=0				;INITIAL C(AC+1)
  3123	032222	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3124		252525	252525			AEE=V1				;INITIAL C(E)
  3125	032223	200 12 0 00 045003 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  3126	032224	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3127		052525	252525			AR1=V3				;EXPECTED RESULT IN AC
  3128	032225	312 14 0 00 045102 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3129	032226	003 14 0 00 031061 		ER3	AC,31061		;HIGH PRODUCT FAILED
  3130		100000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  3131	032227	312 15 0 00 044774 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3132	032230	004 15 0 00 031062 		ER4	AC+1,31062		;LOW PRODUCT FAILED
  3133		252525	252525			AEE=V1				;INITIAL C(E)
  3134	032231	312 12 0 00 045003 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  3135	032232	005 12 0 00 031063 		ER5	E,31063			;C(E) WAS CLOBBERED
  3136	032233	321 16 0 00 032221 		JUMPL	AC+2,F31060		;LOOP ON ERROR SWITCH^
  3137
  3138			003107			ADR=ADR+1
  3139			000001			WW=WW-1
  3140		200000	000000			XX=XX+XX
  3141						IFE	XX,<XX=1>
  3142
  3143					;MULTIPLY 0101...0101 BY A FLOATING 1
  3144		252525	252525			V1=N2
  3145		200000	000000			V2=N2*XX
  3146		125252	525252			IFG	XX,<V3=<N2_<-WW>>>
  3147						IFL	XX,<V3=N1+1>
  3148						MOP1	(\ADR,XX,0,V1,V3,V2)^
  3149					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  3150					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3151					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  3152					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3153
  3154		200000	000000		F31070:	AA1=XX				;INITIAL C(AC)
  3155	032234	200 14 0 00 044777 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  3156			000000			AA2=0				;INITIAL C(AC+1)
  3157	032235	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3158		252525	252525			AEE=V1				;INITIAL C(E)
  3159	032236	200 12 0 00 045003 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  3160	032237	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3161		125252	525252			AR1=V3				;EXPECTED RESULT IN AC
  3162	032240	312 14 0 00 045004 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3163	032241	003 14 0 00 031071 		ER3	AC,31071		;HIGH PRODUCT FAILED
  3164		200000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  3165	032242	312 15 0 00 044777 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3166	032243	004 15 0 00 031072 		ER4	AC+1,31072		;LOW PRODUCT FAILED
  3167		252525	252525			AEE=V1				;INITIAL C(E)
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 3-22
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0074

  3168	032244	312 12 0 00 045003 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  3169	032245	005 12 0 00 031073 		ER5	E,31073			;C(E) WAS CLOBBERED
  3170	032246	321 16 0 00 032234 		JUMPL	AC+2,F31070		;LOOP ON ERROR SWITCH^
  3171
  3172			003110			ADR=ADR+1
  3173			000000			WW=WW-1
  3174		400000	000000			XX=XX+XX
  3175						IFE	XX,<XX=1>
  3176
  3177					;MULTIPLY 0101...0101 BY A FLOATING 1
  3178		252525	252525			V1=N2
  3179		400000	000000			V2=N2*XX
  3180						IFG	XX,<V3=<N2_<-WW>>>
  3181		525252	525253			IFL	XX,<V3=N1+1>
  3182						MOP1	(\ADR,XX,0,V1,V3,V2)^
  3183					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  3184					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3185					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  3186					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3187
  3188		400000	000000		F31100:	AA1=XX				;INITIAL C(AC)
  3189	032247	200 14 0 00 045001 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  3190			000000			AA2=0				;INITIAL C(AC+1)
  3191	032250	200 15 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3192		252525	252525			AEE=V1				;INITIAL C(E)
  3193	032251	200 12 0 00 045003 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  3194	032252	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3195		525252	525253			AR1=V3				;EXPECTED RESULT IN AC
  3196	032253	312 14 0 00 045103 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3197	032254	003 14 0 00 031101 		ER3	AC,31101		;HIGH PRODUCT FAILED
  3198		400000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  3199	032255	312 15 0 00 045001 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3200	032256	004 15 0 00 031102 		ER4	AC+1,31102		;LOW PRODUCT FAILED
  3201		252525	252525			AEE=V1				;INITIAL C(E)
  3202	032257	312 12 0 00 045003 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  3203	032260	005 12 0 00 031103 		ER5	E,31103			;C(E) WAS CLOBBERED
  3204	032261	321 16 0 00 032247 		JUMPL	AC+2,F31100		;LOOP ON ERROR SWITCH^
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 4
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0075

  3205			000013			AC=13
  3206			000011			E=<AC-2>&17
  3207						SAVEAC	(1,1)^
  3208	032262	201 15 0 00 032262 		MOVEI	AC+2,.		;SAVE TEST PC
  3209	032263	202 15 0 00 030051 		MOVEM	AC+2,TESTPC
  3210	032264	201 15 0 00 000015 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  3211	032265	202 15 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  3212			000044			WW=^D36
  3213			000000			XX=0
  3214
  3215						REPEAT	^D36,<
  3216						ADR=ADR+1
  3217						WW=WW-1
  3218						XX=XX+XX
  3219						IFE	XX,<XX=1>
  3220					
  3221					;MULTIPLY A FLOATING 1 BY 0101...0101
  3222						V1=N2
  3223						V2=N2*XX
  3224						IFG	XX,<V3=<N2_<-WW>>>
  3225						IFL	XX,<V3=N1+1>
  3226						MOP1	(\ADR,V1,0,XX,V3,V2)>
  3227
  3228			003111			ADR=ADR+1
  3229			000043			WW=WW-1
  3230			000000			XX=XX+XX
  3231			000001			IFE	XX,<XX=1>
  3232
  3233					;MULTIPLY A FLOATING 1 BY 0101...0101
  3234		252525	252525			V1=N2
  3235		252525	252525			V2=N2*XX
  3236			000000			IFG	XX,<V3=<N2_<-WW>>>
  3237						IFL	XX,<V3=N1+1>
  3238						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3239					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3240					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3241					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3242					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3243
  3244		252525	252525		F31110:	AA1=V1				;INITIAL C(AC)
  3245	032266	200 13 0 00 045003 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3246			000000			AA2=0				;INITIAL C(AC+1)
  3247	032267	200 14 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3248			000001			AEE=XX				;INITIAL C(E)
  3249	032270	200 11 0 00 044632 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3250	032271	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3251			000000			AR1=V3				;EXPECTED RESULT IN AC
  3252	032272	312 13 0 00 044631 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3253	032273	003 13 0 00 031111 		ER3	AC,31111		;HIGH PRODUCT FAILED
  3254		252525	252525			AR2=V2				;EXPECTED RESULT IN AC+1
  3255	032274	312 14 0 00 045003 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3256	032275	004 14 0 00 031112 		ER4	AC+1,31112		;LOW PRODUCT FAILED
  3257			000001			AEE=XX				;INITIAL C(E)
  3258	032276	312 11 0 00 044632 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3259	032277	005 11 0 00 031113 		ER5	E,31113			;C(E) WAS CLOBBERED
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 4-1
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0076

  3260	032300	321 15 0 00 032266 		JUMPL	AC+2,F31110		;LOOP ON ERROR SWITCH^
  3261
  3262			003112			ADR=ADR+1
  3263			000042			WW=WW-1
  3264			000002			XX=XX+XX
  3265						IFE	XX,<XX=1>
  3266
  3267					;MULTIPLY A FLOATING 1 BY 0101...0101
  3268		252525	252525			V1=N2
  3269		125252	525252			V2=N2*XX
  3270			000001			IFG	XX,<V3=<N2_<-WW>>>
  3271						IFL	XX,<V3=N1+1>
  3272						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3273					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3274					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3275					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3276					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3277
  3278		252525	252525		F31120:	AA1=V1				;INITIAL C(AC)
  3279	032301	200 13 0 00 045003 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3280			000000			AA2=0				;INITIAL C(AC+1)
  3281	032302	200 14 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3282			000002			AEE=XX				;INITIAL C(E)
  3283	032303	200 11 0 00 044634 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3284	032304	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3285			000001			AR1=V3				;EXPECTED RESULT IN AC
  3286	032305	312 13 0 00 044632 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3287	032306	003 13 0 00 031121 		ER3	AC,31121		;HIGH PRODUCT FAILED
  3288		125252	525252			AR2=V2				;EXPECTED RESULT IN AC+1
  3289	032307	312 14 0 00 045004 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3290	032310	004 14 0 00 031122 		ER4	AC+1,31122		;LOW PRODUCT FAILED
  3291			000002			AEE=XX				;INITIAL C(E)
  3292	032311	312 11 0 00 044634 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3293	032312	005 11 0 00 031123 		ER5	E,31123			;C(E) WAS CLOBBERED
  3294	032313	321 15 0 00 032301 		JUMPL	AC+2,F31120		;LOOP ON ERROR SWITCH^
  3295
  3296			003113			ADR=ADR+1
  3297			000041			WW=WW-1
  3298			000004			XX=XX+XX
  3299						IFE	XX,<XX=1>
  3300
  3301					;MULTIPLY A FLOATING 1 BY 0101...0101
  3302		252525	252525			V1=N2
  3303		252525	252524			V2=N2*XX
  3304			000002			IFG	XX,<V3=<N2_<-WW>>>
  3305						IFL	XX,<V3=N1+1>
  3306						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3307					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3308					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3309					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3310					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3311
  3312		252525	252525		F31130:	AA1=V1				;INITIAL C(AC)
  3313	032314	200 13 0 00 045003 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3314			000000			AA2=0				;INITIAL C(AC+1)
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 4-2
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0077

  3315	032315	200 14 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3316			000004			AEE=XX				;INITIAL C(E)
  3317	032316	200 11 0 00 044637 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3318	032317	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3319			000002			AR1=V3				;EXPECTED RESULT IN AC
  3320	032320	312 13 0 00 044634 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3321	032321	003 13 0 00 031131 		ER3	AC,31131		;HIGH PRODUCT FAILED
  3322		252525	252524			AR2=V2				;EXPECTED RESULT IN AC+1
  3323	032322	312 14 0 00 045005 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3324	032323	004 14 0 00 031132 		ER4	AC+1,31132		;LOW PRODUCT FAILED
  3325			000004			AEE=XX				;INITIAL C(E)
  3326	032324	312 11 0 00 044637 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3327	032325	005 11 0 00 031133 		ER5	E,31133			;C(E) WAS CLOBBERED
  3328	032326	321 15 0 00 032314 		JUMPL	AC+2,F31130		;LOOP ON ERROR SWITCH^
  3329
  3330			003114			ADR=ADR+1
  3331			000040			WW=WW-1
  3332			000010			XX=XX+XX
  3333						IFE	XX,<XX=1>
  3334
  3335					;MULTIPLY A FLOATING 1 BY 0101...0101
  3336		252525	252525			V1=N2
  3337		125252	525250			V2=N2*XX
  3338			000005			IFG	XX,<V3=<N2_<-WW>>>
  3339						IFL	XX,<V3=N1+1>
  3340						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3341					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3342					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3343					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3344					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3345
  3346		252525	252525		F31140:	AA1=V1				;INITIAL C(AC)
  3347	032327	200 13 0 00 045003 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3348			000000			AA2=0				;INITIAL C(AC+1)
  3349	032330	200 14 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3350			000010			AEE=XX				;INITIAL C(E)
  3351	032331	200 11 0 00 044642 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3352	032332	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3353			000005			AR1=V3				;EXPECTED RESULT IN AC
  3354	032333	312 13 0 00 045006 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3355	032334	003 13 0 00 031141 		ER3	AC,31141		;HIGH PRODUCT FAILED
  3356		125252	525250			AR2=V2				;EXPECTED RESULT IN AC+1
  3357	032335	312 14 0 00 045007 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3358	032336	004 14 0 00 031142 		ER4	AC+1,31142		;LOW PRODUCT FAILED
  3359			000010			AEE=XX				;INITIAL C(E)
  3360	032337	312 11 0 00 044642 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3361	032340	005 11 0 00 031143 		ER5	E,31143			;C(E) WAS CLOBBERED
  3362	032341	321 15 0 00 032327 		JUMPL	AC+2,F31140		;LOOP ON ERROR SWITCH^
  3363
  3364			003115			ADR=ADR+1
  3365			000037			WW=WW-1
  3366			000020			XX=XX+XX
  3367						IFE	XX,<XX=1>
  3368
  3369					;MULTIPLY A FLOATING 1 BY 0101...0101
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 4-3
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0078

  3370		252525	252525			V1=N2
  3371		252525	252520			V2=N2*XX
  3372			000012			IFG	XX,<V3=<N2_<-WW>>>
  3373						IFL	XX,<V3=N1+1>
  3374						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3375					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3376					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3377					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3378					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3379
  3380		252525	252525		F31150:	AA1=V1				;INITIAL C(AC)
  3381	032342	200 13 0 00 045003 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3382			000000			AA2=0				;INITIAL C(AC+1)
  3383	032343	200 14 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3384			000020			AEE=XX				;INITIAL C(E)
  3385	032344	200 11 0 00 044645 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3386	032345	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3387			000012			AR1=V3				;EXPECTED RESULT IN AC
  3388	032346	312 13 0 00 045010 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3389	032347	003 13 0 00 031151 		ER3	AC,31151		;HIGH PRODUCT FAILED
  3390		252525	252520			AR2=V2				;EXPECTED RESULT IN AC+1
  3391	032350	312 14 0 00 045011 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3392	032351	004 14 0 00 031152 		ER4	AC+1,31152		;LOW PRODUCT FAILED
  3393			000020			AEE=XX				;INITIAL C(E)
  3394	032352	312 11 0 00 044645 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3395	032353	005 11 0 00 031153 		ER5	E,31153			;C(E) WAS CLOBBERED
  3396	032354	321 15 0 00 032342 		JUMPL	AC+2,F31150		;LOOP ON ERROR SWITCH^
  3397
  3398			003116			ADR=ADR+1
  3399			000036			WW=WW-1
  3400			000040			XX=XX+XX
  3401						IFE	XX,<XX=1>
  3402
  3403					;MULTIPLY A FLOATING 1 BY 0101...0101
  3404		252525	252525			V1=N2
  3405		125252	525240			V2=N2*XX
  3406			000025			IFG	XX,<V3=<N2_<-WW>>>
  3407						IFL	XX,<V3=N1+1>
  3408						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3409					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3410					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3411					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3412					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3413
  3414		252525	252525		F31160:	AA1=V1				;INITIAL C(AC)
  3415	032355	200 13 0 00 045003 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3416			000000			AA2=0				;INITIAL C(AC+1)
  3417	032356	200 14 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3418			000040			AEE=XX				;INITIAL C(E)
  3419	032357	200 11 0 00 044650 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3420	032360	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3421			000025			AR1=V3				;EXPECTED RESULT IN AC
  3422	032361	312 13 0 00 045012 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3423	032362	003 13 0 00 031161 		ER3	AC,31161		;HIGH PRODUCT FAILED
  3424		125252	525240			AR2=V2				;EXPECTED RESULT IN AC+1
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 4-4
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0079

  3425	032363	312 14 0 00 045013 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3426	032364	004 14 0 00 031162 		ER4	AC+1,31162		;LOW PRODUCT FAILED
  3427			000040			AEE=XX				;INITIAL C(E)
  3428	032365	312 11 0 00 044650 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3429	032366	005 11 0 00 031163 		ER5	E,31163			;C(E) WAS CLOBBERED
  3430	032367	321 15 0 00 032355 		JUMPL	AC+2,F31160		;LOOP ON ERROR SWITCH^
  3431
  3432			003117			ADR=ADR+1
  3433			000035			WW=WW-1
  3434			000100			XX=XX+XX
  3435						IFE	XX,<XX=1>
  3436
  3437					;MULTIPLY A FLOATING 1 BY 0101...0101
  3438		252525	252525			V1=N2
  3439		252525	252500			V2=N2*XX
  3440			000052			IFG	XX,<V3=<N2_<-WW>>>
  3441						IFL	XX,<V3=N1+1>
  3442						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3443					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3444					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3445					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3446					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3447
  3448		252525	252525		F31170:	AA1=V1				;INITIAL C(AC)
  3449	032370	200 13 0 00 045003 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3450			000000			AA2=0				;INITIAL C(AC+1)
  3451	032371	200 14 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3452			000100			AEE=XX				;INITIAL C(E)
  3453	032372	200 11 0 00 044653 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3454	032373	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3455			000052			AR1=V3				;EXPECTED RESULT IN AC
  3456	032374	312 13 0 00 045014 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3457	032375	003 13 0 00 031171 		ER3	AC,31171		;HIGH PRODUCT FAILED
  3458		252525	252500			AR2=V2				;EXPECTED RESULT IN AC+1
  3459	032376	312 14 0 00 045015 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3460	032377	004 14 0 00 031172 		ER4	AC+1,31172		;LOW PRODUCT FAILED
  3461			000100			AEE=XX				;INITIAL C(E)
  3462	032400	312 11 0 00 044653 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3463	032401	005 11 0 00 031173 		ER5	E,31173			;C(E) WAS CLOBBERED
  3464	032402	321 15 0 00 032370 		JUMPL	AC+2,F31170		;LOOP ON ERROR SWITCH^
  3465
  3466			003120			ADR=ADR+1
  3467			000034			WW=WW-1
  3468			000200			XX=XX+XX
  3469						IFE	XX,<XX=1>
  3470
  3471					;MULTIPLY A FLOATING 1 BY 0101...0101
  3472		252525	252525			V1=N2
  3473		125252	525200			V2=N2*XX
  3474			000125			IFG	XX,<V3=<N2_<-WW>>>
  3475						IFL	XX,<V3=N1+1>
  3476						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3477					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3478					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3479					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 4-5
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0080

  3480					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3481
  3482		252525	252525		F31200:	AA1=V1				;INITIAL C(AC)
  3483	032403	200 13 0 00 045003 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3484			000000			AA2=0				;INITIAL C(AC+1)
  3485	032404	200 14 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3486			000200			AEE=XX				;INITIAL C(E)
  3487	032405	200 11 0 00 044656 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3488	032406	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3489			000125			AR1=V3				;EXPECTED RESULT IN AC
  3490	032407	312 13 0 00 045016 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3491	032410	003 13 0 00 031201 		ER3	AC,31201		;HIGH PRODUCT FAILED
  3492		125252	525200			AR2=V2				;EXPECTED RESULT IN AC+1
  3493	032411	312 14 0 00 045017 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3494	032412	004 14 0 00 031202 		ER4	AC+1,31202		;LOW PRODUCT FAILED
  3495			000200			AEE=XX				;INITIAL C(E)
  3496	032413	312 11 0 00 044656 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3497	032414	005 11 0 00 031203 		ER5	E,31203			;C(E) WAS CLOBBERED
  3498	032415	321 15 0 00 032403 		JUMPL	AC+2,F31200		;LOOP ON ERROR SWITCH^
  3499
  3500			003121			ADR=ADR+1
  3501			000033			WW=WW-1
  3502			000400			XX=XX+XX
  3503						IFE	XX,<XX=1>
  3504
  3505					;MULTIPLY A FLOATING 1 BY 0101...0101
  3506		252525	252525			V1=N2
  3507		252525	252400			V2=N2*XX
  3508			000252			IFG	XX,<V3=<N2_<-WW>>>
  3509						IFL	XX,<V3=N1+1>
  3510						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3511					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3512					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3513					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3514					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3515
  3516		252525	252525		F31210:	AA1=V1				;INITIAL C(AC)
  3517	032416	200 13 0 00 045003 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3518			000000			AA2=0				;INITIAL C(AC+1)
  3519	032417	200 14 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3520			000400			AEE=XX				;INITIAL C(E)
  3521	032420	200 11 0 00 044661 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3522	032421	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3523			000252			AR1=V3				;EXPECTED RESULT IN AC
  3524	032422	312 13 0 00 045020 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3525	032423	003 13 0 00 031211 		ER3	AC,31211		;HIGH PRODUCT FAILED
  3526		252525	252400			AR2=V2				;EXPECTED RESULT IN AC+1
  3527	032424	312 14 0 00 045021 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3528	032425	004 14 0 00 031212 		ER4	AC+1,31212		;LOW PRODUCT FAILED
  3529			000400			AEE=XX				;INITIAL C(E)
  3530	032426	312 11 0 00 044661 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3531	032427	005 11 0 00 031213 		ER5	E,31213			;C(E) WAS CLOBBERED
  3532	032430	321 15 0 00 032416 		JUMPL	AC+2,F31210		;LOOP ON ERROR SWITCH^
  3533
  3534			003122			ADR=ADR+1
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 4-6
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0081

  3535			000032			WW=WW-1
  3536			001000			XX=XX+XX
  3537						IFE	XX,<XX=1>
  3538
  3539					;MULTIPLY A FLOATING 1 BY 0101...0101
  3540		252525	252525			V1=N2
  3541		125252	525000			V2=N2*XX
  3542			000525			IFG	XX,<V3=<N2_<-WW>>>
  3543						IFL	XX,<V3=N1+1>
  3544						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3545					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3546					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3547					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3548					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3549
  3550		252525	252525		F31220:	AA1=V1				;INITIAL C(AC)
  3551	032431	200 13 0 00 045003 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3552			000000			AA2=0				;INITIAL C(AC+1)
  3553	032432	200 14 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3554			001000			AEE=XX				;INITIAL C(E)
  3555	032433	200 11 0 00 044664 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3556	032434	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3557			000525			AR1=V3				;EXPECTED RESULT IN AC
  3558	032435	312 13 0 00 045022 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3559	032436	003 13 0 00 031221 		ER3	AC,31221		;HIGH PRODUCT FAILED
  3560		125252	525000			AR2=V2				;EXPECTED RESULT IN AC+1
  3561	032437	312 14 0 00 045023 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3562	032440	004 14 0 00 031222 		ER4	AC+1,31222		;LOW PRODUCT FAILED
  3563			001000			AEE=XX				;INITIAL C(E)
  3564	032441	312 11 0 00 044664 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3565	032442	005 11 0 00 031223 		ER5	E,31223			;C(E) WAS CLOBBERED
  3566	032443	321 15 0 00 032431 		JUMPL	AC+2,F31220		;LOOP ON ERROR SWITCH^
  3567
  3568			003123			ADR=ADR+1
  3569			000031			WW=WW-1
  3570			002000			XX=XX+XX
  3571						IFE	XX,<XX=1>
  3572
  3573					;MULTIPLY A FLOATING 1 BY 0101...0101
  3574		252525	252525			V1=N2
  3575		252525	252000			V2=N2*XX
  3576			001252			IFG	XX,<V3=<N2_<-WW>>>
  3577						IFL	XX,<V3=N1+1>
  3578						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3579					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3580					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3581					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3582					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3583
  3584		252525	252525		F31230:	AA1=V1				;INITIAL C(AC)
  3585	032444	200 13 0 00 045003 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3586			000000			AA2=0				;INITIAL C(AC+1)
  3587	032445	200 14 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3588			002000			AEE=XX				;INITIAL C(E)
  3589	032446	200 11 0 00 044667 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 4-7
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0082

  3590	032447	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3591			001252			AR1=V3				;EXPECTED RESULT IN AC
  3592	032450	312 13 0 00 045024 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3593	032451	003 13 0 00 031231 		ER3	AC,31231		;HIGH PRODUCT FAILED
  3594		252525	252000			AR2=V2				;EXPECTED RESULT IN AC+1
  3595	032452	312 14 0 00 045025 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3596	032453	004 14 0 00 031232 		ER4	AC+1,31232		;LOW PRODUCT FAILED
  3597			002000			AEE=XX				;INITIAL C(E)
  3598	032454	312 11 0 00 044667 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3599	032455	005 11 0 00 031233 		ER5	E,31233			;C(E) WAS CLOBBERED
  3600	032456	321 15 0 00 032444 		JUMPL	AC+2,F31230		;LOOP ON ERROR SWITCH^
  3601
  3602			003124			ADR=ADR+1
  3603			000030			WW=WW-1
  3604			004000			XX=XX+XX
  3605						IFE	XX,<XX=1>
  3606
  3607					;MULTIPLY A FLOATING 1 BY 0101...0101
  3608		252525	252525			V1=N2
  3609		125252	524000			V2=N2*XX
  3610			002525			IFG	XX,<V3=<N2_<-WW>>>
  3611						IFL	XX,<V3=N1+1>
  3612						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3613					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3614					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3615					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3616					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3617
  3618		252525	252525		F31240:	AA1=V1				;INITIAL C(AC)
  3619	032457	200 13 0 00 045003 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3620			000000			AA2=0				;INITIAL C(AC+1)
  3621	032460	200 14 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3622			004000			AEE=XX				;INITIAL C(E)
  3623	032461	200 11 0 00 044672 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3624	032462	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3625			002525			AR1=V3				;EXPECTED RESULT IN AC
  3626	032463	312 13 0 00 045026 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3627	032464	003 13 0 00 031241 		ER3	AC,31241		;HIGH PRODUCT FAILED
  3628		125252	524000			AR2=V2				;EXPECTED RESULT IN AC+1
  3629	032465	312 14 0 00 045027 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3630	032466	004 14 0 00 031242 		ER4	AC+1,31242		;LOW PRODUCT FAILED
  3631			004000			AEE=XX				;INITIAL C(E)
  3632	032467	312 11 0 00 044672 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3633	032470	005 11 0 00 031243 		ER5	E,31243			;C(E) WAS CLOBBERED
  3634	032471	321 15 0 00 032457 		JUMPL	AC+2,F31240		;LOOP ON ERROR SWITCH^
  3635
  3636			003125			ADR=ADR+1
  3637			000027			WW=WW-1
  3638			010000			XX=XX+XX
  3639						IFE	XX,<XX=1>
  3640
  3641					;MULTIPLY A FLOATING 1 BY 0101...0101
  3642		252525	252525			V1=N2
  3643		252525	250000			V2=N2*XX
  3644			005252			IFG	XX,<V3=<N2_<-WW>>>
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 4-8
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0083

  3645						IFL	XX,<V3=N1+1>
  3646						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3647					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3648					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3649					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3650					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3651
  3652		252525	252525		F31250:	AA1=V1				;INITIAL C(AC)
  3653	032472	200 13 0 00 045003 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3654			000000			AA2=0				;INITIAL C(AC+1)
  3655	032473	200 14 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3656			010000			AEE=XX				;INITIAL C(E)
  3657	032474	200 11 0 00 044675 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3658	032475	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3659			005252			AR1=V3				;EXPECTED RESULT IN AC
  3660	032476	312 13 0 00 045030 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3661	032477	003 13 0 00 031251 		ER3	AC,31251		;HIGH PRODUCT FAILED
  3662		252525	250000			AR2=V2				;EXPECTED RESULT IN AC+1
  3663	032500	312 14 0 00 045031 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3664	032501	004 14 0 00 031252 		ER4	AC+1,31252		;LOW PRODUCT FAILED
  3665			010000			AEE=XX				;INITIAL C(E)
  3666	032502	312 11 0 00 044675 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3667	032503	005 11 0 00 031253 		ER5	E,31253			;C(E) WAS CLOBBERED
  3668	032504	321 15 0 00 032472 		JUMPL	AC+2,F31250		;LOOP ON ERROR SWITCH^
  3669
  3670			003126			ADR=ADR+1
  3671			000026			WW=WW-1
  3672			020000			XX=XX+XX
  3673						IFE	XX,<XX=1>
  3674
  3675					;MULTIPLY A FLOATING 1 BY 0101...0101
  3676		252525	252525			V1=N2
  3677		125252	520000			V2=N2*XX
  3678			012525			IFG	XX,<V3=<N2_<-WW>>>
  3679						IFL	XX,<V3=N1+1>
  3680						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3681					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3682					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3683					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3684					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3685
  3686		252525	252525		F31260:	AA1=V1				;INITIAL C(AC)
  3687	032505	200 13 0 00 045003 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3688			000000			AA2=0				;INITIAL C(AC+1)
  3689	032506	200 14 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3690			020000			AEE=XX				;INITIAL C(E)
  3691	032507	200 11 0 00 044700 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3692	032510	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3693			012525			AR1=V3				;EXPECTED RESULT IN AC
  3694	032511	312 13 0 00 045032 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3695	032512	003 13 0 00 031261 		ER3	AC,31261		;HIGH PRODUCT FAILED
  3696		125252	520000			AR2=V2				;EXPECTED RESULT IN AC+1
  3697	032513	312 14 0 00 045033 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3698	032514	004 14 0 00 031262 		ER4	AC+1,31262		;LOW PRODUCT FAILED
  3699			020000			AEE=XX				;INITIAL C(E)
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 4-9
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0084

  3700	032515	312 11 0 00 044700 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3701	032516	005 11 0 00 031263 		ER5	E,31263			;C(E) WAS CLOBBERED
  3702	032517	321 15 0 00 032505 		JUMPL	AC+2,F31260		;LOOP ON ERROR SWITCH^
  3703
  3704			003127			ADR=ADR+1
  3705			000025			WW=WW-1
  3706			040000			XX=XX+XX
  3707						IFE	XX,<XX=1>
  3708
  3709					;MULTIPLY A FLOATING 1 BY 0101...0101
  3710		252525	252525			V1=N2
  3711		252525	240000			V2=N2*XX
  3712			025252			IFG	XX,<V3=<N2_<-WW>>>
  3713						IFL	XX,<V3=N1+1>
  3714						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3715					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3716					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3717					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3718					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3719
  3720		252525	252525		F31270:	AA1=V1				;INITIAL C(AC)
  3721	032520	200 13 0 00 045003 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3722			000000			AA2=0				;INITIAL C(AC+1)
  3723	032521	200 14 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3724			040000			AEE=XX				;INITIAL C(E)
  3725	032522	200 11 0 00 044703 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3726	032523	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3727			025252			AR1=V3				;EXPECTED RESULT IN AC
  3728	032524	312 13 0 00 045034 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3729	032525	003 13 0 00 031271 		ER3	AC,31271		;HIGH PRODUCT FAILED
  3730		252525	240000			AR2=V2				;EXPECTED RESULT IN AC+1
  3731	032526	312 14 0 00 045035 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3732	032527	004 14 0 00 031272 		ER4	AC+1,31272		;LOW PRODUCT FAILED
  3733			040000			AEE=XX				;INITIAL C(E)
  3734	032530	312 11 0 00 044703 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3735	032531	005 11 0 00 031273 		ER5	E,31273			;C(E) WAS CLOBBERED
  3736	032532	321 15 0 00 032520 		JUMPL	AC+2,F31270		;LOOP ON ERROR SWITCH^
  3737
  3738			003130			ADR=ADR+1
  3739			000024			WW=WW-1
  3740			100000			XX=XX+XX
  3741						IFE	XX,<XX=1>
  3742
  3743					;MULTIPLY A FLOATING 1 BY 0101...0101
  3744		252525	252525			V1=N2
  3745		125252	500000			V2=N2*XX
  3746			052525			IFG	XX,<V3=<N2_<-WW>>>
  3747						IFL	XX,<V3=N1+1>
  3748						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3749					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3750					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3751					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3752					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3753
  3754		252525	252525		F31300:	AA1=V1				;INITIAL C(AC)
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 4-10
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0085

  3755	032533	200 13 0 00 045003 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3756			000000			AA2=0				;INITIAL C(AC+1)
  3757	032534	200 14 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3758			100000			AEE=XX				;INITIAL C(E)
  3759	032535	200 11 0 00 044706 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3760	032536	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3761			052525			AR1=V3				;EXPECTED RESULT IN AC
  3762	032537	312 13 0 00 045036 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3763	032540	003 13 0 00 031301 		ER3	AC,31301		;HIGH PRODUCT FAILED
  3764		125252	500000			AR2=V2				;EXPECTED RESULT IN AC+1
  3765	032541	312 14 0 00 045037 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3766	032542	004 14 0 00 031302 		ER4	AC+1,31302		;LOW PRODUCT FAILED
  3767			100000			AEE=XX				;INITIAL C(E)
  3768	032543	312 11 0 00 044706 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3769	032544	005 11 0 00 031303 		ER5	E,31303			;C(E) WAS CLOBBERED
  3770	032545	321 15 0 00 032533 		JUMPL	AC+2,F31300		;LOOP ON ERROR SWITCH^
  3771
  3772			003131			ADR=ADR+1
  3773			000023			WW=WW-1
  3774			200000			XX=XX+XX
  3775						IFE	XX,<XX=1>
  3776
  3777					;MULTIPLY A FLOATING 1 BY 0101...0101
  3778		252525	252525			V1=N2
  3779		252525	200000			V2=N2*XX
  3780			125252			IFG	XX,<V3=<N2_<-WW>>>
  3781						IFL	XX,<V3=N1+1>
  3782						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3783					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3784					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3785					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3786					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3787
  3788		252525	252525		F31310:	AA1=V1				;INITIAL C(AC)
  3789	032546	200 13 0 00 045003 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3790			000000			AA2=0				;INITIAL C(AC+1)
  3791	032547	200 14 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3792			200000			AEE=XX				;INITIAL C(E)
  3793	032550	200 11 0 00 044711 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3794	032551	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3795			125252			AR1=V3				;EXPECTED RESULT IN AC
  3796	032552	312 13 0 00 045040 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3797	032553	003 13 0 00 031311 		ER3	AC,31311		;HIGH PRODUCT FAILED
  3798		252525	200000			AR2=V2				;EXPECTED RESULT IN AC+1
  3799	032554	312 14 0 00 045041 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3800	032555	004 14 0 00 031312 		ER4	AC+1,31312		;LOW PRODUCT FAILED
  3801			200000			AEE=XX				;INITIAL C(E)
  3802	032556	312 11 0 00 044711 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3803	032557	005 11 0 00 031313 		ER5	E,31313			;C(E) WAS CLOBBERED
  3804	032560	321 15 0 00 032546 		JUMPL	AC+2,F31310		;LOOP ON ERROR SWITCH^
  3805
  3806			003132			ADR=ADR+1
  3807			000022			WW=WW-1
  3808			400000			XX=XX+XX
  3809						IFE	XX,<XX=1>
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 4-11
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0086

  3810
  3811					;MULTIPLY A FLOATING 1 BY 0101...0101
  3812		252525	252525			V1=N2
  3813		125252	400000			V2=N2*XX
  3814			252525			IFG	XX,<V3=<N2_<-WW>>>
  3815						IFL	XX,<V3=N1+1>
  3816						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3817					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3818					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3819					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3820					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3821
  3822		252525	252525		F31320:	AA1=V1				;INITIAL C(AC)
  3823	032561	200 13 0 00 045003 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3824			000000			AA2=0				;INITIAL C(AC+1)
  3825	032562	200 14 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3826			400000			AEE=XX				;INITIAL C(E)
  3827	032563	200 11 0 00 044714 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3828	032564	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3829			252525			AR1=V3				;EXPECTED RESULT IN AC
  3830	032565	312 13 0 00 045042 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3831	032566	003 13 0 00 031321 		ER3	AC,31321		;HIGH PRODUCT FAILED
  3832		125252	400000			AR2=V2				;EXPECTED RESULT IN AC+1
  3833	032567	312 14 0 00 045043 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3834	032570	004 14 0 00 031322 		ER4	AC+1,31322		;LOW PRODUCT FAILED
  3835			400000			AEE=XX				;INITIAL C(E)
  3836	032571	312 11 0 00 044714 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3837	032572	005 11 0 00 031323 		ER5	E,31323			;C(E) WAS CLOBBERED
  3838	032573	321 15 0 00 032561 		JUMPL	AC+2,F31320		;LOOP ON ERROR SWITCH^
  3839
  3840			003133			ADR=ADR+1
  3841			000021			WW=WW-1
  3842		000001	000000			XX=XX+XX
  3843						IFE	XX,<XX=1>
  3844
  3845					;MULTIPLY A FLOATING 1 BY 0101...0101
  3846		252525	252525			V1=N2
  3847		252525	000000			V2=N2*XX
  3848			525252			IFG	XX,<V3=<N2_<-WW>>>
  3849						IFL	XX,<V3=N1+1>
  3850						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3851					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3852					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3853					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3854					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3855
  3856		252525	252525		F31330:	AA1=V1				;INITIAL C(AC)
  3857	032574	200 13 0 00 045003 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3858			000000			AA2=0				;INITIAL C(AC+1)
  3859	032575	200 14 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3860		000001	000000			AEE=XX				;INITIAL C(E)
  3861	032576	200 11 0 00 044717 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3862	032577	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3863			525252			AR1=V3				;EXPECTED RESULT IN AC
  3864	032600	312 13 0 00 045044 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 4-12
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0087

  3865	032601	003 13 0 00 031331 		ER3	AC,31331		;HIGH PRODUCT FAILED
  3866		252525	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  3867	032602	312 14 0 00 045045 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3868	032603	004 14 0 00 031332 		ER4	AC+1,31332		;LOW PRODUCT FAILED
  3869		000001	000000			AEE=XX				;INITIAL C(E)
  3870	032604	312 11 0 00 044717 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3871	032605	005 11 0 00 031333 		ER5	E,31333			;C(E) WAS CLOBBERED
  3872	032606	321 15 0 00 032574 		JUMPL	AC+2,F31330		;LOOP ON ERROR SWITCH^
  3873
  3874			003134			ADR=ADR+1
  3875			000020			WW=WW-1
  3876		000002	000000			XX=XX+XX
  3877						IFE	XX,<XX=1>
  3878
  3879					;MULTIPLY A FLOATING 1 BY 0101...0101
  3880		252525	252525			V1=N2
  3881		125252	000000			V2=N2*XX
  3882		000001	252525			IFG	XX,<V3=<N2_<-WW>>>
  3883						IFL	XX,<V3=N1+1>
  3884						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3885					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3886					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3887					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3888					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3889
  3890		252525	252525		F31340:	AA1=V1				;INITIAL C(AC)
  3891	032607	200 13 0 00 045003 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3892			000000			AA2=0				;INITIAL C(AC+1)
  3893	032610	200 14 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3894		000002	000000			AEE=XX				;INITIAL C(E)
  3895	032611	200 11 0 00 044722 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3896	032612	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3897		000001	252525			AR1=V3				;EXPECTED RESULT IN AC
  3898	032613	312 13 0 00 045046 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3899	032614	003 13 0 00 031341 		ER3	AC,31341		;HIGH PRODUCT FAILED
  3900		125252	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  3901	032615	312 14 0 00 045047 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3902	032616	004 14 0 00 031342 		ER4	AC+1,31342		;LOW PRODUCT FAILED
  3903		000002	000000			AEE=XX				;INITIAL C(E)
  3904	032617	312 11 0 00 044722 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3905	032620	005 11 0 00 031343 		ER5	E,31343			;C(E) WAS CLOBBERED
  3906	032621	321 15 0 00 032607 		JUMPL	AC+2,F31340		;LOOP ON ERROR SWITCH^
  3907
  3908			003135			ADR=ADR+1
  3909			000017			WW=WW-1
  3910		000004	000000			XX=XX+XX
  3911						IFE	XX,<XX=1>
  3912
  3913					;MULTIPLY A FLOATING 1 BY 0101...0101
  3914		252525	252525			V1=N2
  3915		252524	000000			V2=N2*XX
  3916		000002	525252			IFG	XX,<V3=<N2_<-WW>>>
  3917						IFL	XX,<V3=N1+1>
  3918						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3919					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 4-13
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0088

  3920					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3921					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3922					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3923
  3924		252525	252525		F31350:	AA1=V1				;INITIAL C(AC)
  3925	032622	200 13 0 00 045003 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3926			000000			AA2=0				;INITIAL C(AC+1)
  3927	032623	200 14 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3928		000004	000000			AEE=XX				;INITIAL C(E)
  3929	032624	200 11 0 00 044725 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3930	032625	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3931		000002	525252			AR1=V3				;EXPECTED RESULT IN AC
  3932	032626	312 13 0 00 045050 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3933	032627	003 13 0 00 031351 		ER3	AC,31351		;HIGH PRODUCT FAILED
  3934		252524	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  3935	032630	312 14 0 00 045051 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3936	032631	004 14 0 00 031352 		ER4	AC+1,31352		;LOW PRODUCT FAILED
  3937		000004	000000			AEE=XX				;INITIAL C(E)
  3938	032632	312 11 0 00 044725 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3939	032633	005 11 0 00 031353 		ER5	E,31353			;C(E) WAS CLOBBERED
  3940	032634	321 15 0 00 032622 		JUMPL	AC+2,F31350		;LOOP ON ERROR SWITCH^
  3941
  3942			003136			ADR=ADR+1
  3943			000016			WW=WW-1
  3944		000010	000000			XX=XX+XX
  3945						IFE	XX,<XX=1>
  3946
  3947					;MULTIPLY A FLOATING 1 BY 0101...0101
  3948		252525	252525			V1=N2
  3949		125250	000000			V2=N2*XX
  3950		000005	252525			IFG	XX,<V3=<N2_<-WW>>>
  3951						IFL	XX,<V3=N1+1>
  3952						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3953					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3954					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3955					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3956					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3957
  3958		252525	252525		F31360:	AA1=V1				;INITIAL C(AC)
  3959	032635	200 13 0 00 045003 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3960			000000			AA2=0				;INITIAL C(AC+1)
  3961	032636	200 14 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3962		000010	000000			AEE=XX				;INITIAL C(E)
  3963	032637	200 11 0 00 044730 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3964	032640	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3965		000005	252525			AR1=V3				;EXPECTED RESULT IN AC
  3966	032641	312 13 0 00 045052 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3967	032642	003 13 0 00 031361 		ER3	AC,31361		;HIGH PRODUCT FAILED
  3968		125250	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  3969	032643	312 14 0 00 045053 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3970	032644	004 14 0 00 031362 		ER4	AC+1,31362		;LOW PRODUCT FAILED
  3971		000010	000000			AEE=XX				;INITIAL C(E)
  3972	032645	312 11 0 00 044730 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3973	032646	005 11 0 00 031363 		ER5	E,31363			;C(E) WAS CLOBBERED
  3974	032647	321 15 0 00 032635 		JUMPL	AC+2,F31360		;LOOP ON ERROR SWITCH^
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 4-14
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0089

  3975
  3976			003137			ADR=ADR+1
  3977			000015			WW=WW-1
  3978		000020	000000			XX=XX+XX
  3979						IFE	XX,<XX=1>
  3980
  3981					;MULTIPLY A FLOATING 1 BY 0101...0101
  3982		252525	252525			V1=N2
  3983		252520	000000			V2=N2*XX
  3984		000012	525252			IFG	XX,<V3=<N2_<-WW>>>
  3985						IFL	XX,<V3=N1+1>
  3986						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3987					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3988					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3989					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3990					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3991
  3992		252525	252525		F31370:	AA1=V1				;INITIAL C(AC)
  3993	032650	200 13 0 00 045003 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3994			000000			AA2=0				;INITIAL C(AC+1)
  3995	032651	200 14 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3996		000020	000000			AEE=XX				;INITIAL C(E)
  3997	032652	200 11 0 00 044733 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3998	032653	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3999		000012	525252			AR1=V3				;EXPECTED RESULT IN AC
  4000	032654	312 13 0 00 045054 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  4001	032655	003 13 0 00 031371 		ER3	AC,31371		;HIGH PRODUCT FAILED
  4002		252520	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  4003	032656	312 14 0 00 045055 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  4004	032657	004 14 0 00 031372 		ER4	AC+1,31372		;LOW PRODUCT FAILED
  4005		000020	000000			AEE=XX				;INITIAL C(E)
  4006	032660	312 11 0 00 044733 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4007	032661	005 11 0 00 031373 		ER5	E,31373			;C(E) WAS CLOBBERED
  4008	032662	321 15 0 00 032650 		JUMPL	AC+2,F31370		;LOOP ON ERROR SWITCH^
  4009
  4010			003140			ADR=ADR+1
  4011			000014			WW=WW-1
  4012		000040	000000			XX=XX+XX
  4013						IFE	XX,<XX=1>
  4014
  4015					;MULTIPLY A FLOATING 1 BY 0101...0101
  4016		252525	252525			V1=N2
  4017		125240	000000			V2=N2*XX
  4018		000025	252525			IFG	XX,<V3=<N2_<-WW>>>
  4019						IFL	XX,<V3=N1+1>
  4020						MOP1	(\ADR,V1,0,XX,V3,V2)^
  4021					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  4022					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4023					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  4024					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4025
  4026		252525	252525		F31400:	AA1=V1				;INITIAL C(AC)
  4027	032663	200 13 0 00 045003 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  4028			000000			AA2=0				;INITIAL C(AC+1)
  4029	032664	200 14 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 4-15
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0090

  4030		000040	000000			AEE=XX				;INITIAL C(E)
  4031	032665	200 11 0 00 044736 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4032	032666	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4033		000025	252525			AR1=V3				;EXPECTED RESULT IN AC
  4034	032667	312 13 0 00 045056 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  4035	032670	003 13 0 00 031401 		ER3	AC,31401		;HIGH PRODUCT FAILED
  4036		125240	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  4037	032671	312 14 0 00 045057 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  4038	032672	004 14 0 00 031402 		ER4	AC+1,31402		;LOW PRODUCT FAILED
  4039		000040	000000			AEE=XX				;INITIAL C(E)
  4040	032673	312 11 0 00 044736 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4041	032674	005 11 0 00 031403 		ER5	E,31403			;C(E) WAS CLOBBERED
  4042	032675	321 15 0 00 032663 		JUMPL	AC+2,F31400		;LOOP ON ERROR SWITCH^
  4043
  4044			003141			ADR=ADR+1
  4045			000013			WW=WW-1
  4046		000100	000000			XX=XX+XX
  4047						IFE	XX,<XX=1>
  4048
  4049					;MULTIPLY A FLOATING 1 BY 0101...0101
  4050		252525	252525			V1=N2
  4051		252500	000000			V2=N2*XX
  4052		000052	525252			IFG	XX,<V3=<N2_<-WW>>>
  4053						IFL	XX,<V3=N1+1>
  4054						MOP1	(\ADR,V1,0,XX,V3,V2)^
  4055					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  4056					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4057					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  4058					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4059
  4060		252525	252525		F31410:	AA1=V1				;INITIAL C(AC)
  4061	032676	200 13 0 00 045003 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  4062			000000			AA2=0				;INITIAL C(AC+1)
  4063	032677	200 14 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  4064		000100	000000			AEE=XX				;INITIAL C(E)
  4065	032700	200 11 0 00 044741 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4066	032701	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4067		000052	525252			AR1=V3				;EXPECTED RESULT IN AC
  4068	032702	312 13 0 00 045060 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  4069	032703	003 13 0 00 031411 		ER3	AC,31411		;HIGH PRODUCT FAILED
  4070		252500	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  4071	032704	312 14 0 00 045061 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  4072	032705	004 14 0 00 031412 		ER4	AC+1,31412		;LOW PRODUCT FAILED
  4073		000100	000000			AEE=XX				;INITIAL C(E)
  4074	032706	312 11 0 00 044741 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4075	032707	005 11 0 00 031413 		ER5	E,31413			;C(E) WAS CLOBBERED
  4076	032710	321 15 0 00 032676 		JUMPL	AC+2,F31410		;LOOP ON ERROR SWITCH^
  4077
  4078			003142			ADR=ADR+1
  4079			000012			WW=WW-1
  4080		000200	000000			XX=XX+XX
  4081						IFE	XX,<XX=1>
  4082
  4083					;MULTIPLY A FLOATING 1 BY 0101...0101
  4084		252525	252525			V1=N2
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 4-16
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0091

  4085		125200	000000			V2=N2*XX
  4086		000125	252525			IFG	XX,<V3=<N2_<-WW>>>
  4087						IFL	XX,<V3=N1+1>
  4088						MOP1	(\ADR,V1,0,XX,V3,V2)^
  4089					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  4090					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4091					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  4092					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4093
  4094		252525	252525		F31420:	AA1=V1				;INITIAL C(AC)
  4095	032711	200 13 0 00 045003 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  4096			000000			AA2=0				;INITIAL C(AC+1)
  4097	032712	200 14 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  4098		000200	000000			AEE=XX				;INITIAL C(E)
  4099	032713	200 11 0 00 044744 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4100	032714	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4101		000125	252525			AR1=V3				;EXPECTED RESULT IN AC
  4102	032715	312 13 0 00 045062 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  4103	032716	003 13 0 00 031421 		ER3	AC,31421		;HIGH PRODUCT FAILED
  4104		125200	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  4105	032717	312 14 0 00 045063 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  4106	032720	004 14 0 00 031422 		ER4	AC+1,31422		;LOW PRODUCT FAILED
  4107		000200	000000			AEE=XX				;INITIAL C(E)
  4108	032721	312 11 0 00 044744 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4109	032722	005 11 0 00 031423 		ER5	E,31423			;C(E) WAS CLOBBERED
  4110	032723	321 15 0 00 032711 		JUMPL	AC+2,F31420		;LOOP ON ERROR SWITCH^
  4111
  4112			003143			ADR=ADR+1
  4113			000011			WW=WW-1
  4114		000400	000000			XX=XX+XX
  4115						IFE	XX,<XX=1>
  4116
  4117					;MULTIPLY A FLOATING 1 BY 0101...0101
  4118		252525	252525			V1=N2
  4119		252400	000000			V2=N2*XX
  4120		000252	525252			IFG	XX,<V3=<N2_<-WW>>>
  4121						IFL	XX,<V3=N1+1>
  4122						MOP1	(\ADR,V1,0,XX,V3,V2)^
  4123					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  4124					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4125					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  4126					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4127
  4128		252525	252525		F31430:	AA1=V1				;INITIAL C(AC)
  4129	032724	200 13 0 00 045003 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  4130			000000			AA2=0				;INITIAL C(AC+1)
  4131	032725	200 14 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  4132		000400	000000			AEE=XX				;INITIAL C(E)
  4133	032726	200 11 0 00 044747 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4134	032727	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4135		000252	525252			AR1=V3				;EXPECTED RESULT IN AC
  4136	032730	312 13 0 00 045064 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  4137	032731	003 13 0 00 031431 		ER3	AC,31431		;HIGH PRODUCT FAILED
  4138		252400	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  4139	032732	312 14 0 00 045065 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 4-17
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0092

  4140	032733	004 14 0 00 031432 		ER4	AC+1,31432		;LOW PRODUCT FAILED
  4141		000400	000000			AEE=XX				;INITIAL C(E)
  4142	032734	312 11 0 00 044747 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4143	032735	005 11 0 00 031433 		ER5	E,31433			;C(E) WAS CLOBBERED
  4144	032736	321 15 0 00 032724 		JUMPL	AC+2,F31430		;LOOP ON ERROR SWITCH^
  4145
  4146			003144			ADR=ADR+1
  4147			000010			WW=WW-1
  4148		001000	000000			XX=XX+XX
  4149						IFE	XX,<XX=1>
  4150
  4151					;MULTIPLY A FLOATING 1 BY 0101...0101
  4152		252525	252525			V1=N2
  4153		125000	000000			V2=N2*XX
  4154		000525	252525			IFG	XX,<V3=<N2_<-WW>>>
  4155						IFL	XX,<V3=N1+1>
  4156						MOP1	(\ADR,V1,0,XX,V3,V2)^
  4157					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  4158					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4159					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  4160					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4161
  4162		252525	252525		F31440:	AA1=V1				;INITIAL C(AC)
  4163	032737	200 13 0 00 045003 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  4164			000000			AA2=0				;INITIAL C(AC+1)
  4165	032740	200 14 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  4166		001000	000000			AEE=XX				;INITIAL C(E)
  4167	032741	200 11 0 00 044752 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4168	032742	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4169		000525	252525			AR1=V3				;EXPECTED RESULT IN AC
  4170	032743	312 13 0 00 045066 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  4171	032744	003 13 0 00 031441 		ER3	AC,31441		;HIGH PRODUCT FAILED
  4172		125000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  4173	032745	312 14 0 00 045067 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  4174	032746	004 14 0 00 031442 		ER4	AC+1,31442		;LOW PRODUCT FAILED
  4175		001000	000000			AEE=XX				;INITIAL C(E)
  4176	032747	312 11 0 00 044752 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4177	032750	005 11 0 00 031443 		ER5	E,31443			;C(E) WAS CLOBBERED
  4178	032751	321 15 0 00 032737 		JUMPL	AC+2,F31440		;LOOP ON ERROR SWITCH^
  4179
  4180			003145			ADR=ADR+1
  4181			000007			WW=WW-1
  4182		002000	000000			XX=XX+XX
  4183						IFE	XX,<XX=1>
  4184
  4185					;MULTIPLY A FLOATING 1 BY 0101...0101
  4186		252525	252525			V1=N2
  4187		252000	000000			V2=N2*XX
  4188		001252	525252			IFG	XX,<V3=<N2_<-WW>>>
  4189						IFL	XX,<V3=N1+1>
  4190						MOP1	(\ADR,V1,0,XX,V3,V2)^
  4191					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  4192					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4193					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  4194					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 4-18
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0093

  4195
  4196		252525	252525		F31450:	AA1=V1				;INITIAL C(AC)
  4197	032752	200 13 0 00 045003 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  4198			000000			AA2=0				;INITIAL C(AC+1)
  4199	032753	200 14 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  4200		002000	000000			AEE=XX				;INITIAL C(E)
  4201	032754	200 11 0 00 044755 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4202	032755	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4203		001252	525252			AR1=V3				;EXPECTED RESULT IN AC
  4204	032756	312 13 0 00 045070 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  4205	032757	003 13 0 00 031451 		ER3	AC,31451		;HIGH PRODUCT FAILED
  4206		252000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  4207	032760	312 14 0 00 045071 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  4208	032761	004 14 0 00 031452 		ER4	AC+1,31452		;LOW PRODUCT FAILED
  4209		002000	000000			AEE=XX				;INITIAL C(E)
  4210	032762	312 11 0 00 044755 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4211	032763	005 11 0 00 031453 		ER5	E,31453			;C(E) WAS CLOBBERED
  4212	032764	321 15 0 00 032752 		JUMPL	AC+2,F31450		;LOOP ON ERROR SWITCH^
  4213
  4214			003146			ADR=ADR+1
  4215			000006			WW=WW-1
  4216		004000	000000			XX=XX+XX
  4217						IFE	XX,<XX=1>
  4218
  4219					;MULTIPLY A FLOATING 1 BY 0101...0101
  4220		252525	252525			V1=N2
  4221		124000	000000			V2=N2*XX
  4222		002525	252525			IFG	XX,<V3=<N2_<-WW>>>
  4223						IFL	XX,<V3=N1+1>
  4224						MOP1	(\ADR,V1,0,XX,V3,V2)^
  4225					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  4226					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4227					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  4228					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4229
  4230		252525	252525		F31460:	AA1=V1				;INITIAL C(AC)
  4231	032765	200 13 0 00 045003 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  4232			000000			AA2=0				;INITIAL C(AC+1)
  4233	032766	200 14 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  4234		004000	000000			AEE=XX				;INITIAL C(E)
  4235	032767	200 11 0 00 044760 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4236	032770	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4237		002525	252525			AR1=V3				;EXPECTED RESULT IN AC
  4238	032771	312 13 0 00 045072 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  4239	032772	003 13 0 00 031461 		ER3	AC,31461		;HIGH PRODUCT FAILED
  4240		124000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  4241	032773	312 14 0 00 045073 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  4242	032774	004 14 0 00 031462 		ER4	AC+1,31462		;LOW PRODUCT FAILED
  4243		004000	000000			AEE=XX				;INITIAL C(E)
  4244	032775	312 11 0 00 044760 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4245	032776	005 11 0 00 031463 		ER5	E,31463			;C(E) WAS CLOBBERED
  4246	032777	321 15 0 00 032765 		JUMPL	AC+2,F31460		;LOOP ON ERROR SWITCH^
  4247
  4248			003147			ADR=ADR+1
  4249			000005			WW=WW-1
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 4-19
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0094

  4250		010000	000000			XX=XX+XX
  4251						IFE	XX,<XX=1>
  4252
  4253					;MULTIPLY A FLOATING 1 BY 0101...0101
  4254		252525	252525			V1=N2
  4255		250000	000000			V2=N2*XX
  4256		005252	525252			IFG	XX,<V3=<N2_<-WW>>>
  4257						IFL	XX,<V3=N1+1>
  4258						MOP1	(\ADR,V1,0,XX,V3,V2)^
  4259					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  4260					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4261					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  4262					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4263
  4264		252525	252525		F31470:	AA1=V1				;INITIAL C(AC)
  4265	033000	200 13 0 00 045003 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  4266			000000			AA2=0				;INITIAL C(AC+1)
  4267	033001	200 14 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  4268		010000	000000			AEE=XX				;INITIAL C(E)
  4269	033002	200 11 0 00 044763 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4270	033003	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4271		005252	525252			AR1=V3				;EXPECTED RESULT IN AC
  4272	033004	312 13 0 00 045074 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  4273	033005	003 13 0 00 031471 		ER3	AC,31471		;HIGH PRODUCT FAILED
  4274		250000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  4275	033006	312 14 0 00 045075 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  4276	033007	004 14 0 00 031472 		ER4	AC+1,31472		;LOW PRODUCT FAILED
  4277		010000	000000			AEE=XX				;INITIAL C(E)
  4278	033010	312 11 0 00 044763 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4279	033011	005 11 0 00 031473 		ER5	E,31473			;C(E) WAS CLOBBERED
  4280	033012	321 15 0 00 033000 		JUMPL	AC+2,F31470		;LOOP ON ERROR SWITCH^
  4281
  4282			003150			ADR=ADR+1
  4283			000004			WW=WW-1
  4284		020000	000000			XX=XX+XX
  4285						IFE	XX,<XX=1>
  4286
  4287					;MULTIPLY A FLOATING 1 BY 0101...0101
  4288		252525	252525			V1=N2
  4289		120000	000000			V2=N2*XX
  4290		012525	252525			IFG	XX,<V3=<N2_<-WW>>>
  4291						IFL	XX,<V3=N1+1>
  4292						MOP1	(\ADR,V1,0,XX,V3,V2)^
  4293					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  4294					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4295					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  4296					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4297
  4298		252525	252525		F31500:	AA1=V1				;INITIAL C(AC)
  4299	033013	200 13 0 00 045003 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  4300			000000			AA2=0				;INITIAL C(AC+1)
  4301	033014	200 14 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  4302		020000	000000			AEE=XX				;INITIAL C(E)
  4303	033015	200 11 0 00 044766 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4304	033016	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 4-20
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0095

  4305		012525	252525			AR1=V3				;EXPECTED RESULT IN AC
  4306	033017	312 13 0 00 045076 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  4307	033020	003 13 0 00 031501 		ER3	AC,31501		;HIGH PRODUCT FAILED
  4308		120000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  4309	033021	312 14 0 00 045077 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  4310	033022	004 14 0 00 031502 		ER4	AC+1,31502		;LOW PRODUCT FAILED
  4311		020000	000000			AEE=XX				;INITIAL C(E)
  4312	033023	312 11 0 00 044766 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4313	033024	005 11 0 00 031503 		ER5	E,31503			;C(E) WAS CLOBBERED
  4314	033025	321 15 0 00 033013 		JUMPL	AC+2,F31500		;LOOP ON ERROR SWITCH^
  4315
  4316			003151			ADR=ADR+1
  4317			000003			WW=WW-1
  4318		040000	000000			XX=XX+XX
  4319						IFE	XX,<XX=1>
  4320
  4321					;MULTIPLY A FLOATING 1 BY 0101...0101
  4322		252525	252525			V1=N2
  4323		240000	000000			V2=N2*XX
  4324		025252	525252			IFG	XX,<V3=<N2_<-WW>>>
  4325						IFL	XX,<V3=N1+1>
  4326						MOP1	(\ADR,V1,0,XX,V3,V2)^
  4327					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  4328					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4329					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  4330					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4331
  4332		252525	252525		F31510:	AA1=V1				;INITIAL C(AC)
  4333	033026	200 13 0 00 045003 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  4334			000000			AA2=0				;INITIAL C(AC+1)
  4335	033027	200 14 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  4336		040000	000000			AEE=XX				;INITIAL C(E)
  4337	033030	200 11 0 00 044771 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4338	033031	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4339		025252	525252			AR1=V3				;EXPECTED RESULT IN AC
  4340	033032	312 13 0 00 045100 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  4341	033033	003 13 0 00 031511 		ER3	AC,31511		;HIGH PRODUCT FAILED
  4342		240000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  4343	033034	312 14 0 00 045101 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  4344	033035	004 14 0 00 031512 		ER4	AC+1,31512		;LOW PRODUCT FAILED
  4345		040000	000000			AEE=XX				;INITIAL C(E)
  4346	033036	312 11 0 00 044771 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4347	033037	005 11 0 00 031513 		ER5	E,31513			;C(E) WAS CLOBBERED
  4348	033040	321 15 0 00 033026 		JUMPL	AC+2,F31510		;LOOP ON ERROR SWITCH^
  4349
  4350			003152			ADR=ADR+1
  4351			000002			WW=WW-1
  4352		100000	000000			XX=XX+XX
  4353						IFE	XX,<XX=1>
  4354
  4355					;MULTIPLY A FLOATING 1 BY 0101...0101
  4356		252525	252525			V1=N2
  4357		100000	000000			V2=N2*XX
  4358		052525	252525			IFG	XX,<V3=<N2_<-WW>>>
  4359						IFL	XX,<V3=N1+1>
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 4-21
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0096

  4360						MOP1	(\ADR,V1,0,XX,V3,V2)^
  4361					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  4362					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4363					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  4364					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4365
  4366		252525	252525		F31520:	AA1=V1				;INITIAL C(AC)
  4367	033041	200 13 0 00 045003 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  4368			000000			AA2=0				;INITIAL C(AC+1)
  4369	033042	200 14 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  4370		100000	000000			AEE=XX				;INITIAL C(E)
  4371	033043	200 11 0 00 044774 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4372	033044	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4373		052525	252525			AR1=V3				;EXPECTED RESULT IN AC
  4374	033045	312 13 0 00 045102 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  4375	033046	003 13 0 00 031521 		ER3	AC,31521		;HIGH PRODUCT FAILED
  4376		100000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  4377	033047	312 14 0 00 044774 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  4378	033050	004 14 0 00 031522 		ER4	AC+1,31522		;LOW PRODUCT FAILED
  4379		100000	000000			AEE=XX				;INITIAL C(E)
  4380	033051	312 11 0 00 044774 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4381	033052	005 11 0 00 031523 		ER5	E,31523			;C(E) WAS CLOBBERED
  4382	033053	321 15 0 00 033041 		JUMPL	AC+2,F31520		;LOOP ON ERROR SWITCH^
  4383
  4384			003153			ADR=ADR+1
  4385			000001			WW=WW-1
  4386		200000	000000			XX=XX+XX
  4387						IFE	XX,<XX=1>
  4388
  4389					;MULTIPLY A FLOATING 1 BY 0101...0101
  4390		252525	252525			V1=N2
  4391		200000	000000			V2=N2*XX
  4392		125252	525252			IFG	XX,<V3=<N2_<-WW>>>
  4393						IFL	XX,<V3=N1+1>
  4394						MOP1	(\ADR,V1,0,XX,V3,V2)^
  4395					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  4396					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4397					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  4398					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4399
  4400		252525	252525		F31530:	AA1=V1				;INITIAL C(AC)
  4401	033054	200 13 0 00 045003 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  4402			000000			AA2=0				;INITIAL C(AC+1)
  4403	033055	200 14 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  4404		200000	000000			AEE=XX				;INITIAL C(E)
  4405	033056	200 11 0 00 044777 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4406	033057	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4407		125252	525252			AR1=V3				;EXPECTED RESULT IN AC
  4408	033060	312 13 0 00 045004 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  4409	033061	003 13 0 00 031531 		ER3	AC,31531		;HIGH PRODUCT FAILED
  4410		200000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  4411	033062	312 14 0 00 044777 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  4412	033063	004 14 0 00 031532 		ER4	AC+1,31532		;LOW PRODUCT FAILED
  4413		200000	000000			AEE=XX				;INITIAL C(E)
  4414	033064	312 11 0 00 044777 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 4-22
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0097

  4415	033065	005 11 0 00 031533 		ER5	E,31533			;C(E) WAS CLOBBERED
  4416	033066	321 15 0 00 033054 		JUMPL	AC+2,F31530		;LOOP ON ERROR SWITCH^
  4417
  4418			003154			ADR=ADR+1
  4419			000000			WW=WW-1
  4420		400000	000000			XX=XX+XX
  4421						IFE	XX,<XX=1>
  4422
  4423					;MULTIPLY A FLOATING 1 BY 0101...0101
  4424		252525	252525			V1=N2
  4425		400000	000000			V2=N2*XX
  4426						IFG	XX,<V3=<N2_<-WW>>>
  4427		525252	525253			IFL	XX,<V3=N1+1>
  4428						MOP1	(\ADR,V1,0,XX,V3,V2)^
  4429					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  4430					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4431					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  4432					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4433
  4434		252525	252525		F31540:	AA1=V1				;INITIAL C(AC)
  4435	033067	200 13 0 00 045003 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  4436			000000			AA2=0				;INITIAL C(AC+1)
  4437	033070	200 14 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  4438		400000	000000			AEE=XX				;INITIAL C(E)
  4439	033071	200 11 0 00 045001 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4440	033072	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4441		525252	525253			AR1=V3				;EXPECTED RESULT IN AC
  4442	033073	312 13 0 00 045103 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  4443	033074	003 13 0 00 031541 		ER3	AC,31541		;HIGH PRODUCT FAILED
  4444		400000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  4445	033075	312 14 0 00 045001 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  4446	033076	004 14 0 00 031542 		ER4	AC+1,31542		;LOW PRODUCT FAILED
  4447		400000	000000			AEE=XX				;INITIAL C(E)
  4448	033077	312 11 0 00 045001 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4449	033100	005 11 0 00 031543 		ER5	E,31543			;C(E) WAS CLOBBERED
  4450	033101	321 15 0 00 033067 		JUMPL	AC+2,F31540		;LOOP ON ERROR SWITCH^
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 5
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0098

  4451			000012			AC=12
  4452			000010			E=<AC-2>&17
  4453						SAVEAC	(1,1)^
  4454	033102	201 14 0 00 033102 		MOVEI	AC+2,.		;SAVE TEST PC
  4455	033103	202 14 0 00 030051 		MOVEM	AC+2,TESTPC
  4456	033104	201 14 0 00 000014 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  4457	033105	202 14 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  4458			000000			XX=0
  4459
  4460						REPEAT	^D36,<
  4461						ADR=ADR+1
  4462						XX=XX+XX
  4463						IFE	XX,<XX=1>
  4464					
  4465					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  4466						V1=XX*XX
  4467						IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  4468						IFL	XX,<V2=XX*XX>
  4469						MOP1	(\ADR,XX,-1,XX,V2,V1)>
  4470
  4471			003155			ADR=ADR+1
  4472			000000			XX=XX+XX
  4473			000001			IFE	XX,<XX=1>
  4474
  4475					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  4476			000001			V1=XX*XX
  4477			000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  4478						IFL	XX,<V2=XX*XX>
  4479						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  4480					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  4481					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4482					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  4483					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4484
  4485			000001		F31550:	AA1=XX				;INITIAL C(AC)
  4486	033106	200 12 0 00 044632 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  4487		777777	777777			AA2=-1				;INITIAL C(AC+1)
  4488	033107	200 13 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  4489			000001			AEE=XX				;INITIAL C(E)
  4490	033110	200 10 0 00 044632 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4491	033111	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4492			000000			AR1=V2				;EXPECTED RESULT IN AC
  4493	033112	312 12 0 00 044631 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  4494	033113	003 12 0 00 031551 		ER3	AC,31551		;HIGH PRODUCT FAILED
  4495			000001			AR2=V1				;EXPECTED RESULT IN AC+1
  4496	033114	312 13 0 00 044632 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  4497	033115	004 13 0 00 031552 		ER4	AC+1,31552		;LOW PRODUCT FAILED
  4498			000001			AEE=XX				;INITIAL C(E)
  4499	033116	312 10 0 00 044632 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4500	033117	005 10 0 00 031553 		ER5	E,31553			;C(E) WAS CLOBBERED
  4501	033120	321 14 0 00 033106 		JUMPL	AC+2,F31550		;LOOP ON ERROR SWITCH^
  4502
  4503			003156			ADR=ADR+1
  4504			000002			XX=XX+XX
  4505						IFE	XX,<XX=1>
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 5-1
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0099

  4506
  4507					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  4508			000004			V1=XX*XX
  4509			000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  4510						IFL	XX,<V2=XX*XX>
  4511						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  4512					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  4513					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4514					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  4515					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4516
  4517			000002		F31560:	AA1=XX				;INITIAL C(AC)
  4518	033121	200 12 0 00 044634 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  4519		777777	777777			AA2=-1				;INITIAL C(AC+1)
  4520	033122	200 13 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  4521			000002			AEE=XX				;INITIAL C(E)
  4522	033123	200 10 0 00 044634 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4523	033124	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4524			000000			AR1=V2				;EXPECTED RESULT IN AC
  4525	033125	312 12 0 00 044631 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  4526	033126	003 12 0 00 031561 		ER3	AC,31561		;HIGH PRODUCT FAILED
  4527			000004			AR2=V1				;EXPECTED RESULT IN AC+1
  4528	033127	312 13 0 00 044637 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  4529	033130	004 13 0 00 031562 		ER4	AC+1,31562		;LOW PRODUCT FAILED
  4530			000002			AEE=XX				;INITIAL C(E)
  4531	033131	312 10 0 00 044634 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4532	033132	005 10 0 00 031563 		ER5	E,31563			;C(E) WAS CLOBBERED
  4533	033133	321 14 0 00 033121 		JUMPL	AC+2,F31560		;LOOP ON ERROR SWITCH^
  4534
  4535			003157			ADR=ADR+1
  4536			000004			XX=XX+XX
  4537						IFE	XX,<XX=1>
  4538
  4539					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  4540			000020			V1=XX*XX
  4541			000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  4542						IFL	XX,<V2=XX*XX>
  4543						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  4544					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  4545					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4546					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  4547					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4548
  4549			000004		F31570:	AA1=XX				;INITIAL C(AC)
  4550	033134	200 12 0 00 044637 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  4551		777777	777777			AA2=-1				;INITIAL C(AC+1)
  4552	033135	200 13 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  4553			000004			AEE=XX				;INITIAL C(E)
  4554	033136	200 10 0 00 044637 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4555	033137	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4556			000000			AR1=V2				;EXPECTED RESULT IN AC
  4557	033140	312 12 0 00 044631 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  4558	033141	003 12 0 00 031571 		ER3	AC,31571		;HIGH PRODUCT FAILED
  4559			000020			AR2=V1				;EXPECTED RESULT IN AC+1
  4560	033142	312 13 0 00 044645 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 5-2
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0100

  4561	033143	004 13 0 00 031572 		ER4	AC+1,31572		;LOW PRODUCT FAILED
  4562			000004			AEE=XX				;INITIAL C(E)
  4563	033144	312 10 0 00 044637 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4564	033145	005 10 0 00 031573 		ER5	E,31573			;C(E) WAS CLOBBERED
  4565	033146	321 14 0 00 033134 		JUMPL	AC+2,F31570		;LOOP ON ERROR SWITCH^
  4566
  4567			003160			ADR=ADR+1
  4568			000010			XX=XX+XX
  4569						IFE	XX,<XX=1>
  4570
  4571					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  4572			000100			V1=XX*XX
  4573			000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  4574						IFL	XX,<V2=XX*XX>
  4575						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  4576					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  4577					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4578					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  4579					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4580
  4581			000010		F31600:	AA1=XX				;INITIAL C(AC)
  4582	033147	200 12 0 00 044642 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  4583		777777	777777			AA2=-1				;INITIAL C(AC+1)
  4584	033150	200 13 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  4585			000010			AEE=XX				;INITIAL C(E)
  4586	033151	200 10 0 00 044642 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4587	033152	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4588			000000			AR1=V2				;EXPECTED RESULT IN AC
  4589	033153	312 12 0 00 044631 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  4590	033154	003 12 0 00 031601 		ER3	AC,31601		;HIGH PRODUCT FAILED
  4591			000100			AR2=V1				;EXPECTED RESULT IN AC+1
  4592	033155	312 13 0 00 044653 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  4593	033156	004 13 0 00 031602 		ER4	AC+1,31602		;LOW PRODUCT FAILED
  4594			000010			AEE=XX				;INITIAL C(E)
  4595	033157	312 10 0 00 044642 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4596	033160	005 10 0 00 031603 		ER5	E,31603			;C(E) WAS CLOBBERED
  4597	033161	321 14 0 00 033147 		JUMPL	AC+2,F31600		;LOOP ON ERROR SWITCH^
  4598
  4599			003161			ADR=ADR+1
  4600			000020			XX=XX+XX
  4601						IFE	XX,<XX=1>
  4602
  4603					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  4604			000400			V1=XX*XX
  4605			000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  4606						IFL	XX,<V2=XX*XX>
  4607						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  4608					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  4609					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4610					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  4611					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4612
  4613			000020		F31610:	AA1=XX				;INITIAL C(AC)
  4614	033162	200 12 0 00 044645 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  4615		777777	777777			AA2=-1				;INITIAL C(AC+1)
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 5-3
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0101

  4616	033163	200 13 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  4617			000020			AEE=XX				;INITIAL C(E)
  4618	033164	200 10 0 00 044645 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4619	033165	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4620			000000			AR1=V2				;EXPECTED RESULT IN AC
  4621	033166	312 12 0 00 044631 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  4622	033167	003 12 0 00 031611 		ER3	AC,31611		;HIGH PRODUCT FAILED
  4623			000400			AR2=V1				;EXPECTED RESULT IN AC+1
  4624	033170	312 13 0 00 044661 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  4625	033171	004 13 0 00 031612 		ER4	AC+1,31612		;LOW PRODUCT FAILED
  4626			000020			AEE=XX				;INITIAL C(E)
  4627	033172	312 10 0 00 044645 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4628	033173	005 10 0 00 031613 		ER5	E,31613			;C(E) WAS CLOBBERED
  4629	033174	321 14 0 00 033162 		JUMPL	AC+2,F31610		;LOOP ON ERROR SWITCH^
  4630
  4631			003162			ADR=ADR+1
  4632			000040			XX=XX+XX
  4633						IFE	XX,<XX=1>
  4634
  4635					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  4636			002000			V1=XX*XX
  4637			000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  4638						IFL	XX,<V2=XX*XX>
  4639						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  4640					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  4641					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4642					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  4643					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4644
  4645			000040		F31620:	AA1=XX				;INITIAL C(AC)
  4646	033175	200 12 0 00 044650 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  4647		777777	777777			AA2=-1				;INITIAL C(AC+1)
  4648	033176	200 13 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  4649			000040			AEE=XX				;INITIAL C(E)
  4650	033177	200 10 0 00 044650 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4651	033200	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4652			000000			AR1=V2				;EXPECTED RESULT IN AC
  4653	033201	312 12 0 00 044631 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  4654	033202	003 12 0 00 031621 		ER3	AC,31621		;HIGH PRODUCT FAILED
  4655			002000			AR2=V1				;EXPECTED RESULT IN AC+1
  4656	033203	312 13 0 00 044667 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  4657	033204	004 13 0 00 031622 		ER4	AC+1,31622		;LOW PRODUCT FAILED
  4658			000040			AEE=XX				;INITIAL C(E)
  4659	033205	312 10 0 00 044650 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4660	033206	005 10 0 00 031623 		ER5	E,31623			;C(E) WAS CLOBBERED
  4661	033207	321 14 0 00 033175 		JUMPL	AC+2,F31620		;LOOP ON ERROR SWITCH^
  4662
  4663			003163			ADR=ADR+1
  4664			000100			XX=XX+XX
  4665						IFE	XX,<XX=1>
  4666
  4667					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  4668			010000			V1=XX*XX
  4669			000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  4670						IFL	XX,<V2=XX*XX>
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 5-4
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0102

  4671						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  4672					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  4673					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4674					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  4675					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4676
  4677			000100		F31630:	AA1=XX				;INITIAL C(AC)
  4678	033210	200 12 0 00 044653 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  4679		777777	777777			AA2=-1				;INITIAL C(AC+1)
  4680	033211	200 13 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  4681			000100			AEE=XX				;INITIAL C(E)
  4682	033212	200 10 0 00 044653 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4683	033213	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4684			000000			AR1=V2				;EXPECTED RESULT IN AC
  4685	033214	312 12 0 00 044631 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  4686	033215	003 12 0 00 031631 		ER3	AC,31631		;HIGH PRODUCT FAILED
  4687			010000			AR2=V1				;EXPECTED RESULT IN AC+1
  4688	033216	312 13 0 00 044675 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  4689	033217	004 13 0 00 031632 		ER4	AC+1,31632		;LOW PRODUCT FAILED
  4690			000100			AEE=XX				;INITIAL C(E)
  4691	033220	312 10 0 00 044653 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4692	033221	005 10 0 00 031633 		ER5	E,31633			;C(E) WAS CLOBBERED
  4693	033222	321 14 0 00 033210 		JUMPL	AC+2,F31630		;LOOP ON ERROR SWITCH^
  4694
  4695			003164			ADR=ADR+1
  4696			000200			XX=XX+XX
  4697						IFE	XX,<XX=1>
  4698
  4699					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  4700			040000			V1=XX*XX
  4701			000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  4702						IFL	XX,<V2=XX*XX>
  4703						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  4704					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  4705					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4706					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  4707					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4708
  4709			000200		F31640:	AA1=XX				;INITIAL C(AC)
  4710	033223	200 12 0 00 044656 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  4711		777777	777777			AA2=-1				;INITIAL C(AC+1)
  4712	033224	200 13 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  4713			000200			AEE=XX				;INITIAL C(E)
  4714	033225	200 10 0 00 044656 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4715	033226	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4716			000000			AR1=V2				;EXPECTED RESULT IN AC
  4717	033227	312 12 0 00 044631 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  4718	033230	003 12 0 00 031641 		ER3	AC,31641		;HIGH PRODUCT FAILED
  4719			040000			AR2=V1				;EXPECTED RESULT IN AC+1
  4720	033231	312 13 0 00 044703 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  4721	033232	004 13 0 00 031642 		ER4	AC+1,31642		;LOW PRODUCT FAILED
  4722			000200			AEE=XX				;INITIAL C(E)
  4723	033233	312 10 0 00 044656 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4724	033234	005 10 0 00 031643 		ER5	E,31643			;C(E) WAS CLOBBERED
  4725	033235	321 14 0 00 033223 		JUMPL	AC+2,F31640		;LOOP ON ERROR SWITCH^
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 5-5
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0103

  4726
  4727			003165			ADR=ADR+1
  4728			000400			XX=XX+XX
  4729						IFE	XX,<XX=1>
  4730
  4731					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  4732			200000			V1=XX*XX
  4733			000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  4734						IFL	XX,<V2=XX*XX>
  4735						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  4736					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  4737					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4738					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  4739					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4740
  4741			000400		F31650:	AA1=XX				;INITIAL C(AC)
  4742	033236	200 12 0 00 044661 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  4743		777777	777777			AA2=-1				;INITIAL C(AC+1)
  4744	033237	200 13 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  4745			000400			AEE=XX				;INITIAL C(E)
  4746	033240	200 10 0 00 044661 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4747	033241	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4748			000000			AR1=V2				;EXPECTED RESULT IN AC
  4749	033242	312 12 0 00 044631 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  4750	033243	003 12 0 00 031651 		ER3	AC,31651		;HIGH PRODUCT FAILED
  4751			200000			AR2=V1				;EXPECTED RESULT IN AC+1
  4752	033244	312 13 0 00 044711 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  4753	033245	004 13 0 00 031652 		ER4	AC+1,31652		;LOW PRODUCT FAILED
  4754			000400			AEE=XX				;INITIAL C(E)
  4755	033246	312 10 0 00 044661 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4756	033247	005 10 0 00 031653 		ER5	E,31653			;C(E) WAS CLOBBERED
  4757	033250	321 14 0 00 033236 		JUMPL	AC+2,F31650		;LOOP ON ERROR SWITCH^
  4758
  4759			003166			ADR=ADR+1
  4760			001000			XX=XX+XX
  4761						IFE	XX,<XX=1>
  4762
  4763					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  4764		000001	000000			V1=XX*XX
  4765			000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  4766						IFL	XX,<V2=XX*XX>
  4767						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  4768					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  4769					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4770					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  4771					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4772
  4773			001000		F31660:	AA1=XX				;INITIAL C(AC)
  4774	033251	200 12 0 00 044664 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  4775		777777	777777			AA2=-1				;INITIAL C(AC+1)
  4776	033252	200 13 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  4777			001000			AEE=XX				;INITIAL C(E)
  4778	033253	200 10 0 00 044664 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4779	033254	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4780			000000			AR1=V2				;EXPECTED RESULT IN AC
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 5-6
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0104

  4781	033255	312 12 0 00 044631 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  4782	033256	003 12 0 00 031661 		ER3	AC,31661		;HIGH PRODUCT FAILED
  4783		000001	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  4784	033257	312 13 0 00 044717 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  4785	033260	004 13 0 00 031662 		ER4	AC+1,31662		;LOW PRODUCT FAILED
  4786			001000			AEE=XX				;INITIAL C(E)
  4787	033261	312 10 0 00 044664 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4788	033262	005 10 0 00 031663 		ER5	E,31663			;C(E) WAS CLOBBERED
  4789	033263	321 14 0 00 033251 		JUMPL	AC+2,F31660		;LOOP ON ERROR SWITCH^
  4790
  4791			003167			ADR=ADR+1
  4792			002000			XX=XX+XX
  4793						IFE	XX,<XX=1>
  4794
  4795					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  4796		000004	000000			V1=XX*XX
  4797			000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  4798						IFL	XX,<V2=XX*XX>
  4799						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  4800					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  4801					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4802					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  4803					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4804
  4805			002000		F31670:	AA1=XX				;INITIAL C(AC)
  4806	033264	200 12 0 00 044667 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  4807		777777	777777			AA2=-1				;INITIAL C(AC+1)
  4808	033265	200 13 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  4809			002000			AEE=XX				;INITIAL C(E)
  4810	033266	200 10 0 00 044667 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4811	033267	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4812			000000			AR1=V2				;EXPECTED RESULT IN AC
  4813	033270	312 12 0 00 044631 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  4814	033271	003 12 0 00 031671 		ER3	AC,31671		;HIGH PRODUCT FAILED
  4815		000004	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  4816	033272	312 13 0 00 044725 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  4817	033273	004 13 0 00 031672 		ER4	AC+1,31672		;LOW PRODUCT FAILED
  4818			002000			AEE=XX				;INITIAL C(E)
  4819	033274	312 10 0 00 044667 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4820	033275	005 10 0 00 031673 		ER5	E,31673			;C(E) WAS CLOBBERED
  4821	033276	321 14 0 00 033264 		JUMPL	AC+2,F31670		;LOOP ON ERROR SWITCH^
  4822
  4823			003170			ADR=ADR+1
  4824			004000			XX=XX+XX
  4825						IFE	XX,<XX=1>
  4826
  4827					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  4828		000020	000000			V1=XX*XX
  4829			000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  4830						IFL	XX,<V2=XX*XX>
  4831						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  4832					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  4833					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4834					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  4835					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 5-7
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0105

  4836
  4837			004000		F31700:	AA1=XX				;INITIAL C(AC)
  4838	033277	200 12 0 00 044672 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  4839		777777	777777			AA2=-1				;INITIAL C(AC+1)
  4840	033300	200 13 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  4841			004000			AEE=XX				;INITIAL C(E)
  4842	033301	200 10 0 00 044672 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4843	033302	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4844			000000			AR1=V2				;EXPECTED RESULT IN AC
  4845	033303	312 12 0 00 044631 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  4846	033304	003 12 0 00 031701 		ER3	AC,31701		;HIGH PRODUCT FAILED
  4847		000020	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  4848	033305	312 13 0 00 044733 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  4849	033306	004 13 0 00 031702 		ER4	AC+1,31702		;LOW PRODUCT FAILED
  4850			004000			AEE=XX				;INITIAL C(E)
  4851	033307	312 10 0 00 044672 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4852	033310	005 10 0 00 031703 		ER5	E,31703			;C(E) WAS CLOBBERED
  4853	033311	321 14 0 00 033277 		JUMPL	AC+2,F31700		;LOOP ON ERROR SWITCH^
  4854
  4855			003171			ADR=ADR+1
  4856			010000			XX=XX+XX
  4857						IFE	XX,<XX=1>
  4858
  4859					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  4860		000100	000000			V1=XX*XX
  4861			000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  4862						IFL	XX,<V2=XX*XX>
  4863						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  4864					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  4865					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4866					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  4867					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4868
  4869			010000		F31710:	AA1=XX				;INITIAL C(AC)
  4870	033312	200 12 0 00 044675 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  4871		777777	777777			AA2=-1				;INITIAL C(AC+1)
  4872	033313	200 13 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  4873			010000			AEE=XX				;INITIAL C(E)
  4874	033314	200 10 0 00 044675 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4875	033315	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4876			000000			AR1=V2				;EXPECTED RESULT IN AC
  4877	033316	312 12 0 00 044631 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  4878	033317	003 12 0 00 031711 		ER3	AC,31711		;HIGH PRODUCT FAILED
  4879		000100	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  4880	033320	312 13 0 00 044741 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  4881	033321	004 13 0 00 031712 		ER4	AC+1,31712		;LOW PRODUCT FAILED
  4882			010000			AEE=XX				;INITIAL C(E)
  4883	033322	312 10 0 00 044675 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4884	033323	005 10 0 00 031713 		ER5	E,31713			;C(E) WAS CLOBBERED
  4885	033324	321 14 0 00 033312 		JUMPL	AC+2,F31710		;LOOP ON ERROR SWITCH^
  4886
  4887			003172			ADR=ADR+1
  4888			020000			XX=XX+XX
  4889						IFE	XX,<XX=1>
  4890
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 5-8
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0106

  4891					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  4892		000400	000000			V1=XX*XX
  4893			000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  4894						IFL	XX,<V2=XX*XX>
  4895						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  4896					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  4897					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4898					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  4899					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4900
  4901			020000		F31720:	AA1=XX				;INITIAL C(AC)
  4902	033325	200 12 0 00 044700 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  4903		777777	777777			AA2=-1				;INITIAL C(AC+1)
  4904	033326	200 13 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  4905			020000			AEE=XX				;INITIAL C(E)
  4906	033327	200 10 0 00 044700 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4907	033330	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4908			000000			AR1=V2				;EXPECTED RESULT IN AC
  4909	033331	312 12 0 00 044631 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  4910	033332	003 12 0 00 031721 		ER3	AC,31721		;HIGH PRODUCT FAILED
  4911		000400	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  4912	033333	312 13 0 00 044747 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  4913	033334	004 13 0 00 031722 		ER4	AC+1,31722		;LOW PRODUCT FAILED
  4914			020000			AEE=XX				;INITIAL C(E)
  4915	033335	312 10 0 00 044700 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4916	033336	005 10 0 00 031723 		ER5	E,31723			;C(E) WAS CLOBBERED
  4917	033337	321 14 0 00 033325 		JUMPL	AC+2,F31720		;LOOP ON ERROR SWITCH^
  4918
  4919			003173			ADR=ADR+1
  4920			040000			XX=XX+XX
  4921						IFE	XX,<XX=1>
  4922
  4923					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  4924		002000	000000			V1=XX*XX
  4925			000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  4926						IFL	XX,<V2=XX*XX>
  4927						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  4928					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  4929					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4930					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  4931					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4932
  4933			040000		F31730:	AA1=XX				;INITIAL C(AC)
  4934	033340	200 12 0 00 044703 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  4935		777777	777777			AA2=-1				;INITIAL C(AC+1)
  4936	033341	200 13 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  4937			040000			AEE=XX				;INITIAL C(E)
  4938	033342	200 10 0 00 044703 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4939	033343	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4940			000000			AR1=V2				;EXPECTED RESULT IN AC
  4941	033344	312 12 0 00 044631 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  4942	033345	003 12 0 00 031731 		ER3	AC,31731		;HIGH PRODUCT FAILED
  4943		002000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  4944	033346	312 13 0 00 044755 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  4945	033347	004 13 0 00 031732 		ER4	AC+1,31732		;LOW PRODUCT FAILED
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 5-9
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0107

  4946			040000			AEE=XX				;INITIAL C(E)
  4947	033350	312 10 0 00 044703 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4948	033351	005 10 0 00 031733 		ER5	E,31733			;C(E) WAS CLOBBERED
  4949	033352	321 14 0 00 033340 		JUMPL	AC+2,F31730		;LOOP ON ERROR SWITCH^
  4950
  4951			003174			ADR=ADR+1
  4952			100000			XX=XX+XX
  4953						IFE	XX,<XX=1>
  4954
  4955					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  4956		010000	000000			V1=XX*XX
  4957			000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  4958						IFL	XX,<V2=XX*XX>
  4959						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  4960					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  4961					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4962					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  4963					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4964
  4965			100000		F31740:	AA1=XX				;INITIAL C(AC)
  4966	033353	200 12 0 00 044706 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  4967		777777	777777			AA2=-1				;INITIAL C(AC+1)
  4968	033354	200 13 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  4969			100000			AEE=XX				;INITIAL C(E)
  4970	033355	200 10 0 00 044706 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4971	033356	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4972			000000			AR1=V2				;EXPECTED RESULT IN AC
  4973	033357	312 12 0 00 044631 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  4974	033360	003 12 0 00 031741 		ER3	AC,31741		;HIGH PRODUCT FAILED
  4975		010000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  4976	033361	312 13 0 00 044763 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  4977	033362	004 13 0 00 031742 		ER4	AC+1,31742		;LOW PRODUCT FAILED
  4978			100000			AEE=XX				;INITIAL C(E)
  4979	033363	312 10 0 00 044706 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4980	033364	005 10 0 00 031743 		ER5	E,31743			;C(E) WAS CLOBBERED
  4981	033365	321 14 0 00 033353 		JUMPL	AC+2,F31740		;LOOP ON ERROR SWITCH^
  4982
  4983			003175			ADR=ADR+1
  4984			200000			XX=XX+XX
  4985						IFE	XX,<XX=1>
  4986
  4987					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  4988		040000	000000			V1=XX*XX
  4989			000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  4990						IFL	XX,<V2=XX*XX>
  4991						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  4992					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  4993					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4994					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  4995					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4996
  4997			200000		F31750:	AA1=XX				;INITIAL C(AC)
  4998	033366	200 12 0 00 044711 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  4999		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5000	033367	200 13 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 5-10
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0108

  5001			200000			AEE=XX				;INITIAL C(E)
  5002	033370	200 10 0 00 044711 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5003	033371	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5004			000000			AR1=V2				;EXPECTED RESULT IN AC
  5005	033372	312 12 0 00 044631 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5006	033373	003 12 0 00 031751 		ER3	AC,31751		;HIGH PRODUCT FAILED
  5007		040000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5008	033374	312 13 0 00 044771 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5009	033375	004 13 0 00 031752 		ER4	AC+1,31752		;LOW PRODUCT FAILED
  5010			200000			AEE=XX				;INITIAL C(E)
  5011	033376	312 10 0 00 044711 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5012	033377	005 10 0 00 031753 		ER5	E,31753			;C(E) WAS CLOBBERED
  5013	033400	321 14 0 00 033366 		JUMPL	AC+2,F31750		;LOOP ON ERROR SWITCH^
  5014
  5015			003176			ADR=ADR+1
  5016			400000			XX=XX+XX
  5017						IFE	XX,<XX=1>
  5018
  5019					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  5020		200000	000000			V1=XX*XX
  5021			000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5022						IFL	XX,<V2=XX*XX>
  5023						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5024					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5025					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5026					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5027					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5028
  5029			400000		F31760:	AA1=XX				;INITIAL C(AC)
  5030	033401	200 12 0 00 044714 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5031		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5032	033402	200 13 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5033			400000			AEE=XX				;INITIAL C(E)
  5034	033403	200 10 0 00 044714 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5035	033404	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5036			000000			AR1=V2				;EXPECTED RESULT IN AC
  5037	033405	312 12 0 00 044631 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5038	033406	003 12 0 00 031761 		ER3	AC,31761		;HIGH PRODUCT FAILED
  5039		200000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5040	033407	312 13 0 00 044777 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5041	033410	004 13 0 00 031762 		ER4	AC+1,31762		;LOW PRODUCT FAILED
  5042			400000			AEE=XX				;INITIAL C(E)
  5043	033411	312 10 0 00 044714 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5044	033412	005 10 0 00 031763 		ER5	E,31763			;C(E) WAS CLOBBERED
  5045	033413	321 14 0 00 033401 		JUMPL	AC+2,F31760		;LOOP ON ERROR SWITCH^
  5046
  5047			003177			ADR=ADR+1
  5048		000001	000000			XX=XX+XX
  5049						IFE	XX,<XX=1>
  5050
  5051					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  5052			000000			V1=XX*XX
  5053			000002			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5054						IFL	XX,<V2=XX*XX>
  5055						MOP1	(\ADR,XX,-1,XX,V2,V1)^
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 5-11
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0109

  5056					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5057					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5058					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5059					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5060
  5061		000001	000000		F31770:	AA1=XX				;INITIAL C(AC)
  5062	033414	200 12 0 00 044717 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5063		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5064	033415	200 13 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5065		000001	000000			AEE=XX				;INITIAL C(E)
  5066	033416	200 10 0 00 044717 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5067	033417	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5068			000002			AR1=V2				;EXPECTED RESULT IN AC
  5069	033420	312 12 0 00 044634 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5070	033421	003 12 0 00 031771 		ER3	AC,31771		;HIGH PRODUCT FAILED
  5071			000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5072	033422	312 13 0 00 044631 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5073	033423	004 13 0 00 031772 		ER4	AC+1,31772		;LOW PRODUCT FAILED
  5074		000001	000000			AEE=XX				;INITIAL C(E)
  5075	033424	312 10 0 00 044717 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5076	033425	005 10 0 00 031773 		ER5	E,31773			;C(E) WAS CLOBBERED
  5077	033426	321 14 0 00 033414 		JUMPL	AC+2,F31770		;LOOP ON ERROR SWITCH^
  5078
  5079			003200			ADR=ADR+1
  5080		000002	000000			XX=XX+XX
  5081						IFE	XX,<XX=1>
  5082
  5083					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  5084			000000			V1=XX*XX
  5085			000010			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5086						IFL	XX,<V2=XX*XX>
  5087						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5088					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5089					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5090					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5091					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5092
  5093		000002	000000		F32000:	AA1=XX				;INITIAL C(AC)
  5094	033427	200 12 0 00 044722 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5095		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5096	033430	200 13 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5097		000002	000000			AEE=XX				;INITIAL C(E)
  5098	033431	200 10 0 00 044722 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5099	033432	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5100			000010			AR1=V2				;EXPECTED RESULT IN AC
  5101	033433	312 12 0 00 044642 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5102	033434	003 12 0 00 032001 		ER3	AC,32001		;HIGH PRODUCT FAILED
  5103			000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5104	033435	312 13 0 00 044631 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5105	033436	004 13 0 00 032002 		ER4	AC+1,32002		;LOW PRODUCT FAILED
  5106		000002	000000			AEE=XX				;INITIAL C(E)
  5107	033437	312 10 0 00 044722 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5108	033440	005 10 0 00 032003 		ER5	E,32003			;C(E) WAS CLOBBERED
  5109	033441	321 14 0 00 033427 		JUMPL	AC+2,F32000		;LOOP ON ERROR SWITCH^
  5110
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 5-12
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0110

  5111			003201			ADR=ADR+1
  5112		000004	000000			XX=XX+XX
  5113						IFE	XX,<XX=1>
  5114
  5115					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  5116			000000			V1=XX*XX
  5117			000040			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5118						IFL	XX,<V2=XX*XX>
  5119						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5120					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5121					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5122					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5123					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5124
  5125		000004	000000		F32010:	AA1=XX				;INITIAL C(AC)
  5126	033442	200 12 0 00 044725 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5127		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5128	033443	200 13 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5129		000004	000000			AEE=XX				;INITIAL C(E)
  5130	033444	200 10 0 00 044725 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5131	033445	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5132			000040			AR1=V2				;EXPECTED RESULT IN AC
  5133	033446	312 12 0 00 044650 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5134	033447	003 12 0 00 032011 		ER3	AC,32011		;HIGH PRODUCT FAILED
  5135			000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5136	033450	312 13 0 00 044631 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5137	033451	004 13 0 00 032012 		ER4	AC+1,32012		;LOW PRODUCT FAILED
  5138		000004	000000			AEE=XX				;INITIAL C(E)
  5139	033452	312 10 0 00 044725 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5140	033453	005 10 0 00 032013 		ER5	E,32013			;C(E) WAS CLOBBERED
  5141	033454	321 14 0 00 033442 		JUMPL	AC+2,F32010		;LOOP ON ERROR SWITCH^
  5142
  5143			003202			ADR=ADR+1
  5144		000010	000000			XX=XX+XX
  5145						IFE	XX,<XX=1>
  5146
  5147					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  5148			000000			V1=XX*XX
  5149			000200			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5150						IFL	XX,<V2=XX*XX>
  5151						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5152					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5153					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5154					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5155					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5156
  5157		000010	000000		F32020:	AA1=XX				;INITIAL C(AC)
  5158	033455	200 12 0 00 044730 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5159		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5160	033456	200 13 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5161		000010	000000			AEE=XX				;INITIAL C(E)
  5162	033457	200 10 0 00 044730 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5163	033460	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5164			000200			AR1=V2				;EXPECTED RESULT IN AC
  5165	033461	312 12 0 00 044656 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 5-13
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0111

  5166	033462	003 12 0 00 032021 		ER3	AC,32021		;HIGH PRODUCT FAILED
  5167			000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5168	033463	312 13 0 00 044631 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5169	033464	004 13 0 00 032022 		ER4	AC+1,32022		;LOW PRODUCT FAILED
  5170		000010	000000			AEE=XX				;INITIAL C(E)
  5171	033465	312 10 0 00 044730 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5172	033466	005 10 0 00 032023 		ER5	E,32023			;C(E) WAS CLOBBERED
  5173	033467	321 14 0 00 033455 		JUMPL	AC+2,F32020		;LOOP ON ERROR SWITCH^
  5174
  5175			003203			ADR=ADR+1
  5176		000020	000000			XX=XX+XX
  5177						IFE	XX,<XX=1>
  5178
  5179					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  5180			000000			V1=XX*XX
  5181			001000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5182						IFL	XX,<V2=XX*XX>
  5183						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5184					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5185					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5186					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5187					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5188
  5189		000020	000000		F32030:	AA1=XX				;INITIAL C(AC)
  5190	033470	200 12 0 00 044733 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5191		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5192	033471	200 13 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5193		000020	000000			AEE=XX				;INITIAL C(E)
  5194	033472	200 10 0 00 044733 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5195	033473	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5196			001000			AR1=V2				;EXPECTED RESULT IN AC
  5197	033474	312 12 0 00 044664 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5198	033475	003 12 0 00 032031 		ER3	AC,32031		;HIGH PRODUCT FAILED
  5199			000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5200	033476	312 13 0 00 044631 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5201	033477	004 13 0 00 032032 		ER4	AC+1,32032		;LOW PRODUCT FAILED
  5202		000020	000000			AEE=XX				;INITIAL C(E)
  5203	033500	312 10 0 00 044733 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5204	033501	005 10 0 00 032033 		ER5	E,32033			;C(E) WAS CLOBBERED
  5205	033502	321 14 0 00 033470 		JUMPL	AC+2,F32030		;LOOP ON ERROR SWITCH^
  5206
  5207			003204			ADR=ADR+1
  5208		000040	000000			XX=XX+XX
  5209						IFE	XX,<XX=1>
  5210
  5211					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  5212			000000			V1=XX*XX
  5213			004000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5214						IFL	XX,<V2=XX*XX>
  5215						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5216					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5217					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5218					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5219					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5220
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 5-14
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0112

  5221		000040	000000		F32040:	AA1=XX				;INITIAL C(AC)
  5222	033503	200 12 0 00 044736 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5223		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5224	033504	200 13 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5225		000040	000000			AEE=XX				;INITIAL C(E)
  5226	033505	200 10 0 00 044736 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5227	033506	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5228			004000			AR1=V2				;EXPECTED RESULT IN AC
  5229	033507	312 12 0 00 044672 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5230	033510	003 12 0 00 032041 		ER3	AC,32041		;HIGH PRODUCT FAILED
  5231			000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5232	033511	312 13 0 00 044631 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5233	033512	004 13 0 00 032042 		ER4	AC+1,32042		;LOW PRODUCT FAILED
  5234		000040	000000			AEE=XX				;INITIAL C(E)
  5235	033513	312 10 0 00 044736 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5236	033514	005 10 0 00 032043 		ER5	E,32043			;C(E) WAS CLOBBERED
  5237	033515	321 14 0 00 033503 		JUMPL	AC+2,F32040		;LOOP ON ERROR SWITCH^
  5238
  5239			003205			ADR=ADR+1
  5240		000100	000000			XX=XX+XX
  5241						IFE	XX,<XX=1>
  5242
  5243					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  5244			000000			V1=XX*XX
  5245			020000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5246						IFL	XX,<V2=XX*XX>
  5247						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5248					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5249					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5250					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5251					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5252
  5253		000100	000000		F32050:	AA1=XX				;INITIAL C(AC)
  5254	033516	200 12 0 00 044741 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5255		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5256	033517	200 13 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5257		000100	000000			AEE=XX				;INITIAL C(E)
  5258	033520	200 10 0 00 044741 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5259	033521	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5260			020000			AR1=V2				;EXPECTED RESULT IN AC
  5261	033522	312 12 0 00 044700 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5262	033523	003 12 0 00 032051 		ER3	AC,32051		;HIGH PRODUCT FAILED
  5263			000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5264	033524	312 13 0 00 044631 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5265	033525	004 13 0 00 032052 		ER4	AC+1,32052		;LOW PRODUCT FAILED
  5266		000100	000000			AEE=XX				;INITIAL C(E)
  5267	033526	312 10 0 00 044741 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5268	033527	005 10 0 00 032053 		ER5	E,32053			;C(E) WAS CLOBBERED
  5269	033530	321 14 0 00 033516 		JUMPL	AC+2,F32050		;LOOP ON ERROR SWITCH^
  5270
  5271			003206			ADR=ADR+1
  5272		000200	000000			XX=XX+XX
  5273						IFE	XX,<XX=1>
  5274
  5275					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 5-15
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0113

  5276			000000			V1=XX*XX
  5277			100000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5278						IFL	XX,<V2=XX*XX>
  5279						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5280					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5281					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5282					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5283					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5284
  5285		000200	000000		F32060:	AA1=XX				;INITIAL C(AC)
  5286	033531	200 12 0 00 044744 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5287		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5288	033532	200 13 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5289		000200	000000			AEE=XX				;INITIAL C(E)
  5290	033533	200 10 0 00 044744 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5291	033534	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5292			100000			AR1=V2				;EXPECTED RESULT IN AC
  5293	033535	312 12 0 00 044706 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5294	033536	003 12 0 00 032061 		ER3	AC,32061		;HIGH PRODUCT FAILED
  5295			000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5296	033537	312 13 0 00 044631 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5297	033540	004 13 0 00 032062 		ER4	AC+1,32062		;LOW PRODUCT FAILED
  5298		000200	000000			AEE=XX				;INITIAL C(E)
  5299	033541	312 10 0 00 044744 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5300	033542	005 10 0 00 032063 		ER5	E,32063			;C(E) WAS CLOBBERED
  5301	033543	321 14 0 00 033531 		JUMPL	AC+2,F32060		;LOOP ON ERROR SWITCH^
  5302
  5303			003207			ADR=ADR+1
  5304		000400	000000			XX=XX+XX
  5305						IFE	XX,<XX=1>
  5306
  5307					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  5308			000000			V1=XX*XX
  5309			400000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5310						IFL	XX,<V2=XX*XX>
  5311						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5312					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5313					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5314					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5315					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5316
  5317		000400	000000		F32070:	AA1=XX				;INITIAL C(AC)
  5318	033544	200 12 0 00 044747 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5319		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5320	033545	200 13 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5321		000400	000000			AEE=XX				;INITIAL C(E)
  5322	033546	200 10 0 00 044747 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5323	033547	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5324			400000			AR1=V2				;EXPECTED RESULT IN AC
  5325	033550	312 12 0 00 044714 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5326	033551	003 12 0 00 032071 		ER3	AC,32071		;HIGH PRODUCT FAILED
  5327			000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5328	033552	312 13 0 00 044631 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5329	033553	004 13 0 00 032072 		ER4	AC+1,32072		;LOW PRODUCT FAILED
  5330		000400	000000			AEE=XX				;INITIAL C(E)
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 5-16
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0114

  5331	033554	312 10 0 00 044747 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5332	033555	005 10 0 00 032073 		ER5	E,32073			;C(E) WAS CLOBBERED
  5333	033556	321 14 0 00 033544 		JUMPL	AC+2,F32070		;LOOP ON ERROR SWITCH^
  5334
  5335			003210			ADR=ADR+1
  5336		001000	000000			XX=XX+XX
  5337						IFE	XX,<XX=1>
  5338
  5339					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  5340			000000			V1=XX*XX
  5341		000002	000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5342						IFL	XX,<V2=XX*XX>
  5343						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5344					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5345					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5346					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5347					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5348
  5349		001000	000000		F32100:	AA1=XX				;INITIAL C(AC)
  5350	033557	200 12 0 00 044752 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5351		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5352	033560	200 13 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5353		001000	000000			AEE=XX				;INITIAL C(E)
  5354	033561	200 10 0 00 044752 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5355	033562	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5356		000002	000000			AR1=V2				;EXPECTED RESULT IN AC
  5357	033563	312 12 0 00 044722 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5358	033564	003 12 0 00 032101 		ER3	AC,32101		;HIGH PRODUCT FAILED
  5359			000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5360	033565	312 13 0 00 044631 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5361	033566	004 13 0 00 032102 		ER4	AC+1,32102		;LOW PRODUCT FAILED
  5362		001000	000000			AEE=XX				;INITIAL C(E)
  5363	033567	312 10 0 00 044752 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5364	033570	005 10 0 00 032103 		ER5	E,32103			;C(E) WAS CLOBBERED
  5365	033571	321 14 0 00 033557 		JUMPL	AC+2,F32100		;LOOP ON ERROR SWITCH^
  5366
  5367			003211			ADR=ADR+1
  5368		002000	000000			XX=XX+XX
  5369						IFE	XX,<XX=1>
  5370
  5371					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  5372			000000			V1=XX*XX
  5373		000010	000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5374						IFL	XX,<V2=XX*XX>
  5375						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5376					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5377					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5378					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5379					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5380
  5381		002000	000000		F32110:	AA1=XX				;INITIAL C(AC)
  5382	033572	200 12 0 00 044755 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5383		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5384	033573	200 13 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5385		002000	000000			AEE=XX				;INITIAL C(E)
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 5-17
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0115

  5386	033574	200 10 0 00 044755 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5387	033575	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5388		000010	000000			AR1=V2				;EXPECTED RESULT IN AC
  5389	033576	312 12 0 00 044730 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5390	033577	003 12 0 00 032111 		ER3	AC,32111		;HIGH PRODUCT FAILED
  5391			000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5392	033600	312 13 0 00 044631 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5393	033601	004 13 0 00 032112 		ER4	AC+1,32112		;LOW PRODUCT FAILED
  5394		002000	000000			AEE=XX				;INITIAL C(E)
  5395	033602	312 10 0 00 044755 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5396	033603	005 10 0 00 032113 		ER5	E,32113			;C(E) WAS CLOBBERED
  5397	033604	321 14 0 00 033572 		JUMPL	AC+2,F32110		;LOOP ON ERROR SWITCH^
  5398
  5399			003212			ADR=ADR+1
  5400		004000	000000			XX=XX+XX
  5401						IFE	XX,<XX=1>
  5402
  5403					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  5404			000000			V1=XX*XX
  5405		000040	000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5406						IFL	XX,<V2=XX*XX>
  5407						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5408					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5409					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5410					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5411					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5412
  5413		004000	000000		F32120:	AA1=XX				;INITIAL C(AC)
  5414	033605	200 12 0 00 044760 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5415		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5416	033606	200 13 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5417		004000	000000			AEE=XX				;INITIAL C(E)
  5418	033607	200 10 0 00 044760 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5419	033610	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5420		000040	000000			AR1=V2				;EXPECTED RESULT IN AC
  5421	033611	312 12 0 00 044736 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5422	033612	003 12 0 00 032121 		ER3	AC,32121		;HIGH PRODUCT FAILED
  5423			000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5424	033613	312 13 0 00 044631 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5425	033614	004 13 0 00 032122 		ER4	AC+1,32122		;LOW PRODUCT FAILED
  5426		004000	000000			AEE=XX				;INITIAL C(E)
  5427	033615	312 10 0 00 044760 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5428	033616	005 10 0 00 032123 		ER5	E,32123			;C(E) WAS CLOBBERED
  5429	033617	321 14 0 00 033605 		JUMPL	AC+2,F32120		;LOOP ON ERROR SWITCH^
  5430
  5431			003213			ADR=ADR+1
  5432		010000	000000			XX=XX+XX
  5433						IFE	XX,<XX=1>
  5434
  5435					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  5436			000000			V1=XX*XX
  5437		000200	000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5438						IFL	XX,<V2=XX*XX>
  5439						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5440					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 5-18
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0116

  5441					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5442					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5443					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5444
  5445		010000	000000		F32130:	AA1=XX				;INITIAL C(AC)
  5446	033620	200 12 0 00 044763 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5447		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5448	033621	200 13 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5449		010000	000000			AEE=XX				;INITIAL C(E)
  5450	033622	200 10 0 00 044763 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5451	033623	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5452		000200	000000			AR1=V2				;EXPECTED RESULT IN AC
  5453	033624	312 12 0 00 044744 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5454	033625	003 12 0 00 032131 		ER3	AC,32131		;HIGH PRODUCT FAILED
  5455			000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5456	033626	312 13 0 00 044631 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5457	033627	004 13 0 00 032132 		ER4	AC+1,32132		;LOW PRODUCT FAILED
  5458		010000	000000			AEE=XX				;INITIAL C(E)
  5459	033630	312 10 0 00 044763 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5460	033631	005 10 0 00 032133 		ER5	E,32133			;C(E) WAS CLOBBERED
  5461	033632	321 14 0 00 033620 		JUMPL	AC+2,F32130		;LOOP ON ERROR SWITCH^
  5462
  5463			003214			ADR=ADR+1
  5464		020000	000000			XX=XX+XX
  5465						IFE	XX,<XX=1>
  5466
  5467					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  5468			000000			V1=XX*XX
  5469		001000	000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5470						IFL	XX,<V2=XX*XX>
  5471						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5472					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5473					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5474					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5475					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5476
  5477		020000	000000		F32140:	AA1=XX				;INITIAL C(AC)
  5478	033633	200 12 0 00 044766 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5479		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5480	033634	200 13 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5481		020000	000000			AEE=XX				;INITIAL C(E)
  5482	033635	200 10 0 00 044766 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5483	033636	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5484		001000	000000			AR1=V2				;EXPECTED RESULT IN AC
  5485	033637	312 12 0 00 044752 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5486	033640	003 12 0 00 032141 		ER3	AC,32141		;HIGH PRODUCT FAILED
  5487			000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5488	033641	312 13 0 00 044631 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5489	033642	004 13 0 00 032142 		ER4	AC+1,32142		;LOW PRODUCT FAILED
  5490		020000	000000			AEE=XX				;INITIAL C(E)
  5491	033643	312 10 0 00 044766 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5492	033644	005 10 0 00 032143 		ER5	E,32143			;C(E) WAS CLOBBERED
  5493	033645	321 14 0 00 033633 		JUMPL	AC+2,F32140		;LOOP ON ERROR SWITCH^
  5494
  5495			003215			ADR=ADR+1
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 5-19
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0117

  5496		040000	000000			XX=XX+XX
  5497						IFE	XX,<XX=1>
  5498
  5499					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  5500			000000			V1=XX*XX
  5501		004000	000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5502						IFL	XX,<V2=XX*XX>
  5503						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5504					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5505					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5506					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5507					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5508
  5509		040000	000000		F32150:	AA1=XX				;INITIAL C(AC)
  5510	033646	200 12 0 00 044771 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5511		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5512	033647	200 13 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5513		040000	000000			AEE=XX				;INITIAL C(E)
  5514	033650	200 10 0 00 044771 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5515	033651	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5516		004000	000000			AR1=V2				;EXPECTED RESULT IN AC
  5517	033652	312 12 0 00 044760 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5518	033653	003 12 0 00 032151 		ER3	AC,32151		;HIGH PRODUCT FAILED
  5519			000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5520	033654	312 13 0 00 044631 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5521	033655	004 13 0 00 032152 		ER4	AC+1,32152		;LOW PRODUCT FAILED
  5522		040000	000000			AEE=XX				;INITIAL C(E)
  5523	033656	312 10 0 00 044771 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5524	033657	005 10 0 00 032153 		ER5	E,32153			;C(E) WAS CLOBBERED
  5525	033660	321 14 0 00 033646 		JUMPL	AC+2,F32150		;LOOP ON ERROR SWITCH^
  5526
  5527			003216			ADR=ADR+1
  5528		100000	000000			XX=XX+XX
  5529						IFE	XX,<XX=1>
  5530
  5531					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  5532			000000			V1=XX*XX
  5533		020000	000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5534						IFL	XX,<V2=XX*XX>
  5535						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5536					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5537					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5538					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5539					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5540
  5541		100000	000000		F32160:	AA1=XX				;INITIAL C(AC)
  5542	033661	200 12 0 00 044774 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5543		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5544	033662	200 13 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5545		100000	000000			AEE=XX				;INITIAL C(E)
  5546	033663	200 10 0 00 044774 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5547	033664	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5548		020000	000000			AR1=V2				;EXPECTED RESULT IN AC
  5549	033665	312 12 0 00 044766 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5550	033666	003 12 0 00 032161 		ER3	AC,32161		;HIGH PRODUCT FAILED
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 5-20
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0118

  5551			000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5552	033667	312 13 0 00 044631 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5553	033670	004 13 0 00 032162 		ER4	AC+1,32162		;LOW PRODUCT FAILED
  5554		100000	000000			AEE=XX				;INITIAL C(E)
  5555	033671	312 10 0 00 044774 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5556	033672	005 10 0 00 032163 		ER5	E,32163			;C(E) WAS CLOBBERED
  5557	033673	321 14 0 00 033661 		JUMPL	AC+2,F32160		;LOOP ON ERROR SWITCH^
  5558
  5559			003217			ADR=ADR+1
  5560		200000	000000			XX=XX+XX
  5561						IFE	XX,<XX=1>
  5562
  5563					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  5564			000000			V1=XX*XX
  5565		100000	000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5566						IFL	XX,<V2=XX*XX>
  5567						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5568					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5569					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5570					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5571					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5572
  5573		200000	000000		F32170:	AA1=XX				;INITIAL C(AC)
  5574	033674	200 12 0 00 044777 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5575		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5576	033675	200 13 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5577		200000	000000			AEE=XX				;INITIAL C(E)
  5578	033676	200 10 0 00 044777 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5579	033677	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5580		100000	000000			AR1=V2				;EXPECTED RESULT IN AC
  5581	033700	312 12 0 00 044774 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5582	033701	003 12 0 00 032171 		ER3	AC,32171		;HIGH PRODUCT FAILED
  5583			000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5584	033702	312 13 0 00 044631 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5585	033703	004 13 0 00 032172 		ER4	AC+1,32172		;LOW PRODUCT FAILED
  5586		200000	000000			AEE=XX				;INITIAL C(E)
  5587	033704	312 10 0 00 044777 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5588	033705	005 10 0 00 032173 		ER5	E,32173			;C(E) WAS CLOBBERED
  5589	033706	321 14 0 00 033674 		JUMPL	AC+2,F32170		;LOOP ON ERROR SWITCH^
  5590
  5591			003220			ADR=ADR+1
  5592		400000	000000			XX=XX+XX
  5593						IFE	XX,<XX=1>
  5594
  5595					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  5596		400000	000000			V1=XX*XX
  5597						IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5598		400000	000000			IFL	XX,<V2=XX*XX>
  5599						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5600					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5601					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5602					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5603					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5604
  5605		400000	000000		F32200:	AA1=XX				;INITIAL C(AC)
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 5-21
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0119

  5606	033707	200 12 0 00 045001 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5607		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5608	033710	200 13 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5609		400000	000000			AEE=XX				;INITIAL C(E)
  5610	033711	200 10 0 00 045001 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5611	033712	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5612		400000	000000			AR1=V2				;EXPECTED RESULT IN AC
  5613	033713	312 12 0 00 045001 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5614	033714	003 12 0 00 032201 		ER3	AC,32201		;HIGH PRODUCT FAILED
  5615		400000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5616	033715	312 13 0 00 045001 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5617	033716	004 13 0 00 032202 		ER4	AC+1,32202		;LOW PRODUCT FAILED
  5618		400000	000000			AEE=XX				;INITIAL C(E)
  5619	033717	312 10 0 00 045001 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5620	033720	005 10 0 00 032203 		ER5	E,32203			;C(E) WAS CLOBBERED
  5621	033721	321 14 0 00 033707 		JUMPL	AC+2,F32200		;LOOP ON ERROR SWITCH^
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 6
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0120

  5622			000011			AC=11
  5623			000007			E=<AC-2>&17
  5624						SAVEAC	(1,1)^
  5625	033722	201 13 0 00 033722 		MOVEI	AC+2,.		;SAVE TEST PC
  5626	033723	202 13 0 00 030051 		MOVEM	AC+2,TESTPC
  5627	033724	201 13 0 00 000013 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  5628	033725	202 13 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  5629			000000			XX=0
  5630
  5631						REPEAT	^D36,<
  5632						ADR=ADR+1
  5633						XX=XX+XX+1
  5634						IFE	<XX-1>,<XX=-2>
  5635					
  5636					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  5637						V1=XX*XX
  5638						IFE	<XX&1B1>,<V2A=1>
  5639						IFN	<XX&1B1>,<V2A=0>
  5640						IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  5641						IFG	XX,<V2=XX-1>
  5642						MOP1	(\ADR,XX,-1,XX,V2,V1)>
  5643
  5644			003221			ADR=ADR+1
  5645			000001			XX=XX+XX+1
  5646		777777	777776			IFE	<XX-1>,<XX=-2>
  5647
  5648					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  5649			000004			V1=XX*XX
  5650						IFE	<XX&1B1>,<V2A=1>
  5651			000000			IFN	<XX&1B1>,<V2A=0>
  5652			000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  5653						IFG	XX,<V2=XX-1>
  5654						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5655					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5656					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5657					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5658					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5659
  5660		777777	777776		F32210:	AA1=XX				;INITIAL C(AC)
  5661	033726	200 11 0 00 044635 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5662		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5663	033727	200 12 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5664		777777	777776			AEE=XX				;INITIAL C(E)
  5665	033730	200 07 0 00 044635 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5666	033731	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5667			000000			AR1=V2				;EXPECTED RESULT IN AC
  5668	033732	312 11 0 00 044631 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5669	033733	003 11 0 00 032211 		ER3	AC,32211		;HIGH PRODUCT FAILED
  5670			000004			AR2=V1				;EXPECTED RESULT IN AC+1
  5671	033734	312 12 0 00 044637 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5672	033735	004 12 0 00 032212 		ER4	AC+1,32212		;LOW PRODUCT FAILED
  5673		777777	777776			AEE=XX				;INITIAL C(E)
  5674	033736	312 07 0 00 044635 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5675	033737	005 07 0 00 032213 		ER5	E,32213			;C(E) WAS CLOBBERED
  5676	033740	321 13 0 00 033726 		JUMPL	AC+2,F32210		;LOOP ON ERROR SWITCH^
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 6-1
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0121

  5677
  5678			003222			ADR=ADR+1
  5679		777777	777775			XX=XX+XX+1
  5680						IFE	<XX-1>,<XX=-2>
  5681
  5682					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  5683			000011			V1=XX*XX
  5684						IFE	<XX&1B1>,<V2A=1>
  5685			000000			IFN	<XX&1B1>,<V2A=0>
  5686			000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  5687						IFG	XX,<V2=XX-1>
  5688						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5689					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5690					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5691					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5692					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5693
  5694		777777	777775		F32220:	AA1=XX				;INITIAL C(AC)
  5695	033741	200 11 0 00 044640 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5696		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5697	033742	200 12 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5698		777777	777775			AEE=XX				;INITIAL C(E)
  5699	033743	200 07 0 00 044640 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5700	033744	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5701			000000			AR1=V2				;EXPECTED RESULT IN AC
  5702	033745	312 11 0 00 044631 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5703	033746	003 11 0 00 032221 		ER3	AC,32221		;HIGH PRODUCT FAILED
  5704			000011			AR2=V1				;EXPECTED RESULT IN AC+1
  5705	033747	312 12 0 00 045104 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5706	033750	004 12 0 00 032222 		ER4	AC+1,32222		;LOW PRODUCT FAILED
  5707		777777	777775			AEE=XX				;INITIAL C(E)
  5708	033751	312 07 0 00 044640 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5709	033752	005 07 0 00 032223 		ER5	E,32223			;C(E) WAS CLOBBERED
  5710	033753	321 13 0 00 033741 		JUMPL	AC+2,F32220		;LOOP ON ERROR SWITCH^
  5711
  5712			003223			ADR=ADR+1
  5713		777777	777773			XX=XX+XX+1
  5714						IFE	<XX-1>,<XX=-2>
  5715
  5716					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  5717			000031			V1=XX*XX
  5718						IFE	<XX&1B1>,<V2A=1>
  5719			000000			IFN	<XX&1B1>,<V2A=0>
  5720			000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  5721						IFG	XX,<V2=XX-1>
  5722						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5723					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5724					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5725					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5726					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5727
  5728		777777	777773		F32230:	AA1=XX				;INITIAL C(AC)
  5729	033754	200 11 0 00 045105 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5730		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5731	033755	200 12 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 6-2
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0122

  5732		777777	777773			AEE=XX				;INITIAL C(E)
  5733	033756	200 07 0 00 045105 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5734	033757	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5735			000000			AR1=V2				;EXPECTED RESULT IN AC
  5736	033760	312 11 0 00 044631 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5737	033761	003 11 0 00 032231 		ER3	AC,32231		;HIGH PRODUCT FAILED
  5738			000031			AR2=V1				;EXPECTED RESULT IN AC+1
  5739	033762	312 12 0 00 045106 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5740	033763	004 12 0 00 032232 		ER4	AC+1,32232		;LOW PRODUCT FAILED
  5741		777777	777773			AEE=XX				;INITIAL C(E)
  5742	033764	312 07 0 00 045105 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5743	033765	005 07 0 00 032233 		ER5	E,32233			;C(E) WAS CLOBBERED
  5744	033766	321 13 0 00 033754 		JUMPL	AC+2,F32230		;LOOP ON ERROR SWITCH^
  5745
  5746			003224			ADR=ADR+1
  5747		777777	777767			XX=XX+XX+1
  5748						IFE	<XX-1>,<XX=-2>
  5749
  5750					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  5751			000121			V1=XX*XX
  5752						IFE	<XX&1B1>,<V2A=1>
  5753			000000			IFN	<XX&1B1>,<V2A=0>
  5754			000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  5755						IFG	XX,<V2=XX-1>
  5756						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5757					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5758					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5759					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5760					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5761
  5762		777777	777767		F32240:	AA1=XX				;INITIAL C(AC)
  5763	033767	200 11 0 00 045107 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5764		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5765	033770	200 12 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5766		777777	777767			AEE=XX				;INITIAL C(E)
  5767	033771	200 07 0 00 045107 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5768	033772	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5769			000000			AR1=V2				;EXPECTED RESULT IN AC
  5770	033773	312 11 0 00 044631 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5771	033774	003 11 0 00 032241 		ER3	AC,32241		;HIGH PRODUCT FAILED
  5772			000121			AR2=V1				;EXPECTED RESULT IN AC+1
  5773	033775	312 12 0 00 045110 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5774	033776	004 12 0 00 032242 		ER4	AC+1,32242		;LOW PRODUCT FAILED
  5775		777777	777767			AEE=XX				;INITIAL C(E)
  5776	033777	312 07 0 00 045107 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5777	034000	005 07 0 00 032243 		ER5	E,32243			;C(E) WAS CLOBBERED
  5778	034001	321 13 0 00 033767 		JUMPL	AC+2,F32240		;LOOP ON ERROR SWITCH^
  5779
  5780			003225			ADR=ADR+1
  5781		777777	777757			XX=XX+XX+1
  5782						IFE	<XX-1>,<XX=-2>
  5783
  5784					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  5785			000441			V1=XX*XX
  5786						IFE	<XX&1B1>,<V2A=1>
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 6-3
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0123

  5787			000000			IFN	<XX&1B1>,<V2A=0>
  5788			000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  5789						IFG	XX,<V2=XX-1>
  5790						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5791					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5792					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5793					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5794					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5795
  5796		777777	777757		F32250:	AA1=XX				;INITIAL C(AC)
  5797	034002	200 11 0 00 045111 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5798		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5799	034003	200 12 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5800		777777	777757			AEE=XX				;INITIAL C(E)
  5801	034004	200 07 0 00 045111 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5802	034005	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5803			000000			AR1=V2				;EXPECTED RESULT IN AC
  5804	034006	312 11 0 00 044631 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5805	034007	003 11 0 00 032251 		ER3	AC,32251		;HIGH PRODUCT FAILED
  5806			000441			AR2=V1				;EXPECTED RESULT IN AC+1
  5807	034010	312 12 0 00 045112 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5808	034011	004 12 0 00 032252 		ER4	AC+1,32252		;LOW PRODUCT FAILED
  5809		777777	777757			AEE=XX				;INITIAL C(E)
  5810	034012	312 07 0 00 045111 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5811	034013	005 07 0 00 032253 		ER5	E,32253			;C(E) WAS CLOBBERED
  5812	034014	321 13 0 00 034002 		JUMPL	AC+2,F32250		;LOOP ON ERROR SWITCH^
  5813
  5814			003226			ADR=ADR+1
  5815		777777	777737			XX=XX+XX+1
  5816						IFE	<XX-1>,<XX=-2>
  5817
  5818					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  5819			002101			V1=XX*XX
  5820						IFE	<XX&1B1>,<V2A=1>
  5821			000000			IFN	<XX&1B1>,<V2A=0>
  5822			000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  5823						IFG	XX,<V2=XX-1>
  5824						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5825					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5826					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5827					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5828					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5829
  5830		777777	777737		F32260:	AA1=XX				;INITIAL C(AC)
  5831	034015	200 11 0 00 045113 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5832		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5833	034016	200 12 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5834		777777	777737			AEE=XX				;INITIAL C(E)
  5835	034017	200 07 0 00 045113 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5836	034020	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5837			000000			AR1=V2				;EXPECTED RESULT IN AC
  5838	034021	312 11 0 00 044631 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5839	034022	003 11 0 00 032261 		ER3	AC,32261		;HIGH PRODUCT FAILED
  5840			002101			AR2=V1				;EXPECTED RESULT IN AC+1
  5841	034023	312 12 0 00 045114 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 6-4
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0124

  5842	034024	004 12 0 00 032262 		ER4	AC+1,32262		;LOW PRODUCT FAILED
  5843		777777	777737			AEE=XX				;INITIAL C(E)
  5844	034025	312 07 0 00 045113 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5845	034026	005 07 0 00 032263 		ER5	E,32263			;C(E) WAS CLOBBERED
  5846	034027	321 13 0 00 034015 		JUMPL	AC+2,F32260		;LOOP ON ERROR SWITCH^
  5847
  5848			003227			ADR=ADR+1
  5849		777777	777677			XX=XX+XX+1
  5850						IFE	<XX-1>,<XX=-2>
  5851
  5852					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  5853			010201			V1=XX*XX
  5854						IFE	<XX&1B1>,<V2A=1>
  5855			000000			IFN	<XX&1B1>,<V2A=0>
  5856			000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  5857						IFG	XX,<V2=XX-1>
  5858						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5859					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5860					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5861					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5862					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5863
  5864		777777	777677		F32270:	AA1=XX				;INITIAL C(AC)
  5865	034030	200 11 0 00 045115 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5866		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5867	034031	200 12 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5868		777777	777677			AEE=XX				;INITIAL C(E)
  5869	034032	200 07 0 00 045115 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5870	034033	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5871			000000			AR1=V2				;EXPECTED RESULT IN AC
  5872	034034	312 11 0 00 044631 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5873	034035	003 11 0 00 032271 		ER3	AC,32271		;HIGH PRODUCT FAILED
  5874			010201			AR2=V1				;EXPECTED RESULT IN AC+1
  5875	034036	312 12 0 00 045116 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5876	034037	004 12 0 00 032272 		ER4	AC+1,32272		;LOW PRODUCT FAILED
  5877		777777	777677			AEE=XX				;INITIAL C(E)
  5878	034040	312 07 0 00 045115 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5879	034041	005 07 0 00 032273 		ER5	E,32273			;C(E) WAS CLOBBERED
  5880	034042	321 13 0 00 034030 		JUMPL	AC+2,F32270		;LOOP ON ERROR SWITCH^
  5881
  5882			003230			ADR=ADR+1
  5883		777777	777577			XX=XX+XX+1
  5884						IFE	<XX-1>,<XX=-2>
  5885
  5886					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  5887			040401			V1=XX*XX
  5888						IFE	<XX&1B1>,<V2A=1>
  5889			000000			IFN	<XX&1B1>,<V2A=0>
  5890			000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  5891						IFG	XX,<V2=XX-1>
  5892						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5893					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5894					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5895					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5896					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 6-5
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0125

  5897
  5898		777777	777577		F32300:	AA1=XX				;INITIAL C(AC)
  5899	034043	200 11 0 00 045117 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5900		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5901	034044	200 12 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5902		777777	777577			AEE=XX				;INITIAL C(E)
  5903	034045	200 07 0 00 045117 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5904	034046	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5905			000000			AR1=V2				;EXPECTED RESULT IN AC
  5906	034047	312 11 0 00 044631 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5907	034050	003 11 0 00 032301 		ER3	AC,32301		;HIGH PRODUCT FAILED
  5908			040401			AR2=V1				;EXPECTED RESULT IN AC+1
  5909	034051	312 12 0 00 045120 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5910	034052	004 12 0 00 032302 		ER4	AC+1,32302		;LOW PRODUCT FAILED
  5911		777777	777577			AEE=XX				;INITIAL C(E)
  5912	034053	312 07 0 00 045117 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5913	034054	005 07 0 00 032303 		ER5	E,32303			;C(E) WAS CLOBBERED
  5914	034055	321 13 0 00 034043 		JUMPL	AC+2,F32300		;LOOP ON ERROR SWITCH^
  5915
  5916			003231			ADR=ADR+1
  5917		777777	777377			XX=XX+XX+1
  5918						IFE	<XX-1>,<XX=-2>
  5919
  5920					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  5921			201001			V1=XX*XX
  5922						IFE	<XX&1B1>,<V2A=1>
  5923			000000			IFN	<XX&1B1>,<V2A=0>
  5924			000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  5925						IFG	XX,<V2=XX-1>
  5926						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5927					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5928					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5929					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5930					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5931
  5932		777777	777377		F32310:	AA1=XX				;INITIAL C(AC)
  5933	034056	200 11 0 00 045121 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5934		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5935	034057	200 12 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5936		777777	777377			AEE=XX				;INITIAL C(E)
  5937	034060	200 07 0 00 045121 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5938	034061	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5939			000000			AR1=V2				;EXPECTED RESULT IN AC
  5940	034062	312 11 0 00 044631 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5941	034063	003 11 0 00 032311 		ER3	AC,32311		;HIGH PRODUCT FAILED
  5942			201001			AR2=V1				;EXPECTED RESULT IN AC+1
  5943	034064	312 12 0 00 045122 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5944	034065	004 12 0 00 032312 		ER4	AC+1,32312		;LOW PRODUCT FAILED
  5945		777777	777377			AEE=XX				;INITIAL C(E)
  5946	034066	312 07 0 00 045121 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5947	034067	005 07 0 00 032313 		ER5	E,32313			;C(E) WAS CLOBBERED
  5948	034070	321 13 0 00 034056 		JUMPL	AC+2,F32310		;LOOP ON ERROR SWITCH^
  5949
  5950			003232			ADR=ADR+1
  5951		777777	776777			XX=XX+XX+1
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 6-6
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0126

  5952						IFE	<XX-1>,<XX=-2>
  5953
  5954					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  5955		000001	002001			V1=XX*XX
  5956						IFE	<XX&1B1>,<V2A=1>
  5957			000000			IFN	<XX&1B1>,<V2A=0>
  5958			000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  5959						IFG	XX,<V2=XX-1>
  5960						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5961					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5962					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5963					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5964					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5965
  5966		777777	776777		F32320:	AA1=XX				;INITIAL C(AC)
  5967	034071	200 11 0 00 045123 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5968		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5969	034072	200 12 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5970		777777	776777			AEE=XX				;INITIAL C(E)
  5971	034073	200 07 0 00 045123 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5972	034074	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5973			000000			AR1=V2				;EXPECTED RESULT IN AC
  5974	034075	312 11 0 00 044631 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5975	034076	003 11 0 00 032321 		ER3	AC,32321		;HIGH PRODUCT FAILED
  5976		000001	002001			AR2=V1				;EXPECTED RESULT IN AC+1
  5977	034077	312 12 0 00 045124 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5978	034100	004 12 0 00 032322 		ER4	AC+1,32322		;LOW PRODUCT FAILED
  5979		777777	776777			AEE=XX				;INITIAL C(E)
  5980	034101	312 07 0 00 045123 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5981	034102	005 07 0 00 032323 		ER5	E,32323			;C(E) WAS CLOBBERED
  5982	034103	321 13 0 00 034071 		JUMPL	AC+2,F32320		;LOOP ON ERROR SWITCH^
  5983
  5984			003233			ADR=ADR+1
  5985		777777	775777			XX=XX+XX+1
  5986						IFE	<XX-1>,<XX=-2>
  5987
  5988					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  5989		000004	004001			V1=XX*XX
  5990						IFE	<XX&1B1>,<V2A=1>
  5991			000000			IFN	<XX&1B1>,<V2A=0>
  5992			000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  5993						IFG	XX,<V2=XX-1>
  5994						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5995					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5996					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5997					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5998					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5999
  6000		777777	775777		F32330:	AA1=XX				;INITIAL C(AC)
  6001	034104	200 11 0 00 045125 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6002		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6003	034105	200 12 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6004		777777	775777			AEE=XX				;INITIAL C(E)
  6005	034106	200 07 0 00 045125 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6006	034107	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 6-7
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0127

  6007			000000			AR1=V2				;EXPECTED RESULT IN AC
  6008	034110	312 11 0 00 044631 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6009	034111	003 11 0 00 032331 		ER3	AC,32331		;HIGH PRODUCT FAILED
  6010		000004	004001			AR2=V1				;EXPECTED RESULT IN AC+1
  6011	034112	312 12 0 00 045126 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6012	034113	004 12 0 00 032332 		ER4	AC+1,32332		;LOW PRODUCT FAILED
  6013		777777	775777			AEE=XX				;INITIAL C(E)
  6014	034114	312 07 0 00 045125 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6015	034115	005 07 0 00 032333 		ER5	E,32333			;C(E) WAS CLOBBERED
  6016	034116	321 13 0 00 034104 		JUMPL	AC+2,F32330		;LOOP ON ERROR SWITCH^
  6017
  6018			003234			ADR=ADR+1
  6019		777777	773777			XX=XX+XX+1
  6020						IFE	<XX-1>,<XX=-2>
  6021
  6022					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6023		000020	010001			V1=XX*XX
  6024						IFE	<XX&1B1>,<V2A=1>
  6025			000000			IFN	<XX&1B1>,<V2A=0>
  6026			000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6027						IFG	XX,<V2=XX-1>
  6028						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6029					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6030					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6031					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6032					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6033
  6034		777777	773777		F32340:	AA1=XX				;INITIAL C(AC)
  6035	034117	200 11 0 00 045127 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6036		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6037	034120	200 12 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6038		777777	773777			AEE=XX				;INITIAL C(E)
  6039	034121	200 07 0 00 045127 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6040	034122	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6041			000000			AR1=V2				;EXPECTED RESULT IN AC
  6042	034123	312 11 0 00 044631 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6043	034124	003 11 0 00 032341 		ER3	AC,32341		;HIGH PRODUCT FAILED
  6044		000020	010001			AR2=V1				;EXPECTED RESULT IN AC+1
  6045	034125	312 12 0 00 045130 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6046	034126	004 12 0 00 032342 		ER4	AC+1,32342		;LOW PRODUCT FAILED
  6047		777777	773777			AEE=XX				;INITIAL C(E)
  6048	034127	312 07 0 00 045127 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6049	034130	005 07 0 00 032343 		ER5	E,32343			;C(E) WAS CLOBBERED
  6050	034131	321 13 0 00 034117 		JUMPL	AC+2,F32340		;LOOP ON ERROR SWITCH^
  6051
  6052			003235			ADR=ADR+1
  6053		777777	767777			XX=XX+XX+1
  6054						IFE	<XX-1>,<XX=-2>
  6055
  6056					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6057		000100	020001			V1=XX*XX
  6058						IFE	<XX&1B1>,<V2A=1>
  6059			000000			IFN	<XX&1B1>,<V2A=0>
  6060			000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6061						IFG	XX,<V2=XX-1>
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 6-8
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0128

  6062						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6063					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6064					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6065					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6066					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6067
  6068		777777	767777		F32350:	AA1=XX				;INITIAL C(AC)
  6069	034132	200 11 0 00 045131 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6070		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6071	034133	200 12 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6072		777777	767777			AEE=XX				;INITIAL C(E)
  6073	034134	200 07 0 00 045131 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6074	034135	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6075			000000			AR1=V2				;EXPECTED RESULT IN AC
  6076	034136	312 11 0 00 044631 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6077	034137	003 11 0 00 032351 		ER3	AC,32351		;HIGH PRODUCT FAILED
  6078		000100	020001			AR2=V1				;EXPECTED RESULT IN AC+1
  6079	034140	312 12 0 00 045132 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6080	034141	004 12 0 00 032352 		ER4	AC+1,32352		;LOW PRODUCT FAILED
  6081		777777	767777			AEE=XX				;INITIAL C(E)
  6082	034142	312 07 0 00 045131 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6083	034143	005 07 0 00 032353 		ER5	E,32353			;C(E) WAS CLOBBERED
  6084	034144	321 13 0 00 034132 		JUMPL	AC+2,F32350		;LOOP ON ERROR SWITCH^
  6085
  6086			003236			ADR=ADR+1
  6087		777777	757777			XX=XX+XX+1
  6088						IFE	<XX-1>,<XX=-2>
  6089
  6090					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6091		000400	040001			V1=XX*XX
  6092						IFE	<XX&1B1>,<V2A=1>
  6093			000000			IFN	<XX&1B1>,<V2A=0>
  6094			000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6095						IFG	XX,<V2=XX-1>
  6096						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6097					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6098					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6099					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6100					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6101
  6102		777777	757777		F32360:	AA1=XX				;INITIAL C(AC)
  6103	034145	200 11 0 00 045133 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6104		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6105	034146	200 12 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6106		777777	757777			AEE=XX				;INITIAL C(E)
  6107	034147	200 07 0 00 045133 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6108	034150	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6109			000000			AR1=V2				;EXPECTED RESULT IN AC
  6110	034151	312 11 0 00 044631 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6111	034152	003 11 0 00 032361 		ER3	AC,32361		;HIGH PRODUCT FAILED
  6112		000400	040001			AR2=V1				;EXPECTED RESULT IN AC+1
  6113	034153	312 12 0 00 045134 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6114	034154	004 12 0 00 032362 		ER4	AC+1,32362		;LOW PRODUCT FAILED
  6115		777777	757777			AEE=XX				;INITIAL C(E)
  6116	034155	312 07 0 00 045133 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 6-9
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0129

  6117	034156	005 07 0 00 032363 		ER5	E,32363			;C(E) WAS CLOBBERED
  6118	034157	321 13 0 00 034145 		JUMPL	AC+2,F32360		;LOOP ON ERROR SWITCH^
  6119
  6120			003237			ADR=ADR+1
  6121		777777	737777			XX=XX+XX+1
  6122						IFE	<XX-1>,<XX=-2>
  6123
  6124					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6125		002000	100001			V1=XX*XX
  6126						IFE	<XX&1B1>,<V2A=1>
  6127			000000			IFN	<XX&1B1>,<V2A=0>
  6128			000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6129						IFG	XX,<V2=XX-1>
  6130						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6131					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6132					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6133					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6134					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6135
  6136		777777	737777		F32370:	AA1=XX				;INITIAL C(AC)
  6137	034160	200 11 0 00 045135 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6138		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6139	034161	200 12 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6140		777777	737777			AEE=XX				;INITIAL C(E)
  6141	034162	200 07 0 00 045135 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6142	034163	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6143			000000			AR1=V2				;EXPECTED RESULT IN AC
  6144	034164	312 11 0 00 044631 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6145	034165	003 11 0 00 032371 		ER3	AC,32371		;HIGH PRODUCT FAILED
  6146		002000	100001			AR2=V1				;EXPECTED RESULT IN AC+1
  6147	034166	312 12 0 00 045136 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6148	034167	004 12 0 00 032372 		ER4	AC+1,32372		;LOW PRODUCT FAILED
  6149		777777	737777			AEE=XX				;INITIAL C(E)
  6150	034170	312 07 0 00 045135 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6151	034171	005 07 0 00 032373 		ER5	E,32373			;C(E) WAS CLOBBERED
  6152	034172	321 13 0 00 034160 		JUMPL	AC+2,F32370		;LOOP ON ERROR SWITCH^
  6153
  6154			003240			ADR=ADR+1
  6155		777777	677777			XX=XX+XX+1
  6156						IFE	<XX-1>,<XX=-2>
  6157
  6158					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6159		010000	200001			V1=XX*XX
  6160						IFE	<XX&1B1>,<V2A=1>
  6161			000000			IFN	<XX&1B1>,<V2A=0>
  6162			000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6163						IFG	XX,<V2=XX-1>
  6164						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6165					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6166					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6167					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6168					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6169
  6170		777777	677777		F32400:	AA1=XX				;INITIAL C(AC)
  6171	034173	200 11 0 00 045137 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 6-10
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0130

  6172		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6173	034174	200 12 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6174		777777	677777			AEE=XX				;INITIAL C(E)
  6175	034175	200 07 0 00 045137 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6176	034176	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6177			000000			AR1=V2				;EXPECTED RESULT IN AC
  6178	034177	312 11 0 00 044631 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6179	034200	003 11 0 00 032401 		ER3	AC,32401		;HIGH PRODUCT FAILED
  6180		010000	200001			AR2=V1				;EXPECTED RESULT IN AC+1
  6181	034201	312 12 0 00 045140 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6182	034202	004 12 0 00 032402 		ER4	AC+1,32402		;LOW PRODUCT FAILED
  6183		777777	677777			AEE=XX				;INITIAL C(E)
  6184	034203	312 07 0 00 045137 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6185	034204	005 07 0 00 032403 		ER5	E,32403			;C(E) WAS CLOBBERED
  6186	034205	321 13 0 00 034173 		JUMPL	AC+2,F32400		;LOOP ON ERROR SWITCH^
  6187
  6188			003241			ADR=ADR+1
  6189		777777	577777			XX=XX+XX+1
  6190						IFE	<XX-1>,<XX=-2>
  6191
  6192					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6193		040000	400001			V1=XX*XX
  6194						IFE	<XX&1B1>,<V2A=1>
  6195			000000			IFN	<XX&1B1>,<V2A=0>
  6196			000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6197						IFG	XX,<V2=XX-1>
  6198						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6199					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6200					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6201					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6202					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6203
  6204		777777	577777		F32410:	AA1=XX				;INITIAL C(AC)
  6205	034206	200 11 0 00 045141 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6206		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6207	034207	200 12 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6208		777777	577777			AEE=XX				;INITIAL C(E)
  6209	034210	200 07 0 00 045141 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6210	034211	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6211			000000			AR1=V2				;EXPECTED RESULT IN AC
  6212	034212	312 11 0 00 044631 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6213	034213	003 11 0 00 032411 		ER3	AC,32411		;HIGH PRODUCT FAILED
  6214		040000	400001			AR2=V1				;EXPECTED RESULT IN AC+1
  6215	034214	312 12 0 00 045142 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6216	034215	004 12 0 00 032412 		ER4	AC+1,32412		;LOW PRODUCT FAILED
  6217		777777	577777			AEE=XX				;INITIAL C(E)
  6218	034216	312 07 0 00 045141 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6219	034217	005 07 0 00 032413 		ER5	E,32413			;C(E) WAS CLOBBERED
  6220	034220	321 13 0 00 034206 		JUMPL	AC+2,F32410		;LOOP ON ERROR SWITCH^
  6221
  6222			003242			ADR=ADR+1
  6223		777777	377777			XX=XX+XX+1
  6224						IFE	<XX-1>,<XX=-2>
  6225
  6226					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 6-11
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0131

  6227		200001	000001			V1=XX*XX
  6228						IFE	<XX&1B1>,<V2A=1>
  6229			000000			IFN	<XX&1B1>,<V2A=0>
  6230			000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6231						IFG	XX,<V2=XX-1>
  6232						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6233					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6234					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6235					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6236					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6237
  6238		777777	377777		F32420:	AA1=XX				;INITIAL C(AC)
  6239	034221	200 11 0 00 045143 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6240		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6241	034222	200 12 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6242		777777	377777			AEE=XX				;INITIAL C(E)
  6243	034223	200 07 0 00 045143 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6244	034224	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6245			000000			AR1=V2				;EXPECTED RESULT IN AC
  6246	034225	312 11 0 00 044631 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6247	034226	003 11 0 00 032421 		ER3	AC,32421		;HIGH PRODUCT FAILED
  6248		200001	000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6249	034227	312 12 0 00 045144 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6250	034230	004 12 0 00 032422 		ER4	AC+1,32422		;LOW PRODUCT FAILED
  6251		777777	377777			AEE=XX				;INITIAL C(E)
  6252	034231	312 07 0 00 045143 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6253	034232	005 07 0 00 032423 		ER5	E,32423			;C(E) WAS CLOBBERED
  6254	034233	321 13 0 00 034221 		JUMPL	AC+2,F32420		;LOOP ON ERROR SWITCH^
  6255
  6256			003243			ADR=ADR+1
  6257		777776	777777			XX=XX+XX+1
  6258						IFE	<XX-1>,<XX=-2>
  6259
  6260					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6261		000002	000001			V1=XX*XX
  6262						IFE	<XX&1B1>,<V2A=1>
  6263			000000			IFN	<XX&1B1>,<V2A=0>
  6264			000002			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6265						IFG	XX,<V2=XX-1>
  6266						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6267					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6268					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6269					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6270					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6271
  6272		777776	777777		F32430:	AA1=XX				;INITIAL C(AC)
  6273	034234	200 11 0 00 045145 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6274		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6275	034235	200 12 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6276		777776	777777			AEE=XX				;INITIAL C(E)
  6277	034236	200 07 0 00 045145 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6278	034237	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6279			000002			AR1=V2				;EXPECTED RESULT IN AC
  6280	034240	312 11 0 00 044634 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6281	034241	003 11 0 00 032431 		ER3	AC,32431		;HIGH PRODUCT FAILED
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 6-12
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0132

  6282		000002	000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6283	034242	312 12 0 00 045146 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6284	034243	004 12 0 00 032432 		ER4	AC+1,32432		;LOW PRODUCT FAILED
  6285		777776	777777			AEE=XX				;INITIAL C(E)
  6286	034244	312 07 0 00 045145 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6287	034245	005 07 0 00 032433 		ER5	E,32433			;C(E) WAS CLOBBERED
  6288	034246	321 13 0 00 034234 		JUMPL	AC+2,F32430		;LOOP ON ERROR SWITCH^
  6289
  6290			003244			ADR=ADR+1
  6291		777775	777777			XX=XX+XX+1
  6292						IFE	<XX-1>,<XX=-2>
  6293
  6294					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6295		000004	000001			V1=XX*XX
  6296						IFE	<XX&1B1>,<V2A=1>
  6297			000000			IFN	<XX&1B1>,<V2A=0>
  6298			000010			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6299						IFG	XX,<V2=XX-1>
  6300						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6301					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6302					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6303					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6304					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6305
  6306		777775	777777		F32440:	AA1=XX				;INITIAL C(AC)
  6307	034247	200 11 0 00 045147 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6308		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6309	034250	200 12 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6310		777775	777777			AEE=XX				;INITIAL C(E)
  6311	034251	200 07 0 00 045147 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6312	034252	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6313			000010			AR1=V2				;EXPECTED RESULT IN AC
  6314	034253	312 11 0 00 044642 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6315	034254	003 11 0 00 032441 		ER3	AC,32441		;HIGH PRODUCT FAILED
  6316		000004	000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6317	034255	312 12 0 00 045150 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6318	034256	004 12 0 00 032442 		ER4	AC+1,32442		;LOW PRODUCT FAILED
  6319		777775	777777			AEE=XX				;INITIAL C(E)
  6320	034257	312 07 0 00 045147 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6321	034260	005 07 0 00 032443 		ER5	E,32443			;C(E) WAS CLOBBERED
  6322	034261	321 13 0 00 034247 		JUMPL	AC+2,F32440		;LOOP ON ERROR SWITCH^
  6323
  6324			003245			ADR=ADR+1
  6325		777773	777777			XX=XX+XX+1
  6326						IFE	<XX-1>,<XX=-2>
  6327
  6328					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6329		000010	000001			V1=XX*XX
  6330						IFE	<XX&1B1>,<V2A=1>
  6331			000000			IFN	<XX&1B1>,<V2A=0>
  6332			000040			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6333						IFG	XX,<V2=XX-1>
  6334						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6335					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6336					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 6-13
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0133

  6337					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6338					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6339
  6340		777773	777777		F32450:	AA1=XX				;INITIAL C(AC)
  6341	034262	200 11 0 00 045151 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6342		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6343	034263	200 12 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6344		777773	777777			AEE=XX				;INITIAL C(E)
  6345	034264	200 07 0 00 045151 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6346	034265	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6347			000040			AR1=V2				;EXPECTED RESULT IN AC
  6348	034266	312 11 0 00 044650 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6349	034267	003 11 0 00 032451 		ER3	AC,32451		;HIGH PRODUCT FAILED
  6350		000010	000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6351	034270	312 12 0 00 045152 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6352	034271	004 12 0 00 032452 		ER4	AC+1,32452		;LOW PRODUCT FAILED
  6353		777773	777777			AEE=XX				;INITIAL C(E)
  6354	034272	312 07 0 00 045151 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6355	034273	005 07 0 00 032453 		ER5	E,32453			;C(E) WAS CLOBBERED
  6356	034274	321 13 0 00 034262 		JUMPL	AC+2,F32450		;LOOP ON ERROR SWITCH^
  6357
  6358			003246			ADR=ADR+1
  6359		777767	777777			XX=XX+XX+1
  6360						IFE	<XX-1>,<XX=-2>
  6361
  6362					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6363		000020	000001			V1=XX*XX
  6364						IFE	<XX&1B1>,<V2A=1>
  6365			000000			IFN	<XX&1B1>,<V2A=0>
  6366			000200			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6367						IFG	XX,<V2=XX-1>
  6368						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6369					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6370					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6371					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6372					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6373
  6374		777767	777777		F32460:	AA1=XX				;INITIAL C(AC)
  6375	034275	200 11 0 00 045153 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6376		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6377	034276	200 12 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6378		777767	777777			AEE=XX				;INITIAL C(E)
  6379	034277	200 07 0 00 045153 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6380	034300	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6381			000200			AR1=V2				;EXPECTED RESULT IN AC
  6382	034301	312 11 0 00 044656 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6383	034302	003 11 0 00 032461 		ER3	AC,32461		;HIGH PRODUCT FAILED
  6384		000020	000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6385	034303	312 12 0 00 045154 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6386	034304	004 12 0 00 032462 		ER4	AC+1,32462		;LOW PRODUCT FAILED
  6387		777767	777777			AEE=XX				;INITIAL C(E)
  6388	034305	312 07 0 00 045153 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6389	034306	005 07 0 00 032463 		ER5	E,32463			;C(E) WAS CLOBBERED
  6390	034307	321 13 0 00 034275 		JUMPL	AC+2,F32460		;LOOP ON ERROR SWITCH^
  6391
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 6-14
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0134

  6392			003247			ADR=ADR+1
  6393		777757	777777			XX=XX+XX+1
  6394						IFE	<XX-1>,<XX=-2>
  6395
  6396					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6397		000040	000001			V1=XX*XX
  6398						IFE	<XX&1B1>,<V2A=1>
  6399			000000			IFN	<XX&1B1>,<V2A=0>
  6400			001000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6401						IFG	XX,<V2=XX-1>
  6402						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6403					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6404					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6405					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6406					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6407
  6408		777757	777777		F32470:	AA1=XX				;INITIAL C(AC)
  6409	034310	200 11 0 00 045155 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6410		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6411	034311	200 12 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6412		777757	777777			AEE=XX				;INITIAL C(E)
  6413	034312	200 07 0 00 045155 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6414	034313	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6415			001000			AR1=V2				;EXPECTED RESULT IN AC
  6416	034314	312 11 0 00 044664 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6417	034315	003 11 0 00 032471 		ER3	AC,32471		;HIGH PRODUCT FAILED
  6418		000040	000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6419	034316	312 12 0 00 045156 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6420	034317	004 12 0 00 032472 		ER4	AC+1,32472		;LOW PRODUCT FAILED
  6421		777757	777777			AEE=XX				;INITIAL C(E)
  6422	034320	312 07 0 00 045155 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6423	034321	005 07 0 00 032473 		ER5	E,32473			;C(E) WAS CLOBBERED
  6424	034322	321 13 0 00 034310 		JUMPL	AC+2,F32470		;LOOP ON ERROR SWITCH^
  6425
  6426			003250			ADR=ADR+1
  6427		777737	777777			XX=XX+XX+1
  6428						IFE	<XX-1>,<XX=-2>
  6429
  6430					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6431		000100	000001			V1=XX*XX
  6432						IFE	<XX&1B1>,<V2A=1>
  6433			000000			IFN	<XX&1B1>,<V2A=0>
  6434			004000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6435						IFG	XX,<V2=XX-1>
  6436						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6437					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6438					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6439					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6440					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6441
  6442		777737	777777		F32500:	AA1=XX				;INITIAL C(AC)
  6443	034323	200 11 0 00 045157 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6444		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6445	034324	200 12 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6446		777737	777777			AEE=XX				;INITIAL C(E)
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 6-15
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0135

  6447	034325	200 07 0 00 045157 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6448	034326	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6449			004000			AR1=V2				;EXPECTED RESULT IN AC
  6450	034327	312 11 0 00 044672 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6451	034330	003 11 0 00 032501 		ER3	AC,32501		;HIGH PRODUCT FAILED
  6452		000100	000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6453	034331	312 12 0 00 045160 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6454	034332	004 12 0 00 032502 		ER4	AC+1,32502		;LOW PRODUCT FAILED
  6455		777737	777777			AEE=XX				;INITIAL C(E)
  6456	034333	312 07 0 00 045157 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6457	034334	005 07 0 00 032503 		ER5	E,32503			;C(E) WAS CLOBBERED
  6458	034335	321 13 0 00 034323 		JUMPL	AC+2,F32500		;LOOP ON ERROR SWITCH^
  6459
  6460			003251			ADR=ADR+1
  6461		777677	777777			XX=XX+XX+1
  6462						IFE	<XX-1>,<XX=-2>
  6463
  6464					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6465		000200	000001			V1=XX*XX
  6466						IFE	<XX&1B1>,<V2A=1>
  6467			000000			IFN	<XX&1B1>,<V2A=0>
  6468			020000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6469						IFG	XX,<V2=XX-1>
  6470						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6471					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6472					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6473					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6474					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6475
  6476		777677	777777		F32510:	AA1=XX				;INITIAL C(AC)
  6477	034336	200 11 0 00 045161 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6478		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6479	034337	200 12 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6480		777677	777777			AEE=XX				;INITIAL C(E)
  6481	034340	200 07 0 00 045161 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6482	034341	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6483			020000			AR1=V2				;EXPECTED RESULT IN AC
  6484	034342	312 11 0 00 044700 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6485	034343	003 11 0 00 032511 		ER3	AC,32511		;HIGH PRODUCT FAILED
  6486		000200	000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6487	034344	312 12 0 00 045162 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6488	034345	004 12 0 00 032512 		ER4	AC+1,32512		;LOW PRODUCT FAILED
  6489		777677	777777			AEE=XX				;INITIAL C(E)
  6490	034346	312 07 0 00 045161 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6491	034347	005 07 0 00 032513 		ER5	E,32513			;C(E) WAS CLOBBERED
  6492	034350	321 13 0 00 034336 		JUMPL	AC+2,F32510		;LOOP ON ERROR SWITCH^
  6493
  6494			003252			ADR=ADR+1
  6495		777577	777777			XX=XX+XX+1
  6496						IFE	<XX-1>,<XX=-2>
  6497
  6498					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6499		000400	000001			V1=XX*XX
  6500						IFE	<XX&1B1>,<V2A=1>
  6501			000000			IFN	<XX&1B1>,<V2A=0>
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 6-16
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0136

  6502			100000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6503						IFG	XX,<V2=XX-1>
  6504						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6505					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6506					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6507					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6508					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6509
  6510		777577	777777		F32520:	AA1=XX				;INITIAL C(AC)
  6511	034351	200 11 0 00 045163 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6512		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6513	034352	200 12 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6514		777577	777777			AEE=XX				;INITIAL C(E)
  6515	034353	200 07 0 00 045163 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6516	034354	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6517			100000			AR1=V2				;EXPECTED RESULT IN AC
  6518	034355	312 11 0 00 044706 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6519	034356	003 11 0 00 032521 		ER3	AC,32521		;HIGH PRODUCT FAILED
  6520		000400	000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6521	034357	312 12 0 00 045164 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6522	034360	004 12 0 00 032522 		ER4	AC+1,32522		;LOW PRODUCT FAILED
  6523		777577	777777			AEE=XX				;INITIAL C(E)
  6524	034361	312 07 0 00 045163 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6525	034362	005 07 0 00 032523 		ER5	E,32523			;C(E) WAS CLOBBERED
  6526	034363	321 13 0 00 034351 		JUMPL	AC+2,F32520		;LOOP ON ERROR SWITCH^
  6527
  6528			003253			ADR=ADR+1
  6529		777377	777777			XX=XX+XX+1
  6530						IFE	<XX-1>,<XX=-2>
  6531
  6532					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6533		001000	000001			V1=XX*XX
  6534						IFE	<XX&1B1>,<V2A=1>
  6535			000000			IFN	<XX&1B1>,<V2A=0>
  6536			400000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6537						IFG	XX,<V2=XX-1>
  6538						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6539					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6540					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6541					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6542					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6543
  6544		777377	777777		F32530:	AA1=XX				;INITIAL C(AC)
  6545	034364	200 11 0 00 045165 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6546		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6547	034365	200 12 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6548		777377	777777			AEE=XX				;INITIAL C(E)
  6549	034366	200 07 0 00 045165 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6550	034367	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6551			400000			AR1=V2				;EXPECTED RESULT IN AC
  6552	034370	312 11 0 00 044714 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6553	034371	003 11 0 00 032531 		ER3	AC,32531		;HIGH PRODUCT FAILED
  6554		001000	000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6555	034372	312 12 0 00 045166 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6556	034373	004 12 0 00 032532 		ER4	AC+1,32532		;LOW PRODUCT FAILED
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 6-17
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0137

  6557		777377	777777			AEE=XX				;INITIAL C(E)
  6558	034374	312 07 0 00 045165 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6559	034375	005 07 0 00 032533 		ER5	E,32533			;C(E) WAS CLOBBERED
  6560	034376	321 13 0 00 034364 		JUMPL	AC+2,F32530		;LOOP ON ERROR SWITCH^
  6561
  6562			003254			ADR=ADR+1
  6563		776777	777777			XX=XX+XX+1
  6564						IFE	<XX-1>,<XX=-2>
  6565
  6566					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6567		002000	000001			V1=XX*XX
  6568						IFE	<XX&1B1>,<V2A=1>
  6569			000000			IFN	<XX&1B1>,<V2A=0>
  6570		000002	000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6571						IFG	XX,<V2=XX-1>
  6572						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6573					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6574					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6575					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6576					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6577
  6578		776777	777777		F32540:	AA1=XX				;INITIAL C(AC)
  6579	034377	200 11 0 00 045167 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6580		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6581	034400	200 12 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6582		776777	777777			AEE=XX				;INITIAL C(E)
  6583	034401	200 07 0 00 045167 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6584	034402	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6585		000002	000000			AR1=V2				;EXPECTED RESULT IN AC
  6586	034403	312 11 0 00 044722 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6587	034404	003 11 0 00 032541 		ER3	AC,32541		;HIGH PRODUCT FAILED
  6588		002000	000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6589	034405	312 12 0 00 045170 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6590	034406	004 12 0 00 032542 		ER4	AC+1,32542		;LOW PRODUCT FAILED
  6591		776777	777777			AEE=XX				;INITIAL C(E)
  6592	034407	312 07 0 00 045167 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6593	034410	005 07 0 00 032543 		ER5	E,32543			;C(E) WAS CLOBBERED
  6594	034411	321 13 0 00 034377 		JUMPL	AC+2,F32540		;LOOP ON ERROR SWITCH^
  6595
  6596			003255			ADR=ADR+1
  6597		775777	777777			XX=XX+XX+1
  6598						IFE	<XX-1>,<XX=-2>
  6599
  6600					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6601		004000	000001			V1=XX*XX
  6602						IFE	<XX&1B1>,<V2A=1>
  6603			000000			IFN	<XX&1B1>,<V2A=0>
  6604		000010	000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6605						IFG	XX,<V2=XX-1>
  6606						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6607					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6608					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6609					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6610					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6611
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 6-18
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0138

  6612		775777	777777		F32550:	AA1=XX				;INITIAL C(AC)
  6613	034412	200 11 0 00 045171 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6614		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6615	034413	200 12 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6616		775777	777777			AEE=XX				;INITIAL C(E)
  6617	034414	200 07 0 00 045171 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6618	034415	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6619		000010	000000			AR1=V2				;EXPECTED RESULT IN AC
  6620	034416	312 11 0 00 044730 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6621	034417	003 11 0 00 032551 		ER3	AC,32551		;HIGH PRODUCT FAILED
  6622		004000	000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6623	034420	312 12 0 00 045172 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6624	034421	004 12 0 00 032552 		ER4	AC+1,32552		;LOW PRODUCT FAILED
  6625		775777	777777			AEE=XX				;INITIAL C(E)
  6626	034422	312 07 0 00 045171 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6627	034423	005 07 0 00 032553 		ER5	E,32553			;C(E) WAS CLOBBERED
  6628	034424	321 13 0 00 034412 		JUMPL	AC+2,F32550		;LOOP ON ERROR SWITCH^
  6629
  6630			003256			ADR=ADR+1
  6631		773777	777777			XX=XX+XX+1
  6632						IFE	<XX-1>,<XX=-2>
  6633
  6634					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6635		010000	000001			V1=XX*XX
  6636						IFE	<XX&1B1>,<V2A=1>
  6637			000000			IFN	<XX&1B1>,<V2A=0>
  6638		000040	000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6639						IFG	XX,<V2=XX-1>
  6640						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6641					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6642					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6643					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6644					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6645
  6646		773777	777777		F32560:	AA1=XX				;INITIAL C(AC)
  6647	034425	200 11 0 00 045173 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6648		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6649	034426	200 12 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6650		773777	777777			AEE=XX				;INITIAL C(E)
  6651	034427	200 07 0 00 045173 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6652	034430	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6653		000040	000000			AR1=V2				;EXPECTED RESULT IN AC
  6654	034431	312 11 0 00 044736 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6655	034432	003 11 0 00 032561 		ER3	AC,32561		;HIGH PRODUCT FAILED
  6656		010000	000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6657	034433	312 12 0 00 045174 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6658	034434	004 12 0 00 032562 		ER4	AC+1,32562		;LOW PRODUCT FAILED
  6659		773777	777777			AEE=XX				;INITIAL C(E)
  6660	034435	312 07 0 00 045173 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6661	034436	005 07 0 00 032563 		ER5	E,32563			;C(E) WAS CLOBBERED
  6662	034437	321 13 0 00 034425 		JUMPL	AC+2,F32560		;LOOP ON ERROR SWITCH^
  6663
  6664			003257			ADR=ADR+1
  6665		767777	777777			XX=XX+XX+1
  6666						IFE	<XX-1>,<XX=-2>
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 6-19
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0139

  6667
  6668					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6669		020000	000001			V1=XX*XX
  6670						IFE	<XX&1B1>,<V2A=1>
  6671			000000			IFN	<XX&1B1>,<V2A=0>
  6672		000200	000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6673						IFG	XX,<V2=XX-1>
  6674						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6675					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6676					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6677					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6678					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6679
  6680		767777	777777		F32570:	AA1=XX				;INITIAL C(AC)
  6681	034440	200 11 0 00 045175 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6682		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6683	034441	200 12 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6684		767777	777777			AEE=XX				;INITIAL C(E)
  6685	034442	200 07 0 00 045175 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6686	034443	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6687		000200	000000			AR1=V2				;EXPECTED RESULT IN AC
  6688	034444	312 11 0 00 044744 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6689	034445	003 11 0 00 032571 		ER3	AC,32571		;HIGH PRODUCT FAILED
  6690		020000	000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6691	034446	312 12 0 00 045176 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6692	034447	004 12 0 00 032572 		ER4	AC+1,32572		;LOW PRODUCT FAILED
  6693		767777	777777			AEE=XX				;INITIAL C(E)
  6694	034450	312 07 0 00 045175 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6695	034451	005 07 0 00 032573 		ER5	E,32573			;C(E) WAS CLOBBERED
  6696	034452	321 13 0 00 034440 		JUMPL	AC+2,F32570		;LOOP ON ERROR SWITCH^
  6697
  6698			003260			ADR=ADR+1
  6699		757777	777777			XX=XX+XX+1
  6700						IFE	<XX-1>,<XX=-2>
  6701
  6702					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6703		040000	000001			V1=XX*XX
  6704						IFE	<XX&1B1>,<V2A=1>
  6705			000000			IFN	<XX&1B1>,<V2A=0>
  6706		001000	000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6707						IFG	XX,<V2=XX-1>
  6708						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6709					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6710					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6711					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6712					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6713
  6714		757777	777777		F32600:	AA1=XX				;INITIAL C(AC)
  6715	034453	200 11 0 00 045177 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6716		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6717	034454	200 12 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6718		757777	777777			AEE=XX				;INITIAL C(E)
  6719	034455	200 07 0 00 045177 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6720	034456	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6721		001000	000000			AR1=V2				;EXPECTED RESULT IN AC
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 6-20
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0140

  6722	034457	312 11 0 00 044752 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6723	034460	003 11 0 00 032601 		ER3	AC,32601		;HIGH PRODUCT FAILED
  6724		040000	000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6725	034461	312 12 0 00 045200 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6726	034462	004 12 0 00 032602 		ER4	AC+1,32602		;LOW PRODUCT FAILED
  6727		757777	777777			AEE=XX				;INITIAL C(E)
  6728	034463	312 07 0 00 045177 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6729	034464	005 07 0 00 032603 		ER5	E,32603			;C(E) WAS CLOBBERED
  6730	034465	321 13 0 00 034453 		JUMPL	AC+2,F32600		;LOOP ON ERROR SWITCH^
  6731
  6732			003261			ADR=ADR+1
  6733		737777	777777			XX=XX+XX+1
  6734						IFE	<XX-1>,<XX=-2>
  6735
  6736					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6737		100000	000001			V1=XX*XX
  6738						IFE	<XX&1B1>,<V2A=1>
  6739			000000			IFN	<XX&1B1>,<V2A=0>
  6740		004000	000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6741						IFG	XX,<V2=XX-1>
  6742						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6743					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6744					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6745					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6746					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6747
  6748		737777	777777		F32610:	AA1=XX				;INITIAL C(AC)
  6749	034466	200 11 0 00 045201 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6750		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6751	034467	200 12 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6752		737777	777777			AEE=XX				;INITIAL C(E)
  6753	034470	200 07 0 00 045201 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6754	034471	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6755		004000	000000			AR1=V2				;EXPECTED RESULT IN AC
  6756	034472	312 11 0 00 044760 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6757	034473	003 11 0 00 032611 		ER3	AC,32611		;HIGH PRODUCT FAILED
  6758		100000	000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6759	034474	312 12 0 00 045202 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6760	034475	004 12 0 00 032612 		ER4	AC+1,32612		;LOW PRODUCT FAILED
  6761		737777	777777			AEE=XX				;INITIAL C(E)
  6762	034476	312 07 0 00 045201 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6763	034477	005 07 0 00 032613 		ER5	E,32613			;C(E) WAS CLOBBERED
  6764	034500	321 13 0 00 034466 		JUMPL	AC+2,F32610		;LOOP ON ERROR SWITCH^
  6765
  6766			003262			ADR=ADR+1
  6767		677777	777777			XX=XX+XX+1
  6768						IFE	<XX-1>,<XX=-2>
  6769
  6770					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6771		200000	000001			V1=XX*XX
  6772						IFE	<XX&1B1>,<V2A=1>
  6773			000000			IFN	<XX&1B1>,<V2A=0>
  6774		020000	000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6775						IFG	XX,<V2=XX-1>
  6776						MOP1	(\ADR,XX,-1,XX,V2,V1)^
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 6-21
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0141

  6777					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6778					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6779					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6780					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6781
  6782		677777	777777		F32620:	AA1=XX				;INITIAL C(AC)
  6783	034501	200 11 0 00 045203 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6784		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6785	034502	200 12 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6786		677777	777777			AEE=XX				;INITIAL C(E)
  6787	034503	200 07 0 00 045203 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6788	034504	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6789		020000	000000			AR1=V2				;EXPECTED RESULT IN AC
  6790	034505	312 11 0 00 044766 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6791	034506	003 11 0 00 032621 		ER3	AC,32621		;HIGH PRODUCT FAILED
  6792		200000	000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6793	034507	312 12 0 00 045204 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6794	034510	004 12 0 00 032622 		ER4	AC+1,32622		;LOW PRODUCT FAILED
  6795		677777	777777			AEE=XX				;INITIAL C(E)
  6796	034511	312 07 0 00 045203 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6797	034512	005 07 0 00 032623 		ER5	E,32623			;C(E) WAS CLOBBERED
  6798	034513	321 13 0 00 034501 		JUMPL	AC+2,F32620		;LOOP ON ERROR SWITCH^
  6799
  6800			003263			ADR=ADR+1
  6801		577777	777777			XX=XX+XX+1
  6802						IFE	<XX-1>,<XX=-2>
  6803
  6804					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6805			000001			V1=XX*XX
  6806			000001			IFE	<XX&1B1>,<V2A=1>
  6807						IFN	<XX&1B1>,<V2A=0>
  6808		100000	000001			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6809						IFG	XX,<V2=XX-1>
  6810						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6811					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6812					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6813					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6814					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6815
  6816		577777	777777		F32630:	AA1=XX				;INITIAL C(AC)
  6817	034514	200 11 0 00 045205 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6818		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6819	034515	200 12 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6820		577777	777777			AEE=XX				;INITIAL C(E)
  6821	034516	200 07 0 00 045205 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6822	034517	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6823		100000	000001			AR1=V2				;EXPECTED RESULT IN AC
  6824	034520	312 11 0 00 045202 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6825	034521	003 11 0 00 032631 		ER3	AC,32631		;HIGH PRODUCT FAILED
  6826			000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6827	034522	312 12 0 00 044632 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6828	034523	004 12 0 00 032632 		ER4	AC+1,32632		;LOW PRODUCT FAILED
  6829		577777	777777			AEE=XX				;INITIAL C(E)
  6830	034524	312 07 0 00 045205 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6831	034525	005 07 0 00 032633 		ER5	E,32633			;C(E) WAS CLOBBERED
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 6-22
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0142

  6832	034526	321 13 0 00 034514 		JUMPL	AC+2,F32630		;LOOP ON ERROR SWITCH^
  6833
  6834			003264			ADR=ADR+1
  6835		377777	777777			XX=XX+XX+1
  6836						IFE	<XX-1>,<XX=-2>
  6837
  6838					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6839			000001			V1=XX*XX
  6840						IFE	<XX&1B1>,<V2A=1>
  6841			000000			IFN	<XX&1B1>,<V2A=0>
  6842						IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6843		377777	777776			IFG	XX,<V2=XX-1>
  6844						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6845					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6846					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6847					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6848					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6849
  6850		377777	777777		F32640:	AA1=XX				;INITIAL C(AC)
  6851	034527	200 11 0 00 045206 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6852		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6853	034530	200 12 0 00 044633 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6854		377777	777777			AEE=XX				;INITIAL C(E)
  6855	034531	200 07 0 00 045206 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6856	034532	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6857		377777	777776			AR1=V2				;EXPECTED RESULT IN AC
  6858	034533	312 11 0 00 045207 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6859	034534	003 11 0 00 032641 		ER3	AC,32641		;HIGH PRODUCT FAILED
  6860			000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6861	034535	312 12 0 00 044632 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6862	034536	004 12 0 00 032642 		ER4	AC+1,32642		;LOW PRODUCT FAILED
  6863		377777	777777			AEE=XX				;INITIAL C(E)
  6864	034537	312 07 0 00 045206 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6865	034540	005 07 0 00 032643 		ER5	E,32643			;C(E) WAS CLOBBERED
  6866	034541	321 13 0 00 034527 		JUMPL	AC+2,F32640		;LOOP ON ERROR SWITCH^
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 7
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0143

  6867			000010			AC=10
  6868			000006			E=<AC-2>&17
  6869						SAVEAC	(1,1)^
  6870	034542	201 12 0 00 034542 		MOVEI	AC+2,.		;SAVE TEST PC
  6871	034543	202 12 0 00 030051 		MOVEM	AC+2,TESTPC
  6872	034544	201 12 0 00 000012 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  6873	034545	202 12 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  6874			000000			XX=0
  6875			000000			YY=0
  6876
  6877						REPEAT	^D36,<
  6878						ADR=ADR+1
  6879						XX=XX+XX
  6880						YY=YY+YY+1
  6881						IFE	XX,<XX=1>
  6882						IFE	<YY-1>,<YY=-2>
  6883					
  6884					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  6885						V1=XX*YY
  6886						IFE	<XX_-22>,<V2A=-1>
  6887						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  6888						IFG	XX,<V2=V2A>
  6889						IFL	XX,<V2=XX+1>
  6890						MOP1	(\ADR,YY,0,XX,V2,V1)>
  6891
  6892			003265			ADR=ADR+1
  6893			000000			XX=XX+XX
  6894			000001			YY=YY+YY+1
  6895			000001			IFE	XX,<XX=1>
  6896		777777	777776			IFE	<YY-1>,<YY=-2>
  6897
  6898					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  6899		777777	777776			V1=XX*YY
  6900		777777	777777			IFE	<XX_-22>,<V2A=-1>
  6901						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  6902		777777	777777			IFG	XX,<V2=V2A>
  6903						IFL	XX,<V2=XX+1>
  6904						MOP1	(\ADR,YY,0,XX,V2,V1)^
  6905					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  6906					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6907					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6908					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6909
  6910		777777	777776		F32650:	AA1=YY				;INITIAL C(AC)
  6911	034546	200 10 0 00 044635 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  6912			000000			AA2=0				;INITIAL C(AC+1)
  6913	034547	200 11 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  6914			000001			AEE=XX				;INITIAL C(E)
  6915	034550	200 06 0 00 044632 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6916	034551	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6917		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  6918	034552	312 10 0 00 044633 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6919	034553	003 10 0 00 032651 		ER3	AC,32651		;HIGH PRODUCT FAILED
  6920		777777	777776			AR2=V1				;EXPECTED RESULT IN AC+1
  6921	034554	312 11 0 00 044635 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 7-1
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0144

  6922	034555	004 11 0 00 032652 		ER4	AC+1,32652		;LOW PRODUCT FAILED
  6923			000001			AEE=XX				;INITIAL C(E)
  6924	034556	312 06 0 00 044632 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6925	034557	005 06 0 00 032653 		ER5	E,32653			;C(E) WAS CLOBBERED
  6926	034560	321 12 0 00 034546 		JUMPL	AC+2,F32650		;LOOP ON ERROR SWITCH^
  6927
  6928			003266			ADR=ADR+1
  6929			000002			XX=XX+XX
  6930		777777	777775			YY=YY+YY+1
  6931						IFE	XX,<XX=1>
  6932						IFE	<YY-1>,<YY=-2>
  6933
  6934					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  6935		777777	777772			V1=XX*YY
  6936		777777	777777			IFE	<XX_-22>,<V2A=-1>
  6937						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  6938		777777	777777			IFG	XX,<V2=V2A>
  6939						IFL	XX,<V2=XX+1>
  6940						MOP1	(\ADR,YY,0,XX,V2,V1)^
  6941					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  6942					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6943					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6944					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6945
  6946		777777	777775		F32660:	AA1=YY				;INITIAL C(AC)
  6947	034561	200 10 0 00 044640 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  6948			000000			AA2=0				;INITIAL C(AC+1)
  6949	034562	200 11 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  6950			000002			AEE=XX				;INITIAL C(E)
  6951	034563	200 06 0 00 044634 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6952	034564	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6953		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  6954	034565	312 10 0 00 044633 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6955	034566	003 10 0 00 032661 		ER3	AC,32661		;HIGH PRODUCT FAILED
  6956		777777	777772			AR2=V1				;EXPECTED RESULT IN AC+1
  6957	034567	312 11 0 00 044643 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6958	034570	004 11 0 00 032662 		ER4	AC+1,32662		;LOW PRODUCT FAILED
  6959			000002			AEE=XX				;INITIAL C(E)
  6960	034571	312 06 0 00 044634 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6961	034572	005 06 0 00 032663 		ER5	E,32663			;C(E) WAS CLOBBERED
  6962	034573	321 12 0 00 034561 		JUMPL	AC+2,F32660		;LOOP ON ERROR SWITCH^
  6963
  6964			003267			ADR=ADR+1
  6965			000004			XX=XX+XX
  6966		777777	777773			YY=YY+YY+1
  6967						IFE	XX,<XX=1>
  6968						IFE	<YY-1>,<YY=-2>
  6969
  6970					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  6971		777777	777754			V1=XX*YY
  6972		777777	777777			IFE	<XX_-22>,<V2A=-1>
  6973						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  6974		777777	777777			IFG	XX,<V2=V2A>
  6975						IFL	XX,<V2=XX+1>
  6976						MOP1	(\ADR,YY,0,XX,V2,V1)^
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 7-2
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0145

  6977					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  6978					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6979					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6980					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6981
  6982		777777	777773		F32670:	AA1=YY				;INITIAL C(AC)
  6983	034574	200 10 0 00 045105 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  6984			000000			AA2=0				;INITIAL C(AC+1)
  6985	034575	200 11 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  6986			000004			AEE=XX				;INITIAL C(E)
  6987	034576	200 06 0 00 044637 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6988	034577	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6989		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  6990	034600	312 10 0 00 044633 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6991	034601	003 10 0 00 032671 		ER3	AC,32671		;HIGH PRODUCT FAILED
  6992		777777	777754			AR2=V1				;EXPECTED RESULT IN AC+1
  6993	034602	312 11 0 00 045210 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6994	034603	004 11 0 00 032672 		ER4	AC+1,32672		;LOW PRODUCT FAILED
  6995			000004			AEE=XX				;INITIAL C(E)
  6996	034604	312 06 0 00 044637 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6997	034605	005 06 0 00 032673 		ER5	E,32673			;C(E) WAS CLOBBERED
  6998	034606	321 12 0 00 034574 		JUMPL	AC+2,F32670		;LOOP ON ERROR SWITCH^
  6999
  7000			003270			ADR=ADR+1
  7001			000010			XX=XX+XX
  7002		777777	777767			YY=YY+YY+1
  7003						IFE	XX,<XX=1>
  7004						IFE	<YY-1>,<YY=-2>
  7005
  7006					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7007		777777	777670			V1=XX*YY
  7008		777777	777777			IFE	<XX_-22>,<V2A=-1>
  7009						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7010		777777	777777			IFG	XX,<V2=V2A>
  7011						IFL	XX,<V2=XX+1>
  7012						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7013					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7014					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7015					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7016					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7017
  7018		777777	777767		F32700:	AA1=YY				;INITIAL C(AC)
  7019	034607	200 10 0 00 045107 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7020			000000			AA2=0				;INITIAL C(AC+1)
  7021	034610	200 11 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7022			000010			AEE=XX				;INITIAL C(E)
  7023	034611	200 06 0 00 044642 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7024	034612	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7025		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  7026	034613	312 10 0 00 044633 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7027	034614	003 10 0 00 032701 		ER3	AC,32701		;HIGH PRODUCT FAILED
  7028		777777	777670			AR2=V1				;EXPECTED RESULT IN AC+1
  7029	034615	312 11 0 00 045211 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7030	034616	004 11 0 00 032702 		ER4	AC+1,32702		;LOW PRODUCT FAILED
  7031			000010			AEE=XX				;INITIAL C(E)
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 7-3
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0146

  7032	034617	312 06 0 00 044642 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7033	034620	005 06 0 00 032703 		ER5	E,32703			;C(E) WAS CLOBBERED
  7034	034621	321 12 0 00 034607 		JUMPL	AC+2,F32700		;LOOP ON ERROR SWITCH^
  7035
  7036			003271			ADR=ADR+1
  7037			000020			XX=XX+XX
  7038		777777	777757			YY=YY+YY+1
  7039						IFE	XX,<XX=1>
  7040						IFE	<YY-1>,<YY=-2>
  7041
  7042					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7043		777777	777360			V1=XX*YY
  7044		777777	777777			IFE	<XX_-22>,<V2A=-1>
  7045						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7046		777777	777777			IFG	XX,<V2=V2A>
  7047						IFL	XX,<V2=XX+1>
  7048						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7049					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7050					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7051					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7052					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7053
  7054		777777	777757		F32710:	AA1=YY				;INITIAL C(AC)
  7055	034622	200 10 0 00 045111 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7056			000000			AA2=0				;INITIAL C(AC+1)
  7057	034623	200 11 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7058			000020			AEE=XX				;INITIAL C(E)
  7059	034624	200 06 0 00 044645 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7060	034625	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7061		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  7062	034626	312 10 0 00 044633 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7063	034627	003 10 0 00 032711 		ER3	AC,32711		;HIGH PRODUCT FAILED
  7064		777777	777360			AR2=V1				;EXPECTED RESULT IN AC+1
  7065	034630	312 11 0 00 045212 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7066	034631	004 11 0 00 032712 		ER4	AC+1,32712		;LOW PRODUCT FAILED
  7067			000020			AEE=XX				;INITIAL C(E)
  7068	034632	312 06 0 00 044645 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7069	034633	005 06 0 00 032713 		ER5	E,32713			;C(E) WAS CLOBBERED
  7070	034634	321 12 0 00 034622 		JUMPL	AC+2,F32710		;LOOP ON ERROR SWITCH^
  7071
  7072			003272			ADR=ADR+1
  7073			000040			XX=XX+XX
  7074		777777	777737			YY=YY+YY+1
  7075						IFE	XX,<XX=1>
  7076						IFE	<YY-1>,<YY=-2>
  7077
  7078					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7079		777777	775740			V1=XX*YY
  7080		777777	777777			IFE	<XX_-22>,<V2A=-1>
  7081						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7082		777777	777777			IFG	XX,<V2=V2A>
  7083						IFL	XX,<V2=XX+1>
  7084						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7085					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7086					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 7-4
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0147

  7087					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7088					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7089
  7090		777777	777737		F32720:	AA1=YY				;INITIAL C(AC)
  7091	034635	200 10 0 00 045113 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7092			000000			AA2=0				;INITIAL C(AC+1)
  7093	034636	200 11 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7094			000040			AEE=XX				;INITIAL C(E)
  7095	034637	200 06 0 00 044650 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7096	034640	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7097		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  7098	034641	312 10 0 00 044633 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7099	034642	003 10 0 00 032721 		ER3	AC,32721		;HIGH PRODUCT FAILED
  7100		777777	775740			AR2=V1				;EXPECTED RESULT IN AC+1
  7101	034643	312 11 0 00 045213 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7102	034644	004 11 0 00 032722 		ER4	AC+1,32722		;LOW PRODUCT FAILED
  7103			000040			AEE=XX				;INITIAL C(E)
  7104	034645	312 06 0 00 044650 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7105	034646	005 06 0 00 032723 		ER5	E,32723			;C(E) WAS CLOBBERED
  7106	034647	321 12 0 00 034635 		JUMPL	AC+2,F32720		;LOOP ON ERROR SWITCH^
  7107
  7108			003273			ADR=ADR+1
  7109			000100			XX=XX+XX
  7110		777777	777677			YY=YY+YY+1
  7111						IFE	XX,<XX=1>
  7112						IFE	<YY-1>,<YY=-2>
  7113
  7114					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7115		777777	767700			V1=XX*YY
  7116		777777	777777			IFE	<XX_-22>,<V2A=-1>
  7117						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7118		777777	777777			IFG	XX,<V2=V2A>
  7119						IFL	XX,<V2=XX+1>
  7120						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7121					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7122					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7123					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7124					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7125
  7126		777777	777677		F32730:	AA1=YY				;INITIAL C(AC)
  7127	034650	200 10 0 00 045115 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7128			000000			AA2=0				;INITIAL C(AC+1)
  7129	034651	200 11 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7130			000100			AEE=XX				;INITIAL C(E)
  7131	034652	200 06 0 00 044653 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7132	034653	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7133		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  7134	034654	312 10 0 00 044633 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7135	034655	003 10 0 00 032731 		ER3	AC,32731		;HIGH PRODUCT FAILED
  7136		777777	767700			AR2=V1				;EXPECTED RESULT IN AC+1
  7137	034656	312 11 0 00 045214 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7138	034657	004 11 0 00 032732 		ER4	AC+1,32732		;LOW PRODUCT FAILED
  7139			000100			AEE=XX				;INITIAL C(E)
  7140	034660	312 06 0 00 044653 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7141	034661	005 06 0 00 032733 		ER5	E,32733			;C(E) WAS CLOBBERED
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 7-5
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0148

  7142	034662	321 12 0 00 034650 		JUMPL	AC+2,F32730		;LOOP ON ERROR SWITCH^
  7143
  7144			003274			ADR=ADR+1
  7145			000200			XX=XX+XX
  7146		777777	777577			YY=YY+YY+1
  7147						IFE	XX,<XX=1>
  7148						IFE	<YY-1>,<YY=-2>
  7149
  7150					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7151		777777	737600			V1=XX*YY
  7152		777777	777777			IFE	<XX_-22>,<V2A=-1>
  7153						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7154		777777	777777			IFG	XX,<V2=V2A>
  7155						IFL	XX,<V2=XX+1>
  7156						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7157					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7158					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7159					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7160					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7161
  7162		777777	777577		F32740:	AA1=YY				;INITIAL C(AC)
  7163	034663	200 10 0 00 045117 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7164			000000			AA2=0				;INITIAL C(AC+1)
  7165	034664	200 11 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7166			000200			AEE=XX				;INITIAL C(E)
  7167	034665	200 06 0 00 044656 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7168	034666	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7169		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  7170	034667	312 10 0 00 044633 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7171	034670	003 10 0 00 032741 		ER3	AC,32741		;HIGH PRODUCT FAILED
  7172		777777	737600			AR2=V1				;EXPECTED RESULT IN AC+1
  7173	034671	312 11 0 00 045215 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7174	034672	004 11 0 00 032742 		ER4	AC+1,32742		;LOW PRODUCT FAILED
  7175			000200			AEE=XX				;INITIAL C(E)
  7176	034673	312 06 0 00 044656 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7177	034674	005 06 0 00 032743 		ER5	E,32743			;C(E) WAS CLOBBERED
  7178	034675	321 12 0 00 034663 		JUMPL	AC+2,F32740		;LOOP ON ERROR SWITCH^
  7179
  7180			003275			ADR=ADR+1
  7181			000400			XX=XX+XX
  7182		777777	777377			YY=YY+YY+1
  7183						IFE	XX,<XX=1>
  7184						IFE	<YY-1>,<YY=-2>
  7185
  7186					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7187		777777	577400			V1=XX*YY
  7188		777777	777777			IFE	<XX_-22>,<V2A=-1>
  7189						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7190		777777	777777			IFG	XX,<V2=V2A>
  7191						IFL	XX,<V2=XX+1>
  7192						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7193					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7194					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7195					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7196					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 7-6
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0149

  7197
  7198		777777	777377		F32750:	AA1=YY				;INITIAL C(AC)
  7199	034676	200 10 0 00 045121 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7200			000000			AA2=0				;INITIAL C(AC+1)
  7201	034677	200 11 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7202			000400			AEE=XX				;INITIAL C(E)
  7203	034700	200 06 0 00 044661 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7204	034701	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7205		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  7206	034702	312 10 0 00 044633 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7207	034703	003 10 0 00 032751 		ER3	AC,32751		;HIGH PRODUCT FAILED
  7208		777777	577400			AR2=V1				;EXPECTED RESULT IN AC+1
  7209	034704	312 11 0 00 045216 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7210	034705	004 11 0 00 032752 		ER4	AC+1,32752		;LOW PRODUCT FAILED
  7211			000400			AEE=XX				;INITIAL C(E)
  7212	034706	312 06 0 00 044661 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7213	034707	005 06 0 00 032753 		ER5	E,32753			;C(E) WAS CLOBBERED
  7214	034710	321 12 0 00 034676 		JUMPL	AC+2,F32750		;LOOP ON ERROR SWITCH^
  7215
  7216			003276			ADR=ADR+1
  7217			001000			XX=XX+XX
  7218		777777	776777			YY=YY+YY+1
  7219						IFE	XX,<XX=1>
  7220						IFE	<YY-1>,<YY=-2>
  7221
  7222					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7223		777776	777000			V1=XX*YY
  7224		777777	777777			IFE	<XX_-22>,<V2A=-1>
  7225						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7226		777777	777777			IFG	XX,<V2=V2A>
  7227						IFL	XX,<V2=XX+1>
  7228						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7229					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7230					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7231					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7232					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7233
  7234		777777	776777		F32760:	AA1=YY				;INITIAL C(AC)
  7235	034711	200 10 0 00 045123 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7236			000000			AA2=0				;INITIAL C(AC+1)
  7237	034712	200 11 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7238			001000			AEE=XX				;INITIAL C(E)
  7239	034713	200 06 0 00 044664 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7240	034714	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7241		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  7242	034715	312 10 0 00 044633 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7243	034716	003 10 0 00 032761 		ER3	AC,32761		;HIGH PRODUCT FAILED
  7244		777776	777000			AR2=V1				;EXPECTED RESULT IN AC+1
  7245	034717	312 11 0 00 045217 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7246	034720	004 11 0 00 032762 		ER4	AC+1,32762		;LOW PRODUCT FAILED
  7247			001000			AEE=XX				;INITIAL C(E)
  7248	034721	312 06 0 00 044664 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7249	034722	005 06 0 00 032763 		ER5	E,32763			;C(E) WAS CLOBBERED
  7250	034723	321 12 0 00 034711 		JUMPL	AC+2,F32760		;LOOP ON ERROR SWITCH^
  7251
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 7-7
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0150

  7252			003277			ADR=ADR+1
  7253			002000			XX=XX+XX
  7254		777777	775777			YY=YY+YY+1
  7255						IFE	XX,<XX=1>
  7256						IFE	<YY-1>,<YY=-2>
  7257
  7258					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7259		777773	776000			V1=XX*YY
  7260		777777	777777			IFE	<XX_-22>,<V2A=-1>
  7261						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7262		777777	777777			IFG	XX,<V2=V2A>
  7263						IFL	XX,<V2=XX+1>
  7264						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7265					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7266					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7267					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7268					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7269
  7270		777777	775777		F32770:	AA1=YY				;INITIAL C(AC)
  7271	034724	200 10 0 00 045125 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7272			000000			AA2=0				;INITIAL C(AC+1)
  7273	034725	200 11 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7274			002000			AEE=XX				;INITIAL C(E)
  7275	034726	200 06 0 00 044667 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7276	034727	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7277		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  7278	034730	312 10 0 00 044633 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7279	034731	003 10 0 00 032771 		ER3	AC,32771		;HIGH PRODUCT FAILED
  7280		777773	776000			AR2=V1				;EXPECTED RESULT IN AC+1
  7281	034732	312 11 0 00 045220 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7282	034733	004 11 0 00 032772 		ER4	AC+1,32772		;LOW PRODUCT FAILED
  7283			002000			AEE=XX				;INITIAL C(E)
  7284	034734	312 06 0 00 044667 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7285	034735	005 06 0 00 032773 		ER5	E,32773			;C(E) WAS CLOBBERED
  7286	034736	321 12 0 00 034724 		JUMPL	AC+2,F32770		;LOOP ON ERROR SWITCH^
  7287
  7288			003300			ADR=ADR+1
  7289			004000			XX=XX+XX
  7290		777777	773777			YY=YY+YY+1
  7291						IFE	XX,<XX=1>
  7292						IFE	<YY-1>,<YY=-2>
  7293
  7294					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7295		777757	774000			V1=XX*YY
  7296		777777	777777			IFE	<XX_-22>,<V2A=-1>
  7297						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7298		777777	777777			IFG	XX,<V2=V2A>
  7299						IFL	XX,<V2=XX+1>
  7300						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7301					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7302					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7303					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7304					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7305
  7306		777777	773777		F33000:	AA1=YY				;INITIAL C(AC)
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 7-8
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0151

  7307	034737	200 10 0 00 045127 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7308			000000			AA2=0				;INITIAL C(AC+1)
  7309	034740	200 11 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7310			004000			AEE=XX				;INITIAL C(E)
  7311	034741	200 06 0 00 044672 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7312	034742	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7313		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  7314	034743	312 10 0 00 044633 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7315	034744	003 10 0 00 033001 		ER3	AC,33001		;HIGH PRODUCT FAILED
  7316		777757	774000			AR2=V1				;EXPECTED RESULT IN AC+1
  7317	034745	312 11 0 00 045221 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7318	034746	004 11 0 00 033002 		ER4	AC+1,33002		;LOW PRODUCT FAILED
  7319			004000			AEE=XX				;INITIAL C(E)
  7320	034747	312 06 0 00 044672 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7321	034750	005 06 0 00 033003 		ER5	E,33003			;C(E) WAS CLOBBERED
  7322	034751	321 12 0 00 034737 		JUMPL	AC+2,F33000		;LOOP ON ERROR SWITCH^
  7323
  7324			003301			ADR=ADR+1
  7325			010000			XX=XX+XX
  7326		777777	767777			YY=YY+YY+1
  7327						IFE	XX,<XX=1>
  7328						IFE	<YY-1>,<YY=-2>
  7329
  7330					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7331		777677	770000			V1=XX*YY
  7332		777777	777777			IFE	<XX_-22>,<V2A=-1>
  7333						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7334		777777	777777			IFG	XX,<V2=V2A>
  7335						IFL	XX,<V2=XX+1>
  7336						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7337					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7338					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7339					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7340					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7341
  7342		777777	767777		F33010:	AA1=YY				;INITIAL C(AC)
  7343	034752	200 10 0 00 045131 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7344			000000			AA2=0				;INITIAL C(AC+1)
  7345	034753	200 11 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7346			010000			AEE=XX				;INITIAL C(E)
  7347	034754	200 06 0 00 044675 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7348	034755	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7349		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  7350	034756	312 10 0 00 044633 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7351	034757	003 10 0 00 033011 		ER3	AC,33011		;HIGH PRODUCT FAILED
  7352		777677	770000			AR2=V1				;EXPECTED RESULT IN AC+1
  7353	034760	312 11 0 00 045222 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7354	034761	004 11 0 00 033012 		ER4	AC+1,33012		;LOW PRODUCT FAILED
  7355			010000			AEE=XX				;INITIAL C(E)
  7356	034762	312 06 0 00 044675 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7357	034763	005 06 0 00 033013 		ER5	E,33013			;C(E) WAS CLOBBERED
  7358	034764	321 12 0 00 034752 		JUMPL	AC+2,F33010		;LOOP ON ERROR SWITCH^
  7359
  7360			003302			ADR=ADR+1
  7361			020000			XX=XX+XX
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 7-9
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0152

  7362		777777	757777			YY=YY+YY+1
  7363						IFE	XX,<XX=1>
  7364						IFE	<YY-1>,<YY=-2>
  7365
  7366					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7367		777377	760000			V1=XX*YY
  7368		777777	777777			IFE	<XX_-22>,<V2A=-1>
  7369						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7370		777777	777777			IFG	XX,<V2=V2A>
  7371						IFL	XX,<V2=XX+1>
  7372						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7373					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7374					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7375					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7376					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7377
  7378		777777	757777		F33020:	AA1=YY				;INITIAL C(AC)
  7379	034765	200 10 0 00 045133 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7380			000000			AA2=0				;INITIAL C(AC+1)
  7381	034766	200 11 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7382			020000			AEE=XX				;INITIAL C(E)
  7383	034767	200 06 0 00 044700 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7384	034770	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7385		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  7386	034771	312 10 0 00 044633 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7387	034772	003 10 0 00 033021 		ER3	AC,33021		;HIGH PRODUCT FAILED
  7388		777377	760000			AR2=V1				;EXPECTED RESULT IN AC+1
  7389	034773	312 11 0 00 045223 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7390	034774	004 11 0 00 033022 		ER4	AC+1,33022		;LOW PRODUCT FAILED
  7391			020000			AEE=XX				;INITIAL C(E)
  7392	034775	312 06 0 00 044700 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7393	034776	005 06 0 00 033023 		ER5	E,33023			;C(E) WAS CLOBBERED
  7394	034777	321 12 0 00 034765 		JUMPL	AC+2,F33020		;LOOP ON ERROR SWITCH^
  7395
  7396			003303			ADR=ADR+1
  7397			040000			XX=XX+XX
  7398		777777	737777			YY=YY+YY+1
  7399						IFE	XX,<XX=1>
  7400						IFE	<YY-1>,<YY=-2>
  7401
  7402					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7403		775777	740000			V1=XX*YY
  7404		777777	777777			IFE	<XX_-22>,<V2A=-1>
  7405						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7406		777777	777777			IFG	XX,<V2=V2A>
  7407						IFL	XX,<V2=XX+1>
  7408						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7409					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7410					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7411					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7412					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7413
  7414		777777	737777		F33030:	AA1=YY				;INITIAL C(AC)
  7415	035000	200 10 0 00 045135 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7416			000000			AA2=0				;INITIAL C(AC+1)
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 7-10
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0153

  7417	035001	200 11 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7418			040000			AEE=XX				;INITIAL C(E)
  7419	035002	200 06 0 00 044703 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7420	035003	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7421		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  7422	035004	312 10 0 00 044633 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7423	035005	003 10 0 00 033031 		ER3	AC,33031		;HIGH PRODUCT FAILED
  7424		775777	740000			AR2=V1				;EXPECTED RESULT IN AC+1
  7425	035006	312 11 0 00 045224 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7426	035007	004 11 0 00 033032 		ER4	AC+1,33032		;LOW PRODUCT FAILED
  7427			040000			AEE=XX				;INITIAL C(E)
  7428	035010	312 06 0 00 044703 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7429	035011	005 06 0 00 033033 		ER5	E,33033			;C(E) WAS CLOBBERED
  7430	035012	321 12 0 00 035000 		JUMPL	AC+2,F33030		;LOOP ON ERROR SWITCH^
  7431
  7432			003304			ADR=ADR+1
  7433			100000			XX=XX+XX
  7434		777777	677777			YY=YY+YY+1
  7435						IFE	XX,<XX=1>
  7436						IFE	<YY-1>,<YY=-2>
  7437
  7438					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7439		767777	700000			V1=XX*YY
  7440		777777	777777			IFE	<XX_-22>,<V2A=-1>
  7441						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7442		777777	777777			IFG	XX,<V2=V2A>
  7443						IFL	XX,<V2=XX+1>
  7444						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7445					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7446					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7447					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7448					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7449
  7450		777777	677777		F33040:	AA1=YY				;INITIAL C(AC)
  7451	035013	200 10 0 00 045137 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7452			000000			AA2=0				;INITIAL C(AC+1)
  7453	035014	200 11 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7454			100000			AEE=XX				;INITIAL C(E)
  7455	035015	200 06 0 00 044706 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7456	035016	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7457		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  7458	035017	312 10 0 00 044633 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7459	035020	003 10 0 00 033041 		ER3	AC,33041		;HIGH PRODUCT FAILED
  7460		767777	700000			AR2=V1				;EXPECTED RESULT IN AC+1
  7461	035021	312 11 0 00 045225 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7462	035022	004 11 0 00 033042 		ER4	AC+1,33042		;LOW PRODUCT FAILED
  7463			100000			AEE=XX				;INITIAL C(E)
  7464	035023	312 06 0 00 044706 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7465	035024	005 06 0 00 033043 		ER5	E,33043			;C(E) WAS CLOBBERED
  7466	035025	321 12 0 00 035013 		JUMPL	AC+2,F33040		;LOOP ON ERROR SWITCH^
  7467
  7468			003305			ADR=ADR+1
  7469			200000			XX=XX+XX
  7470		777777	577777			YY=YY+YY+1
  7471						IFE	XX,<XX=1>
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 7-11
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0154

  7472						IFE	<YY-1>,<YY=-2>
  7473
  7474					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7475		737777	600000			V1=XX*YY
  7476		777777	777777			IFE	<XX_-22>,<V2A=-1>
  7477						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7478		777777	777777			IFG	XX,<V2=V2A>
  7479						IFL	XX,<V2=XX+1>
  7480						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7481					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7482					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7483					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7484					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7485
  7486		777777	577777		F33050:	AA1=YY				;INITIAL C(AC)
  7487	035026	200 10 0 00 045141 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7488			000000			AA2=0				;INITIAL C(AC+1)
  7489	035027	200 11 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7490			200000			AEE=XX				;INITIAL C(E)
  7491	035030	200 06 0 00 044711 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7492	035031	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7493		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  7494	035032	312 10 0 00 044633 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7495	035033	003 10 0 00 033051 		ER3	AC,33051		;HIGH PRODUCT FAILED
  7496		737777	600000			AR2=V1				;EXPECTED RESULT IN AC+1
  7497	035034	312 11 0 00 045226 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7498	035035	004 11 0 00 033052 		ER4	AC+1,33052		;LOW PRODUCT FAILED
  7499			200000			AEE=XX				;INITIAL C(E)
  7500	035036	312 06 0 00 044711 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7501	035037	005 06 0 00 033053 		ER5	E,33053			;C(E) WAS CLOBBERED
  7502	035040	321 12 0 00 035026 		JUMPL	AC+2,F33050		;LOOP ON ERROR SWITCH^
  7503
  7504			003306			ADR=ADR+1
  7505			400000			XX=XX+XX
  7506		777777	377777			YY=YY+YY+1
  7507						IFE	XX,<XX=1>
  7508						IFE	<YY-1>,<YY=-2>
  7509
  7510					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7511		577777	400000			V1=XX*YY
  7512		777777	777777			IFE	<XX_-22>,<V2A=-1>
  7513						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7514		777777	777777			IFG	XX,<V2=V2A>
  7515						IFL	XX,<V2=XX+1>
  7516						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7517					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7518					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7519					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7520					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7521
  7522		777777	377777		F33060:	AA1=YY				;INITIAL C(AC)
  7523	035041	200 10 0 00 045143 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7524			000000			AA2=0				;INITIAL C(AC+1)
  7525	035042	200 11 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7526			400000			AEE=XX				;INITIAL C(E)
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 7-12
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0155

  7527	035043	200 06 0 00 044714 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7528	035044	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7529		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  7530	035045	312 10 0 00 044633 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7531	035046	003 10 0 00 033061 		ER3	AC,33061		;HIGH PRODUCT FAILED
  7532		577777	400000			AR2=V1				;EXPECTED RESULT IN AC+1
  7533	035047	312 11 0 00 045227 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7534	035050	004 11 0 00 033062 		ER4	AC+1,33062		;LOW PRODUCT FAILED
  7535			400000			AEE=XX				;INITIAL C(E)
  7536	035051	312 06 0 00 044714 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7537	035052	005 06 0 00 033063 		ER5	E,33063			;C(E) WAS CLOBBERED
  7538	035053	321 12 0 00 035041 		JUMPL	AC+2,F33060		;LOOP ON ERROR SWITCH^
  7539
  7540			003307			ADR=ADR+1
  7541		000001	000000			XX=XX+XX
  7542		777776	777777			YY=YY+YY+1
  7543						IFE	XX,<XX=1>
  7544						IFE	<YY-1>,<YY=-2>
  7545
  7546					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7547		777777	000000			V1=XX*YY
  7548						IFE	<XX_-22>,<V2A=-1>
  7549		777777	777775			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7550		777777	777775			IFG	XX,<V2=V2A>
  7551						IFL	XX,<V2=XX+1>
  7552						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7553					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7554					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7555					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7556					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7557
  7558		777776	777777		F33070:	AA1=YY				;INITIAL C(AC)
  7559	035054	200 10 0 00 045145 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7560			000000			AA2=0				;INITIAL C(AC+1)
  7561	035055	200 11 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7562		000001	000000			AEE=XX				;INITIAL C(E)
  7563	035056	200 06 0 00 044717 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7564	035057	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7565		777777	777775			AR1=V2				;EXPECTED RESULT IN AC
  7566	035060	312 10 0 00 044640 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7567	035061	003 10 0 00 033071 		ER3	AC,33071		;HIGH PRODUCT FAILED
  7568		777777	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  7569	035062	312 11 0 00 045230 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7570	035063	004 11 0 00 033072 		ER4	AC+1,33072		;LOW PRODUCT FAILED
  7571		000001	000000			AEE=XX				;INITIAL C(E)
  7572	035064	312 06 0 00 044717 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7573	035065	005 06 0 00 033073 		ER5	E,33073			;C(E) WAS CLOBBERED
  7574	035066	321 12 0 00 035054 		JUMPL	AC+2,F33070		;LOOP ON ERROR SWITCH^
  7575
  7576			003310			ADR=ADR+1
  7577		000002	000000			XX=XX+XX
  7578		777775	777777			YY=YY+YY+1
  7579						IFE	XX,<XX=1>
  7580						IFE	<YY-1>,<YY=-2>
  7581
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 7-13
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0156

  7582					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7583		777776	000000			V1=XX*YY
  7584						IFE	<XX_-22>,<V2A=-1>
  7585		777777	777767			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7586		777777	777767			IFG	XX,<V2=V2A>
  7587						IFL	XX,<V2=XX+1>
  7588						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7589					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7590					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7591					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7592					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7593
  7594		777775	777777		F33100:	AA1=YY				;INITIAL C(AC)
  7595	035067	200 10 0 00 045147 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7596			000000			AA2=0				;INITIAL C(AC+1)
  7597	035070	200 11 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7598		000002	000000			AEE=XX				;INITIAL C(E)
  7599	035071	200 06 0 00 044722 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7600	035072	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7601		777777	777767			AR1=V2				;EXPECTED RESULT IN AC
  7602	035073	312 10 0 00 045107 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7603	035074	003 10 0 00 033101 		ER3	AC,33101		;HIGH PRODUCT FAILED
  7604		777776	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  7605	035075	312 11 0 00 045231 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7606	035076	004 11 0 00 033102 		ER4	AC+1,33102		;LOW PRODUCT FAILED
  7607		000002	000000			AEE=XX				;INITIAL C(E)
  7608	035077	312 06 0 00 044722 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7609	035100	005 06 0 00 033103 		ER5	E,33103			;C(E) WAS CLOBBERED
  7610	035101	321 12 0 00 035067 		JUMPL	AC+2,F33100		;LOOP ON ERROR SWITCH^
  7611
  7612			003311			ADR=ADR+1
  7613		000004	000000			XX=XX+XX
  7614		777773	777777			YY=YY+YY+1
  7615						IFE	XX,<XX=1>
  7616						IFE	<YY-1>,<YY=-2>
  7617
  7618					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7619		777774	000000			V1=XX*YY
  7620						IFE	<XX_-22>,<V2A=-1>
  7621		777777	777737			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7622		777777	777737			IFG	XX,<V2=V2A>
  7623						IFL	XX,<V2=XX+1>
  7624						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7625					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7626					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7627					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7628					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7629
  7630		777773	777777		F33110:	AA1=YY				;INITIAL C(AC)
  7631	035102	200 10 0 00 045151 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7632			000000			AA2=0				;INITIAL C(AC+1)
  7633	035103	200 11 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7634		000004	000000			AEE=XX				;INITIAL C(E)
  7635	035104	200 06 0 00 044725 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7636	035105	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 7-14
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0157

  7637		777777	777737			AR1=V2				;EXPECTED RESULT IN AC
  7638	035106	312 10 0 00 045113 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7639	035107	003 10 0 00 033111 		ER3	AC,33111		;HIGH PRODUCT FAILED
  7640		777774	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  7641	035110	312 11 0 00 045232 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7642	035111	004 11 0 00 033112 		ER4	AC+1,33112		;LOW PRODUCT FAILED
  7643		000004	000000			AEE=XX				;INITIAL C(E)
  7644	035112	312 06 0 00 044725 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7645	035113	005 06 0 00 033113 		ER5	E,33113			;C(E) WAS CLOBBERED
  7646	035114	321 12 0 00 035102 		JUMPL	AC+2,F33110		;LOOP ON ERROR SWITCH^
  7647
  7648			003312			ADR=ADR+1
  7649		000010	000000			XX=XX+XX
  7650		777767	777777			YY=YY+YY+1
  7651						IFE	XX,<XX=1>
  7652						IFE	<YY-1>,<YY=-2>
  7653
  7654					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7655		777770	000000			V1=XX*YY
  7656						IFE	<XX_-22>,<V2A=-1>
  7657		777777	777577			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7658		777777	777577			IFG	XX,<V2=V2A>
  7659						IFL	XX,<V2=XX+1>
  7660						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7661					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7662					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7663					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7664					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7665
  7666		777767	777777		F33120:	AA1=YY				;INITIAL C(AC)
  7667	035115	200 10 0 00 045153 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7668			000000			AA2=0				;INITIAL C(AC+1)
  7669	035116	200 11 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7670		000010	000000			AEE=XX				;INITIAL C(E)
  7671	035117	200 06 0 00 044730 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7672	035120	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7673		777777	777577			AR1=V2				;EXPECTED RESULT IN AC
  7674	035121	312 10 0 00 045117 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7675	035122	003 10 0 00 033121 		ER3	AC,33121		;HIGH PRODUCT FAILED
  7676		777770	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  7677	035123	312 11 0 00 045233 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7678	035124	004 11 0 00 033122 		ER4	AC+1,33122		;LOW PRODUCT FAILED
  7679		000010	000000			AEE=XX				;INITIAL C(E)
  7680	035125	312 06 0 00 044730 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7681	035126	005 06 0 00 033123 		ER5	E,33123			;C(E) WAS CLOBBERED
  7682	035127	321 12 0 00 035115 		JUMPL	AC+2,F33120		;LOOP ON ERROR SWITCH^
  7683
  7684			003313			ADR=ADR+1
  7685		000020	000000			XX=XX+XX
  7686		777757	777777			YY=YY+YY+1
  7687						IFE	XX,<XX=1>
  7688						IFE	<YY-1>,<YY=-2>
  7689
  7690					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7691		777760	000000			V1=XX*YY
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 7-15
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0158

  7692						IFE	<XX_-22>,<V2A=-1>
  7693		777777	776777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7694		777777	776777			IFG	XX,<V2=V2A>
  7695						IFL	XX,<V2=XX+1>
  7696						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7697					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7698					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7699					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7700					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7701
  7702		777757	777777		F33130:	AA1=YY				;INITIAL C(AC)
  7703	035130	200 10 0 00 045155 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7704			000000			AA2=0				;INITIAL C(AC+1)
  7705	035131	200 11 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7706		000020	000000			AEE=XX				;INITIAL C(E)
  7707	035132	200 06 0 00 044733 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7708	035133	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7709		777777	776777			AR1=V2				;EXPECTED RESULT IN AC
  7710	035134	312 10 0 00 045123 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7711	035135	003 10 0 00 033131 		ER3	AC,33131		;HIGH PRODUCT FAILED
  7712		777760	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  7713	035136	312 11 0 00 045234 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7714	035137	004 11 0 00 033132 		ER4	AC+1,33132		;LOW PRODUCT FAILED
  7715		000020	000000			AEE=XX				;INITIAL C(E)
  7716	035140	312 06 0 00 044733 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7717	035141	005 06 0 00 033133 		ER5	E,33133			;C(E) WAS CLOBBERED
  7718	035142	321 12 0 00 035130 		JUMPL	AC+2,F33130		;LOOP ON ERROR SWITCH^
  7719
  7720			003314			ADR=ADR+1
  7721		000040	000000			XX=XX+XX
  7722		777737	777777			YY=YY+YY+1
  7723						IFE	XX,<XX=1>
  7724						IFE	<YY-1>,<YY=-2>
  7725
  7726					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7727		777740	000000			V1=XX*YY
  7728						IFE	<XX_-22>,<V2A=-1>
  7729		777777	773777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7730		777777	773777			IFG	XX,<V2=V2A>
  7731						IFL	XX,<V2=XX+1>
  7732						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7733					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7734					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7735					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7736					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7737
  7738		777737	777777		F33140:	AA1=YY				;INITIAL C(AC)
  7739	035143	200 10 0 00 045157 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7740			000000			AA2=0				;INITIAL C(AC+1)
  7741	035144	200 11 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7742		000040	000000			AEE=XX				;INITIAL C(E)
  7743	035145	200 06 0 00 044736 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7744	035146	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7745		777777	773777			AR1=V2				;EXPECTED RESULT IN AC
  7746	035147	312 10 0 00 045127 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 7-16
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0159

  7747	035150	003 10 0 00 033141 		ER3	AC,33141		;HIGH PRODUCT FAILED
  7748		777740	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  7749	035151	312 11 0 00 045235 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7750	035152	004 11 0 00 033142 		ER4	AC+1,33142		;LOW PRODUCT FAILED
  7751		000040	000000			AEE=XX				;INITIAL C(E)
  7752	035153	312 06 0 00 044736 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7753	035154	005 06 0 00 033143 		ER5	E,33143			;C(E) WAS CLOBBERED
  7754	035155	321 12 0 00 035143 		JUMPL	AC+2,F33140		;LOOP ON ERROR SWITCH^
  7755
  7756			003315			ADR=ADR+1
  7757		000100	000000			XX=XX+XX
  7758		777677	777777			YY=YY+YY+1
  7759						IFE	XX,<XX=1>
  7760						IFE	<YY-1>,<YY=-2>
  7761
  7762					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7763		777700	000000			V1=XX*YY
  7764						IFE	<XX_-22>,<V2A=-1>
  7765		777777	757777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7766		777777	757777			IFG	XX,<V2=V2A>
  7767						IFL	XX,<V2=XX+1>
  7768						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7769					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7770					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7771					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7772					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7773
  7774		777677	777777		F33150:	AA1=YY				;INITIAL C(AC)
  7775	035156	200 10 0 00 045161 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7776			000000			AA2=0				;INITIAL C(AC+1)
  7777	035157	200 11 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7778		000100	000000			AEE=XX				;INITIAL C(E)
  7779	035160	200 06 0 00 044741 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7780	035161	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7781		777777	757777			AR1=V2				;EXPECTED RESULT IN AC
  7782	035162	312 10 0 00 045133 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7783	035163	003 10 0 00 033151 		ER3	AC,33151		;HIGH PRODUCT FAILED
  7784		777700	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  7785	035164	312 11 0 00 045236 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7786	035165	004 11 0 00 033152 		ER4	AC+1,33152		;LOW PRODUCT FAILED
  7787		000100	000000			AEE=XX				;INITIAL C(E)
  7788	035166	312 06 0 00 044741 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7789	035167	005 06 0 00 033153 		ER5	E,33153			;C(E) WAS CLOBBERED
  7790	035170	321 12 0 00 035156 		JUMPL	AC+2,F33150		;LOOP ON ERROR SWITCH^
  7791
  7792			003316			ADR=ADR+1
  7793		000200	000000			XX=XX+XX
  7794		777577	777777			YY=YY+YY+1
  7795						IFE	XX,<XX=1>
  7796						IFE	<YY-1>,<YY=-2>
  7797
  7798					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7799		777600	000000			V1=XX*YY
  7800						IFE	<XX_-22>,<V2A=-1>
  7801		777777	677777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 7-17
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0160

  7802		777777	677777			IFG	XX,<V2=V2A>
  7803						IFL	XX,<V2=XX+1>
  7804						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7805					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7806					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7807					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7808					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7809
  7810		777577	777777		F33160:	AA1=YY				;INITIAL C(AC)
  7811	035171	200 10 0 00 045163 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7812			000000			AA2=0				;INITIAL C(AC+1)
  7813	035172	200 11 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7814		000200	000000			AEE=XX				;INITIAL C(E)
  7815	035173	200 06 0 00 044744 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7816	035174	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7817		777777	677777			AR1=V2				;EXPECTED RESULT IN AC
  7818	035175	312 10 0 00 045137 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7819	035176	003 10 0 00 033161 		ER3	AC,33161		;HIGH PRODUCT FAILED
  7820		777600	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  7821	035177	312 11 0 00 045237 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7822	035200	004 11 0 00 033162 		ER4	AC+1,33162		;LOW PRODUCT FAILED
  7823		000200	000000			AEE=XX				;INITIAL C(E)
  7824	035201	312 06 0 00 044744 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7825	035202	005 06 0 00 033163 		ER5	E,33163			;C(E) WAS CLOBBERED
  7826	035203	321 12 0 00 035171 		JUMPL	AC+2,F33160		;LOOP ON ERROR SWITCH^
  7827
  7828			003317			ADR=ADR+1
  7829		000400	000000			XX=XX+XX
  7830		777377	777777			YY=YY+YY+1
  7831						IFE	XX,<XX=1>
  7832						IFE	<YY-1>,<YY=-2>
  7833
  7834					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7835		777400	000000			V1=XX*YY
  7836						IFE	<XX_-22>,<V2A=-1>
  7837		777777	377777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7838		777777	377777			IFG	XX,<V2=V2A>
  7839						IFL	XX,<V2=XX+1>
  7840						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7841					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7842					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7843					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7844					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7845
  7846		777377	777777		F33170:	AA1=YY				;INITIAL C(AC)
  7847	035204	200 10 0 00 045165 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7848			000000			AA2=0				;INITIAL C(AC+1)
  7849	035205	200 11 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7850		000400	000000			AEE=XX				;INITIAL C(E)
  7851	035206	200 06 0 00 044747 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7852	035207	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7853		777777	377777			AR1=V2				;EXPECTED RESULT IN AC
  7854	035210	312 10 0 00 045143 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7855	035211	003 10 0 00 033171 		ER3	AC,33171		;HIGH PRODUCT FAILED
  7856		777400	000000			AR2=V1				;EXPECTED RESULT IN AC+1
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 7-18
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0161

  7857	035212	312 11 0 00 045240 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7858	035213	004 11 0 00 033172 		ER4	AC+1,33172		;LOW PRODUCT FAILED
  7859		000400	000000			AEE=XX				;INITIAL C(E)
  7860	035214	312 06 0 00 044747 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7861	035215	005 06 0 00 033173 		ER5	E,33173			;C(E) WAS CLOBBERED
  7862	035216	321 12 0 00 035204 		JUMPL	AC+2,F33170		;LOOP ON ERROR SWITCH^
  7863
  7864			003320			ADR=ADR+1
  7865		001000	000000			XX=XX+XX
  7866		776777	777777			YY=YY+YY+1
  7867						IFE	XX,<XX=1>
  7868						IFE	<YY-1>,<YY=-2>
  7869
  7870					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7871		777000	000000			V1=XX*YY
  7872						IFE	<XX_-22>,<V2A=-1>
  7873		777775	777777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7874		777775	777777			IFG	XX,<V2=V2A>
  7875						IFL	XX,<V2=XX+1>
  7876						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7877					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7878					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7879					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7880					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7881
  7882		776777	777777		F33200:	AA1=YY				;INITIAL C(AC)
  7883	035217	200 10 0 00 045167 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7884			000000			AA2=0				;INITIAL C(AC+1)
  7885	035220	200 11 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7886		001000	000000			AEE=XX				;INITIAL C(E)
  7887	035221	200 06 0 00 044752 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7888	035222	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7889		777775	777777			AR1=V2				;EXPECTED RESULT IN AC
  7890	035223	312 10 0 00 045147 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7891	035224	003 10 0 00 033201 		ER3	AC,33201		;HIGH PRODUCT FAILED
  7892		777000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  7893	035225	312 11 0 00 045241 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7894	035226	004 11 0 00 033202 		ER4	AC+1,33202		;LOW PRODUCT FAILED
  7895		001000	000000			AEE=XX				;INITIAL C(E)
  7896	035227	312 06 0 00 044752 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7897	035230	005 06 0 00 033203 		ER5	E,33203			;C(E) WAS CLOBBERED
  7898	035231	321 12 0 00 035217 		JUMPL	AC+2,F33200		;LOOP ON ERROR SWITCH^
  7899
  7900			003321			ADR=ADR+1
  7901		002000	000000			XX=XX+XX
  7902		775777	777777			YY=YY+YY+1
  7903						IFE	XX,<XX=1>
  7904						IFE	<YY-1>,<YY=-2>
  7905
  7906					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7907		776000	000000			V1=XX*YY
  7908						IFE	<XX_-22>,<V2A=-1>
  7909		777767	777777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7910		777767	777777			IFG	XX,<V2=V2A>
  7911						IFL	XX,<V2=XX+1>
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 7-19
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0162

  7912						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7913					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7914					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7915					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7916					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7917
  7918		775777	777777		F33210:	AA1=YY				;INITIAL C(AC)
  7919	035232	200 10 0 00 045171 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7920			000000			AA2=0				;INITIAL C(AC+1)
  7921	035233	200 11 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7922		002000	000000			AEE=XX				;INITIAL C(E)
  7923	035234	200 06 0 00 044755 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7924	035235	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7925		777767	777777			AR1=V2				;EXPECTED RESULT IN AC
  7926	035236	312 10 0 00 045153 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7927	035237	003 10 0 00 033211 		ER3	AC,33211		;HIGH PRODUCT FAILED
  7928		776000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  7929	035240	312 11 0 00 045242 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7930	035241	004 11 0 00 033212 		ER4	AC+1,33212		;LOW PRODUCT FAILED
  7931		002000	000000			AEE=XX				;INITIAL C(E)
  7932	035242	312 06 0 00 044755 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7933	035243	005 06 0 00 033213 		ER5	E,33213			;C(E) WAS CLOBBERED
  7934	035244	321 12 0 00 035232 		JUMPL	AC+2,F33210		;LOOP ON ERROR SWITCH^
  7935
  7936			003322			ADR=ADR+1
  7937		004000	000000			XX=XX+XX
  7938		773777	777777			YY=YY+YY+1
  7939						IFE	XX,<XX=1>
  7940						IFE	<YY-1>,<YY=-2>
  7941
  7942					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7943		774000	000000			V1=XX*YY
  7944						IFE	<XX_-22>,<V2A=-1>
  7945		777737	777777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7946		777737	777777			IFG	XX,<V2=V2A>
  7947						IFL	XX,<V2=XX+1>
  7948						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7949					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7950					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7951					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7952					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7953
  7954		773777	777777		F33220:	AA1=YY				;INITIAL C(AC)
  7955	035245	200 10 0 00 045173 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7956			000000			AA2=0				;INITIAL C(AC+1)
  7957	035246	200 11 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7958		004000	000000			AEE=XX				;INITIAL C(E)
  7959	035247	200 06 0 00 044760 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7960	035250	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7961		777737	777777			AR1=V2				;EXPECTED RESULT IN AC
  7962	035251	312 10 0 00 045157 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7963	035252	003 10 0 00 033221 		ER3	AC,33221		;HIGH PRODUCT FAILED
  7964		774000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  7965	035253	312 11 0 00 045243 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7966	035254	004 11 0 00 033222 		ER4	AC+1,33222		;LOW PRODUCT FAILED
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 7-20
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0163

  7967		004000	000000			AEE=XX				;INITIAL C(E)
  7968	035255	312 06 0 00 044760 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7969	035256	005 06 0 00 033223 		ER5	E,33223			;C(E) WAS CLOBBERED
  7970	035257	321 12 0 00 035245 		JUMPL	AC+2,F33220		;LOOP ON ERROR SWITCH^
  7971
  7972			003323			ADR=ADR+1
  7973		010000	000000			XX=XX+XX
  7974		767777	777777			YY=YY+YY+1
  7975						IFE	XX,<XX=1>
  7976						IFE	<YY-1>,<YY=-2>
  7977
  7978					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7979		770000	000000			V1=XX*YY
  7980						IFE	<XX_-22>,<V2A=-1>
  7981		777577	777777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7982		777577	777777			IFG	XX,<V2=V2A>
  7983						IFL	XX,<V2=XX+1>
  7984						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7985					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7986					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7987					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7988					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7989
  7990		767777	777777		F33230:	AA1=YY				;INITIAL C(AC)
  7991	035260	200 10 0 00 045175 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7992			000000			AA2=0				;INITIAL C(AC+1)
  7993	035261	200 11 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7994		010000	000000			AEE=XX				;INITIAL C(E)
  7995	035262	200 06 0 00 044763 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7996	035263	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7997		777577	777777			AR1=V2				;EXPECTED RESULT IN AC
  7998	035264	312 10 0 00 045163 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7999	035265	003 10 0 00 033231 		ER3	AC,33231		;HIGH PRODUCT FAILED
  8000		770000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  8001	035266	312 11 0 00 045244 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8002	035267	004 11 0 00 033232 		ER4	AC+1,33232		;LOW PRODUCT FAILED
  8003		010000	000000			AEE=XX				;INITIAL C(E)
  8004	035270	312 06 0 00 044763 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  8005	035271	005 06 0 00 033233 		ER5	E,33233			;C(E) WAS CLOBBERED
  8006	035272	321 12 0 00 035260 		JUMPL	AC+2,F33230		;LOOP ON ERROR SWITCH^
  8007
  8008			003324			ADR=ADR+1
  8009		020000	000000			XX=XX+XX
  8010		757777	777777			YY=YY+YY+1
  8011						IFE	XX,<XX=1>
  8012						IFE	<YY-1>,<YY=-2>
  8013
  8014					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  8015		760000	000000			V1=XX*YY
  8016						IFE	<XX_-22>,<V2A=-1>
  8017		776777	777777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8018		776777	777777			IFG	XX,<V2=V2A>
  8019						IFL	XX,<V2=XX+1>
  8020						MOP1	(\ADR,YY,0,XX,V2,V1)^
  8021					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 7-21
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0164

  8022					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8023					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  8024					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8025
  8026		757777	777777		F33240:	AA1=YY				;INITIAL C(AC)
  8027	035273	200 10 0 00 045177 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  8028			000000			AA2=0				;INITIAL C(AC+1)
  8029	035274	200 11 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8030		020000	000000			AEE=XX				;INITIAL C(E)
  8031	035275	200 06 0 00 044766 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  8032	035276	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8033		776777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8034	035277	312 10 0 00 045167 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8035	035300	003 10 0 00 033241 		ER3	AC,33241		;HIGH PRODUCT FAILED
  8036		760000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  8037	035301	312 11 0 00 045245 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8038	035302	004 11 0 00 033242 		ER4	AC+1,33242		;LOW PRODUCT FAILED
  8039		020000	000000			AEE=XX				;INITIAL C(E)
  8040	035303	312 06 0 00 044766 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  8041	035304	005 06 0 00 033243 		ER5	E,33243			;C(E) WAS CLOBBERED
  8042	035305	321 12 0 00 035273 		JUMPL	AC+2,F33240		;LOOP ON ERROR SWITCH^
  8043
  8044			003325			ADR=ADR+1
  8045		040000	000000			XX=XX+XX
  8046		737777	777777			YY=YY+YY+1
  8047						IFE	XX,<XX=1>
  8048						IFE	<YY-1>,<YY=-2>
  8049
  8050					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  8051		740000	000000			V1=XX*YY
  8052						IFE	<XX_-22>,<V2A=-1>
  8053		773777	777777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8054		773777	777777			IFG	XX,<V2=V2A>
  8055						IFL	XX,<V2=XX+1>
  8056						MOP1	(\ADR,YY,0,XX,V2,V1)^
  8057					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  8058					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8059					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  8060					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8061
  8062		737777	777777		F33250:	AA1=YY				;INITIAL C(AC)
  8063	035306	200 10 0 00 045201 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  8064			000000			AA2=0				;INITIAL C(AC+1)
  8065	035307	200 11 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8066		040000	000000			AEE=XX				;INITIAL C(E)
  8067	035310	200 06 0 00 044771 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  8068	035311	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8069		773777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8070	035312	312 10 0 00 045173 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8071	035313	003 10 0 00 033251 		ER3	AC,33251		;HIGH PRODUCT FAILED
  8072		740000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  8073	035314	312 11 0 00 045246 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8074	035315	004 11 0 00 033252 		ER4	AC+1,33252		;LOW PRODUCT FAILED
  8075		040000	000000			AEE=XX				;INITIAL C(E)
  8076	035316	312 06 0 00 044771 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 7-22
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0165

  8077	035317	005 06 0 00 033253 		ER5	E,33253			;C(E) WAS CLOBBERED
  8078	035320	321 12 0 00 035306 		JUMPL	AC+2,F33250		;LOOP ON ERROR SWITCH^
  8079
  8080			003326			ADR=ADR+1
  8081		100000	000000			XX=XX+XX
  8082		677777	777777			YY=YY+YY+1
  8083						IFE	XX,<XX=1>
  8084						IFE	<YY-1>,<YY=-2>
  8085
  8086					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  8087		700000	000000			V1=XX*YY
  8088						IFE	<XX_-22>,<V2A=-1>
  8089		757777	777777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8090		757777	777777			IFG	XX,<V2=V2A>
  8091						IFL	XX,<V2=XX+1>
  8092						MOP1	(\ADR,YY,0,XX,V2,V1)^
  8093					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  8094					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8095					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  8096					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8097
  8098		677777	777777		F33260:	AA1=YY				;INITIAL C(AC)
  8099	035321	200 10 0 00 045203 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  8100			000000			AA2=0				;INITIAL C(AC+1)
  8101	035322	200 11 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8102		100000	000000			AEE=XX				;INITIAL C(E)
  8103	035323	200 06 0 00 044774 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  8104	035324	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8105		757777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8106	035325	312 10 0 00 045177 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8107	035326	003 10 0 00 033261 		ER3	AC,33261		;HIGH PRODUCT FAILED
  8108		700000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  8109	035327	312 11 0 00 045247 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8110	035330	004 11 0 00 033262 		ER4	AC+1,33262		;LOW PRODUCT FAILED
  8111		100000	000000			AEE=XX				;INITIAL C(E)
  8112	035331	312 06 0 00 044774 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  8113	035332	005 06 0 00 033263 		ER5	E,33263			;C(E) WAS CLOBBERED
  8114	035333	321 12 0 00 035321 		JUMPL	AC+2,F33260		;LOOP ON ERROR SWITCH^
  8115
  8116			003327			ADR=ADR+1
  8117		200000	000000			XX=XX+XX
  8118		577777	777777			YY=YY+YY+1
  8119						IFE	XX,<XX=1>
  8120						IFE	<YY-1>,<YY=-2>
  8121
  8122					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  8123		600000	000000			V1=XX*YY
  8124						IFE	<XX_-22>,<V2A=-1>
  8125		677777	777777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8126		677777	777777			IFG	XX,<V2=V2A>
  8127						IFL	XX,<V2=XX+1>
  8128						MOP1	(\ADR,YY,0,XX,V2,V1)^
  8129					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  8130					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8131					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 7-23
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0166

  8132					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8133
  8134		577777	777777		F33270:	AA1=YY				;INITIAL C(AC)
  8135	035334	200 10 0 00 045205 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  8136			000000			AA2=0				;INITIAL C(AC+1)
  8137	035335	200 11 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8138		200000	000000			AEE=XX				;INITIAL C(E)
  8139	035336	200 06 0 00 044777 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  8140	035337	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8141		677777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8142	035340	312 10 0 00 045203 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8143	035341	003 10 0 00 033271 		ER3	AC,33271		;HIGH PRODUCT FAILED
  8144		600000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  8145	035342	312 11 0 00 044776 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8146	035343	004 11 0 00 033272 		ER4	AC+1,33272		;LOW PRODUCT FAILED
  8147		200000	000000			AEE=XX				;INITIAL C(E)
  8148	035344	312 06 0 00 044777 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  8149	035345	005 06 0 00 033273 		ER5	E,33273			;C(E) WAS CLOBBERED
  8150	035346	321 12 0 00 035334 		JUMPL	AC+2,F33270		;LOOP ON ERROR SWITCH^
  8151
  8152			003330			ADR=ADR+1
  8153		400000	000000			XX=XX+XX
  8154		377777	777777			YY=YY+YY+1
  8155						IFE	XX,<XX=1>
  8156						IFE	<YY-1>,<YY=-2>
  8157
  8158					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  8159		400000	000000			V1=XX*YY
  8160						IFE	<XX_-22>,<V2A=-1>
  8161		777777	777777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8162						IFG	XX,<V2=V2A>
  8163		400000	000001			IFL	XX,<V2=XX+1>
  8164						MOP1	(\ADR,YY,0,XX,V2,V1)^
  8165					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  8166					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8167					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  8168					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8169
  8170		377777	777777		F33300:	AA1=YY				;INITIAL C(AC)
  8171	035347	200 10 0 00 045206 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  8172			000000			AA2=0				;INITIAL C(AC+1)
  8173	035350	200 11 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8174		400000	000000			AEE=XX				;INITIAL C(E)
  8175	035351	200 06 0 00 045001 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  8176	035352	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8177		400000	000001			AR1=V2				;EXPECTED RESULT IN AC
  8178	035353	312 10 0 00 045250 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8179	035354	003 10 0 00 033301 		ER3	AC,33301		;HIGH PRODUCT FAILED
  8180		400000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  8181	035355	312 11 0 00 045001 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8182	035356	004 11 0 00 033302 		ER4	AC+1,33302		;LOW PRODUCT FAILED
  8183		400000	000000			AEE=XX				;INITIAL C(E)
  8184	035357	312 06 0 00 045001 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  8185	035360	005 06 0 00 033303 		ER5	E,33303			;C(E) WAS CLOBBERED
  8186	035361	321 12 0 00 035347 		JUMPL	AC+2,F33300		;LOOP ON ERROR SWITCH^
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 8
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0167

  8187			000007			AC=7
  8188			000005			E=<AC-2>&17
  8189						SAVEAC	(1,1)^
  8190	035362	201 11 0 00 035362 		MOVEI	AC+2,.		;SAVE TEST PC
  8191	035363	202 11 0 00 030051 		MOVEM	AC+2,TESTPC
  8192	035364	201 11 0 00 000011 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  8193	035365	202 11 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  8194			000000			XX=0
  8195			000000			YY=0
  8196
  8197						REPEAT	^D36,<
  8198						ADR=ADR+1
  8199						XX=XX+XX
  8200						YY=YY+YY+1
  8201						IFE	XX,<XX=1>
  8202						IFE	<YY-1>,<YY=-2>
  8203					
  8204					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8205						V1=XX*YY
  8206						IFE	<XX_-22>,<V2A=-1>
  8207						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8208						IFG	XX,<V2=V2A>
  8209						IFL	XX,<V2=XX+1>
  8210						MOP1	(\ADR,XX,0,YY,V2,V1)>
  8211
  8212			003331			ADR=ADR+1
  8213			000000			XX=XX+XX
  8214			000001			YY=YY+YY+1
  8215			000001			IFE	XX,<XX=1>
  8216		777777	777776			IFE	<YY-1>,<YY=-2>
  8217
  8218					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8219		777777	777776			V1=XX*YY
  8220		777777	777777			IFE	<XX_-22>,<V2A=-1>
  8221						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8222		777777	777777			IFG	XX,<V2=V2A>
  8223						IFL	XX,<V2=XX+1>
  8224						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8225					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8226					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8227					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8228					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8229
  8230			000001		F33310:	AA1=XX				;INITIAL C(AC)
  8231	035366	200 07 0 00 044632 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8232			000000			AA2=0				;INITIAL C(AC+1)
  8233	035367	200 10 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8234		777777	777776			AEE=YY				;INITIAL C(E)
  8235	035370	200 05 0 00 044635 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8236	035371	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8237		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8238	035372	312 07 0 00 044633 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8239	035373	003 07 0 00 033311 		ER3	AC,33311		;HIGH PRODUCT FAILED
  8240		777777	777776			AR2=V1				;EXPECTED RESULT IN AC+1
  8241	035374	312 10 0 00 044635 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 8-1
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0168

  8242	035375	004 10 0 00 033312 		ER4	AC+1,33312		;LOW PRODUCT FAILED
  8243		777777	777776			AEE=YY				;INITIAL C(E)
  8244	035376	312 05 0 00 044635 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8245	035377	005 05 0 00 033313 		ER5	E,33313			;C(E) WAS CLOBBERED
  8246	035400	321 11 0 00 035366 		JUMPL	AC+2,F33310		;LOOP ON ERROR SWITCH^
  8247
  8248			003332			ADR=ADR+1
  8249			000002			XX=XX+XX
  8250		777777	777775			YY=YY+YY+1
  8251						IFE	XX,<XX=1>
  8252						IFE	<YY-1>,<YY=-2>
  8253
  8254					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8255		777777	777772			V1=XX*YY
  8256		777777	777777			IFE	<XX_-22>,<V2A=-1>
  8257						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8258		777777	777777			IFG	XX,<V2=V2A>
  8259						IFL	XX,<V2=XX+1>
  8260						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8261					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8262					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8263					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8264					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8265
  8266			000002		F33320:	AA1=XX				;INITIAL C(AC)
  8267	035401	200 07 0 00 044634 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8268			000000			AA2=0				;INITIAL C(AC+1)
  8269	035402	200 10 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8270		777777	777775			AEE=YY				;INITIAL C(E)
  8271	035403	200 05 0 00 044640 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8272	035404	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8273		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8274	035405	312 07 0 00 044633 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8275	035406	003 07 0 00 033321 		ER3	AC,33321		;HIGH PRODUCT FAILED
  8276		777777	777772			AR2=V1				;EXPECTED RESULT IN AC+1
  8277	035407	312 10 0 00 044643 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8278	035410	004 10 0 00 033322 		ER4	AC+1,33322		;LOW PRODUCT FAILED
  8279		777777	777775			AEE=YY				;INITIAL C(E)
  8280	035411	312 05 0 00 044640 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8281	035412	005 05 0 00 033323 		ER5	E,33323			;C(E) WAS CLOBBERED
  8282	035413	321 11 0 00 035401 		JUMPL	AC+2,F33320		;LOOP ON ERROR SWITCH^
  8283
  8284			003333			ADR=ADR+1
  8285			000004			XX=XX+XX
  8286		777777	777773			YY=YY+YY+1
  8287						IFE	XX,<XX=1>
  8288						IFE	<YY-1>,<YY=-2>
  8289
  8290					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8291		777777	777754			V1=XX*YY
  8292		777777	777777			IFE	<XX_-22>,<V2A=-1>
  8293						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8294		777777	777777			IFG	XX,<V2=V2A>
  8295						IFL	XX,<V2=XX+1>
  8296						MOP1	(\ADR,XX,0,YY,V2,V1)^
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 8-2
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0169

  8297					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8298					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8299					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8300					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8301
  8302			000004		F33330:	AA1=XX				;INITIAL C(AC)
  8303	035414	200 07 0 00 044637 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8304			000000			AA2=0				;INITIAL C(AC+1)
  8305	035415	200 10 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8306		777777	777773			AEE=YY				;INITIAL C(E)
  8307	035416	200 05 0 00 045105 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8308	035417	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8309		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8310	035420	312 07 0 00 044633 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8311	035421	003 07 0 00 033331 		ER3	AC,33331		;HIGH PRODUCT FAILED
  8312		777777	777754			AR2=V1				;EXPECTED RESULT IN AC+1
  8313	035422	312 10 0 00 045210 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8314	035423	004 10 0 00 033332 		ER4	AC+1,33332		;LOW PRODUCT FAILED
  8315		777777	777773			AEE=YY				;INITIAL C(E)
  8316	035424	312 05 0 00 045105 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8317	035425	005 05 0 00 033333 		ER5	E,33333			;C(E) WAS CLOBBERED
  8318	035426	321 11 0 00 035414 		JUMPL	AC+2,F33330		;LOOP ON ERROR SWITCH^
  8319
  8320			003334			ADR=ADR+1
  8321			000010			XX=XX+XX
  8322		777777	777767			YY=YY+YY+1
  8323						IFE	XX,<XX=1>
  8324						IFE	<YY-1>,<YY=-2>
  8325
  8326					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8327		777777	777670			V1=XX*YY
  8328		777777	777777			IFE	<XX_-22>,<V2A=-1>
  8329						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8330		777777	777777			IFG	XX,<V2=V2A>
  8331						IFL	XX,<V2=XX+1>
  8332						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8333					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8334					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8335					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8336					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8337
  8338			000010		F33340:	AA1=XX				;INITIAL C(AC)
  8339	035427	200 07 0 00 044642 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8340			000000			AA2=0				;INITIAL C(AC+1)
  8341	035430	200 10 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8342		777777	777767			AEE=YY				;INITIAL C(E)
  8343	035431	200 05 0 00 045107 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8344	035432	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8345		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8346	035433	312 07 0 00 044633 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8347	035434	003 07 0 00 033341 		ER3	AC,33341		;HIGH PRODUCT FAILED
  8348		777777	777670			AR2=V1				;EXPECTED RESULT IN AC+1
  8349	035435	312 10 0 00 045211 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8350	035436	004 10 0 00 033342 		ER4	AC+1,33342		;LOW PRODUCT FAILED
  8351		777777	777767			AEE=YY				;INITIAL C(E)
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 8-3
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0170

  8352	035437	312 05 0 00 045107 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8353	035440	005 05 0 00 033343 		ER5	E,33343			;C(E) WAS CLOBBERED
  8354	035441	321 11 0 00 035427 		JUMPL	AC+2,F33340		;LOOP ON ERROR SWITCH^
  8355
  8356			003335			ADR=ADR+1
  8357			000020			XX=XX+XX
  8358		777777	777757			YY=YY+YY+1
  8359						IFE	XX,<XX=1>
  8360						IFE	<YY-1>,<YY=-2>
  8361
  8362					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8363		777777	777360			V1=XX*YY
  8364		777777	777777			IFE	<XX_-22>,<V2A=-1>
  8365						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8366		777777	777777			IFG	XX,<V2=V2A>
  8367						IFL	XX,<V2=XX+1>
  8368						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8369					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8370					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8371					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8372					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8373
  8374			000020		F33350:	AA1=XX				;INITIAL C(AC)
  8375	035442	200 07 0 00 044645 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8376			000000			AA2=0				;INITIAL C(AC+1)
  8377	035443	200 10 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8378		777777	777757			AEE=YY				;INITIAL C(E)
  8379	035444	200 05 0 00 045111 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8380	035445	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8381		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8382	035446	312 07 0 00 044633 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8383	035447	003 07 0 00 033351 		ER3	AC,33351		;HIGH PRODUCT FAILED
  8384		777777	777360			AR2=V1				;EXPECTED RESULT IN AC+1
  8385	035450	312 10 0 00 045212 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8386	035451	004 10 0 00 033352 		ER4	AC+1,33352		;LOW PRODUCT FAILED
  8387		777777	777757			AEE=YY				;INITIAL C(E)
  8388	035452	312 05 0 00 045111 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8389	035453	005 05 0 00 033353 		ER5	E,33353			;C(E) WAS CLOBBERED
  8390	035454	321 11 0 00 035442 		JUMPL	AC+2,F33350		;LOOP ON ERROR SWITCH^
  8391
  8392			003336			ADR=ADR+1
  8393			000040			XX=XX+XX
  8394		777777	777737			YY=YY+YY+1
  8395						IFE	XX,<XX=1>
  8396						IFE	<YY-1>,<YY=-2>
  8397
  8398					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8399		777777	775740			V1=XX*YY
  8400		777777	777777			IFE	<XX_-22>,<V2A=-1>
  8401						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8402		777777	777777			IFG	XX,<V2=V2A>
  8403						IFL	XX,<V2=XX+1>
  8404						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8405					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8406					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 8-4
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0171

  8407					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8408					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8409
  8410			000040		F33360:	AA1=XX				;INITIAL C(AC)
  8411	035455	200 07 0 00 044650 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8412			000000			AA2=0				;INITIAL C(AC+1)
  8413	035456	200 10 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8414		777777	777737			AEE=YY				;INITIAL C(E)
  8415	035457	200 05 0 00 045113 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8416	035460	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8417		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8418	035461	312 07 0 00 044633 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8419	035462	003 07 0 00 033361 		ER3	AC,33361		;HIGH PRODUCT FAILED
  8420		777777	775740			AR2=V1				;EXPECTED RESULT IN AC+1
  8421	035463	312 10 0 00 045213 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8422	035464	004 10 0 00 033362 		ER4	AC+1,33362		;LOW PRODUCT FAILED
  8423		777777	777737			AEE=YY				;INITIAL C(E)
  8424	035465	312 05 0 00 045113 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8425	035466	005 05 0 00 033363 		ER5	E,33363			;C(E) WAS CLOBBERED
  8426	035467	321 11 0 00 035455 		JUMPL	AC+2,F33360		;LOOP ON ERROR SWITCH^
  8427
  8428			003337			ADR=ADR+1
  8429			000100			XX=XX+XX
  8430		777777	777677			YY=YY+YY+1
  8431						IFE	XX,<XX=1>
  8432						IFE	<YY-1>,<YY=-2>
  8433
  8434					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8435		777777	767700			V1=XX*YY
  8436		777777	777777			IFE	<XX_-22>,<V2A=-1>
  8437						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8438		777777	777777			IFG	XX,<V2=V2A>
  8439						IFL	XX,<V2=XX+1>
  8440						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8441					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8442					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8443					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8444					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8445
  8446			000100		F33370:	AA1=XX				;INITIAL C(AC)
  8447	035470	200 07 0 00 044653 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8448			000000			AA2=0				;INITIAL C(AC+1)
  8449	035471	200 10 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8450		777777	777677			AEE=YY				;INITIAL C(E)
  8451	035472	200 05 0 00 045115 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8452	035473	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8453		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8454	035474	312 07 0 00 044633 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8455	035475	003 07 0 00 033371 		ER3	AC,33371		;HIGH PRODUCT FAILED
  8456		777777	767700			AR2=V1				;EXPECTED RESULT IN AC+1
  8457	035476	312 10 0 00 045214 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8458	035477	004 10 0 00 033372 		ER4	AC+1,33372		;LOW PRODUCT FAILED
  8459		777777	777677			AEE=YY				;INITIAL C(E)
  8460	035500	312 05 0 00 045115 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8461	035501	005 05 0 00 033373 		ER5	E,33373			;C(E) WAS CLOBBERED
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 8-5
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0172

  8462	035502	321 11 0 00 035470 		JUMPL	AC+2,F33370		;LOOP ON ERROR SWITCH^
  8463
  8464			003340			ADR=ADR+1
  8465			000200			XX=XX+XX
  8466		777777	777577			YY=YY+YY+1
  8467						IFE	XX,<XX=1>
  8468						IFE	<YY-1>,<YY=-2>
  8469
  8470					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8471		777777	737600			V1=XX*YY
  8472		777777	777777			IFE	<XX_-22>,<V2A=-1>
  8473						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8474		777777	777777			IFG	XX,<V2=V2A>
  8475						IFL	XX,<V2=XX+1>
  8476						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8477					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8478					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8479					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8480					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8481
  8482			000200		F33400:	AA1=XX				;INITIAL C(AC)
  8483	035503	200 07 0 00 044656 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8484			000000			AA2=0				;INITIAL C(AC+1)
  8485	035504	200 10 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8486		777777	777577			AEE=YY				;INITIAL C(E)
  8487	035505	200 05 0 00 045117 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8488	035506	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8489		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8490	035507	312 07 0 00 044633 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8491	035510	003 07 0 00 033401 		ER3	AC,33401		;HIGH PRODUCT FAILED
  8492		777777	737600			AR2=V1				;EXPECTED RESULT IN AC+1
  8493	035511	312 10 0 00 045215 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8494	035512	004 10 0 00 033402 		ER4	AC+1,33402		;LOW PRODUCT FAILED
  8495		777777	777577			AEE=YY				;INITIAL C(E)
  8496	035513	312 05 0 00 045117 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8497	035514	005 05 0 00 033403 		ER5	E,33403			;C(E) WAS CLOBBERED
  8498	035515	321 11 0 00 035503 		JUMPL	AC+2,F33400		;LOOP ON ERROR SWITCH^
  8499
  8500			003341			ADR=ADR+1
  8501			000400			XX=XX+XX
  8502		777777	777377			YY=YY+YY+1
  8503						IFE	XX,<XX=1>
  8504						IFE	<YY-1>,<YY=-2>
  8505
  8506					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8507		777777	577400			V1=XX*YY
  8508		777777	777777			IFE	<XX_-22>,<V2A=-1>
  8509						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8510		777777	777777			IFG	XX,<V2=V2A>
  8511						IFL	XX,<V2=XX+1>
  8512						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8513					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8514					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8515					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8516					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 8-6
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0173

  8517
  8518			000400		F33410:	AA1=XX				;INITIAL C(AC)
  8519	035516	200 07 0 00 044661 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8520			000000			AA2=0				;INITIAL C(AC+1)
  8521	035517	200 10 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8522		777777	777377			AEE=YY				;INITIAL C(E)
  8523	035520	200 05 0 00 045121 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8524	035521	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8525		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8526	035522	312 07 0 00 044633 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8527	035523	003 07 0 00 033411 		ER3	AC,33411		;HIGH PRODUCT FAILED
  8528		777777	577400			AR2=V1				;EXPECTED RESULT IN AC+1
  8529	035524	312 10 0 00 045216 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8530	035525	004 10 0 00 033412 		ER4	AC+1,33412		;LOW PRODUCT FAILED
  8531		777777	777377			AEE=YY				;INITIAL C(E)
  8532	035526	312 05 0 00 045121 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8533	035527	005 05 0 00 033413 		ER5	E,33413			;C(E) WAS CLOBBERED
  8534	035530	321 11 0 00 035516 		JUMPL	AC+2,F33410		;LOOP ON ERROR SWITCH^
  8535
  8536			003342			ADR=ADR+1
  8537			001000			XX=XX+XX
  8538		777777	776777			YY=YY+YY+1
  8539						IFE	XX,<XX=1>
  8540						IFE	<YY-1>,<YY=-2>
  8541
  8542					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8543		777776	777000			V1=XX*YY
  8544		777777	777777			IFE	<XX_-22>,<V2A=-1>
  8545						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8546		777777	777777			IFG	XX,<V2=V2A>
  8547						IFL	XX,<V2=XX+1>
  8548						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8549					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8550					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8551					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8552					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8553
  8554			001000		F33420:	AA1=XX				;INITIAL C(AC)
  8555	035531	200 07 0 00 044664 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8556			000000			AA2=0				;INITIAL C(AC+1)
  8557	035532	200 10 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8558		777777	776777			AEE=YY				;INITIAL C(E)
  8559	035533	200 05 0 00 045123 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8560	035534	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8561		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8562	035535	312 07 0 00 044633 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8563	035536	003 07 0 00 033421 		ER3	AC,33421		;HIGH PRODUCT FAILED
  8564		777776	777000			AR2=V1				;EXPECTED RESULT IN AC+1
  8565	035537	312 10 0 00 045217 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8566	035540	004 10 0 00 033422 		ER4	AC+1,33422		;LOW PRODUCT FAILED
  8567		777777	776777			AEE=YY				;INITIAL C(E)
  8568	035541	312 05 0 00 045123 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8569	035542	005 05 0 00 033423 		ER5	E,33423			;C(E) WAS CLOBBERED
  8570	035543	321 11 0 00 035531 		JUMPL	AC+2,F33420		;LOOP ON ERROR SWITCH^
  8571
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 8-7
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0174

  8572			003343			ADR=ADR+1
  8573			002000			XX=XX+XX
  8574		777777	775777			YY=YY+YY+1
  8575						IFE	XX,<XX=1>
  8576						IFE	<YY-1>,<YY=-2>
  8577
  8578					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8579		777773	776000			V1=XX*YY
  8580		777777	777777			IFE	<XX_-22>,<V2A=-1>
  8581						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8582		777777	777777			IFG	XX,<V2=V2A>
  8583						IFL	XX,<V2=XX+1>
  8584						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8585					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8586					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8587					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8588					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8589
  8590			002000		F33430:	AA1=XX				;INITIAL C(AC)
  8591	035544	200 07 0 00 044667 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8592			000000			AA2=0				;INITIAL C(AC+1)
  8593	035545	200 10 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8594		777777	775777			AEE=YY				;INITIAL C(E)
  8595	035546	200 05 0 00 045125 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8596	035547	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8597		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8598	035550	312 07 0 00 044633 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8599	035551	003 07 0 00 033431 		ER3	AC,33431		;HIGH PRODUCT FAILED
  8600		777773	776000			AR2=V1				;EXPECTED RESULT IN AC+1
  8601	035552	312 10 0 00 045220 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8602	035553	004 10 0 00 033432 		ER4	AC+1,33432		;LOW PRODUCT FAILED
  8603		777777	775777			AEE=YY				;INITIAL C(E)
  8604	035554	312 05 0 00 045125 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8605	035555	005 05 0 00 033433 		ER5	E,33433			;C(E) WAS CLOBBERED
  8606	035556	321 11 0 00 035544 		JUMPL	AC+2,F33430		;LOOP ON ERROR SWITCH^
  8607
  8608			003344			ADR=ADR+1
  8609			004000			XX=XX+XX
  8610		777777	773777			YY=YY+YY+1
  8611						IFE	XX,<XX=1>
  8612						IFE	<YY-1>,<YY=-2>
  8613
  8614					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8615		777757	774000			V1=XX*YY
  8616		777777	777777			IFE	<XX_-22>,<V2A=-1>
  8617						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8618		777777	777777			IFG	XX,<V2=V2A>
  8619						IFL	XX,<V2=XX+1>
  8620						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8621					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8622					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8623					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8624					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8625
  8626			004000		F33440:	AA1=XX				;INITIAL C(AC)
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 8-8
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0175

  8627	035557	200 07 0 00 044672 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8628			000000			AA2=0				;INITIAL C(AC+1)
  8629	035560	200 10 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8630		777777	773777			AEE=YY				;INITIAL C(E)
  8631	035561	200 05 0 00 045127 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8632	035562	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8633		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8634	035563	312 07 0 00 044633 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8635	035564	003 07 0 00 033441 		ER3	AC,33441		;HIGH PRODUCT FAILED
  8636		777757	774000			AR2=V1				;EXPECTED RESULT IN AC+1
  8637	035565	312 10 0 00 045221 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8638	035566	004 10 0 00 033442 		ER4	AC+1,33442		;LOW PRODUCT FAILED
  8639		777777	773777			AEE=YY				;INITIAL C(E)
  8640	035567	312 05 0 00 045127 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8641	035570	005 05 0 00 033443 		ER5	E,33443			;C(E) WAS CLOBBERED
  8642	035571	321 11 0 00 035557 		JUMPL	AC+2,F33440		;LOOP ON ERROR SWITCH^
  8643
  8644			003345			ADR=ADR+1
  8645			010000			XX=XX+XX
  8646		777777	767777			YY=YY+YY+1
  8647						IFE	XX,<XX=1>
  8648						IFE	<YY-1>,<YY=-2>
  8649
  8650					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8651		777677	770000			V1=XX*YY
  8652		777777	777777			IFE	<XX_-22>,<V2A=-1>
  8653						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8654		777777	777777			IFG	XX,<V2=V2A>
  8655						IFL	XX,<V2=XX+1>
  8656						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8657					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8658					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8659					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8660					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8661
  8662			010000		F33450:	AA1=XX				;INITIAL C(AC)
  8663	035572	200 07 0 00 044675 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8664			000000			AA2=0				;INITIAL C(AC+1)
  8665	035573	200 10 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8666		777777	767777			AEE=YY				;INITIAL C(E)
  8667	035574	200 05 0 00 045131 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8668	035575	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8669		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8670	035576	312 07 0 00 044633 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8671	035577	003 07 0 00 033451 		ER3	AC,33451		;HIGH PRODUCT FAILED
  8672		777677	770000			AR2=V1				;EXPECTED RESULT IN AC+1
  8673	035600	312 10 0 00 045222 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8674	035601	004 10 0 00 033452 		ER4	AC+1,33452		;LOW PRODUCT FAILED
  8675		777777	767777			AEE=YY				;INITIAL C(E)
  8676	035602	312 05 0 00 045131 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8677	035603	005 05 0 00 033453 		ER5	E,33453			;C(E) WAS CLOBBERED
  8678	035604	321 11 0 00 035572 		JUMPL	AC+2,F33450		;LOOP ON ERROR SWITCH^
  8679
  8680			003346			ADR=ADR+1
  8681			020000			XX=XX+XX
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 8-9
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0176

  8682		777777	757777			YY=YY+YY+1
  8683						IFE	XX,<XX=1>
  8684						IFE	<YY-1>,<YY=-2>
  8685
  8686					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8687		777377	760000			V1=XX*YY
  8688		777777	777777			IFE	<XX_-22>,<V2A=-1>
  8689						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8690		777777	777777			IFG	XX,<V2=V2A>
  8691						IFL	XX,<V2=XX+1>
  8692						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8693					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8694					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8695					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8696					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8697
  8698			020000		F33460:	AA1=XX				;INITIAL C(AC)
  8699	035605	200 07 0 00 044700 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8700			000000			AA2=0				;INITIAL C(AC+1)
  8701	035606	200 10 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8702		777777	757777			AEE=YY				;INITIAL C(E)
  8703	035607	200 05 0 00 045133 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8704	035610	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8705		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8706	035611	312 07 0 00 044633 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8707	035612	003 07 0 00 033461 		ER3	AC,33461		;HIGH PRODUCT FAILED
  8708		777377	760000			AR2=V1				;EXPECTED RESULT IN AC+1
  8709	035613	312 10 0 00 045223 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8710	035614	004 10 0 00 033462 		ER4	AC+1,33462		;LOW PRODUCT FAILED
  8711		777777	757777			AEE=YY				;INITIAL C(E)
  8712	035615	312 05 0 00 045133 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8713	035616	005 05 0 00 033463 		ER5	E,33463			;C(E) WAS CLOBBERED
  8714	035617	321 11 0 00 035605 		JUMPL	AC+2,F33460		;LOOP ON ERROR SWITCH^
  8715
  8716			003347			ADR=ADR+1
  8717			040000			XX=XX+XX
  8718		777777	737777			YY=YY+YY+1
  8719						IFE	XX,<XX=1>
  8720						IFE	<YY-1>,<YY=-2>
  8721
  8722					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8723		775777	740000			V1=XX*YY
  8724		777777	777777			IFE	<XX_-22>,<V2A=-1>
  8725						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8726		777777	777777			IFG	XX,<V2=V2A>
  8727						IFL	XX,<V2=XX+1>
  8728						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8729					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8730					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8731					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8732					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8733
  8734			040000		F33470:	AA1=XX				;INITIAL C(AC)
  8735	035620	200 07 0 00 044703 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8736			000000			AA2=0				;INITIAL C(AC+1)
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 8-10
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0177

  8737	035621	200 10 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8738		777777	737777			AEE=YY				;INITIAL C(E)
  8739	035622	200 05 0 00 045135 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8740	035623	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8741		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8742	035624	312 07 0 00 044633 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8743	035625	003 07 0 00 033471 		ER3	AC,33471		;HIGH PRODUCT FAILED
  8744		775777	740000			AR2=V1				;EXPECTED RESULT IN AC+1
  8745	035626	312 10 0 00 045224 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8746	035627	004 10 0 00 033472 		ER4	AC+1,33472		;LOW PRODUCT FAILED
  8747		777777	737777			AEE=YY				;INITIAL C(E)
  8748	035630	312 05 0 00 045135 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8749	035631	005 05 0 00 033473 		ER5	E,33473			;C(E) WAS CLOBBERED
  8750	035632	321 11 0 00 035620 		JUMPL	AC+2,F33470		;LOOP ON ERROR SWITCH^
  8751
  8752			003350			ADR=ADR+1
  8753			100000			XX=XX+XX
  8754		777777	677777			YY=YY+YY+1
  8755						IFE	XX,<XX=1>
  8756						IFE	<YY-1>,<YY=-2>
  8757
  8758					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8759		767777	700000			V1=XX*YY
  8760		777777	777777			IFE	<XX_-22>,<V2A=-1>
  8761						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8762		777777	777777			IFG	XX,<V2=V2A>
  8763						IFL	XX,<V2=XX+1>
  8764						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8765					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8766					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8767					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8768					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8769
  8770			100000		F33500:	AA1=XX				;INITIAL C(AC)
  8771	035633	200 07 0 00 044706 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8772			000000			AA2=0				;INITIAL C(AC+1)
  8773	035634	200 10 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8774		777777	677777			AEE=YY				;INITIAL C(E)
  8775	035635	200 05 0 00 045137 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8776	035636	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8777		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8778	035637	312 07 0 00 044633 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8779	035640	003 07 0 00 033501 		ER3	AC,33501		;HIGH PRODUCT FAILED
  8780		767777	700000			AR2=V1				;EXPECTED RESULT IN AC+1
  8781	035641	312 10 0 00 045225 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8782	035642	004 10 0 00 033502 		ER4	AC+1,33502		;LOW PRODUCT FAILED
  8783		777777	677777			AEE=YY				;INITIAL C(E)
  8784	035643	312 05 0 00 045137 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8785	035644	005 05 0 00 033503 		ER5	E,33503			;C(E) WAS CLOBBERED
  8786	035645	321 11 0 00 035633 		JUMPL	AC+2,F33500		;LOOP ON ERROR SWITCH^
  8787
  8788			003351			ADR=ADR+1
  8789			200000			XX=XX+XX
  8790		777777	577777			YY=YY+YY+1
  8791						IFE	XX,<XX=1>
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 8-11
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0178

  8792						IFE	<YY-1>,<YY=-2>
  8793
  8794					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8795		737777	600000			V1=XX*YY
  8796		777777	777777			IFE	<XX_-22>,<V2A=-1>
  8797						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8798		777777	777777			IFG	XX,<V2=V2A>
  8799						IFL	XX,<V2=XX+1>
  8800						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8801					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8802					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8803					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8804					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8805
  8806			200000		F33510:	AA1=XX				;INITIAL C(AC)
  8807	035646	200 07 0 00 044711 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8808			000000			AA2=0				;INITIAL C(AC+1)
  8809	035647	200 10 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8810		777777	577777			AEE=YY				;INITIAL C(E)
  8811	035650	200 05 0 00 045141 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8812	035651	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8813		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8814	035652	312 07 0 00 044633 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8815	035653	003 07 0 00 033511 		ER3	AC,33511		;HIGH PRODUCT FAILED
  8816		737777	600000			AR2=V1				;EXPECTED RESULT IN AC+1
  8817	035654	312 10 0 00 045226 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8818	035655	004 10 0 00 033512 		ER4	AC+1,33512		;LOW PRODUCT FAILED
  8819		777777	577777			AEE=YY				;INITIAL C(E)
  8820	035656	312 05 0 00 045141 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8821	035657	005 05 0 00 033513 		ER5	E,33513			;C(E) WAS CLOBBERED
  8822	035660	321 11 0 00 035646 		JUMPL	AC+2,F33510		;LOOP ON ERROR SWITCH^
  8823
  8824			003352			ADR=ADR+1
  8825			400000			XX=XX+XX
  8826		777777	377777			YY=YY+YY+1
  8827						IFE	XX,<XX=1>
  8828						IFE	<YY-1>,<YY=-2>
  8829
  8830					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8831		577777	400000			V1=XX*YY
  8832		777777	777777			IFE	<XX_-22>,<V2A=-1>
  8833						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8834		777777	777777			IFG	XX,<V2=V2A>
  8835						IFL	XX,<V2=XX+1>
  8836						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8837					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8838					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8839					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8840					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8841
  8842			400000		F33520:	AA1=XX				;INITIAL C(AC)
  8843	035661	200 07 0 00 044714 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8844			000000			AA2=0				;INITIAL C(AC+1)
  8845	035662	200 10 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8846		777777	377777			AEE=YY				;INITIAL C(E)
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 8-12
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0179

  8847	035663	200 05 0 00 045143 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8848	035664	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8849		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8850	035665	312 07 0 00 044633 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8851	035666	003 07 0 00 033521 		ER3	AC,33521		;HIGH PRODUCT FAILED
  8852		577777	400000			AR2=V1				;EXPECTED RESULT IN AC+1
  8853	035667	312 10 0 00 045227 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8854	035670	004 10 0 00 033522 		ER4	AC+1,33522		;LOW PRODUCT FAILED
  8855		777777	377777			AEE=YY				;INITIAL C(E)
  8856	035671	312 05 0 00 045143 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8857	035672	005 05 0 00 033523 		ER5	E,33523			;C(E) WAS CLOBBERED
  8858	035673	321 11 0 00 035661 		JUMPL	AC+2,F33520		;LOOP ON ERROR SWITCH^
  8859
  8860			003353			ADR=ADR+1
  8861		000001	000000			XX=XX+XX
  8862		777776	777777			YY=YY+YY+1
  8863						IFE	XX,<XX=1>
  8864						IFE	<YY-1>,<YY=-2>
  8865
  8866					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8867		777777	000000			V1=XX*YY
  8868						IFE	<XX_-22>,<V2A=-1>
  8869		777777	777775			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8870		777777	777775			IFG	XX,<V2=V2A>
  8871						IFL	XX,<V2=XX+1>
  8872						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8873					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8874					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8875					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8876					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8877
  8878		000001	000000		F33530:	AA1=XX				;INITIAL C(AC)
  8879	035674	200 07 0 00 044717 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8880			000000			AA2=0				;INITIAL C(AC+1)
  8881	035675	200 10 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8882		777776	777777			AEE=YY				;INITIAL C(E)
  8883	035676	200 05 0 00 045145 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8884	035677	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8885		777777	777775			AR1=V2				;EXPECTED RESULT IN AC
  8886	035700	312 07 0 00 044640 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8887	035701	003 07 0 00 033531 		ER3	AC,33531		;HIGH PRODUCT FAILED
  8888		777777	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  8889	035702	312 10 0 00 045230 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8890	035703	004 10 0 00 033532 		ER4	AC+1,33532		;LOW PRODUCT FAILED
  8891		777776	777777			AEE=YY				;INITIAL C(E)
  8892	035704	312 05 0 00 045145 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8893	035705	005 05 0 00 033533 		ER5	E,33533			;C(E) WAS CLOBBERED
  8894	035706	321 11 0 00 035674 		JUMPL	AC+2,F33530		;LOOP ON ERROR SWITCH^
  8895
  8896			003354			ADR=ADR+1
  8897		000002	000000			XX=XX+XX
  8898		777775	777777			YY=YY+YY+1
  8899						IFE	XX,<XX=1>
  8900						IFE	<YY-1>,<YY=-2>
  8901
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 8-13
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0180

  8902					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8903		777776	000000			V1=XX*YY
  8904						IFE	<XX_-22>,<V2A=-1>
  8905		777777	777767			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8906		777777	777767			IFG	XX,<V2=V2A>
  8907						IFL	XX,<V2=XX+1>
  8908						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8909					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8910					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8911					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8912					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8913
  8914		000002	000000		F33540:	AA1=XX				;INITIAL C(AC)
  8915	035707	200 07 0 00 044722 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8916			000000			AA2=0				;INITIAL C(AC+1)
  8917	035710	200 10 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8918		777775	777777			AEE=YY				;INITIAL C(E)
  8919	035711	200 05 0 00 045147 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8920	035712	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8921		777777	777767			AR1=V2				;EXPECTED RESULT IN AC
  8922	035713	312 07 0 00 045107 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8923	035714	003 07 0 00 033541 		ER3	AC,33541		;HIGH PRODUCT FAILED
  8924		777776	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  8925	035715	312 10 0 00 045231 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8926	035716	004 10 0 00 033542 		ER4	AC+1,33542		;LOW PRODUCT FAILED
  8927		777775	777777			AEE=YY				;INITIAL C(E)
  8928	035717	312 05 0 00 045147 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8929	035720	005 05 0 00 033543 		ER5	E,33543			;C(E) WAS CLOBBERED
  8930	035721	321 11 0 00 035707 		JUMPL	AC+2,F33540		;LOOP ON ERROR SWITCH^
  8931
  8932			003355			ADR=ADR+1
  8933		000004	000000			XX=XX+XX
  8934		777773	777777			YY=YY+YY+1
  8935						IFE	XX,<XX=1>
  8936						IFE	<YY-1>,<YY=-2>
  8937
  8938					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8939		777774	000000			V1=XX*YY
  8940						IFE	<XX_-22>,<V2A=-1>
  8941		777777	777737			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8942		777777	777737			IFG	XX,<V2=V2A>
  8943						IFL	XX,<V2=XX+1>
  8944						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8945					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8946					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8947					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8948					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8949
  8950		000004	000000		F33550:	AA1=XX				;INITIAL C(AC)
  8951	035722	200 07 0 00 044725 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8952			000000			AA2=0				;INITIAL C(AC+1)
  8953	035723	200 10 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8954		777773	777777			AEE=YY				;INITIAL C(E)
  8955	035724	200 05 0 00 045151 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8956	035725	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 8-14
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0181

  8957		777777	777737			AR1=V2				;EXPECTED RESULT IN AC
  8958	035726	312 07 0 00 045113 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8959	035727	003 07 0 00 033551 		ER3	AC,33551		;HIGH PRODUCT FAILED
  8960		777774	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  8961	035730	312 10 0 00 045232 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8962	035731	004 10 0 00 033552 		ER4	AC+1,33552		;LOW PRODUCT FAILED
  8963		777773	777777			AEE=YY				;INITIAL C(E)
  8964	035732	312 05 0 00 045151 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8965	035733	005 05 0 00 033553 		ER5	E,33553			;C(E) WAS CLOBBERED
  8966	035734	321 11 0 00 035722 		JUMPL	AC+2,F33550		;LOOP ON ERROR SWITCH^
  8967
  8968			003356			ADR=ADR+1
  8969		000010	000000			XX=XX+XX
  8970		777767	777777			YY=YY+YY+1
  8971						IFE	XX,<XX=1>
  8972						IFE	<YY-1>,<YY=-2>
  8973
  8974					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8975		777770	000000			V1=XX*YY
  8976						IFE	<XX_-22>,<V2A=-1>
  8977		777777	777577			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8978		777777	777577			IFG	XX,<V2=V2A>
  8979						IFL	XX,<V2=XX+1>
  8980						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8981					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8982					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8983					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8984					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8985
  8986		000010	000000		F33560:	AA1=XX				;INITIAL C(AC)
  8987	035735	200 07 0 00 044730 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8988			000000			AA2=0				;INITIAL C(AC+1)
  8989	035736	200 10 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8990		777767	777777			AEE=YY				;INITIAL C(E)
  8991	035737	200 05 0 00 045153 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8992	035740	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8993		777777	777577			AR1=V2				;EXPECTED RESULT IN AC
  8994	035741	312 07 0 00 045117 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8995	035742	003 07 0 00 033561 		ER3	AC,33561		;HIGH PRODUCT FAILED
  8996		777770	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  8997	035743	312 10 0 00 045233 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8998	035744	004 10 0 00 033562 		ER4	AC+1,33562		;LOW PRODUCT FAILED
  8999		777767	777777			AEE=YY				;INITIAL C(E)
  9000	035745	312 05 0 00 045153 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  9001	035746	005 05 0 00 033563 		ER5	E,33563			;C(E) WAS CLOBBERED
  9002	035747	321 11 0 00 035735 		JUMPL	AC+2,F33560		;LOOP ON ERROR SWITCH^
  9003
  9004			003357			ADR=ADR+1
  9005		000020	000000			XX=XX+XX
  9006		777757	777777			YY=YY+YY+1
  9007						IFE	XX,<XX=1>
  9008						IFE	<YY-1>,<YY=-2>
  9009
  9010					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  9011		777760	000000			V1=XX*YY
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 8-15
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0182

  9012						IFE	<XX_-22>,<V2A=-1>
  9013		777777	776777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  9014		777777	776777			IFG	XX,<V2=V2A>
  9015						IFL	XX,<V2=XX+1>
  9016						MOP1	(\ADR,XX,0,YY,V2,V1)^
  9017					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  9018					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  9019					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  9020					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  9021
  9022		000020	000000		F33570:	AA1=XX				;INITIAL C(AC)
  9023	035750	200 07 0 00 044733 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  9024			000000			AA2=0				;INITIAL C(AC+1)
  9025	035751	200 10 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  9026		777757	777777			AEE=YY				;INITIAL C(E)
  9027	035752	200 05 0 00 045155 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  9028	035753	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  9029		777777	776777			AR1=V2				;EXPECTED RESULT IN AC
  9030	035754	312 07 0 00 045123 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  9031	035755	003 07 0 00 033571 		ER3	AC,33571		;HIGH PRODUCT FAILED
  9032		777760	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  9033	035756	312 10 0 00 045234 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  9034	035757	004 10 0 00 033572 		ER4	AC+1,33572		;LOW PRODUCT FAILED
  9035		777757	777777			AEE=YY				;INITIAL C(E)
  9036	035760	312 05 0 00 045155 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  9037	035761	005 05 0 00 033573 		ER5	E,33573			;C(E) WAS CLOBBERED
  9038	035762	321 11 0 00 035750 		JUMPL	AC+2,F33570		;LOOP ON ERROR SWITCH^
  9039
  9040			003360			ADR=ADR+1
  9041		000040	000000			XX=XX+XX
  9042		777737	777777			YY=YY+YY+1
  9043						IFE	XX,<XX=1>
  9044						IFE	<YY-1>,<YY=-2>
  9045
  9046					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  9047		777740	000000			V1=XX*YY
  9048						IFE	<XX_-22>,<V2A=-1>
  9049		777777	773777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  9050		777777	773777			IFG	XX,<V2=V2A>
  9051						IFL	XX,<V2=XX+1>
  9052						MOP1	(\ADR,XX,0,YY,V2,V1)^
  9053					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  9054					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  9055					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  9056					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  9057
  9058		000040	000000		F33600:	AA1=XX				;INITIAL C(AC)
  9059	035763	200 07 0 00 044736 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  9060			000000			AA2=0				;INITIAL C(AC+1)
  9061	035764	200 10 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  9062		777737	777777			AEE=YY				;INITIAL C(E)
  9063	035765	200 05 0 00 045157 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  9064	035766	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  9065		777777	773777			AR1=V2				;EXPECTED RESULT IN AC
  9066	035767	312 07 0 00 045127 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 8-16
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0183

  9067	035770	003 07 0 00 033601 		ER3	AC,33601		;HIGH PRODUCT FAILED
  9068		777740	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  9069	035771	312 10 0 00 045235 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  9070	035772	004 10 0 00 033602 		ER4	AC+1,33602		;LOW PRODUCT FAILED
  9071		777737	777777			AEE=YY				;INITIAL C(E)
  9072	035773	312 05 0 00 045157 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  9073	035774	005 05 0 00 033603 		ER5	E,33603			;C(E) WAS CLOBBERED
  9074	035775	321 11 0 00 035763 		JUMPL	AC+2,F33600		;LOOP ON ERROR SWITCH^
  9075
  9076			003361			ADR=ADR+1
  9077		000100	000000			XX=XX+XX
  9078		777677	777777			YY=YY+YY+1
  9079						IFE	XX,<XX=1>
  9080						IFE	<YY-1>,<YY=-2>
  9081
  9082					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  9083		777700	000000			V1=XX*YY
  9084						IFE	<XX_-22>,<V2A=-1>
  9085		777777	757777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  9086		777777	757777			IFG	XX,<V2=V2A>
  9087						IFL	XX,<V2=XX+1>
  9088						MOP1	(\ADR,XX,0,YY,V2,V1)^
  9089					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  9090					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  9091					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  9092					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  9093
  9094		000100	000000		F33610:	AA1=XX				;INITIAL C(AC)
  9095	035776	200 07 0 00 044741 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  9096			000000			AA2=0				;INITIAL C(AC+1)
  9097	035777	200 10 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  9098		777677	777777			AEE=YY				;INITIAL C(E)
  9099	036000	200 05 0 00 045161 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  9100	036001	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  9101		777777	757777			AR1=V2				;EXPECTED RESULT IN AC
  9102	036002	312 07 0 00 045133 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  9103	036003	003 07 0 00 033611 		ER3	AC,33611		;HIGH PRODUCT FAILED
  9104		777700	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  9105	036004	312 10 0 00 045236 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  9106	036005	004 10 0 00 033612 		ER4	AC+1,33612		;LOW PRODUCT FAILED
  9107		777677	777777			AEE=YY				;INITIAL C(E)
  9108	036006	312 05 0 00 045161 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  9109	036007	005 05 0 00 033613 		ER5	E,33613			;C(E) WAS CLOBBERED
  9110	036010	321 11 0 00 035776 		JUMPL	AC+2,F33610		;LOOP ON ERROR SWITCH^
  9111
  9112			003362			ADR=ADR+1
  9113		000200	000000			XX=XX+XX
  9114		777577	777777			YY=YY+YY+1
  9115						IFE	XX,<XX=1>
  9116						IFE	<YY-1>,<YY=-2>
  9117
  9118					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  9119		777600	000000			V1=XX*YY
  9120						IFE	<XX_-22>,<V2A=-1>
  9121		777777	677777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 8-17
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0184

  9122		777777	677777			IFG	XX,<V2=V2A>
  9123						IFL	XX,<V2=XX+1>
  9124						MOP1	(\ADR,XX,0,YY,V2,V1)^
  9125					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  9126					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  9127					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  9128					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  9129
  9130		000200	000000		F33620:	AA1=XX				;INITIAL C(AC)
  9131	036011	200 07 0 00 044744 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  9132			000000			AA2=0				;INITIAL C(AC+1)
  9133	036012	200 10 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  9134		777577	777777			AEE=YY				;INITIAL C(E)
  9135	036013	200 05 0 00 045163 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  9136	036014	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  9137		777777	677777			AR1=V2				;EXPECTED RESULT IN AC
  9138	036015	312 07 0 00 045137 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  9139	036016	003 07 0 00 033621 		ER3	AC,33621		;HIGH PRODUCT FAILED
  9140		777600	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  9141	036017	312 10 0 00 045237 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  9142	036020	004 10 0 00 033622 		ER4	AC+1,33622		;LOW PRODUCT FAILED
  9143		777577	777777			AEE=YY				;INITIAL C(E)
  9144	036021	312 05 0 00 045163 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  9145	036022	005 05 0 00 033623 		ER5	E,33623			;C(E) WAS CLOBBERED
  9146	036023	321 11 0 00 036011 		JUMPL	AC+2,F33620		;LOOP ON ERROR SWITCH^
  9147
  9148			003363			ADR=ADR+1
  9149		000400	000000			XX=XX+XX
  9150		777377	777777			YY=YY+YY+1
  9151						IFE	XX,<XX=1>
  9152						IFE	<YY-1>,<YY=-2>
  9153
  9154					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  9155		777400	000000			V1=XX*YY
  9156						IFE	<XX_-22>,<V2A=-1>
  9157		777777	377777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  9158		777777	377777			IFG	XX,<V2=V2A>
  9159						IFL	XX,<V2=XX+1>
  9160						MOP1	(\ADR,XX,0,YY,V2,V1)^
  9161					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  9162					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  9163					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  9164					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  9165
  9166		000400	000000		F33630:	AA1=XX				;INITIAL C(AC)
  9167	036024	200 07 0 00 044747 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  9168			000000			AA2=0				;INITIAL C(AC+1)
  9169	036025	200 10 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  9170		777377	777777			AEE=YY				;INITIAL C(E)
  9171	036026	200 05 0 00 045165 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  9172	036027	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  9173		777777	377777			AR1=V2				;EXPECTED RESULT IN AC
  9174	036030	312 07 0 00 045143 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  9175	036031	003 07 0 00 033631 		ER3	AC,33631		;HIGH PRODUCT FAILED
  9176		777400	000000			AR2=V1				;EXPECTED RESULT IN AC+1
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 8-18
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0185

  9177	036032	312 10 0 00 045240 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  9178	036033	004 10 0 00 033632 		ER4	AC+1,33632		;LOW PRODUCT FAILED
  9179		777377	777777			AEE=YY				;INITIAL C(E)
  9180	036034	312 05 0 00 045165 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  9181	036035	005 05 0 00 033633 		ER5	E,33633			;C(E) WAS CLOBBERED
  9182	036036	321 11 0 00 036024 		JUMPL	AC+2,F33630		;LOOP ON ERROR SWITCH^
  9183
  9184			003364			ADR=ADR+1
  9185		001000	000000			XX=XX+XX
  9186		776777	777777			YY=YY+YY+1
  9187						IFE	XX,<XX=1>
  9188						IFE	<YY-1>,<YY=-2>
  9189
  9190					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  9191		777000	000000			V1=XX*YY
  9192						IFE	<XX_-22>,<V2A=-1>
  9193		777775	777777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  9194		777775	777777			IFG	XX,<V2=V2A>
  9195						IFL	XX,<V2=XX+1>
  9196						MOP1	(\ADR,XX,0,YY,V2,V1)^
  9197					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  9198					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  9199					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  9200					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  9201
  9202		001000	000000		F33640:	AA1=XX				;INITIAL C(AC)
  9203	036037	200 07 0 00 044752 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  9204			000000			AA2=0				;INITIAL C(AC+1)
  9205	036040	200 10 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  9206		776777	777777			AEE=YY				;INITIAL C(E)
  9207	036041	200 05 0 00 045167 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  9208	036042	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  9209		777775	777777			AR1=V2				;EXPECTED RESULT IN AC
  9210	036043	312 07 0 00 045147 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  9211	036044	003 07 0 00 033641 		ER3	AC,33641		;HIGH PRODUCT FAILED
  9212		777000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  9213	036045	312 10 0 00 045241 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  9214	036046	004 10 0 00 033642 		ER4	AC+1,33642		;LOW PRODUCT FAILED
  9215		776777	777777			AEE=YY				;INITIAL C(E)
  9216	036047	312 05 0 00 045167 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  9217	036050	005 05 0 00 033643 		ER5	E,33643			;C(E) WAS CLOBBERED
  9218	036051	321 11 0 00 036037 		JUMPL	AC+2,F33640		;LOOP ON ERROR SWITCH^
  9219
  9220			003365			ADR=ADR+1
  9221		002000	000000			XX=XX+XX
  9222		775777	777777			YY=YY+YY+1
  9223						IFE	XX,<XX=1>
  9224						IFE	<YY-1>,<YY=-2>
  9225
  9226					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  9227		776000	000000			V1=XX*YY
  9228						IFE	<XX_-22>,<V2A=-1>
  9229		777767	777777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  9230		777767	777777			IFG	XX,<V2=V2A>
  9231						IFL	XX,<V2=XX+1>
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 8-19
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0186

  9232						MOP1	(\ADR,XX,0,YY,V2,V1)^
  9233					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  9234					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  9235					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  9236					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  9237
  9238		002000	000000		F33650:	AA1=XX				;INITIAL C(AC)
  9239	036052	200 07 0 00 044755 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  9240			000000			AA2=0				;INITIAL C(AC+1)
  9241	036053	200 10 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  9242		775777	777777			AEE=YY				;INITIAL C(E)
  9243	036054	200 05 0 00 045171 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  9244	036055	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  9245		777767	777777			AR1=V2				;EXPECTED RESULT IN AC
  9246	036056	312 07 0 00 045153 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  9247	036057	003 07 0 00 033651 		ER3	AC,33651		;HIGH PRODUCT FAILED
  9248		776000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  9249	036060	312 10 0 00 045242 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  9250	036061	004 10 0 00 033652 		ER4	AC+1,33652		;LOW PRODUCT FAILED
  9251		775777	777777			AEE=YY				;INITIAL C(E)
  9252	036062	312 05 0 00 045171 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  9253	036063	005 05 0 00 033653 		ER5	E,33653			;C(E) WAS CLOBBERED
  9254	036064	321 11 0 00 036052 		JUMPL	AC+2,F33650		;LOOP ON ERROR SWITCH^
  9255
  9256			003366			ADR=ADR+1
  9257		004000	000000			XX=XX+XX
  9258		773777	777777			YY=YY+YY+1
  9259						IFE	XX,<XX=1>
  9260						IFE	<YY-1>,<YY=-2>
  9261
  9262					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  9263		774000	000000			V1=XX*YY
  9264						IFE	<XX_-22>,<V2A=-1>
  9265		777737	777777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  9266		777737	777777			IFG	XX,<V2=V2A>
  9267						IFL	XX,<V2=XX+1>
  9268						MOP1	(\ADR,XX,0,YY,V2,V1)^
  9269					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  9270					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  9271					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  9272					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  9273
  9274		004000	000000		F33660:	AA1=XX				;INITIAL C(AC)
  9275	036065	200 07 0 00 044760 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  9276			000000			AA2=0				;INITIAL C(AC+1)
  9277	036066	200 10 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  9278		773777	777777			AEE=YY				;INITIAL C(E)
  9279	036067	200 05 0 00 045173 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  9280	036070	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  9281		777737	777777			AR1=V2				;EXPECTED RESULT IN AC
  9282	036071	312 07 0 00 045157 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  9283	036072	003 07 0 00 033661 		ER3	AC,33661		;HIGH PRODUCT FAILED
  9284		774000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  9285	036073	312 10 0 00 045243 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  9286	036074	004 10 0 00 033662 		ER4	AC+1,33662		;LOW PRODUCT FAILED
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 8-20
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0187

  9287		773777	777777			AEE=YY				;INITIAL C(E)
  9288	036075	312 05 0 00 045173 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  9289	036076	005 05 0 00 033663 		ER5	E,33663			;C(E) WAS CLOBBERED
  9290	036077	321 11 0 00 036065 		JUMPL	AC+2,F33660		;LOOP ON ERROR SWITCH^
  9291
  9292			003367			ADR=ADR+1
  9293		010000	000000			XX=XX+XX
  9294		767777	777777			YY=YY+YY+1
  9295						IFE	XX,<XX=1>
  9296						IFE	<YY-1>,<YY=-2>
  9297
  9298					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  9299		770000	000000			V1=XX*YY
  9300						IFE	<XX_-22>,<V2A=-1>
  9301		777577	777777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  9302		777577	777777			IFG	XX,<V2=V2A>
  9303						IFL	XX,<V2=XX+1>
  9304						MOP1	(\ADR,XX,0,YY,V2,V1)^
  9305					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  9306					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  9307					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  9308					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  9309
  9310		010000	000000		F33670:	AA1=XX				;INITIAL C(AC)
  9311	036100	200 07 0 00 044763 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  9312			000000			AA2=0				;INITIAL C(AC+1)
  9313	036101	200 10 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  9314		767777	777777			AEE=YY				;INITIAL C(E)
  9315	036102	200 05 0 00 045175 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  9316	036103	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  9317		777577	777777			AR1=V2				;EXPECTED RESULT IN AC
  9318	036104	312 07 0 00 045163 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  9319	036105	003 07 0 00 033671 		ER3	AC,33671		;HIGH PRODUCT FAILED
  9320		770000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  9321	036106	312 10 0 00 045244 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  9322	036107	004 10 0 00 033672 		ER4	AC+1,33672		;LOW PRODUCT FAILED
  9323		767777	777777			AEE=YY				;INITIAL C(E)
  9324	036110	312 05 0 00 045175 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  9325	036111	005 05 0 00 033673 		ER5	E,33673			;C(E) WAS CLOBBERED
  9326	036112	321 11 0 00 036100 		JUMPL	AC+2,F33670		;LOOP ON ERROR SWITCH^
  9327
  9328			003370			ADR=ADR+1
  9329		020000	000000			XX=XX+XX
  9330		757777	777777			YY=YY+YY+1
  9331						IFE	XX,<XX=1>
  9332						IFE	<YY-1>,<YY=-2>
  9333
  9334					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  9335		760000	000000			V1=XX*YY
  9336						IFE	<XX_-22>,<V2A=-1>
  9337		776777	777777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  9338		776777	777777			IFG	XX,<V2=V2A>
  9339						IFL	XX,<V2=XX+1>
  9340						MOP1	(\ADR,XX,0,YY,V2,V1)^
  9341					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 8-21
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0188

  9342					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  9343					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  9344					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  9345
  9346		020000	000000		F33700:	AA1=XX				;INITIAL C(AC)
  9347	036113	200 07 0 00 044766 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  9348			000000			AA2=0				;INITIAL C(AC+1)
  9349	036114	200 10 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  9350		757777	777777			AEE=YY				;INITIAL C(E)
  9351	036115	200 05 0 00 045177 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  9352	036116	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  9353		776777	777777			AR1=V2				;EXPECTED RESULT IN AC
  9354	036117	312 07 0 00 045167 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  9355	036120	003 07 0 00 033701 		ER3	AC,33701		;HIGH PRODUCT FAILED
  9356		760000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  9357	036121	312 10 0 00 045245 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  9358	036122	004 10 0 00 033702 		ER4	AC+1,33702		;LOW PRODUCT FAILED
  9359		757777	777777			AEE=YY				;INITIAL C(E)
  9360	036123	312 05 0 00 045177 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  9361	036124	005 05 0 00 033703 		ER5	E,33703			;C(E) WAS CLOBBERED
  9362	036125	321 11 0 00 036113 		JUMPL	AC+2,F33700		;LOOP ON ERROR SWITCH^
  9363
  9364			003371			ADR=ADR+1
  9365		040000	000000			XX=XX+XX
  9366		737777	777777			YY=YY+YY+1
  9367						IFE	XX,<XX=1>
  9368						IFE	<YY-1>,<YY=-2>
  9369
  9370					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  9371		740000	000000			V1=XX*YY
  9372						IFE	<XX_-22>,<V2A=-1>
  9373		773777	777777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  9374		773777	777777			IFG	XX,<V2=V2A>
  9375						IFL	XX,<V2=XX+1>
  9376						MOP1	(\ADR,XX,0,YY,V2,V1)^
  9377					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  9378					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  9379					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  9380					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  9381
  9382		040000	000000		F33710:	AA1=XX				;INITIAL C(AC)
  9383	036126	200 07 0 00 044771 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  9384			000000			AA2=0				;INITIAL C(AC+1)
  9385	036127	200 10 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  9386		737777	777777			AEE=YY				;INITIAL C(E)
  9387	036130	200 05 0 00 045201 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  9388	036131	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  9389		773777	777777			AR1=V2				;EXPECTED RESULT IN AC
  9390	036132	312 07 0 00 045173 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  9391	036133	003 07 0 00 033711 		ER3	AC,33711		;HIGH PRODUCT FAILED
  9392		740000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  9393	036134	312 10 0 00 045246 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  9394	036135	004 10 0 00 033712 		ER4	AC+1,33712		;LOW PRODUCT FAILED
  9395		737777	777777			AEE=YY				;INITIAL C(E)
  9396	036136	312 05 0 00 045201 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 8-22
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0189

  9397	036137	005 05 0 00 033713 		ER5	E,33713			;C(E) WAS CLOBBERED
  9398	036140	321 11 0 00 036126 		JUMPL	AC+2,F33710		;LOOP ON ERROR SWITCH^
  9399
  9400			003372			ADR=ADR+1
  9401		100000	000000			XX=XX+XX
  9402		677777	777777			YY=YY+YY+1
  9403						IFE	XX,<XX=1>
  9404						IFE	<YY-1>,<YY=-2>
  9405
  9406					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  9407		700000	000000			V1=XX*YY
  9408						IFE	<XX_-22>,<V2A=-1>
  9409		757777	777777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  9410		757777	777777			IFG	XX,<V2=V2A>
  9411						IFL	XX,<V2=XX+1>
  9412						MOP1	(\ADR,XX,0,YY,V2,V1)^
  9413					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  9414					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  9415					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  9416					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  9417
  9418		100000	000000		F33720:	AA1=XX				;INITIAL C(AC)
  9419	036141	200 07 0 00 044774 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  9420			000000			AA2=0				;INITIAL C(AC+1)
  9421	036142	200 10 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  9422		677777	777777			AEE=YY				;INITIAL C(E)
  9423	036143	200 05 0 00 045203 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  9424	036144	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  9425		757777	777777			AR1=V2				;EXPECTED RESULT IN AC
  9426	036145	312 07 0 00 045177 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  9427	036146	003 07 0 00 033721 		ER3	AC,33721		;HIGH PRODUCT FAILED
  9428		700000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  9429	036147	312 10 0 00 045247 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  9430	036150	004 10 0 00 033722 		ER4	AC+1,33722		;LOW PRODUCT FAILED
  9431		677777	777777			AEE=YY				;INITIAL C(E)
  9432	036151	312 05 0 00 045203 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  9433	036152	005 05 0 00 033723 		ER5	E,33723			;C(E) WAS CLOBBERED
  9434	036153	321 11 0 00 036141 		JUMPL	AC+2,F33720		;LOOP ON ERROR SWITCH^
  9435
  9436			003373			ADR=ADR+1
  9437		200000	000000			XX=XX+XX
  9438		577777	777777			YY=YY+YY+1
  9439						IFE	XX,<XX=1>
  9440						IFE	<YY-1>,<YY=-2>
  9441
  9442					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  9443		600000	000000			V1=XX*YY
  9444						IFE	<XX_-22>,<V2A=-1>
  9445		677777	777777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  9446		677777	777777			IFG	XX,<V2=V2A>
  9447						IFL	XX,<V2=XX+1>
  9448						MOP1	(\ADR,XX,0,YY,V2,V1)^
  9449					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  9450					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  9451					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 8-23
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0190

  9452					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  9453
  9454		200000	000000		F33730:	AA1=XX				;INITIAL C(AC)
  9455	036154	200 07 0 00 044777 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  9456			000000			AA2=0				;INITIAL C(AC+1)
  9457	036155	200 10 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  9458		577777	777777			AEE=YY				;INITIAL C(E)
  9459	036156	200 05 0 00 045205 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  9460	036157	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  9461		677777	777777			AR1=V2				;EXPECTED RESULT IN AC
  9462	036160	312 07 0 00 045203 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  9463	036161	003 07 0 00 033731 		ER3	AC,33731		;HIGH PRODUCT FAILED
  9464		600000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  9465	036162	312 10 0 00 044776 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  9466	036163	004 10 0 00 033732 		ER4	AC+1,33732		;LOW PRODUCT FAILED
  9467		577777	777777			AEE=YY				;INITIAL C(E)
  9468	036164	312 05 0 00 045205 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  9469	036165	005 05 0 00 033733 		ER5	E,33733			;C(E) WAS CLOBBERED
  9470	036166	321 11 0 00 036154 		JUMPL	AC+2,F33730		;LOOP ON ERROR SWITCH^
  9471
  9472			003374			ADR=ADR+1
  9473		400000	000000			XX=XX+XX
  9474		377777	777777			YY=YY+YY+1
  9475						IFE	XX,<XX=1>
  9476						IFE	<YY-1>,<YY=-2>
  9477
  9478					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  9479		400000	000000			V1=XX*YY
  9480						IFE	<XX_-22>,<V2A=-1>
  9481		777777	777777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  9482						IFG	XX,<V2=V2A>
  9483		400000	000001			IFL	XX,<V2=XX+1>
  9484						MOP1	(\ADR,XX,0,YY,V2,V1)^
  9485					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  9486					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  9487					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  9488					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  9489
  9490		400000	000000		F33740:	AA1=XX				;INITIAL C(AC)
  9491	036167	200 07 0 00 045001 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  9492			000000			AA2=0				;INITIAL C(AC+1)
  9493	036170	200 10 0 00 044631 		MOVE	AC+1,[0]		;PRELOAD AC+1
  9494		377777	777777			AEE=YY				;INITIAL C(E)
  9495	036171	200 05 0 00 045206 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  9496	036172	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  9497		400000	000001			AR1=V2				;EXPECTED RESULT IN AC
  9498	036173	312 07 0 00 045250 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  9499	036174	003 07 0 00 033741 		ER3	AC,33741		;HIGH PRODUCT FAILED
  9500		400000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  9501	036175	312 10 0 00 045001 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  9502	036176	004 10 0 00 033742 		ER4	AC+1,33742		;LOW PRODUCT FAILED
  9503		377777	777777			AEE=YY				;INITIAL C(E)
  9504	036177	312 05 0 00 045206 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  9505	036200	005 05 0 00 033743 		ER5	E,33743			;C(E) WAS CLOBBERED
  9506	036201	321 11 0 00 036167 		JUMPL	AC+2,F33740		;LOOP ON ERROR SWITCH^
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 9
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0191

  9507					;MULTIPLIER = 2,4
  9508					;MULTIPLICAND = 377777 777777
  9509
  9510			000014			AC=14
  9511						SAVEAC	(1,1)^
  9512	036202	201 16 0 00 036202 		MOVEI	AC+2,.		;SAVE TEST PC
  9513	036203	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
  9514	036204	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  9515	036205	202 16 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  9516
  9517			000300		SN=300
  9518		777777	777777			XX=-1
  9519			000002			YY=2
  9520			000001			ZZ=1
  9521
  9522					F300:	REPEAT	^D2,<
  9523					SN=SN+1
  9524						XX=XX+2
  9525						YY=YY-2
  9526						IFE	YY,<YY=377777777776>
  9527						ZZ=ZZ+ZZ
  9528						MOVEI	AC,ZZ		;SETUP MULTIPLIER
  9529						HRLOI	AC-1,377777	;SETUP MULTIPLICAND
  9530						MUL	AC,AC-1		;MULTIPLY ZZ X 377777777777
  9531						CAME	AC,[XX]		;TEST HIGH PROD
  9532						ER3	AC,SN
  9533						CAME	AC+1,[YY]	;TEST LOW PROD
  9534						ER4	AC+1,SN
  9535						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
  9536					>
  9537
  9538			000301		SN=SN+1
  9539			000001			XX=XX+2
  9540			000000			YY=YY-2
  9541		377777	777776			IFE	YY,<YY=377777777776>
  9542			000002			ZZ=ZZ+ZZ
  9543	036206	201 14 0 00 000002 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
  9544	036207	525 13 0 00 377777 		HRLOI	AC-1,377777	;SETUP MULTIPLICAND
  9545	036210	224 14 0 00 000013 		MUL	AC,AC-1		;MULTIPLY ZZ X 377777777777
  9546	036211	312 14 0 00 044632 		CAME	AC,[XX]		;TEST HIGH PROD
  9547	036212	003 14 0 00 000301 		ER3	AC,SN
  9548	036213	312 15 0 00 045207 		CAME	AC+1,[YY]	;TEST LOW PROD
  9549	036214	004 15 0 00 000301 		ER4	AC+1,SN
  9550	036215	321 16 0 00 036206 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
  9551
  9552
  9553			000302		SN=SN+1
  9554			000003			XX=XX+2
  9555		377777	777774			YY=YY-2
  9556						IFE	YY,<YY=377777777776>
  9557			000004			ZZ=ZZ+ZZ
  9558	036216	201 14 0 00 000004 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
  9559	036217	525 13 0 00 377777 		HRLOI	AC-1,377777	;SETUP MULTIPLICAND
  9560	036220	224 14 0 00 000013 		MUL	AC,AC-1		;MULTIPLY ZZ X 377777777777
  9561	036221	312 14 0 00 045251 		CAME	AC,[XX]		;TEST HIGH PROD
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 9-1
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0192

  9562	036222	003 14 0 00 000302 		ER3	AC,SN
  9563	036223	312 15 0 00 045252 		CAME	AC+1,[YY]	;TEST LOW PROD
  9564	036224	004 15 0 00 000302 		ER4	AC+1,SN
  9565	036225	321 16 0 00 036216 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
  9566
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 10
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0193

  9567					;TEST MQ FINAL SHIFT
  9568					;MULTIPLIER = 200000 000000
  9569					;MULTIPLICAND = 5,7
  9570
  9571			000007			AC=7
  9572						SAVEAC	(1,1)^
  9573	036226	201 11 0 00 036226 		MOVEI	AC+2,.		;SAVE TEST PC
  9574	036227	202 11 0 00 030051 		MOVEM	AC+2,TESTPC
  9575	036230	201 11 0 00 000011 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  9576	036231	202 11 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  9577
  9578			000500		SN=500
  9579			000001			XX=1
  9580			000003			ZZ=3
  9581
  9582							;TEST MQSHRT FAILING
  9583					F500:	REPEAT	^D2,<
  9584					SN=SN+1
  9585						XX=XX+1
  9586						ZZ=ZZ+2
  9587						MOVSI	AC-2,200000	;SETUP FOR COMPARISON
  9588						MOVSI	AC,200000	;SETUP MULTIPLIER
  9589						MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
  9590						MUL	AC,AC-1		;MUL 200000 000000 X ZZ
  9591						CAME	AC+1,AC-2	;TEST LOW PROD
  9592						ER4	AC+1,SN
  9593						MOVEI	AC-2,XX		;SETUP FOR COMPARISON
  9594						CAME	AC,AC-2		;TEST HIGH PROD
  9595						ER3	AC,SN
  9596						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
  9597					>
  9598
  9599			000501		SN=SN+1
  9600			000002			XX=XX+1
  9601			000005			ZZ=ZZ+2
  9602	036232	205 05 0 00 200000 		MOVSI	AC-2,200000	;SETUP FOR COMPARISON
  9603	036233	205 07 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
  9604	036234	201 06 0 00 000005 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
  9605	036235	224 07 0 00 000006 		MUL	AC,AC-1		;MUL 200000 000000 X ZZ
  9606	036236	312 10 0 00 000005 		CAME	AC+1,AC-2	;TEST LOW PROD
  9607	036237	004 10 0 00 000501 		ER4	AC+1,SN
  9608	036240	201 05 0 00 000002 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
  9609	036241	312 07 0 00 000005 		CAME	AC,AC-2		;TEST HIGH PROD
  9610	036242	003 07 0 00 000501 		ER3	AC,SN
  9611	036243	321 11 0 00 036232 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
  9612
  9613
  9614			000502		SN=SN+1
  9615			000003			XX=XX+1
  9616			000007			ZZ=ZZ+2
  9617	036244	205 05 0 00 200000 		MOVSI	AC-2,200000	;SETUP FOR COMPARISON
  9618	036245	205 07 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
  9619	036246	201 06 0 00 000007 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
  9620	036247	224 07 0 00 000006 		MUL	AC,AC-1		;MUL 200000 000000 X ZZ
  9621	036250	312 10 0 00 000005 		CAME	AC+1,AC-2	;TEST LOW PROD
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 10-1
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0194

  9622	036251	004 10 0 00 000502 		ER4	AC+1,SN
  9623	036252	201 05 0 00 000003 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
  9624	036253	312 07 0 00 000005 		CAME	AC,AC-2		;TEST HIGH PROD
  9625	036254	003 07 0 00 000502 		ER3	AC,SN
  9626	036255	321 11 0 00 036244 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
  9627
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 11
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0195

  9628					;MULTIPLIER = 10,20
  9629					;MULTIPLICAND = 377777 777777
  9630
  9631			000011			AC=11
  9632						SAVEAC	(1,1)^
  9633	036256	201 13 0 00 036256 		MOVEI	AC+2,.		;SAVE TEST PC
  9634	036257	202 13 0 00 030051 		MOVEM	AC+2,TESTPC
  9635	036260	201 13 0 00 000013 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  9636	036261	202 13 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  9637
  9638			000700		SN=700
  9639		777777	777777			XX=-1
  9640			000004			ZZ=4
  9641
  9642							;TEST ARSHRT FAILING
  9643					F700:	REPEAT	^D2,<
  9644					SN=SN+1
  9645						XX=XX+10
  9646						ZZ=ZZ+ZZ
  9647						MOVEI	AC,ZZ		;SETUP MULTIPLIER
  9648						HRLOI	AC-1,377777	;SETUP MULTIPLICAND
  9649						MUL	AC,AC-1		;MUL. ZZ X 377777 777777
  9650						CAME	AC+1,[ZZ*377777777777]		;TEST LOW PROD
  9651						ER4	AC+1,SN		;ARSHRT ASSERTED
  9652						CAME	AC,[XX]		;TEST HIGH PROD = PLIER
  9653						ER3	AC,SN
  9654						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
  9655					>
  9656
  9657			000701		SN=SN+1
  9658			000007			XX=XX+10
  9659			000010			ZZ=ZZ+ZZ
  9660	036262	201 11 0 00 000010 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
  9661	036263	525 10 0 00 377777 		HRLOI	AC-1,377777	;SETUP MULTIPLICAND
  9662	036264	224 11 0 00 000010 		MUL	AC,AC-1		;MUL. ZZ X 377777 777777
  9663	036265	312 12 0 00 045253 		CAME	AC+1,[ZZ*377777777777]		;TEST LOW PROD
  9664	036266	004 12 0 00 000701 		ER4	AC+1,SN		;ARSHRT ASSERTED
  9665	036267	312 11 0 00 045254 		CAME	AC,[XX]		;TEST HIGH PROD = PLIER
  9666	036270	003 11 0 00 000701 		ER3	AC,SN
  9667	036271	321 13 0 00 036261 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
  9668
  9669
  9670			000702		SN=SN+1
  9671			000017			XX=XX+10
  9672			000020			ZZ=ZZ+ZZ
  9673	036272	201 11 0 00 000020 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
  9674	036273	525 10 0 00 377777 		HRLOI	AC-1,377777	;SETUP MULTIPLICAND
  9675	036274	224 11 0 00 000010 		MUL	AC,AC-1		;MUL. ZZ X 377777 777777
  9676	036275	312 12 0 00 045255 		CAME	AC+1,[ZZ*377777777777]		;TEST LOW PROD
  9677	036276	004 12 0 00 000702 		ER4	AC+1,SN		;ARSHRT ASSERTED
  9678	036277	312 11 0 00 045256 		CAME	AC,[XX]		;TEST HIGH PROD = PLIER
  9679	036300	003 11 0 00 000702 		ER3	AC,SN
  9680	036301	321 13 0 00 036271 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
  9681
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 12
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0196

  9682					;MULTIPLIER = 0
  9683					;MULTIPLICAND = -15,-13
  9684
  9685			000010			AC=10
  9686						SAVEAC	(1,1)^
  9687	036302	201 12 0 00 036302 		MOVEI	AC+2,.		;SAVE TEST PC
  9688	036303	202 12 0 00 030051 		MOVEM	AC+2,TESTPC
  9689	036304	201 12 0 00 000012 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  9690	036305	202 12 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  9691
  9692			001000		SN=1000
  9693		777777	777761			ZZ=-17
  9694
  9695							;TEST MQSHRT FAILING
  9696					F1000:	REPEAT	^D2,<
  9697					SN=SN+1
  9698						ZZ=ZZ+2
  9699						SETZ	AC,		;SETUP MULTIPLIER
  9700						HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
  9701						MUL	AC,AC-1		;MULTIPLY 0 X -ZZ
  9702						SKIPE	AC+1		;TEST LOW PROD
  9703						ER4	AC+1,SN
  9704						SKIPE	AC		;TEST HIGH PROD
  9705						ER3	AC,SN
  9706						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
  9707					>
  9708
  9709			001001		SN=SN+1
  9710		777777	777763			ZZ=ZZ+2
  9711	036306	400 10 0 00 000000 		SETZ	AC,		;SETUP MULTIPLIER
  9712	036307	561 07 0 00 777763 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
  9713	036310	224 10 0 00 000007 		MUL	AC,AC-1		;MULTIPLY 0 X -ZZ
  9714	036311	332 00 0 00 000011 		SKIPE	AC+1		;TEST LOW PROD
  9715	036312	004 11 0 00 001001 		ER4	AC+1,SN
  9716	036313	332 00 0 00 000010 		SKIPE	AC		;TEST HIGH PROD
  9717	036314	003 10 0 00 001001 		ER3	AC,SN
  9718	036315	321 12 0 00 036305 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
  9719
  9720
  9721			001002		SN=SN+1
  9722		777777	777765			ZZ=ZZ+2
  9723	036316	400 10 0 00 000000 		SETZ	AC,		;SETUP MULTIPLIER
  9724	036317	561 07 0 00 777765 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
  9725	036320	224 10 0 00 000007 		MUL	AC,AC-1		;MULTIPLY 0 X -ZZ
  9726	036321	332 00 0 00 000011 		SKIPE	AC+1		;TEST LOW PROD
  9727	036322	004 11 0 00 001002 		ER4	AC+1,SN
  9728	036323	332 00 0 00 000010 		SKIPE	AC		;TEST HIGH PROD
  9729	036324	003 10 0 00 001002 		ER3	AC,SN
  9730	036325	321 12 0 00 036315 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
  9731
  9732					PAGE
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 12-1
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0197

  9733					;MULTIPLIER = -2,-4
  9734					;MULTIPLICAND = 0
  9735
  9736			000007			AC=7
  9737						SAVEAC	(1,1)^
  9738	036326	201 11 0 00 036326 		MOVEI	AC+2,.		;SAVE TEST PC
  9739	036327	202 11 0 00 030051 		MOVEM	AC+2,TESTPC
  9740	036330	201 11 0 00 000011 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  9741	036331	202 11 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  9742
  9743			001100		SN=1100
  9744			000000			XX=0
  9745		777777	777777			ZZ=-1
  9746
  9747					F1100:	REPEAT	^D2,<
  9748					SN=SN+1
  9749						XX=XX+XX
  9750						ZZ=ZZ+ZZ
  9751						IFE	XX,<XX=-1>
  9752						HRROI	AC,ZZ		;SETUP MULTIPLIER
  9753						SETZ	AC-1,		;SETUP MULTIPLICAND
  9754						MUL	AC,AC-1		;MULTIPLY ZZ X 0
  9755						SKIPE	AC+1		;TEST LOW PROD
  9756						ER4	AC+1,SN
  9757						SKIPE	AC		;TEST HIGH PROD
  9758						ER3	AC,SN
  9759						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
  9760					>
  9761
  9762			001101		SN=SN+1
  9763			000000			XX=XX+XX
  9764		777777	777776			ZZ=ZZ+ZZ
  9765		777777	777777			IFE	XX,<XX=-1>
  9766	036332	561 07 0 00 777776 		HRROI	AC,ZZ		;SETUP MULTIPLIER
  9767	036333	400 06 0 00 000000 		SETZ	AC-1,		;SETUP MULTIPLICAND
  9768	036334	224 07 0 00 000006 		MUL	AC,AC-1		;MULTIPLY ZZ X 0
  9769	036335	332 00 0 00 000010 		SKIPE	AC+1		;TEST LOW PROD
  9770	036336	004 10 0 00 001101 		ER4	AC+1,SN
  9771	036337	332 00 0 00 000007 		SKIPE	AC		;TEST HIGH PROD
  9772	036340	003 07 0 00 001101 		ER3	AC,SN
  9773	036341	321 11 0 00 036330 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
  9774
  9775
  9776			001102		SN=SN+1
  9777		777777	777776			XX=XX+XX
  9778		777777	777774			ZZ=ZZ+ZZ
  9779						IFE	XX,<XX=-1>
  9780	036342	561 07 0 00 777774 		HRROI	AC,ZZ		;SETUP MULTIPLIER
  9781	036343	400 06 0 00 000000 		SETZ	AC-1,		;SETUP MULTIPLICAND
  9782	036344	224 07 0 00 000006 		MUL	AC,AC-1		;MULTIPLY ZZ X 0
  9783	036345	332 00 0 00 000010 		SKIPE	AC+1		;TEST LOW PROD
  9784	036346	004 10 0 00 001102 		ER4	AC+1,SN
  9785	036347	332 00 0 00 000007 		SKIPE	AC		;TEST HIGH PROD
  9786	036350	003 07 0 00 001102 		ER3	AC,SN
  9787	036351	321 11 0 00 036340 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 12-2
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0198

  9788
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 13
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0199

  9789					;MULTIPLIER = 2,4
  9790					;MULTIPLICAND = 5
  9791
  9792			000014			AC=14
  9793						SAVEAC	(1,1)^
  9794	036352	201 16 0 00 036352 		MOVEI	AC+2,.		;SAVE TEST PC
  9795	036353	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
  9796	036354	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  9797	036355	202 16 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  9798
  9799			001400		SN=1400
  9800			000005			XX=5
  9801			000001			ZZ=1
  9802
  9803						F1400:	REPEAT	^D2,<
  9804					SN=SN+1
  9805						XX=XX+XX
  9806						ZZ=ZZ+ZZ
  9807						HRRZI	AC-2,XX		;SETUP FOR COMPARISON
  9808						MOVEI	AC,ZZ		;SETUP MULTIPLIER
  9809						MOVEI	AC-1,5		;SETUP MULTIPLICAND
  9810						MUL	AC,AC-1		;MULTIPLY ZZ X 5
  9811						CAME	AC+1,AC-2	;TEST LOW PROD
  9812						ER4	AC+1,SN
  9813						SETO	AC-2,		;SET FOR COMPARISON
  9814						SKIPE	AC				;TEST HIGH PROD
  9815						ER3	AC,SN
  9816						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
  9817					>
  9818
  9819			001401		SN=SN+1
  9820			000012			XX=XX+XX
  9821			000002			ZZ=ZZ+ZZ
  9822	036356	551 12 0 00 000012 		HRRZI	AC-2,XX		;SETUP FOR COMPARISON
  9823	036357	201 14 0 00 000002 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
  9824	036360	201 13 0 00 000005 		MOVEI	AC-1,5		;SETUP MULTIPLICAND
  9825	036361	224 14 0 00 000013 		MUL	AC,AC-1		;MULTIPLY ZZ X 5
  9826	036362	312 15 0 00 000012 		CAME	AC+1,AC-2	;TEST LOW PROD
  9827	036363	004 15 0 00 001401 		ER4	AC+1,SN
  9828	036364	474 12 0 00 000000 		SETO	AC-2,		;SET FOR COMPARISON
  9829	036365	332 00 0 00 000014 		SKIPE	AC				;TEST HIGH PROD
  9830	036366	003 14 0 00 001401 		ER3	AC,SN
  9831	036367	321 16 0 00 036356 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
  9832
  9833
  9834			001402		SN=SN+1
  9835			000024			XX=XX+XX
  9836			000004			ZZ=ZZ+ZZ
  9837	036370	551 12 0 00 000024 		HRRZI	AC-2,XX		;SETUP FOR COMPARISON
  9838	036371	201 14 0 00 000004 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
  9839	036372	201 13 0 00 000005 		MOVEI	AC-1,5		;SETUP MULTIPLICAND
  9840	036373	224 14 0 00 000013 		MUL	AC,AC-1		;MULTIPLY ZZ X 5
  9841	036374	312 15 0 00 000012 		CAME	AC+1,AC-2	;TEST LOW PROD
  9842	036375	004 15 0 00 001402 		ER4	AC+1,SN
  9843	036376	474 12 0 00 000000 		SETO	AC-2,		;SET FOR COMPARISON
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 13-1
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0200

  9844	036377	332 00 0 00 000014 		SKIPE	AC				;TEST HIGH PROD
  9845	036400	003 14 0 00 001402 		ER3	AC,SN
  9846	036401	321 16 0 00 036370 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
  9847
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 14
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0201

  9848					;MULTIPLIER = 200000 000000,100000 000000
  9849					;MULTIPLICAND = 25
  9850
  9851			000011			AC=11
  9852						SAVEAC	(1,1)^
  9853	036402	201 13 0 00 036402 		MOVEI	AC+2,.		;SAVE TEST PC
  9854	036403	202 13 0 00 030051 		MOVEM	AC+2,TESTPC
  9855	036404	201 13 0 00 000013 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  9856	036405	202 13 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  9857
  9858			002000		SN=2000
  9859			377777			XX=377777
  9860			000024			YY=24
  9861			000000			ZZ=0
  9862
  9863					F2000:	REPEAT	^D2,<
  9864					SN=SN+1
  9865						XX=XX/2
  9866						YY=YY/2
  9867						ZZ=ZZ/2
  9868						IFE	ZZ,<ZZ=200000>
  9869						MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
  9870						MOVSI	AC,ZZ		;SETUP MULTIPLIER
  9871						MOVEI	AC-1,25		;SETUP MULTIPLICAND
  9872						MUL	AC,AC-1		;MULTIPLY ZZ X 25
  9873						CAME	AC+1,AC-2	;TEST LOW PROD
  9874						ER4	AC+1,SN
  9875						MOVEI	AC-2,YY		;SET FOR COMPARISON
  9876						CAME	AC,AC-2		;TEST HIGH PROD
  9877						ER3	AC,SN
  9878						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
  9879					>
  9880
  9881			002001		SN=SN+1
  9882			177777			XX=XX/2
  9883			000012			YY=YY/2
  9884			000000			ZZ=ZZ/2
  9885			200000			IFE	ZZ,<ZZ=200000>
  9886	036406	205 07 0 00 200000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
  9887	036407	205 11 0 00 200000 		MOVSI	AC,ZZ		;SETUP MULTIPLIER
  9888	036410	201 10 0 00 000025 		MOVEI	AC-1,25		;SETUP MULTIPLICAND
  9889	036411	224 11 0 00 000010 		MUL	AC,AC-1		;MULTIPLY ZZ X 25
  9890	036412	312 12 0 00 000007 		CAME	AC+1,AC-2	;TEST LOW PROD
  9891	036413	004 12 0 00 002001 		ER4	AC+1,SN
  9892	036414	201 07 0 00 000012 		MOVEI	AC-2,YY		;SET FOR COMPARISON
  9893	036415	312 11 0 00 000007 		CAME	AC,AC-2		;TEST HIGH PROD
  9894	036416	003 11 0 00 002001 		ER3	AC,SN
  9895	036417	321 13 0 00 036406 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
  9896
  9897
  9898			002002		SN=SN+1
  9899			077777			XX=XX/2
  9900			000005			YY=YY/2
  9901			100000			ZZ=ZZ/2
  9902						IFE	ZZ,<ZZ=200000>
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 14-1
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0202

  9903	036420	205 07 0 00 100000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
  9904	036421	205 11 0 00 100000 		MOVSI	AC,ZZ		;SETUP MULTIPLIER
  9905	036422	201 10 0 00 000025 		MOVEI	AC-1,25		;SETUP MULTIPLICAND
  9906	036423	224 11 0 00 000010 		MUL	AC,AC-1		;MULTIPLY ZZ X 25
  9907	036424	312 12 0 00 000007 		CAME	AC+1,AC-2	;TEST LOW PROD
  9908	036425	004 12 0 00 002002 		ER4	AC+1,SN
  9909	036426	201 07 0 00 000005 		MOVEI	AC-2,YY		;SET FOR COMPARISON
  9910	036427	312 11 0 00 000007 		CAME	AC,AC-2		;TEST HIGH PROD
  9911	036430	003 11 0 00 002002 		ER3	AC,SN
  9912	036431	321 13 0 00 036420 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
  9913
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 15
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0203

  9914					;INPUT ONE'S-
  9915					;MULTIPLIER = 400000 000000
  9916					;MULTIPLICAND = -20,-40
  9917
  9918			000006			AC=6
  9919						SAVEAC	(1,1)^
  9920	036432	201 10 0 00 036432 		MOVEI	AC+2,.		;SAVE TEST PC
  9921	036433	202 10 0 00 030051 		MOVEM	AC+2,TESTPC
  9922	036434	201 10 0 00 000010 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  9923	036435	202 10 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  9924
  9925			002200		SN=2200
  9926		777777	777770			ZZ=-10
  9927			000010			XX=10
  9928
  9929					F2200:	REPEAT	^D2,<
  9930					SN=SN+1
  9931						ZZ=ZZ+ZZ
  9932						XX=XX+XX
  9933						MOVSI	AC,400000	;SETUP MULTIPLIER
  9934						HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
  9935						MUL	AC,AC-1		;MUL.400000 000000 X ZZ
  9936						CAIE	AC,XX		;TEST HIGH PROD
  9937						ER3	AC,SN
  9938						SKIPE	<AC+1>&17	;TEST LOW PROD
  9939						ER4	AC+1,SN
  9940						JUMPL	AC+2,.-^D7	;LOOP ON ERROR SWITCH
  9941					>
  9942
  9943			002201		SN=SN+1
  9944		777777	777760			ZZ=ZZ+ZZ
  9945			000020			XX=XX+XX
  9946	036436	205 06 0 00 400000 		MOVSI	AC,400000	;SETUP MULTIPLIER
  9947	036437	561 05 0 00 777760 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
  9948	036440	224 06 0 00 000005 		MUL	AC,AC-1		;MUL.400000 000000 X ZZ
  9949	036441	302 06 0 00 000020 		CAIE	AC,XX		;TEST HIGH PROD
  9950	036442	003 06 0 00 002201 		ER3	AC,SN
  9951	036443	332 00 0 00 000007 		SKIPE	<AC+1>&17	;TEST LOW PROD
  9952	036444	004 07 0 00 002201 		ER4	AC+1,SN
  9953	036445	321 10 0 00 036436 		JUMPL	AC+2,.-^D7	;LOOP ON ERROR SWITCH
  9954
  9955
  9956			002202		SN=SN+1
  9957		777777	777740			ZZ=ZZ+ZZ
  9958			000040			XX=XX+XX
  9959	036446	205 06 0 00 400000 		MOVSI	AC,400000	;SETUP MULTIPLIER
  9960	036447	561 05 0 00 777740 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
  9961	036450	224 06 0 00 000005 		MUL	AC,AC-1		;MUL.400000 000000 X ZZ
  9962	036451	302 06 0 00 000040 		CAIE	AC,XX		;TEST HIGH PROD
  9963	036452	003 06 0 00 002202 		ER3	AC,SN
  9964	036453	332 00 0 00 000007 		SKIPE	<AC+1>&17	;TEST LOW PROD
  9965	036454	004 07 0 00 002202 		ER4	AC+1,SN
  9966	036455	321 10 0 00 036446 		JUMPL	AC+2,.-^D7	;LOOP ON ERROR SWITCH
  9967
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 16
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0204

  9968					;MULTIPLIER = 10,20
  9969					;MULTIPLICAND = 4
  9970
  9971			000005			AC=5
  9972						SAVEAC	(1,1)^
  9973	036456	201 07 0 00 036456 		MOVEI	AC+2,.		;SAVE TEST PC
  9974	036457	202 07 0 00 030051 		MOVEM	AC+2,TESTPC
  9975	036460	201 07 0 00 000007 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  9976	036461	202 07 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  9977
  9978			002400		SN=2400
  9979			000020			XX=20
  9980			000004			ZZ=4
  9981					F2400:	REPEAT	^D2,<
  9982					SN=SN+1
  9983						XX=XX+XX
  9984						ZZ=ZZ+ZZ
  9985						MOVEI	AC-2,XX		;SETUP FOR COMPARISON
  9986						MOVEI	AC,ZZ		;SETUP MULTIPLIER
  9987						MOVEI	AC-1,4		;SETUP MULTIPLICAND
  9988						MUL	AC,AC-1		;MULTIPLY ZZ X 4
  9989						CAME	AC+1,AC-2	;TEST LOW PROD
  9990						ER4	AC+1,SN
  9991						SKIPE	AC		;TEST HIGH PRODUCT
  9992						ER3	AC,SN
  9993						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
  9994					>
  9995
  9996			002401		SN=SN+1
  9997			000040			XX=XX+XX
  9998			000010			ZZ=ZZ+ZZ
  9999	036462	201 03 0 00 000040 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 10000	036463	201 05 0 00 000010 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
 10001	036464	201 04 0 00 000004 		MOVEI	AC-1,4		;SETUP MULTIPLICAND
 10002	036465	224 05 0 00 000004 		MUL	AC,AC-1		;MULTIPLY ZZ X 4
 10003	036466	312 06 0 00 000003 		CAME	AC+1,AC-2	;TEST LOW PROD
 10004	036467	004 06 0 00 002401 		ER4	AC+1,SN
 10005	036470	332 00 0 00 000005 		SKIPE	AC		;TEST HIGH PRODUCT
 10006	036471	003 05 0 00 002401 		ER3	AC,SN
 10007	036472	321 07 0 00 036462 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 10008
 10009
 10010			002402		SN=SN+1
 10011			000100			XX=XX+XX
 10012			000020			ZZ=ZZ+ZZ
 10013	036473	201 03 0 00 000100 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 10014	036474	201 05 0 00 000020 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
 10015	036475	201 04 0 00 000004 		MOVEI	AC-1,4		;SETUP MULTIPLICAND
 10016	036476	224 05 0 00 000004 		MUL	AC,AC-1		;MULTIPLY ZZ X 4
 10017	036477	312 06 0 00 000003 		CAME	AC+1,AC-2	;TEST LOW PROD
 10018	036500	004 06 0 00 002402 		ER4	AC+1,SN
 10019	036501	332 00 0 00 000005 		SKIPE	AC		;TEST HIGH PRODUCT
 10020	036502	003 05 0 00 002402 		ER3	AC,SN
 10021	036503	321 07 0 00 036473 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 10022
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 17
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0205

 10023					;MULTIPLIER = 1,2
 10024					;MULTIPLICAND = 200000 000000,100000 000000
 10025
 10026			000014			AC=14
 10027						SAVEAC	(1,1)^
 10028	036504	201 16 0 00 036504 		MOVEI	AC+2,.		;SAVE TEST PC
 10029	036505	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
 10030	036506	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 10031	036507	202 16 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 10032
 10033			003300		SN=3300
 10034			000000			XX=0
 10035			000000			ZZ=0
 10036
 10037					F3300:	REPEAT	^D2,<
 10038					SN=SN+1
 10039						XX=XX+XX
 10040						ZZ=ZZ/2
 10041						IFE	XX,<XX=1>
 10042						IFE	ZZ,<ZZ=200000>
 10043						MOVSI	AC-2,200000	;SETUP FOR COMPARISON
 10044						SETO	AC+1,		;INITIALIZE AC+1
 10045						MOVEI	AC,XX		;SETUP MULTIPLIER
 10046						MOVSI	AC-1,ZZ		;SETUP MULTIPLICAND
 10047						MUL	AC,AC-1		;MULTIPLY TWO VARIABLES
 10048						SKIPE	AC		;TEST HIGH PROD
 10049						ER3	AC,SN
 10050						CAME	AC+1,AC-2	;TEST LOW PRODUCT
 10051						ER4	AC+1,SN
 10052						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 10053					>
 10054
 10055			003301		SN=SN+1
 10056			000000			XX=XX+XX
 10057			000000			ZZ=ZZ/2
 10058			000001			IFE	XX,<XX=1>
 10059			200000			IFE	ZZ,<ZZ=200000>
 10060	036510	205 12 0 00 200000 		MOVSI	AC-2,200000	;SETUP FOR COMPARISON
 10061	036511	474 15 0 00 000000 		SETO	AC+1,		;INITIALIZE AC+1
 10062	036512	201 14 0 00 000001 		MOVEI	AC,XX		;SETUP MULTIPLIER
 10063	036513	205 13 0 00 200000 		MOVSI	AC-1,ZZ		;SETUP MULTIPLICAND
 10064	036514	224 14 0 00 000013 		MUL	AC,AC-1		;MULTIPLY TWO VARIABLES
 10065	036515	332 00 0 00 000014 		SKIPE	AC		;TEST HIGH PROD
 10066	036516	003 14 0 00 003301 		ER3	AC,SN
 10067	036517	312 15 0 00 000012 		CAME	AC+1,AC-2	;TEST LOW PRODUCT
 10068	036520	004 15 0 00 003301 		ER4	AC+1,SN
 10069	036521	321 16 0 00 036511 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 10070
 10071
 10072			003302		SN=SN+1
 10073			000002			XX=XX+XX
 10074			100000			ZZ=ZZ/2
 10075						IFE	XX,<XX=1>
 10076						IFE	ZZ,<ZZ=200000>
 10077	036522	205 12 0 00 200000 		MOVSI	AC-2,200000	;SETUP FOR COMPARISON
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 17-1
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0206

 10078	036523	474 15 0 00 000000 		SETO	AC+1,		;INITIALIZE AC+1
 10079	036524	201 14 0 00 000002 		MOVEI	AC,XX		;SETUP MULTIPLIER
 10080	036525	205 13 0 00 100000 		MOVSI	AC-1,ZZ		;SETUP MULTIPLICAND
 10081	036526	224 14 0 00 000013 		MUL	AC,AC-1		;MULTIPLY TWO VARIABLES
 10082	036527	332 00 0 00 000014 		SKIPE	AC		;TEST HIGH PROD
 10083	036530	003 14 0 00 003302 		ER3	AC,SN
 10084	036531	312 15 0 00 000012 		CAME	AC+1,AC-2	;TEST LOW PRODUCT
 10085	036532	004 15 0 00 003302 		ER4	AC+1,SN
 10086	036533	321 16 0 00 036523 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 10087
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 18
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0207

 10088					;MUL
 10089					;MULTIPLIER = 400000 000000
 10090					;MULTIPLICAND = -1,-2
 10091
 10092			000012			AC=12
 10093						SAVEAC^
 10094	036534	201 14 0 00 036534 		MOVEI	AC+2,.		;SAVE TEST PC
 10095	036535	202 14 0 00 030051 		MOVEM	AC+2,TESTPC
 10096	036536	201 14 0 00 000014 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 10097	036537	202 14 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 10098
 10099			004000		SN=4000
 10100			000000			XX=0
 10101			000000			ZZ=0
 10102
 10103					F4000:	REPEAT	^D2,<
 10104					SN=SN+1
 10105						XX=XX+1
 10106						ZZ=ZZ-1
 10107						MOVSI	AC,400000	;SETUP MULTIPLIER
 10108						HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10109						MUL	AC,AC-1		;MULTIPLY TWO NEGATIVES
 10110						CAIE	AC,XX		
 10111						ER3	AC,SN
 10112						SKIPE	AC+1		;TEST LOW PROD
 10113						ER4	AC+1,SN
 10114						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 10115					>
 10116
 10117			004001		SN=SN+1
 10118			000001			XX=XX+1
 10119		777777	777777			ZZ=ZZ-1
 10120	036540	205 12 0 00 400000 		MOVSI	AC,400000	;SETUP MULTIPLIER
 10121	036541	561 11 0 00 777777 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10122	036542	224 12 0 00 000011 		MUL	AC,AC-1		;MULTIPLY TWO NEGATIVES
 10123	036543	302 12 0 00 000001 		CAIE	AC,XX		
 10124	036544	003 12 0 00 004001 		ER3	AC,SN
 10125	036545	332 00 0 00 000013 		SKIPE	AC+1		;TEST LOW PROD
 10126	036546	004 13 0 00 004001 		ER4	AC+1,SN
 10127	036547	321 14 0 00 036540 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 10128
 10129
 10130			004002		SN=SN+1
 10131			000002			XX=XX+1
 10132		777777	777776			ZZ=ZZ-1
 10133	036550	205 12 0 00 400000 		MOVSI	AC,400000	;SETUP MULTIPLIER
 10134	036551	561 11 0 00 777776 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10135	036552	224 12 0 00 000011 		MUL	AC,AC-1		;MULTIPLY TWO NEGATIVES
 10136	036553	302 12 0 00 000002 		CAIE	AC,XX		
 10137	036554	003 12 0 00 004002 		ER3	AC,SN
 10138	036555	332 00 0 00 000013 		SKIPE	AC+1		;TEST LOW PROD
 10139	036556	004 13 0 00 004002 		ER4	AC+1,SN
 10140	036557	321 14 0 00 036550 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 10141
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 19
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0208

 10142					;TEST MUL-IMMEDIATE MODE
 10143					;TEST THE ABILITY TO MULTIPLY WITH
 10144					;EFFECTIVE ADDRESS AS MULTIPLICAND
 10145					;MULTIPLIER = 1
 10146					;MULTIPLICAND = E
 10147
 10148			004200		SN=4200
 10149			000011			AC=11
 10150
 10151							;TEST IMMEDIATE MODE
 10152					F4200:	REPEAT	^D2,<
 10153					SN=SN+1
 10154						AC=AC-1
 10155						SAVEAC	(1,1)		;SAVE AC FOR ITERATION
 10156						MOVEI	AC-2,AC-1	;SETUP FOR COMPARISON
 10157						MOVEI	AC,1		;SETUP MULTIPLIER
 10158						HRROI	AC-1,-1		;SETUP AC-1
 10159						MULI	AC,AC-1		;MULTIPLY 1 X E
 10160						CAME	AC+1,AC-2	;TEST LOW PROD
 10161						ER4	AC+1,SN		;MULTIPLIED BY C(E) VICE E
 10162						SKIPE	AC		;TEST HIGH PROD
 10163						ER3	AC,SN
 10164						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 10165					>
 10166
 10167			004201		SN=SN+1
 10168			000010			AC=AC-1
 10169						SAVEAC	(1,1)^
 10170	036560	201 12 0 00 036560 		MOVEI	AC+2,.		;SAVE TEST PC
 10171	036561	202 12 0 00 030051 		MOVEM	AC+2,TESTPC
 10172	036562	201 12 0 00 000012 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 10173						MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^		;SAVE AC FOR ITERAT
 10174	036563	202 12 0 00 045464 	ION
 10175	036564	201 06 0 00 000007 		MOVEI	AC-2,AC-1	;SETUP FOR COMPARISON
 10176	036565	201 10 0 00 000001 		MOVEI	AC,1		;SETUP MULTIPLIER
 10177	036566	561 07 0 00 777777 		HRROI	AC-1,-1		;SETUP AC-1
 10178	036567	225 10 0 00 000007 		MULI	AC,AC-1		;MULTIPLY 1 X E
 10179	036570	312 11 0 00 000006 		CAME	AC+1,AC-2	;TEST LOW PROD
 10180	036571	004 11 0 00 004201 		ER4	AC+1,SN		;MULTIPLIED BY C(E) VICE E
 10181	036572	332 00 0 00 000010 		SKIPE	AC		;TEST HIGH PROD
 10182	036573	003 10 0 00 004201 		ER3	AC,SN
 10183	036574	321 12 0 00 036564 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 10184
 10185
 10186			004202		SN=SN+1
 10187			000007			AC=AC-1
 10188						SAVEAC	(1,1)^
 10189	036575	201 11 0 00 036575 		MOVEI	AC+2,.		;SAVE TEST PC
 10190	036576	202 11 0 00 030051 		MOVEM	AC+2,TESTPC
 10191	036577	201 11 0 00 000011 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 10192						MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^		;SAVE AC FOR ITERAT
 10193	036600	202 11 0 00 045464 	ION
 10194	036601	201 05 0 00 000006 		MOVEI	AC-2,AC-1	;SETUP FOR COMPARISON
 10195	036602	201 07 0 00 000001 		MOVEI	AC,1		;SETUP MULTIPLIER
 10196	036603	561 06 0 00 777777 		HRROI	AC-1,-1		;SETUP AC-1
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 19-1
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0209

 10197	036604	225 07 0 00 000006 		MULI	AC,AC-1		;MULTIPLY 1 X E
 10198	036605	312 10 0 00 000005 		CAME	AC+1,AC-2	;TEST LOW PROD
 10199	036606	004 10 0 00 004202 		ER4	AC+1,SN		;MULTIPLIED BY C(E) VICE E
 10200	036607	332 00 0 00 000007 		SKIPE	AC		;TEST HIGH PROD
 10201	036610	003 07 0 00 004202 		ER3	AC,SN
 10202	036611	321 11 0 00 036601 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 10203
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 20
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0210

 10204					;TEST MUL-MEMORY MODE
 10205					;TEST SC(E), PRODUCT HIGH ORDER PART
 10206					;TEST ABILITY TO ASSERT SAC INH
 10207					;TEST ABILITY TO INHIBIT SAC2-PRODUCT LOW
 10208					;ORDER PART IS LOST
 10209					;MULTIPLIER = 200000 000000
 10210					;MULTIPLICAND = 2,4
 10211
 10212			000007			AC=7
 10213						SAVEAC^
 10214	036612	201 11 0 00 036612 		MOVEI	AC+2,.		;SAVE TEST PC
 10215	036613	202 11 0 00 030051 		MOVEM	AC+2,TESTPC
 10216	036614	201 11 0 00 000011 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 10217	036615	202 11 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 10218
 10219			004300		SN=4300
 10220			000001			ZZ=1
 10221
 10222							;TEST SCE
 10223					F4300:	REPEAT	^D2,<
 10224					SN=SN+1
 10225						ZZ=ZZ+ZZ
 10226						MOVSI	AC-2,200000	;SETUP FOR COMPARISON
 10227						SETZM	AC+1		;SETUP AC+1
 10228						MOVSI	AC,200000	;SETUP MULTIPLIER
 10229						MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10230						MULM	AC,AC-1		;MUL 200000 000000 X ZZ
 10231						CAME	AC,AC-2		;TEST AC
 10232						ER3	AC,SN		;C(AC) WAS CLOBBERED
 10233						SKIPE	AC+1		;TEST AC+1
 10234						ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 10235						CAIE	AC-1,ZZ/2	;TEST PRODUCT
 10236						ER5	AC-1,SN
 10237						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 10238					>
 10239
 10240			004301		SN=SN+1
 10241			000002			ZZ=ZZ+ZZ
 10242	036616	205 05 0 00 200000 		MOVSI	AC-2,200000	;SETUP FOR COMPARISON
 10243	036617	402 00 0 00 000010 		SETZM	AC+1		;SETUP AC+1
 10244	036620	205 07 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
 10245	036621	201 06 0 00 000002 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10246	036622	226 07 0 00 000006 		MULM	AC,AC-1		;MUL 200000 000000 X ZZ
 10247	036623	312 07 0 00 000005 		CAME	AC,AC-2		;TEST AC
 10248	036624	003 07 0 00 004301 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 10249	036625	332 00 0 00 000010 		SKIPE	AC+1		;TEST AC+1
 10250	036626	004 10 0 00 004301 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 10251	036627	302 06 0 00 000001 		CAIE	AC-1,ZZ/2	;TEST PRODUCT
 10252	036630	005 06 0 00 004301 		ER5	AC-1,SN
 10253	036631	321 11 0 00 036620 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 10254
 10255
 10256			004302		SN=SN+1
 10257			000004			ZZ=ZZ+ZZ
 10258	036632	205 05 0 00 200000 		MOVSI	AC-2,200000	;SETUP FOR COMPARISON
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 20-1
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0211

 10259	036633	402 00 0 00 000010 		SETZM	AC+1		;SETUP AC+1
 10260	036634	205 07 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
 10261	036635	201 06 0 00 000004 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10262	036636	226 07 0 00 000006 		MULM	AC,AC-1		;MUL 200000 000000 X ZZ
 10263	036637	312 07 0 00 000005 		CAME	AC,AC-2		;TEST AC
 10264	036640	003 07 0 00 004302 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 10265	036641	332 00 0 00 000010 		SKIPE	AC+1		;TEST AC+1
 10266	036642	004 10 0 00 004302 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 10267	036643	302 06 0 00 000002 		CAIE	AC-1,ZZ/2	;TEST PRODUCT
 10268	036644	005 06 0 00 004302 		ER5	AC-1,SN
 10269	036645	321 11 0 00 036634 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 10270
 10271					PAGE
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 20-2
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0212

 10272			004400		SN=4400
 10273			000001			ZZ=1
 10274
 10275							;TEST SAC INH
 10276					F4400:	REPEAT	^D2,<
 10277					SN=SN+1
 10278						ZZ=ZZ+ZZ
 10279						MOVSI	AC,200000	;SETUP MULTIPLIER
 10280						MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10281						MULM	AC,AC-1		;MUL 200000 000000 X ZZ
 10282						TLNN	AC,200000	;TEST FOR ORIGINAL CONTENTS
 10283						ER3	AC,SN
 10284						JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 10285					>
 10286
 10287			004401		SN=SN+1
 10288			000002			ZZ=ZZ+ZZ
 10289	036646	205 07 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
 10290	036647	201 06 0 00 000002 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10291	036650	226 07 0 00 000006 		MULM	AC,AC-1		;MUL 200000 000000 X ZZ
 10292	036651	607 07 0 00 200000 		TLNN	AC,200000	;TEST FOR ORIGINAL CONTENTS
 10293	036652	003 07 0 00 004401 		ER3	AC,SN
 10294	036653	321 11 0 00 036646 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 10295
 10296
 10297			004402		SN=SN+1
 10298			000004			ZZ=ZZ+ZZ
 10299	036654	205 07 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
 10300	036655	201 06 0 00 000004 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10301	036656	226 07 0 00 000006 		MULM	AC,AC-1		;MUL 200000 000000 X ZZ
 10302	036657	607 07 0 00 200000 		TLNN	AC,200000	;TEST FOR ORIGINAL CONTENTS
 10303	036660	003 07 0 00 004402 		ER3	AC,SN
 10304	036661	321 11 0 00 036654 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 10305
 10306					PAGE
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 20-3
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0213

 10307			004500		SN=4500
 10308			000001			ZZ=1
 10309
 10310							;TEST SAC2 ASSERTED
 10311					F4500:	REPEAT	^D2,<
 10312					SN=SN+1
 10313						ZZ=ZZ+ZZ
 10314						SETZ	AC+1,		;CLEAR AC+1
 10315						MOVSI	AC,200000	;SETUP MULTIPLIER
 10316						MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10317						MULM	AC,AC-1		;MUL 200000 000000 X ZZ
 10318						SKIPE	AC+1		;TEST FOR ORIGINAL CONTENTS
 10319						ER4	AC+1,SN
 10320						JUMPL	AC+2,.-6	;LOOP ON ERROR SWITCH
 10321					>
 10322
 10323			004501		SN=SN+1
 10324			000002			ZZ=ZZ+ZZ
 10325	036662	400 10 0 00 000000 		SETZ	AC+1,		;CLEAR AC+1
 10326	036663	205 07 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
 10327	036664	201 06 0 00 000002 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10328	036665	226 07 0 00 000006 		MULM	AC,AC-1		;MUL 200000 000000 X ZZ
 10329	036666	332 00 0 00 000010 		SKIPE	AC+1		;TEST FOR ORIGINAL CONTENTS
 10330	036667	004 10 0 00 004501 		ER4	AC+1,SN
 10331	036670	321 11 0 00 036662 		JUMPL	AC+2,.-6	;LOOP ON ERROR SWITCH
 10332
 10333
 10334			004502		SN=SN+1
 10335			000004			ZZ=ZZ+ZZ
 10336	036671	400 10 0 00 000000 		SETZ	AC+1,		;CLEAR AC+1
 10337	036672	205 07 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
 10338	036673	201 06 0 00 000004 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10339	036674	226 07 0 00 000006 		MULM	AC,AC-1		;MUL 200000 000000 X ZZ
 10340	036675	332 00 0 00 000010 		SKIPE	AC+1		;TEST FOR ORIGINAL CONTENTS
 10341	036676	004 10 0 00 004502 		ER4	AC+1,SN
 10342	036677	321 11 0 00 036671 		JUMPL	AC+2,.-6	;LOOP ON ERROR SWITCH
 10343
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 21
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0214

 10344					;TEST MUL-BOTH MODE
 10345					;TEST ABILITY TO STORE PRODUCT HIGH ORDER
 10346					;PART IN AC,E
 10347					;TEST ABILITY TO STORE PRODUCT LOW ORDER
 10348					;PART IN AC+1
 10349					;MULTIPLIER = 200000 000000
 10350					;MULTIPLICAND = 5,7
 10351
 10352			000006			AC=6
 10353						SAVEAC	(1,1)^
 10354	036700	201 10 0 00 036700 		MOVEI	AC+2,.		;SAVE TEST PC
 10355	036701	202 10 0 00 030051 		MOVEM	AC+2,TESTPC
 10356	036702	201 10 0 00 000010 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 10357	036703	202 10 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 10358
 10359			004600		SN=4600
 10360			000001			XX=1
 10361			000003			ZZ=3
 10362
 10363					F4600:	REPEAT	^D2,<
 10364					SN=SN+1
 10365						XX=XX+1
 10366						ZZ=ZZ+2
 10367						MOVSI	AC-2,200000	;SETUP FOR COMPARISON
 10368						SETZM	AC+1		;SETUP FOR COMPARISON
 10369						MOVSI	AC,200000	;SETUP MULTIPLIER
 10370						MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10371						MULB	AC,AC-1		;MUL 200000 000000 X ZZ
 10372						CAME	AC,AC-1		;TEST C(AC) = C (E)
 10373						ER3	AC,SN		;SCE FAILED
 10374						CAME	AC+1,AC-2	;TEST LOW PROD
 10375						ER4	AC+1,SN
 10376						CAIE	AC-1,XX		;TEST LOW PROD
 10377						ER5	AC-1,SN
 10378						JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 10379					>
 10380
 10381			004601		SN=SN+1
 10382			000002			XX=XX+1
 10383			000005			ZZ=ZZ+2
 10384	036704	205 04 0 00 200000 		MOVSI	AC-2,200000	;SETUP FOR COMPARISON
 10385	036705	402 00 0 00 000007 		SETZM	AC+1		;SETUP FOR COMPARISON
 10386	036706	205 06 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
 10387	036707	201 05 0 00 000005 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10388	036710	227 06 0 00 000005 		MULB	AC,AC-1		;MUL 200000 000000 X ZZ
 10389	036711	312 06 0 00 000005 		CAME	AC,AC-1		;TEST C(AC) = C (E)
 10390	036712	003 06 0 00 004601 		ER3	AC,SN		;SCE FAILED
 10391	036713	312 07 0 00 000004 		CAME	AC+1,AC-2	;TEST LOW PROD
 10392	036714	004 07 0 00 004601 		ER4	AC+1,SN
 10393	036715	302 05 0 00 000002 		CAIE	AC-1,XX		;TEST LOW PROD
 10394	036716	005 05 0 00 004601 		ER5	AC-1,SN
 10395	036717	321 10 0 00 036704 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 10396
 10397
 10398			004602		SN=SN+1
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 21-1
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0215

 10399			000003			XX=XX+1
 10400			000007			ZZ=ZZ+2
 10401	036720	205 04 0 00 200000 		MOVSI	AC-2,200000	;SETUP FOR COMPARISON
 10402	036721	402 00 0 00 000007 		SETZM	AC+1		;SETUP FOR COMPARISON
 10403	036722	205 06 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
 10404	036723	201 05 0 00 000007 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10405	036724	227 06 0 00 000005 		MULB	AC,AC-1		;MUL 200000 000000 X ZZ
 10406	036725	312 06 0 00 000005 		CAME	AC,AC-1		;TEST C(AC) = C (E)
 10407	036726	003 06 0 00 004602 		ER3	AC,SN		;SCE FAILED
 10408	036727	312 07 0 00 000004 		CAME	AC+1,AC-2	;TEST LOW PROD
 10409	036730	004 07 0 00 004602 		ER4	AC+1,SN
 10410	036731	302 05 0 00 000003 		CAIE	AC-1,XX		;TEST LOW PROD
 10411	036732	005 05 0 00 004602 		ER5	AC-1,SN
 10412	036733	321 10 0 00 036720 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 10413
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 22
DBKALM	MAC	26-MAY-76 16:26		MAIN TESTING                                                                       SEQ 0216

 10414					;TEST AROV SET-MUL
 10415					;MULTIPLIER = 400000 000000
 10416					;MULTIPLICAND = 400000 000000
 10417					;PRODUCT = 400000 000000 400000 000000
 10418					;AROV IS SET
 10419
 10420	036734	254 02 1 00 045257 	F4710:	JRSTF	@[.+1]		;CLEAR ALL FLAGS
 10421	036735	205 06 0 00 400000 		MOVSI	AC,400000	;SETUP MULTIPLIER
 10422	036736	205 04 0 00 400000 		MOVSI	AC-2,400000	;SETUP MULTIPLICAND
 10423	036737	224 06 0 00 000004 		MUL	AC,AC-2
 10424	036740	265 03 0 00 036741 		JSP	AC-3,.+1	;SAVE FLAGS
 10425	036741	312 06 0 00 045001 		CAME	AC,[1B0]	;TEST HIGH PRODUCT
 10426	036742	003 06 0 00 004711 		ER3	AC,4711
 10427	036743	312 07 0 00 045001 		CAME	AC+1,[1B0]	;TEST LOW PRODUCT
 10428	036744	004 07 0 00 004711 		ER4	AC+1,4711
 10429	036745	255 10 0 00 036747 		JOV	.+2		;TEST AROV
 10430	036746	013 03 0 00 004711 		ER13	AC-3,4711	;FAIL IF AROV NOT SET
 10431	036747	321 10 0 00 036734 		JUMPL	AC+2,F4710	;LOOP ON ERROR SWITCH
 10432
 10433					;TEST AROV SET-MULB
 10434					;MULTIPLIER = 400000 000000
 10435					;MULTIPLICAND = 400000 000000
 10436					;PRODUCT = 400000 000000 400000 000000
 10437					;AROV IS SET
 10438
 10439	036750	254 02 1 00 045260 	F4720:	JRSTF	@[.+1]		;CLEAR ALL FLAGS
 10440	036751	205 06 0 00 400000 		MOVSI	AC,400000	;SETUP MULTIPLIER
 10441	036752	205 04 0 00 400000 		MOVSI	AC-2,400000	;SETUP MULTIPLICAND
 10442	036753	227 06 0 00 000004 		MULB	AC,AC-2
 10443	036754	265 03 0 00 036755 		JSP	AC-3,.+1	;SAVE FLAGS
 10444	036755	312 06 0 00 045001 		CAME	AC,[1B0]	;TEST HIGH PRODUCT
 10445	036756	003 06 0 00 004721 		ER3	AC,4721
 10446	036757	312 07 0 00 045001 		CAME	AC+1,[1B0]	;TEST LOW PRODUCT
 10447	036760	004 07 0 00 004721 		ER4	AC+1,4721
 10448	036761	312 04 0 00 045001 		CAME	AC-2,[1B0]	;TEST HIGH PRODUCT
 10449	036762	005 04 0 00 004721 		ER5	AC-2,4721
 10450	036763	255 10 0 00 036765 		JOV	.+2		;TEST AROV
 10451	036764	013 03 0 00 004721 		ER13	AC-3,4721	;FAIL IF AROV NOT SET
 10452	036765	321 10 0 00 036750 		JUMPL	AC+2,F4720	;LOOP ON ERROR SWITCH
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 23
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0217

 10453					SUBTTL	DIAGNOSTIC SECTION - INTEGER MPY TEST
 10454
 10455					;MULTIPLIER =400000 000000
 10456					;MULTIPLICAND = 2,4
 10457
 10458			000010			AC=10
 10459						SAVEAC	(1,1)^
 10460	036766	201 12 0 00 036766 		MOVEI	AC+2,.		;SAVE TEST PC
 10461	036767	202 12 0 00 030051 		MOVEM	AC+2,TESTPC
 10462	036770	201 12 0 00 000012 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 10463	036771	202 12 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 10464	036772	254 02 1 00 045261 		JRSTF	@[.+1]		;CLEAR ALL FLAGS
 10465
 10466			005000		SN=5000
 10467			000001			ZZ=1
 10468
 10469						F5000:	REPEAT	^D2,<
 10470					SN=SN+1
 10471						ZZ=ZZ+ZZ
 10472						MOVSI	AC,400000	;SETUP MULTIPLIER
 10473						MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10474						IMUL	AC,AC-1		;MUL 400000 000000 X ZZ
 10475						CAME	AC,[1B0]	;TEST PROD = 400000 000000
 10476						ER3	AC,SN
 10477						JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 10478					>
 10479
 10480			005001		SN=SN+1
 10481			000002			ZZ=ZZ+ZZ
 10482	036773	205 10 0 00 400000 		MOVSI	AC,400000	;SETUP MULTIPLIER
 10483	036774	201 07 0 00 000002 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10484	036775	220 10 0 00 000007 		IMUL	AC,AC-1		;MUL 400000 000000 X ZZ
 10485	036776	312 10 0 00 045001 		CAME	AC,[1B0]	;TEST PROD = 400000 000000
 10486	036777	003 10 0 00 005001 		ER3	AC,SN
 10487	037000	321 12 0 00 036773 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 10488
 10489
 10490			005002		SN=SN+1
 10491			000004			ZZ=ZZ+ZZ
 10492	037001	205 10 0 00 400000 		MOVSI	AC,400000	;SETUP MULTIPLIER
 10493	037002	201 07 0 00 000004 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10494	037003	220 10 0 00 000007 		IMUL	AC,AC-1		;MUL 400000 000000 X ZZ
 10495	037004	312 10 0 00 045001 		CAME	AC,[1B0]	;TEST PROD = 400000 000000
 10496	037005	003 10 0 00 005002 		ER3	AC,SN
 10497	037006	321 12 0 00 037001 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 10498
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 24
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0218

 10499					;TEST AROV SET
 10500					;TEST ABILITY TO SET AROV FLAG
 10501					;NUMBERS OF LIKE SIGNS ARE MULTIPLIED
 10502					;AND TESTED FOR OVERFLOW/OVERFLOW NOT
 10503					;NUMBERS OF UNLIKE SIGNS ARE MULTIPLIED
 10504					;AND TESTED FOR OVERFLOW NOT
 10505
 10506			000014			AC=14
 10507						SAVEAC	(1,1)^
 10508	037007	201 16 0 00 037007 		MOVEI	AC+2,.		;SAVE TEST PC
 10509	037010	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
 10510	037011	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 10511	037012	202 16 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 10512
 10513			005100		SN=5100
 10514			200000			XX=200000
 10515			000001			ZZ=1
 10516
 10517							;TEST 2 POSITS-OVERFLOW NOT
 10518					F5100:	REPEAT	^D2,<
 10519					SN=SN+1
 10520						XX=XX+200000
 10521						ZZ=ZZ+1
 10522						JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 10523						MOVEI	AC,200000	;SETUP MULTIPLIER
 10524						MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10525						IMUL	AC,AC-1		;MUL 000000 200000 X ZZ
 10526						JSP	AC+1,.+1
 10527						CAIE	AC,XX
 10528						ER3	AC,SN
 10529						JOV	.+2		;TEST FOR SET COND
 10530						JRST	.+2		;FLAG IS NOT SET
 10531						ER13	AC+1,SN		;FLAG IS SET
 10532						JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 10533					>
 10534
 10535			005101		SN=SN+1
 10536			400000			XX=XX+200000
 10537			000002			ZZ=ZZ+1
 10538	037013	254 02 1 00 045262 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 10539	037014	201 14 0 00 200000 		MOVEI	AC,200000	;SETUP MULTIPLIER
 10540	037015	201 13 0 00 000002 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10541	037016	220 14 0 00 000013 		IMUL	AC,AC-1		;MUL 000000 200000 X ZZ
 10542	037017	265 15 0 00 037020 		JSP	AC+1,.+1
 10543	037020	302 14 0 00 400000 		CAIE	AC,XX
 10544	037021	003 14 0 00 005101 		ER3	AC,SN
 10545	037022	255 10 0 00 037024 		JOV	.+2		;TEST FOR SET COND
 10546	037023	254 00 0 00 037025 		JRST	.+2		;FLAG IS NOT SET
 10547	037024	013 15 0 00 005101 		ER13	AC+1,SN		;FLAG IS SET
 10548	037025	321 16 0 00 037013 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 10549
 10550
 10551			005102		SN=SN+1
 10552			600000			XX=XX+200000
 10553			000003			ZZ=ZZ+1
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 24-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0219

 10554	037026	254 02 1 00 045263 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 10555	037027	201 14 0 00 200000 		MOVEI	AC,200000	;SETUP MULTIPLIER
 10556	037030	201 13 0 00 000003 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10557	037031	220 14 0 00 000013 		IMUL	AC,AC-1		;MUL 000000 200000 X ZZ
 10558	037032	265 15 0 00 037033 		JSP	AC+1,.+1
 10559	037033	302 14 0 00 600000 		CAIE	AC,XX
 10560	037034	003 14 0 00 005102 		ER3	AC,SN
 10561	037035	255 10 0 00 037037 		JOV	.+2		;TEST FOR SET COND
 10562	037036	254 00 0 00 037040 		JRST	.+2		;FLAG IS NOT SET
 10563	037037	013 15 0 00 005102 		ER13	AC+1,SN		;FLAG IS SET
 10564	037040	321 16 0 00 037026 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 10565
 10566					PAGE
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 24-2
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0220

 10567			005200		SN=5200
 10568			040000			XX=40000
 10569			000001			ZZ=1
 10570
 10571							;TEST 2 POSITS-OVERFLOW
 10572					F5200:	REPEAT	^D2,<
 10573					SN=SN+1
 10574						XX=XX+XX
 10575						ZZ=ZZ+1
 10576						JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 10577						MOVSI	AC,200000	;SETUP MULTIPLIER
 10578						MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10579						MOVSI	AC-2,XX&200000
 10580						IMUL	AC,AC-1		;MUL 200000 000000 X ZZ
 10581						JSP	AC+1,.+1
 10582						CAME	AC,AC-2
 10583						ER3	AC,SN		;C(AC) FAILED
 10584						JOV	.+2		;TEST FOR SET CONDITION
 10585						ER13	AC+1,SN		;FLAG DID NOT SET
 10586						JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 10587					>
 10588
 10589			005201		SN=SN+1
 10590			100000			XX=XX+XX
 10591			000002			ZZ=ZZ+1
 10592	037041	254 02 1 00 045264 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 10593	037042	205 14 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
 10594	037043	201 13 0 00 000002 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10595	037044	205 12 0 00 000000 		MOVSI	AC-2,XX&200000
 10596	037045	220 14 0 00 000013 		IMUL	AC,AC-1		;MUL 200000 000000 X ZZ
 10597	037046	265 15 0 00 037047 		JSP	AC+1,.+1
 10598	037047	312 14 0 00 000012 		CAME	AC,AC-2
 10599	037050	003 14 0 00 005201 		ER3	AC,SN		;C(AC) FAILED
 10600	037051	255 10 0 00 037053 		JOV	.+2		;TEST FOR SET CONDITION
 10601	037052	013 15 0 00 005201 		ER13	AC+1,SN		;FLAG DID NOT SET
 10602	037053	321 16 0 00 037041 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 10603
 10604
 10605			005202		SN=SN+1
 10606			200000			XX=XX+XX
 10607			000003			ZZ=ZZ+1
 10608	037054	254 02 1 00 045265 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 10609	037055	205 14 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
 10610	037056	201 13 0 00 000003 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10611	037057	205 12 0 00 200000 		MOVSI	AC-2,XX&200000
 10612	037060	220 14 0 00 000013 		IMUL	AC,AC-1		;MUL 200000 000000 X ZZ
 10613	037061	265 15 0 00 037062 		JSP	AC+1,.+1
 10614	037062	312 14 0 00 000012 		CAME	AC,AC-2
 10615	037063	003 14 0 00 005202 		ER3	AC,SN		;C(AC) FAILED
 10616	037064	255 10 0 00 037066 		JOV	.+2		;TEST FOR SET CONDITION
 10617	037065	013 15 0 00 005202 		ER13	AC+1,SN		;FLAG DID NOT SET
 10618	037066	321 16 0 00 037054 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 10619
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 25
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0221

 10620			005300		SN=5300
 10621			000001			XX=1
 10622			000000			ZZ=0
 10623
 10624							;TEST 2 NEGATS-OVERFLOW NOT
 10625					F5300:	REPEAT	^D2,<
 10626					SN=SN+1
 10627						XX=XX+XX
 10628						ZZ=ZZ-1
 10629						JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 10630						HRROI	AC,-2		;SETUP MULTIPLIER
 10631						HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10632						IMUL	AC,AC-1		;MULTIPLY -2 X ZZ
 10633						JSP	AC+1,.+1
 10634						CAIE	AC,XX
 10635						ER3	AC,SN		;C(AC) FAILED
 10636						JOV	.+2		;TEST FOR SET NOT CONDITION
 10637						JRST	,.+2		;FLAG NOT SET
 10638						ER13	AC+1,SN		;FLAG IS SET
 10639						JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 10640					>
 10641
 10642			005301		SN=SN+1
 10643			000002			XX=XX+XX
 10644		777777	777777			ZZ=ZZ-1
 10645	037067	254 02 1 00 045266 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 10646	037070	561 14 0 00 777776 		HRROI	AC,-2		;SETUP MULTIPLIER
 10647	037071	561 13 0 00 777777 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10648	037072	220 14 0 00 000013 		IMUL	AC,AC-1		;MULTIPLY -2 X ZZ
 10649	037073	265 15 0 00 037074 		JSP	AC+1,.+1
 10650	037074	302 14 0 00 000002 		CAIE	AC,XX
 10651	037075	003 14 0 00 005301 		ER3	AC,SN		;C(AC) FAILED
 10652	037076	255 10 0 00 037100 		JOV	.+2		;TEST FOR SET NOT CONDITION
 10653	037077	254 00 0 00 037101 		JRST	,.+2		;FLAG NOT SET
 10654	037100	013 15 0 00 005301 		ER13	AC+1,SN		;FLAG IS SET
 10655	037101	321 16 0 00 037067 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 10656
 10657
 10658			005302		SN=SN+1
 10659			000004			XX=XX+XX
 10660		777777	777776			ZZ=ZZ-1
 10661	037102	254 02 1 00 045267 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 10662	037103	561 14 0 00 777776 		HRROI	AC,-2		;SETUP MULTIPLIER
 10663	037104	561 13 0 00 777776 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10664	037105	220 14 0 00 000013 		IMUL	AC,AC-1		;MULTIPLY -2 X ZZ
 10665	037106	265 15 0 00 037107 		JSP	AC+1,.+1
 10666	037107	302 14 0 00 000004 		CAIE	AC,XX
 10667	037110	003 14 0 00 005302 		ER3	AC,SN		;C(AC) FAILED
 10668	037111	255 10 0 00 037113 		JOV	.+2		;TEST FOR SET NOT CONDITION
 10669	037112	254 00 0 00 037114 		JRST	,.+2		;FLAG NOT SET
 10670	037113	013 15 0 00 005302 		ER13	AC+1,SN		;FLAG IS SET
 10671	037114	321 16 0 00 037102 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 10672
 10673					PAGE
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 25-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0222

 10674			005400		SN=5400
 10675		777777	777777			ZZ=-1
 10676
 10677							;TEST 2 NEGATS-OVERFLOW
 10678					F5400:	REPEAT	^D2,<
 10679					SN=SN+1
 10680						ZZ=ZZ-1
 10681						JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 10682						MOVSI	AC,400000	;SETUP MULTIPLIER
 10683						HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10684						IMUL	AC,AC-1		;MUL 400000 000000 X ZZ
 10685						JSP	AC+1,.+1
 10686						SKIPE	AC
 10687						ER3	AC,SN		;C(AC) FAILED
 10688						JOV	.+2		;TEST FOR SET CONDITION
 10689						ER13	AC+1,SN		;FLAG DID NOT SET
 10690						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 10691					>
 10692
 10693			005401		SN=SN+1
 10694		777777	777776			ZZ=ZZ-1
 10695	037115	254 02 1 00 045270 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 10696	037116	205 14 0 00 400000 		MOVSI	AC,400000	;SETUP MULTIPLIER
 10697	037117	561 13 0 00 777776 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10698	037120	220 14 0 00 000013 		IMUL	AC,AC-1		;MUL 400000 000000 X ZZ
 10699	037121	265 15 0 00 037122 		JSP	AC+1,.+1
 10700	037122	332 00 0 00 000014 		SKIPE	AC
 10701	037123	003 14 0 00 005401 		ER3	AC,SN		;C(AC) FAILED
 10702	037124	255 10 0 00 037126 		JOV	.+2		;TEST FOR SET CONDITION
 10703	037125	013 15 0 00 005401 		ER13	AC+1,SN		;FLAG DID NOT SET
 10704	037126	321 16 0 00 037115 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 10705
 10706
 10707			005402		SN=SN+1
 10708		777777	777775			ZZ=ZZ-1
 10709	037127	254 02 1 00 045271 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 10710	037130	205 14 0 00 400000 		MOVSI	AC,400000	;SETUP MULTIPLIER
 10711	037131	561 13 0 00 777775 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10712	037132	220 14 0 00 000013 		IMUL	AC,AC-1		;MUL 400000 000000 X ZZ
 10713	037133	265 15 0 00 037134 		JSP	AC+1,.+1
 10714	037134	332 00 0 00 000014 		SKIPE	AC
 10715	037135	003 14 0 00 005402 		ER3	AC,SN		;C(AC) FAILED
 10716	037136	255 10 0 00 037140 		JOV	.+2		;TEST FOR SET CONDITION
 10717	037137	013 15 0 00 005402 		ER13	AC+1,SN		;FLAG DID NOT SET
 10718	037140	321 16 0 00 037127 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 10719
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 26
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0223

 10720			005500		SN=5500
 10721		000001	000000			XX=1000000
 10722		777777	777777			ZZ=-1
 10723
 10724							;TEST UNLIKE,OVERFLOW NOT
 10725					F5500:	REPEAT	^D2,<
 10726					SN=SN+1
 10727						XX=XX/2
 10728						ZZ=ZZ-1
 10729						JRSTF	@[.+1]		;CLR ALL FLAGS,EXEC NEXT INST
 10730						MOVEI	AC,200000	;SETUP MULTIPLIER
 10731						HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10732						HRROI	AC-2,XX
 10733						IMUL	AC,AC-1		;MUL 000000 200000 X ZZ
 10734						JSP	AC+1,.+1
 10735						CAME	AC,AC-2
 10736						ER3	AC,SN		;C(AC) FAILED
 10737						JOV	.+2		;TEST FOR SET NOT COND
 10738						JRST	,.+2		;FLAG NOT SET
 10739						ER13	AC+1,SN		;FLAG IS SET
 10740						JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 10741					>
 10742
 10743			005501		SN=SN+1
 10744			400000			XX=XX/2
 10745		777777	777776			ZZ=ZZ-1
 10746	037141	254 02 1 00 045272 		JRSTF	@[.+1]		;CLR ALL FLAGS,EXEC NEXT INST
 10747	037142	201 14 0 00 200000 		MOVEI	AC,200000	;SETUP MULTIPLIER
 10748	037143	561 13 0 00 777776 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10749	037144	561 12 0 00 400000 		HRROI	AC-2,XX
 10750	037145	220 14 0 00 000013 		IMUL	AC,AC-1		;MUL 000000 200000 X ZZ
 10751	037146	265 15 0 00 037147 		JSP	AC+1,.+1
 10752	037147	312 14 0 00 000012 		CAME	AC,AC-2
 10753	037150	003 14 0 00 005501 		ER3	AC,SN		;C(AC) FAILED
 10754	037151	255 10 0 00 037153 		JOV	.+2		;TEST FOR SET NOT COND
 10755	037152	254 00 0 00 037154 		JRST	,.+2		;FLAG NOT SET
 10756	037153	013 15 0 00 005501 		ER13	AC+1,SN		;FLAG IS SET
 10757	037154	321 16 0 00 037141 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 10758
 10759
 10760			005502		SN=SN+1
 10761			200000			XX=XX/2
 10762		777777	777775			ZZ=ZZ-1
 10763	037155	254 02 1 00 045273 		JRSTF	@[.+1]		;CLR ALL FLAGS,EXEC NEXT INST
 10764	037156	201 14 0 00 200000 		MOVEI	AC,200000	;SETUP MULTIPLIER
 10765	037157	561 13 0 00 777775 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10766	037160	561 12 0 00 200000 		HRROI	AC-2,XX
 10767	037161	220 14 0 00 000013 		IMUL	AC,AC-1		;MUL 000000 200000 X ZZ
 10768	037162	265 15 0 00 037163 		JSP	AC+1,.+1
 10769	037163	312 14 0 00 000012 		CAME	AC,AC-2
 10770	037164	003 14 0 00 005502 		ER3	AC,SN		;C(AC) FAILED
 10771	037165	255 10 0 00 037167 		JOV	.+2		;TEST FOR SET NOT COND
 10772	037166	254 00 0 00 037170 		JRST	,.+2		;FLAG NOT SET
 10773	037167	013 15 0 00 005502 		ER13	AC+1,SN		;FLAG IS SET
 10774	037170	321 16 0 00 037155 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 26-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0224

 10775
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 27
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0225

 10776					;PLIER = -1
 10777					;PLICAND = 1,2
 10778
 10779			000011			AC=11
 10780						SAVEAC	(1,1)^
 10781	037171	201 13 0 00 037171 		MOVEI	AC+2,.		;SAVE TEST PC
 10782	037172	202 13 0 00 030051 		MOVEM	AC+2,TESTPC
 10783	037173	201 13 0 00 000013 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 10784	037174	202 13 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 10785
 10786			005600		SN=5600
 10787		000001	000000			XX=1000000
 10788			000000			ZZ=0
 10789
 10790					F5600:	REPEAT	^D2,<
 10791					SN=SN+1
 10792						XX=XX-1
 10793						ZZ=ZZ+ZZ
 10794						IFE	ZZ,<ZZ=1>
 10795						JRSTF	@[.+1]		;CLR ALL FLAGS,EXEC NEXT INST
 10796						SETO	AC,		;SETUP MULTIPLIER
 10797						HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10798						IMUL	AC,AC-1		;MULTIPLY -1 X ZZ
 10799						JSP	AC+1,.+1
 10800						CAIE	AC,XX
 10801						ER3	AC,SN		;C(AC) FAILED
 10802						JOV	.+2
 10803						JRST	,.+2
 10804						ER13	AC+1,SN
 10805						JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 10806					>
 10807
 10808			005601		SN=SN+1
 10809			777777			XX=XX-1
 10810			000000			ZZ=ZZ+ZZ
 10811			000001			IFE	ZZ,<ZZ=1>
 10812	037175	254 02 1 00 045274 		JRSTF	@[.+1]		;CLR ALL FLAGS,EXEC NEXT INST
 10813	037176	474 11 0 00 000000 		SETO	AC,		;SETUP MULTIPLIER
 10814	037177	561 10 0 00 000001 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10815	037200	220 11 0 00 000010 		IMUL	AC,AC-1		;MULTIPLY -1 X ZZ
 10816	037201	265 12 0 00 037202 		JSP	AC+1,.+1
 10817	037202	302 11 0 00 777777 		CAIE	AC,XX
 10818	037203	003 11 0 00 005601 		ER3	AC,SN		;C(AC) FAILED
 10819	037204	255 10 0 00 037206 		JOV	.+2
 10820	037205	254 00 0 00 037207 		JRST	,.+2
 10821	037206	013 12 0 00 005601 		ER13	AC+1,SN
 10822	037207	321 13 0 00 037175 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 10823
 10824
 10825			005602		SN=SN+1
 10826			777776			XX=XX-1
 10827			000002			ZZ=ZZ+ZZ
 10828						IFE	ZZ,<ZZ=1>
 10829	037210	254 02 1 00 045275 		JRSTF	@[.+1]		;CLR ALL FLAGS,EXEC NEXT INST
 10830	037211	474 11 0 00 000000 		SETO	AC,		;SETUP MULTIPLIER
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 27-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0226

 10831	037212	561 10 0 00 000002 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10832	037213	220 11 0 00 000010 		IMUL	AC,AC-1		;MULTIPLY -1 X ZZ
 10833	037214	265 12 0 00 037215 		JSP	AC+1,.+1
 10834	037215	302 11 0 00 777776 		CAIE	AC,XX
 10835	037216	003 11 0 00 005602 		ER3	AC,SN		;C(AC) FAILED
 10836	037217	255 10 0 00 037221 		JOV	.+2
 10837	037220	254 00 0 00 037222 		JRST	,.+2
 10838	037221	013 12 0 00 005602 		ER13	AC+1,SN
 10839	037222	321 13 0 00 037210 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 10840
 10841					PAGE
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 27-2
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0227

 10842					;MULTIPLIER = -1
 10843					;PLICAND = 200000 000000,200000 000010
 10844
 10845			000013			AC=13
 10846						SAVEAC	(1,1)^
 10847	037223	201 15 0 00 037223 		MOVEI	AC+2,.		;SAVE TEST PC
 10848	037224	202 15 0 00 030051 		MOVEM	AC+2,TESTPC
 10849	037225	201 15 0 00 000015 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 10850	037226	202 15 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 10851
 10852			005700		SN=5700
 10853			600010			XX=600010
 10854			177770			ZZ=177770
 10855
 10856					F5700:	REPEAT	^D2,<
 10857					SN=SN+1
 10858						XX=XX-10
 10859						ZZ=ZZ+10
 10860						JRSTF	@[.+1]		;CLR ALL FLAGS,EXEC NEXT INST
 10861						SETO	AC,		;SETUP MULTIPLIER
 10862						MOVSI	AC-1,ZZ		;SETUP MULTIPLICAND
 10863						MOVSI	AC-2,XX
 10864						IMUL	AC,AC-1		;MULTIPLY -1 X ZZ
 10865						JSP	AC+1,.+1
 10866						CAME	AC,AC-2
 10867						ER3	AC,SN		;C(AC) FAILED
 10868						JOV	.+2		;TEST FOR OVERFLOW
 10869						JRST	,.+2
 10870						ER13	AC+1,SN
 10871						JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 10872					>
 10873
 10874			005701		SN=SN+1
 10875			600000			XX=XX-10
 10876			200000			ZZ=ZZ+10
 10877	037227	254 02 1 00 045276 		JRSTF	@[.+1]		;CLR ALL FLAGS,EXEC NEXT INST
 10878	037230	474 13 0 00 000000 		SETO	AC,		;SETUP MULTIPLIER
 10879	037231	205 12 0 00 200000 		MOVSI	AC-1,ZZ		;SETUP MULTIPLICAND
 10880	037232	205 11 0 00 600000 		MOVSI	AC-2,XX
 10881	037233	220 13 0 00 000012 		IMUL	AC,AC-1		;MULTIPLY -1 X ZZ
 10882	037234	265 14 0 00 037235 		JSP	AC+1,.+1
 10883	037235	312 13 0 00 000011 		CAME	AC,AC-2
 10884	037236	003 13 0 00 005701 		ER3	AC,SN		;C(AC) FAILED
 10885	037237	255 10 0 00 037241 		JOV	.+2		;TEST FOR OVERFLOW
 10886	037240	254 00 0 00 037242 		JRST	,.+2
 10887	037241	013 14 0 00 005701 		ER13	AC+1,SN
 10888	037242	321 15 0 00 037227 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 10889
 10890
 10891			005702		SN=SN+1
 10892			577770			XX=XX-10
 10893			200010			ZZ=ZZ+10
 10894	037243	254 02 1 00 045277 		JRSTF	@[.+1]		;CLR ALL FLAGS,EXEC NEXT INST
 10895	037244	474 13 0 00 000000 		SETO	AC,		;SETUP MULTIPLIER
 10896	037245	205 12 0 00 200010 		MOVSI	AC-1,ZZ		;SETUP MULTIPLICAND
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 27-3
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0228

 10897	037246	205 11 0 00 577770 		MOVSI	AC-2,XX
 10898	037247	220 13 0 00 000012 		IMUL	AC,AC-1		;MULTIPLY -1 X ZZ
 10899	037250	265 14 0 00 037251 		JSP	AC+1,.+1
 10900	037251	312 13 0 00 000011 		CAME	AC,AC-2
 10901	037252	003 13 0 00 005702 		ER3	AC,SN		;C(AC) FAILED
 10902	037253	255 10 0 00 037255 		JOV	.+2		;TEST FOR OVERFLOW
 10903	037254	254 00 0 00 037256 		JRST	,.+2
 10904	037255	013 14 0 00 005702 		ER13	AC+1,SN
 10905	037256	321 15 0 00 037243 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 10906
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 28
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0229

 10907					;MULTIPLIER = 0,1
 10908					;MULTIPLICAND = 400000 000000
 10909
 10910			000012			AC=12
 10911						SAVEAC	(1,1)^
 10912	037257	201 14 0 00 037257 		MOVEI	AC+2,.		;SAVE TEST PC
 10913	037260	202 14 0 00 030051 		MOVEM	AC+2,TESTPC
 10914	037261	201 14 0 00 000014 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 10915	037262	202 14 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 10916
 10917			006000		SN=6000
 10918			100000			XX=100000
 10919		777777	777777			ZZ=-1
 10920
 10921					F6000:	REPEAT	^D2,<
 10922					SN=SN+1
 10923						XX=XX+XX
 10924						ZZ=ZZ+1
 10925						JRSTF	@[.+1]		;CLR ALL FLAGS,EXEC NEXT INST
 10926						MOVEI	AC,ZZ		;SETUP MULTIPLIER
 10927						MOVSI	AC-1,400000	;SETUP MULTIPLICAND
 10928						MOVSI	AC-2,XX&400000
 10929						IMUL	AC,AC-1		;MUL ZZ X 400000 000000
 10930						JSP	AC+1,.+1
 10931						CAME	AC,AC-2
 10932						ER3	AC,SN		;C(AC) FAILED
 10933						JOV	.+2		;TEST FOR OVERFLOW
 10934						JRST	,.+2		;BOTH CLEARS ASSERTED
 10935						ER13	AC+1,SN		;EITHER CLEAR FAILED
 10936						JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 10937					>
 10938
 10939			006001		SN=SN+1
 10940			200000			XX=XX+XX
 10941			000000			ZZ=ZZ+1
 10942	037263	254 02 1 00 045300 		JRSTF	@[.+1]		;CLR ALL FLAGS,EXEC NEXT INST
 10943	037264	201 12 0 00 000000 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
 10944	037265	205 11 0 00 400000 		MOVSI	AC-1,400000	;SETUP MULTIPLICAND
 10945	037266	205 10 0 00 000000 		MOVSI	AC-2,XX&400000
 10946	037267	220 12 0 00 000011 		IMUL	AC,AC-1		;MUL ZZ X 400000 000000
 10947	037270	265 13 0 00 037271 		JSP	AC+1,.+1
 10948	037271	312 12 0 00 000010 		CAME	AC,AC-2
 10949	037272	003 12 0 00 006001 		ER3	AC,SN		;C(AC) FAILED
 10950	037273	255 10 0 00 037275 		JOV	.+2		;TEST FOR OVERFLOW
 10951	037274	254 00 0 00 037276 		JRST	,.+2		;BOTH CLEARS ASSERTED
 10952	037275	013 13 0 00 006001 		ER13	AC+1,SN		;EITHER CLEAR FAILED
 10953	037276	321 14 0 00 037263 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 10954
 10955
 10956			006002		SN=SN+1
 10957			400000			XX=XX+XX
 10958			000001			ZZ=ZZ+1
 10959	037277	254 02 1 00 045301 		JRSTF	@[.+1]		;CLR ALL FLAGS,EXEC NEXT INST
 10960	037300	201 12 0 00 000001 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
 10961	037301	205 11 0 00 400000 		MOVSI	AC-1,400000	;SETUP MULTIPLICAND
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 28-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0230

 10962	037302	205 10 0 00 400000 		MOVSI	AC-2,XX&400000
 10963	037303	220 12 0 00 000011 		IMUL	AC,AC-1		;MUL ZZ X 400000 000000
 10964	037304	265 13 0 00 037305 		JSP	AC+1,.+1
 10965	037305	312 12 0 00 000010 		CAME	AC,AC-2
 10966	037306	003 12 0 00 006002 		ER3	AC,SN		;C(AC) FAILED
 10967	037307	255 10 0 00 037311 		JOV	.+2		;TEST FOR OVERFLOW
 10968	037310	254 00 0 00 037312 		JRST	,.+2		;BOTH CLEARS ASSERTED
 10969	037311	013 13 0 00 006002 		ER13	AC+1,SN		;EITHER CLEAR FAILED
 10970	037312	321 14 0 00 037277 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 10971
 10972					PAGE
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 28-2
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0231

 10973	037313	254 02 1 00 045302 	F6010:	JRSTF	@[.+1]		;CLEAR ALL FLAGS
 10974	037314	205 12 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
 10975	037315	201 11 0 00 000002 		MOVEI	AC-1,2		;SETUP MULTIPLICAND
 10976	037316	223 12 0 00 000011 		IMULB	AC,AC-1	
 10977	037317	265 13 0 00 037320 		JSP	AC+1,.+1	;SAVE FLAGS
 10978	037320	302 12 0 00 000000 		CAIE	AC,0
 10979	037321	003 12 0 00 006011 		ER3	AC,6011		;C(AC) FAILED
 10980	037322	302 11 0 00 000000 		CAIE	AC-1,0
 10981	037323	005 11 0 00 006011 		ER5	AC-1,6011	;C(E) FAILED
 10982	037324	255 10 0 00 037326 		JOV	.+2
 10983	037325	013 13 0 00 006011 		ER13	AC+1,6011	;AROV DID NOT SET
 10984	037326	321 14 0 00 037313 		JUMPL	AC+2,F6010	;LOOP ON ERROR SWITCH
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 29
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0232

 10985					;TEST IMUL-IMMEDIATE MODE
 10986					;TEST ABILITY TO MULTIPLY WITH THE
 10987					;EFFECTIVE ADDRESS AS THE MULTIPLICAND
 10988					;THE PROD WILL EQUAL THE EFFECTIVE
 10989					;ADDRESS
 10990					;A FAILURE INDICATES MULTIPLYING
 10991					;BY C(E) VICE E
 10992
 10993			000010			AC=10
 10994						SAVEAC	(1,1)^
 10995	037327	201 12 0 00 037327 		MOVEI	AC+2,.		;SAVE TEST PC
 10996	037330	202 12 0 00 030051 		MOVEM	AC+2,TESTPC
 10997	037331	201 12 0 00 000012 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 10998	037332	202 12 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 10999	037333	254 02 1 00 045303 		JRSTF	@[.+1]		;CLEAR ALL FLAGS
 11000
 11001			006100		SN=6100
 11002			000001			ZZ=1
 11003
 11004							;TEST IMMEDIATE MODE
 11005					F6100:	REPEAT	^D2,<
 11006					SN=SN+1
 11007						ZZ=ZZ+ZZ
 11008						MOVEI	AC-2,AC-1	;SETUP FOR COMPARISON
 11009						MOVEI	AC,1		;SETUP MULTIPLIER
 11010						MOVEI	AC-1,ZZ		;SETUP AC-1
 11011						IMULI	AC,AC-1		;EFFECTIVE ADDRESS=7
 11012						CAME	AC,AC-2		;TEST PROD = ZZ
 11013						ER3	AC,SN		;MULTIPLIED BY C(E) VICE E
 11014						JUMPL	AC+2,.-6	;LOOP ON ERROR SWITCH
 11015					>
 11016
 11017			006101		SN=SN+1
 11018			000002			ZZ=ZZ+ZZ
 11019	037334	201 06 0 00 000007 		MOVEI	AC-2,AC-1	;SETUP FOR COMPARISON
 11020	037335	201 10 0 00 000001 		MOVEI	AC,1		;SETUP MULTIPLIER
 11021	037336	201 07 0 00 000002 		MOVEI	AC-1,ZZ		;SETUP AC-1
 11022	037337	221 10 0 00 000007 		IMULI	AC,AC-1		;EFFECTIVE ADDRESS=7
 11023	037340	312 10 0 00 000006 		CAME	AC,AC-2		;TEST PROD = ZZ
 11024	037341	003 10 0 00 006101 		ER3	AC,SN		;MULTIPLIED BY C(E) VICE E
 11025	037342	321 12 0 00 037334 		JUMPL	AC+2,.-6	;LOOP ON ERROR SWITCH
 11026
 11027
 11028			006102		SN=SN+1
 11029			000004			ZZ=ZZ+ZZ
 11030	037343	201 06 0 00 000007 		MOVEI	AC-2,AC-1	;SETUP FOR COMPARISON
 11031	037344	201 10 0 00 000001 		MOVEI	AC,1		;SETUP MULTIPLIER
 11032	037345	201 07 0 00 000004 		MOVEI	AC-1,ZZ		;SETUP AC-1
 11033	037346	221 10 0 00 000007 		IMULI	AC,AC-1		;EFFECTIVE ADDRESS=7
 11034	037347	312 10 0 00 000006 		CAME	AC,AC-2		;TEST PROD = ZZ
 11035	037350	003 10 0 00 006102 		ER3	AC,SN		;MULTIPLIED BY C(E) VICE E
 11036	037351	321 12 0 00 037343 		JUMPL	AC+2,.-6	;LOOP ON ERROR SWITCH
 11037
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 30
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0233

 11038					;TEST IMUL-MEMORY MODE
 11039
 11040			000007			AC=7
 11041						SAVEAC	(1,1)^
 11042	037352	201 11 0 00 037352 		MOVEI	AC+2,.		;SAVE TEST PC
 11043	037353	202 11 0 00 030051 		MOVEM	AC+2,TESTPC
 11044	037354	201 11 0 00 000011 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11045	037355	202 11 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11046
 11047			006300		SN=6300
 11048			000001			ZZ=1
 11049
 11050					F6300:	REPEAT	^D2,<
 11051					SN=SN+1
 11052						ZZ=ZZ+ZZ
 11053						MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 11054						MOVEI	AC,ZZ		;SETUP MULTIPLIER
 11055						MOVEI	AC-1,7		;SETUP MULTIPLICAND
 11056						IMULM	AC,AC-1		;MULTIPLY ZZ X 7
 11057						CAME	AC,AC-2		;TEST FOR PRODUCT IN AC
 11058						ER3	AC,SN
 11059						CAIE	AC-1,ZZ*7	;TEST FOR PROD IN E
 11060						ER5	AC-1,SN
 11061						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11062					>
 11063
 11064			006301		SN=SN+1
 11065			000002			ZZ=ZZ+ZZ
 11066	037356	201 05 0 00 000002 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 11067	037357	201 07 0 00 000002 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
 11068	037360	201 06 0 00 000007 		MOVEI	AC-1,7		;SETUP MULTIPLICAND
 11069	037361	222 07 0 00 000006 		IMULM	AC,AC-1		;MULTIPLY ZZ X 7
 11070	037362	312 07 0 00 000005 		CAME	AC,AC-2		;TEST FOR PRODUCT IN AC
 11071	037363	003 07 0 00 006301 		ER3	AC,SN
 11072	037364	302 06 0 00 000016 		CAIE	AC-1,ZZ*7	;TEST FOR PROD IN E
 11073	037365	005 06 0 00 006301 		ER5	AC-1,SN
 11074	037366	321 11 0 00 037356 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11075
 11076
 11077			006302		SN=SN+1
 11078			000004			ZZ=ZZ+ZZ
 11079	037367	201 05 0 00 000004 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 11080	037370	201 07 0 00 000004 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
 11081	037371	201 06 0 00 000007 		MOVEI	AC-1,7		;SETUP MULTIPLICAND
 11082	037372	222 07 0 00 000006 		IMULM	AC,AC-1		;MULTIPLY ZZ X 7
 11083	037373	312 07 0 00 000005 		CAME	AC,AC-2		;TEST FOR PRODUCT IN AC
 11084	037374	003 07 0 00 006302 		ER3	AC,SN
 11085	037375	302 06 0 00 000034 		CAIE	AC-1,ZZ*7	;TEST FOR PROD IN E
 11086	037376	005 06 0 00 006302 		ER5	AC-1,SN
 11087	037377	321 11 0 00 037367 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11088
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 31
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0234

 11089					;TEST IMUL-BOTH MODE
 11090					;TEST ABILITY TO STORE PRODUCT IN AC,E
 11091					;AC, AC-1 ARE COMPARED FOLLOWING
 11092					;MULTIPLY
 11093					;AN ERROR WILL OCCUR IF AC DIFFERS FROM
 11094					;AC-1
 11095			000006			AC=6
 11096						SAVEAC	(1,1)^
 11097	037400	201 10 0 00 037400 		MOVEI	AC+2,.		;SAVE TEST PC
 11098	037401	202 10 0 00 030051 		MOVEM	AC+2,TESTPC
 11099	037402	201 10 0 00 000010 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11100	037403	202 10 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11101			006500		SN=6500
 11102			000004			ZZ=4
 11103							;TEST STORING AC,E
 11104					F6500:	REPEAT	^D2,<
 11105					SN=SN+1
 11106						ZZ=ZZ+ZZ
 11107						MOVEI	AC,ZZ		;SETUP MULTIPLIER
 11108						MOVEI	AC-1,2		;SETUP MULTIPLICAND
 11109						IMULB	AC,AC-1		;MULTIPLY ZZ X 2
 11110						CAME	AC,AC-1		;COMPARE AC,AC-1
 11111						ER3	AC,SN
 11112						JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 11113					>
 11114
 11115			006501		SN=SN+1
 11116			000010			ZZ=ZZ+ZZ
 11117	037404	201 06 0 00 000010 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
 11118	037405	201 05 0 00 000002 		MOVEI	AC-1,2		;SETUP MULTIPLICAND
 11119	037406	223 06 0 00 000005 		IMULB	AC,AC-1		;MULTIPLY ZZ X 2
 11120	037407	312 06 0 00 000005 		CAME	AC,AC-1		;COMPARE AC,AC-1
 11121	037410	003 06 0 00 006501 		ER3	AC,SN
 11122	037411	321 10 0 00 037404 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 11123
 11124
 11125			006502		SN=SN+1
 11126			000020			ZZ=ZZ+ZZ
 11127	037412	201 06 0 00 000020 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
 11128	037413	201 05 0 00 000002 		MOVEI	AC-1,2		;SETUP MULTIPLICAND
 11129	037414	223 06 0 00 000005 		IMULB	AC,AC-1		;MULTIPLY ZZ X 2
 11130	037415	312 06 0 00 000005 		CAME	AC,AC-1		;COMPARE AC,AC-1
 11131	037416	003 06 0 00 006502 		ER3	AC,SN
 11132	037417	321 10 0 00 037412 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 11133
 11134
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 32
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0235

 11135					SUBTTL	DIAGNOSTIC SECTION - INTEGER DIVIDE TEST
 11136
 11137					;TEST FETCH,STORE AND DECODE
 11138					;TEST ABILITY TO FETCH CONTENTS OF E
 11139					;TEST ABILITY TO STORE AC,AC+1
 11140					;DVND = 000000 777777,000000 777776
 11141					;DVSR = 000000 777777,000000 777776
 11142					;DVND = 000000 3400000
 11143					;DVSR = 2
 11144
 11145			000007			AC=7
 11146						SAVEAC	(1,1)^
 11147	037420	201 11 0 00 037420 		MOVEI	AC+2,.		;SAVE TEST PC
 11148	037421	202 11 0 00 030051 		MOVEM	AC+2,TESTPC
 11149	037422	201 11 0 00 000011 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11150	037423	202 11 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11151
 11152			006600		SN=6600
 11153			000000			ZZ=0
 11154
 11155							;TEST SAC,SAC2 FAILING
 11156					F6600:	REPEAT	^D2,<
 11157					SN=SN+1
 11158						ZZ=<ZZ+ZZ>&777777
 11159						IFE	ZZ,<ZZ=777777>
 11160						JRSTF	@[.+1]		;CLR ALL FLGS,EXEC NEXT INST
 11161						MOVEI	AC,ZZ		;SETUP DVND
 11162						MOVEI	AC+1,ZZ		;SETUP DVSR
 11163						IDIV	AC,AC+1		;DIVIDE ZZ BY ZZ
 11164						JSP	AC-3,.+1
 11165						JOV	.+2		;TEST FOR OVFL
 11166						JRST	.+2
 11167						ER13	AC-3,SN
 11168						CAIE	AC,1		;TEST AC FOR QUOTIENT = 1
 11169						ER3	AC,SN
 11170						CAIE	AC+1,0		;TEST AC+1 FOR REMAINDER = 0
 11171						ER4	AC+1,SN
 11172						JUMPL	AC+2,.-^D13	;LOOP ON ERROR SWITCH
 11173						JRSTF	@[.+1]		;CLEAR ALL FLAGS
 11174					>
 11175
 11176			006601		SN=SN+1
 11177			000000			ZZ=<ZZ+ZZ>&777777
 11178			777777			IFE	ZZ,<ZZ=777777>
 11179	037424	254 02 1 00 045304 		JRSTF	@[.+1]		;CLR ALL FLGS,EXEC NEXT INST
 11180	037425	201 07 0 00 777777 		MOVEI	AC,ZZ		;SETUP DVND
 11181	037426	201 10 0 00 777777 		MOVEI	AC+1,ZZ		;SETUP DVSR
 11182	037427	230 07 0 00 000010 		IDIV	AC,AC+1		;DIVIDE ZZ BY ZZ
 11183	037430	265 04 0 00 037431 		JSP	AC-3,.+1
 11184	037431	255 10 0 00 037433 		JOV	.+2		;TEST FOR OVFL
 11185	037432	254 00 0 00 037434 		JRST	.+2
 11186	037433	013 04 0 00 006601 		ER13	AC-3,SN
 11187	037434	302 07 0 00 000001 		CAIE	AC,1		;TEST AC FOR QUOTIENT = 1
 11188	037435	003 07 0 00 006601 		ER3	AC,SN
 11189	037436	302 10 0 00 000000 		CAIE	AC+1,0		;TEST AC+1 FOR REMAINDER = 0
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 32-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0236

 11190	037437	004 10 0 00 006601 		ER4	AC+1,SN
 11191	037440	321 11 0 00 037423 		JUMPL	AC+2,.-^D13	;LOOP ON ERROR SWITCH
 11192	037441	254 02 1 00 045305 		JRSTF	@[.+1]		;CLEAR ALL FLAGS
 11193
 11194
 11195			006602		SN=SN+1
 11196			777776			ZZ=<ZZ+ZZ>&777777
 11197						IFE	ZZ,<ZZ=777777>
 11198	037442	254 02 1 00 045306 		JRSTF	@[.+1]		;CLR ALL FLGS,EXEC NEXT INST
 11199	037443	201 07 0 00 777776 		MOVEI	AC,ZZ		;SETUP DVND
 11200	037444	201 10 0 00 777776 		MOVEI	AC+1,ZZ		;SETUP DVSR
 11201	037445	230 07 0 00 000010 		IDIV	AC,AC+1		;DIVIDE ZZ BY ZZ
 11202	037446	265 04 0 00 037447 		JSP	AC-3,.+1
 11203	037447	255 10 0 00 037451 		JOV	.+2		;TEST FOR OVFL
 11204	037450	254 00 0 00 037452 		JRST	.+2
 11205	037451	013 04 0 00 006602 		ER13	AC-3,SN
 11206	037452	302 07 0 00 000001 		CAIE	AC,1		;TEST AC FOR QUOTIENT = 1
 11207	037453	003 07 0 00 006602 		ER3	AC,SN
 11208	037454	302 10 0 00 000000 		CAIE	AC+1,0		;TEST AC+1 FOR REMAINDER = 0
 11209	037455	004 10 0 00 006602 		ER4	AC+1,SN
 11210	037456	321 11 0 00 037441 		JUMPL	AC+2,.-^D13	;LOOP ON ERROR SWITCH
 11211	037457	254 02 1 00 045307 		JRSTF	@[.+1]		;CLEAR ALL FLAGS
 11212
 11213					PAGE
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 32-2
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0237

 11214									;TEST FCE FAILING
 11215	037460	201 05 0 00 160000 	F6700:	MOVEI	AC-2,160000	;SETUP FOR COMPARISON
 11216	037461	201 07 0 00 340000 		MOVEI	AC,340000	;SETUP DVND
 11217	037462	201 10 0 00 000002 		MOVEI	AC+1,2		;SETUP DVSR
 11218	037463	230 07 0 00 000010 		IDIV	AC,AC+1		;DIV 000000 340000 BY 2
 11219	037464	312 07 0 00 000005 		CAME	AC,AC-2		;TEST QUOT = 000000 020000
 11220	037465	003 07 0 00 006701 		ER3	AC,6701
 11221	037466	321 11 0 00 037460 		JUMPL	AC+2,F6700	;LOOP ON ERROR SWITCH
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 33
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0238

 11222					;DVND = 4,10
 11223					;DVSR = 2
 11224					;FAILURE RESULTS IN A QUOT = 0,
 11225					;A REMD = DVND (SIGN IS NEGATIVE)
 11226
 11227			000007			AC=7
 11228						SAVEAC	(1,1)^
 11229	037467	201 11 0 00 037467 		MOVEI	AC+2,.		;SAVE TEST PC
 11230	037470	202 11 0 00 030051 		MOVEM	AC+2,TESTPC
 11231	037471	201 11 0 00 000011 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11232	037472	202 11 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11233
 11234			007000		SN=7000
 11235			000002			ZZ=2
 11236					F7000:	REPEAT	^D2,<
 11237					SN=SN+1
 11238						ZZ=ZZ+ZZ
 11239						MOVEI	AC,ZZ		;SETUP DVND
 11240						MOVEI	AC-1,2		;SETUP DVSR
 11241						IDIV	AC,AC-1		;DIVIDE ZZ BY 2
 11242						SKIPE	AC+1		;TEST REMD
 11243						ER4	AC+1,SN
 11244						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 11245					>
 11246
 11247			007001		SN=SN+1
 11248			000004			ZZ=ZZ+ZZ
 11249	037473	201 07 0 00 000004 		MOVEI	AC,ZZ		;SETUP DVND
 11250	037474	201 06 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 11251	037475	230 07 0 00 000006 		IDIV	AC,AC-1		;DIVIDE ZZ BY 2
 11252	037476	332 00 0 00 000010 		SKIPE	AC+1		;TEST REMD
 11253	037477	004 10 0 00 007001 		ER4	AC+1,SN
 11254	037500	321 11 0 00 037471 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 11255
 11256
 11257			007002		SN=SN+1
 11258			000010			ZZ=ZZ+ZZ
 11259	037501	201 07 0 00 000010 		MOVEI	AC,ZZ		;SETUP DVND
 11260	037502	201 06 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 11261	037503	230 07 0 00 000006 		IDIV	AC,AC-1		;DIVIDE ZZ BY 2
 11262	037504	332 00 0 00 000010 		SKIPE	AC+1		;TEST REMD
 11263	037505	004 10 0 00 007002 		ER4	AC+1,SN
 11264	037506	321 11 0 00 037477 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 11265
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 34
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0239

 11266					;TEST AROV SET
 11267					;DVND = 4,10
 11268					;DVSR = 0 (DIVIDE CHECK CONDITION)
 11269
 11270			000014			AC=14
 11271						SAVEAC	(1,1)^
 11272	037507	201 16 0 00 037507 		MOVEI	AC+2,.		;SAVE TEST PC
 11273	037510	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
 11274	037511	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11275	037512	202 16 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11276
 11277			007100		SN=7100
 11278			000002			ZZ=2
 11279
 11280							;TEST OVERFLOW COND
 11281					F7100:	REPEAT	^D2,<
 11282					SN=SN+1
 11283						ZZ=ZZ+ZZ
 11284						JRSTF	@[.+1]		;CLR ALL FLGS,EXEC NEXT INST
 11285						MOVEI	AC,ZZ		;SETUP DVND
 11286						MOVEI	AC+1,ZZ
 11287						SETZ	AC-1,		;SETUP DVSR
 11288						IDIV	AC,AC-1		;DIVIDE (ZZ) BY 0
 11289						JSP	AC-3,.+1
 11290						CAIE	AC,ZZ
 11291						ER3	AC,SN		;C(AC) WAS CLOBBERED
 11292						CAIE	AC+1,ZZ
 11293						ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 11294						JOV	.+2		;TEST FOR OVERFLOW
 11295						ER13	AC-3,.+1	;AROV FAILED TO SET
 11296						TLNN	AC-3,DCK
 11297						ER13	AC-3,SN		;DCK NOT SET
 11298						JUMPL	AC+2,.-^D14	;LOOP ON ERROR SWITCH
 11299					>
 11300
 11301			007101		SN=SN+1
 11302			000004			ZZ=ZZ+ZZ
 11303	037513	254 02 1 00 045310 		JRSTF	@[.+1]		;CLR ALL FLGS,EXEC NEXT INST
 11304	037514	201 14 0 00 000004 		MOVEI	AC,ZZ		;SETUP DVND
 11305	037515	201 15 0 00 000004 		MOVEI	AC+1,ZZ
 11306	037516	400 13 0 00 000000 		SETZ	AC-1,		;SETUP DVSR
 11307	037517	230 14 0 00 000013 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY 0
 11308	037520	265 11 0 00 037521 		JSP	AC-3,.+1
 11309	037521	302 14 0 00 000004 		CAIE	AC,ZZ
 11310	037522	003 14 0 00 007101 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 11311	037523	302 15 0 00 000004 		CAIE	AC+1,ZZ
 11312	037524	004 15 0 00 007101 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 11313	037525	255 10 0 00 037527 		JOV	.+2		;TEST FOR OVERFLOW
 11314	037526	013 11 0 00 037527 		ER13	AC-3,.+1	;AROV FAILED TO SET
 11315	037527	607 11 0 00 000040 		TLNN	AC-3,DCK
 11316	037530	013 11 0 00 007101 		ER13	AC-3,SN		;DCK NOT SET
 11317	037531	321 16 0 00 037513 		JUMPL	AC+2,.-^D14	;LOOP ON ERROR SWITCH
 11318
 11319
 11320			007102		SN=SN+1
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 34-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0240

 11321			000010			ZZ=ZZ+ZZ
 11322	037532	254 02 1 00 045311 		JRSTF	@[.+1]		;CLR ALL FLGS,EXEC NEXT INST
 11323	037533	201 14 0 00 000010 		MOVEI	AC,ZZ		;SETUP DVND
 11324	037534	201 15 0 00 000010 		MOVEI	AC+1,ZZ
 11325	037535	400 13 0 00 000000 		SETZ	AC-1,		;SETUP DVSR
 11326	037536	230 14 0 00 000013 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY 0
 11327	037537	265 11 0 00 037540 		JSP	AC-3,.+1
 11328	037540	302 14 0 00 000010 		CAIE	AC,ZZ
 11329	037541	003 14 0 00 007102 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 11330	037542	302 15 0 00 000010 		CAIE	AC+1,ZZ
 11331	037543	004 15 0 00 007102 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 11332	037544	255 10 0 00 037546 		JOV	.+2		;TEST FOR OVERFLOW
 11333	037545	013 11 0 00 037546 		ER13	AC-3,.+1	;AROV FAILED TO SET
 11334	037546	607 11 0 00 000040 		TLNN	AC-3,DCK
 11335	037547	013 11 0 00 007102 		ER13	AC-3,SN		;DCK NOT SET
 11336	037550	321 16 0 00 037532 		JUMPL	AC+2,.-^D14	;LOOP ON ERROR SWITCH
 11337
 11338					PAGE
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 34-2
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0241

 11339					;DVND = 4,10
 11340					;DVSR = 4,10
 11341
 11342			000011			AC=11
 11343						SAVEAC	(1,1)^
 11344	037551	201 13 0 00 037551 		MOVEI	AC+2,.		;SAVE TEST PC
 11345	037552	202 13 0 00 030051 		MOVEM	AC+2,TESTPC
 11346	037553	201 13 0 00 000013 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11347	037554	202 13 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11348
 11349			007400		SN=7400
 11350			000002			ZZ=2
 11351
 11352					F7400:	REPEAT	^D2,<
 11353					SN=SN+1
 11354						ZZ=ZZ+ZZ
 11355						JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 11356						MOVEI	AC,ZZ		;SETUP DVND
 11357						MOVEI	AC-1,ZZ		;SETUP DVSR
 11358						IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 11359						JSP	AC-2,.+1
 11360						CAIE	AC,1
 11361						ER3	AC,SN		;C(AC) FAILED
 11362						CAIE	AC+1,0
 11363						ER4	AC+1,SN		;C(AC+1) FAILED
 11364						JOV	.+2		;TEST FOR OVERFLOW
 11365						JRST	,.+2
 11366						ER13	AC-2,SN
 11367						JUMPL	AC+2,.-^D12
 11368					>
 11369
 11370			007401		SN=SN+1
 11371			000004			ZZ=ZZ+ZZ
 11372	037555	254 02 1 00 045312 		JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 11373	037556	201 11 0 00 000004 		MOVEI	AC,ZZ		;SETUP DVND
 11374	037557	201 10 0 00 000004 		MOVEI	AC-1,ZZ		;SETUP DVSR
 11375	037560	230 11 0 00 000010 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 11376	037561	265 07 0 00 037562 		JSP	AC-2,.+1
 11377	037562	302 11 0 00 000001 		CAIE	AC,1
 11378	037563	003 11 0 00 007401 		ER3	AC,SN		;C(AC) FAILED
 11379	037564	302 12 0 00 000000 		CAIE	AC+1,0
 11380	037565	004 12 0 00 007401 		ER4	AC+1,SN		;C(AC+1) FAILED
 11381	037566	255 10 0 00 037570 		JOV	.+2		;TEST FOR OVERFLOW
 11382	037567	254 00 0 00 037571 		JRST	,.+2
 11383	037570	013 07 0 00 007401 		ER13	AC-2,SN
 11384	037571	321 13 0 00 037555 		JUMPL	AC+2,.-^D12
 11385
 11386
 11387			007402		SN=SN+1
 11388			000010			ZZ=ZZ+ZZ
 11389	037572	254 02 1 00 045313 		JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 11390	037573	201 11 0 00 000010 		MOVEI	AC,ZZ		;SETUP DVND
 11391	037574	201 10 0 00 000010 		MOVEI	AC-1,ZZ		;SETUP DVSR
 11392	037575	230 11 0 00 000010 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 11393	037576	265 07 0 00 037577 		JSP	AC-2,.+1
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 34-3
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0242

 11394	037577	302 11 0 00 000001 		CAIE	AC,1
 11395	037600	003 11 0 00 007402 		ER3	AC,SN		;C(AC) FAILED
 11396	037601	302 12 0 00 000000 		CAIE	AC+1,0
 11397	037602	004 12 0 00 007402 		ER4	AC+1,SN		;C(AC+1) FAILED
 11398	037603	255 10 0 00 037605 		JOV	.+2		;TEST FOR OVERFLOW
 11399	037604	254 00 0 00 037606 		JRST	,.+2
 11400	037605	013 07 0 00 007402 		ER13	AC-2,SN
 11401	037606	321 13 0 00 037572 		JUMPL	AC+2,.-^D12
 11402
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 35
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0243

 11403					;DVND = 2,4
 11404					;DVSR = 400000 000000
 11405
 11406			000007			AC=7
 11407						SAVEAC	(1,1)^
 11408	037607	201 11 0 00 037607 		MOVEI	AC+2,.		;SAVE TEST PC
 11409	037610	202 11 0 00 030051 		MOVEM	AC+2,TESTPC
 11410	037611	201 11 0 00 000011 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11411	037612	202 11 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11412
 11413			007500		SN=7500
 11414			000001			ZZ=1
 11415
 11416					F7500:	REPEAT	^D2,<
 11417					SN=SN+1
 11418						ZZ=ZZ+ZZ
 11419						JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 11420						MOVEI	AC,ZZ		;SETUP DVND
 11421						MOVSI	AC-1,400000	;SETUP DVSR
 11422						IDIV	AC,AC-1		;DIVIDE (ZZ) BY (-N)
 11423						JSP	AC-2,.+1
 11424						CAIE	AC,0
 11425						ER3	AC,SN		;C(AC) WAS CLOBBERED
 11426						CAIE	AC+1,ZZ
 11427						ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 11428						JOV	.+2		;TEST FOR OVERFLOW
 11429						JRST	,.+2
 11430						ER13	AC-2,SN
 11431						JUMPL	AC+2,.-^D12
 11432					>
 11433
 11434			007501		SN=SN+1
 11435			000002			ZZ=ZZ+ZZ
 11436	037613	254 02 1 00 045314 		JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 11437	037614	201 07 0 00 000002 		MOVEI	AC,ZZ		;SETUP DVND
 11438	037615	205 06 0 00 400000 		MOVSI	AC-1,400000	;SETUP DVSR
 11439	037616	230 07 0 00 000006 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY (-N)
 11440	037617	265 05 0 00 037620 		JSP	AC-2,.+1
 11441	037620	302 07 0 00 000000 		CAIE	AC,0
 11442	037621	003 07 0 00 007501 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 11443	037622	302 10 0 00 000002 		CAIE	AC+1,ZZ
 11444	037623	004 10 0 00 007501 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 11445	037624	255 10 0 00 037626 		JOV	.+2		;TEST FOR OVERFLOW
 11446	037625	254 00 0 00 037627 		JRST	,.+2
 11447	037626	013 05 0 00 007501 		ER13	AC-2,SN
 11448	037627	321 11 0 00 037613 		JUMPL	AC+2,.-^D12
 11449
 11450
 11451			007502		SN=SN+1
 11452			000004			ZZ=ZZ+ZZ
 11453	037630	254 02 1 00 045315 		JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 11454	037631	201 07 0 00 000004 		MOVEI	AC,ZZ		;SETUP DVND
 11455	037632	205 06 0 00 400000 		MOVSI	AC-1,400000	;SETUP DVSR
 11456	037633	230 07 0 00 000006 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY (-N)
 11457	037634	265 05 0 00 037635 		JSP	AC-2,.+1
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 35-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0244

 11458	037635	302 07 0 00 000000 		CAIE	AC,0
 11459	037636	003 07 0 00 007502 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 11460	037637	302 10 0 00 000004 		CAIE	AC+1,ZZ
 11461	037640	004 10 0 00 007502 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 11462	037641	255 10 0 00 037643 		JOV	.+2		;TEST FOR OVERFLOW
 11463	037642	254 00 0 00 037644 		JRST	,.+2
 11464	037643	013 05 0 00 007502 		ER13	AC-2,SN
 11465	037644	321 11 0 00 037630 		JUMPL	AC+2,.-^D12
 11466
 11467					PAGE
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 35-2
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0245

 11468					;DVND = 7,13
 11469					;DVSR = 2
 11470
 11471			000006			AC=6
 11472						SAVEAC	(1,1)^
 11473	037645	201 10 0 00 037645 		MOVEI	AC+2,.		;SAVE TEST PC
 11474	037646	202 10 0 00 030051 		MOVEM	AC+2,TESTPC
 11475	037647	201 10 0 00 000010 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11476	037650	202 10 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11477	037651	254 02 1 00 045316 		JRSTF	@[.+1]		;CLEAR ALL FLAGS
 11478
 11479			007600		SN=7600
 11480			000003			ZZ=3
 11481
 11482					F7600:	REPEAT	^D2,<
 11483					SN=SN+1
 11484						ZZ=ZZ+4
 11485						MOVEI	AC,ZZ		;SETUP DVND
 11486						MOVEI	AC-1,2		;SETUP DVSR
 11487						IDIV	AC,AC-1		;DIVIDE (ZZ) BY 2
 11488						CAIE	AC,ZZ/2		;TEST QUOT
 11489						ER3	AC,SN
 11490						CAIE	AC+1,1		;TEST REMD
 11491						ER4	AC+1,SN
 11492						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 11493					>
 11494
 11495			007601		SN=SN+1
 11496			000007			ZZ=ZZ+4
 11497	037652	201 06 0 00 000007 		MOVEI	AC,ZZ		;SETUP DVND
 11498	037653	201 05 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 11499	037654	230 06 0 00 000005 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY 2
 11500	037655	302 06 0 00 000003 		CAIE	AC,ZZ/2		;TEST QUOT
 11501	037656	003 06 0 00 007601 		ER3	AC,SN
 11502	037657	302 07 0 00 000001 		CAIE	AC+1,1		;TEST REMD
 11503	037660	004 07 0 00 007601 		ER4	AC+1,SN
 11504	037661	321 10 0 00 037652 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 11505
 11506
 11507			007602		SN=SN+1
 11508			000013			ZZ=ZZ+4
 11509	037662	201 06 0 00 000013 		MOVEI	AC,ZZ		;SETUP DVND
 11510	037663	201 05 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 11511	037664	230 06 0 00 000005 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY 2
 11512	037665	302 06 0 00 000005 		CAIE	AC,ZZ/2		;TEST QUOT
 11513	037666	003 06 0 00 007602 		ER3	AC,SN
 11514	037667	302 07 0 00 000001 		CAIE	AC+1,1		;TEST REMD
 11515	037670	004 07 0 00 007602 		ER4	AC+1,SN
 11516	037671	321 10 0 00 037662 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 11517
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 36
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0246

 11518					;DVND = 2,4
 11519					;DVSR = 2,4
 11520
 11521			000005			AC=5
 11522						SAVEAC	(1,1)^
 11523	037672	201 07 0 00 037672 		MOVEI	AC+2,.		;SAVE TEST PC
 11524	037673	202 07 0 00 030051 		MOVEM	AC+2,TESTPC
 11525	037674	201 07 0 00 000007 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11526	037675	202 07 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11527
 11528			007700		SN=7700
 11529			000000			XX=0
 11530			000001			ZZ=1
 11531
 11532					F7700:	REPEAT	^D2,<
 11533					SN=SN+1
 11534						XX=XX+XX
 11535						ZZ=ZZ+ZZ
 11536						IFE	XX,<XX=1>
 11537						SETOM	AC+1		;INITIALIZE REMAINDER
 11538						MOVEI	AC,ZZ		;SETUP DVND
 11539						MOVEI	AC-1,ZZ		;SETUP DVSR
 11540						IDIV	AC,AC-1		;DIVIDE (ZZ) BY (ZZ)
 11541						CAIE	AC,1		;TEST QUOT
 11542						ER3	AC,SN
 11543						SKIPE	AC+1		;TEST REMD
 11544						ER4	AC+1,SN
 11545						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11546					>
 11547
 11548			007701		SN=SN+1
 11549			000000			XX=XX+XX
 11550			000002			ZZ=ZZ+ZZ
 11551			000001			IFE	XX,<XX=1>
 11552	037676	476 00 0 00 000006 		SETOM	AC+1		;INITIALIZE REMAINDER
 11553	037677	201 05 0 00 000002 		MOVEI	AC,ZZ		;SETUP DVND
 11554	037700	201 04 0 00 000002 		MOVEI	AC-1,ZZ		;SETUP DVSR
 11555	037701	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY (ZZ)
 11556	037702	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT
 11557	037703	003 05 0 00 007701 		ER3	AC,SN
 11558	037704	332 00 0 00 000006 		SKIPE	AC+1		;TEST REMD
 11559	037705	004 06 0 00 007701 		ER4	AC+1,SN
 11560	037706	321 07 0 00 037676 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11561
 11562
 11563			007702		SN=SN+1
 11564			000002			XX=XX+XX
 11565			000004			ZZ=ZZ+ZZ
 11566						IFE	XX,<XX=1>
 11567	037707	476 00 0 00 000006 		SETOM	AC+1		;INITIALIZE REMAINDER
 11568	037710	201 05 0 00 000004 		MOVEI	AC,ZZ		;SETUP DVND
 11569	037711	201 04 0 00 000004 		MOVEI	AC-1,ZZ		;SETUP DVSR
 11570	037712	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY (ZZ)
 11571	037713	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT
 11572	037714	003 05 0 00 007702 		ER3	AC,SN
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 36-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0247

 11573	037715	332 00 0 00 000006 		SKIPE	AC+1		;TEST REMD
 11574	037716	004 06 0 00 007702 		ER4	AC+1,SN
 11575	037717	321 07 0 00 037707 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11576
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 37
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0248

 11577					;DVND = 177777 777777,0777777 777777
 11578					;DVSR = 1
 11579
 11580			000004			AC=4
 11581						SAVEAC	(1,1)^
 11582	037720	201 06 0 00 037720 		MOVEI	AC+2,.		;SAVE TEST PC
 11583	037721	202 06 0 00 030051 		MOVEM	AC+2,TESTPC
 11584	037722	201 06 0 00 000006 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11585	037723	202 06 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11586
 11587			010000		SN=10000
 11588			377777			ZZ=377777
 11589
 11590					F10000:	REPEAT	^D2,<
 11591					SN=SN+1
 11592						ZZ=ZZ/2
 11593						HRLOI	AC-2,ZZ		;SETUP FOR COMPARISON
 11594						HRLOI	AC,ZZ		;SETUP DVND
 11595						MOVEI	AC-1,1		;SETUP DVSR
 11596						IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 11597						CAME	AC,AC-2		;TEST QUOTIENT
 11598						ER3	AC,SN
 11599						SKIPE	AC+1		;TEST REMAINDER
 11600						ER4	AC+1,SN
 11601						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11602					>
 11603
 11604			010001		SN=SN+1
 11605			177777			ZZ=ZZ/2
 11606	037724	525 02 0 00 177777 		HRLOI	AC-2,ZZ		;SETUP FOR COMPARISON
 11607	037725	525 04 0 00 177777 		HRLOI	AC,ZZ		;SETUP DVND
 11608	037726	201 03 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 11609	037727	230 04 0 00 000003 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 11610	037730	312 04 0 00 000002 		CAME	AC,AC-2		;TEST QUOTIENT
 11611	037731	003 04 0 00 010001 		ER3	AC,SN
 11612	037732	332 00 0 00 000005 		SKIPE	AC+1		;TEST REMAINDER
 11613	037733	004 05 0 00 010001 		ER4	AC+1,SN
 11614	037734	321 06 0 00 037724 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11615
 11616
 11617			010002		SN=SN+1
 11618			077777			ZZ=ZZ/2
 11619	037735	525 02 0 00 077777 		HRLOI	AC-2,ZZ		;SETUP FOR COMPARISON
 11620	037736	525 04 0 00 077777 		HRLOI	AC,ZZ		;SETUP DVND
 11621	037737	201 03 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 11622	037740	230 04 0 00 000003 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 11623	037741	312 04 0 00 000002 		CAME	AC,AC-2		;TEST QUOTIENT
 11624	037742	003 04 0 00 010002 		ER3	AC,SN
 11625	037743	332 00 0 00 000005 		SKIPE	AC+1		;TEST REMAINDER
 11626	037744	004 05 0 00 010002 		ER4	AC+1,SN
 11627	037745	321 06 0 00 037735 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11628
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 38
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0249

 11629					;TEST ABILITY TO SWAP REMD
 11630					;AND QUOT
 11631					;DVND = 5,13
 11632					;DVSR - 3
 11633					;FAILURE RESULTS IN A QUOT
 11634					;EQUAL TO THE REMD
 11635
 11636			000014			AC=14
 11637						SAVEAC	(1,1)^
 11638	037746	201 16 0 00 037746 		MOVEI	AC+2,.		;SAVE TEST PC
 11639	037747	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
 11640	037750	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11641	037751	202 16 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11642
 11643			010300		SN=10300
 11644		777777	777777			ZZ=-1
 11645
 11646					F10300:	REPEAT	^D2,<
 11647					SN=SN+1
 11648						ZZ=ZZ+6
 11649						MOVEI	AC-2,2
 11650						MOVEI	AC,ZZ		;SETUP DVND
 11651						MOVEI	AC-1,3		;SETUP DVSR
 11652						IDIV	AC,AC-1		;DIVIDE ZZ BY 3
 11653						CAIE	AC,ZZ/3		;TEST QUOT
 11654						ER3	AC,SN
 11655						CAME	AC+1,AC-2	;TEST REMD
 11656						ER4	AC+1,SN
 11657						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11658					>
 11659
 11660			010301		SN=SN+1
 11661			000005			ZZ=ZZ+6
 11662	037752	201 12 0 00 000002 		MOVEI	AC-2,2
 11663	037753	201 14 0 00 000005 		MOVEI	AC,ZZ		;SETUP DVND
 11664	037754	201 13 0 00 000003 		MOVEI	AC-1,3		;SETUP DVSR
 11665	037755	230 14 0 00 000013 		IDIV	AC,AC-1		;DIVIDE ZZ BY 3
 11666	037756	302 14 0 00 000001 		CAIE	AC,ZZ/3		;TEST QUOT
 11667	037757	003 14 0 00 010301 		ER3	AC,SN
 11668	037760	312 15 0 00 000012 		CAME	AC+1,AC-2	;TEST REMD
 11669	037761	004 15 0 00 010301 		ER4	AC+1,SN
 11670	037762	321 16 0 00 037752 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11671
 11672
 11673			010302		SN=SN+1
 11674			000013			ZZ=ZZ+6
 11675	037763	201 12 0 00 000002 		MOVEI	AC-2,2
 11676	037764	201 14 0 00 000013 		MOVEI	AC,ZZ		;SETUP DVND
 11677	037765	201 13 0 00 000003 		MOVEI	AC-1,3		;SETUP DVSR
 11678	037766	230 14 0 00 000013 		IDIV	AC,AC-1		;DIVIDE ZZ BY 3
 11679	037767	302 14 0 00 000003 		CAIE	AC,ZZ/3		;TEST QUOT
 11680	037770	003 14 0 00 010302 		ER3	AC,SN
 11681	037771	312 15 0 00 000012 		CAME	AC+1,AC-2	;TEST REMD
 11682	037772	004 15 0 00 010302 		ER4	AC+1,SN
 11683	037773	321 16 0 00 037763 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 38-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0250

 11684
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 39
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0251

 11685					;DVND = 2,4
 11686					;DVSR = 1
 11687					;DVND = 377777 777777,177777 777777
 11688					;DVSR = 1
 11689
 11690			000013			AC=13
 11691						SAVEAC	(1,1)^
 11692	037774	201 15 0 00 037774 		MOVEI	AC+2,.		;SAVE TEST PC
 11693	037775	202 15 0 00 030051 		MOVEM	AC+2,TESTPC
 11694	037776	201 15 0 00 000015 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11695	037777	202 15 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11696
 11697			010400		SN=10400
 11698			000001			ZZ=1
 11699
 11700					F10400:	REPEAT	^D2,<
 11701					SN=SN+1
 11702						ZZ=ZZ+ZZ
 11703						MOVEI	AC,ZZ		;SETUP DVND
 11704						MOVEI	AC-1,1		;SETUP DVSR
 11705						IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 11706						CAIE	AC,ZZ		;TEST QUOT
 11707						ER3	AC,SN
 11708						SKIPE	AC+1		;TEST REMD
 11709						ER4	AC+1,SN
 11710						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11711					>
 11712
 11713			010401		SN=SN+1
 11714			000002			ZZ=ZZ+ZZ
 11715	040000	201 13 0 00 000002 		MOVEI	AC,ZZ		;SETUP DVND
 11716	040001	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 11717	040002	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 11718	040003	302 13 0 00 000002 		CAIE	AC,ZZ		;TEST QUOT
 11719	040004	003 13 0 00 010401 		ER3	AC,SN
 11720	040005	332 00 0 00 000014 		SKIPE	AC+1		;TEST REMD
 11721	040006	004 14 0 00 010401 		ER4	AC+1,SN
 11722	040007	321 15 0 00 037777 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11723
 11724
 11725			010402		SN=SN+1
 11726			000004			ZZ=ZZ+ZZ
 11727	040010	201 13 0 00 000004 		MOVEI	AC,ZZ		;SETUP DVND
 11728	040011	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 11729	040012	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 11730	040013	302 13 0 00 000004 		CAIE	AC,ZZ		;TEST QUOT
 11731	040014	003 13 0 00 010402 		ER3	AC,SN
 11732	040015	332 00 0 00 000014 		SKIPE	AC+1		;TEST REMD
 11733	040016	004 14 0 00 010402 		ER4	AC+1,SN
 11734	040017	321 15 0 00 040007 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11735
 11736					PAGE
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 39-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0252

 11737			010500		SN=10500
 11738			000000			ZZ=0
 11739
 11740					F10500:	REPEAT	^D2,<
 11741					SN=SN+1
 11742						ZZ=ZZ/2
 11743						IFE	ZZ,<ZZ=377777>
 11744						HRLOI	AC-2,ZZ		;SETUP FOR COMPARISON
 11745						HRLOI	AC,ZZ		;SETUP DVND
 11746						MOVEI	AC-1,1		;SETUP DVSR
 11747						IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 11748						CAME	AC,AC-2		;TEST QUOT
 11749						ER3	AC,SN
 11750						SKIPE	AC+1		;TEST REMD
 11751						ER4	AC+1,SN
 11752						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11753					>
 11754
 11755			010501		SN=SN+1
 11756			000000			ZZ=ZZ/2
 11757			377777			IFE	ZZ,<ZZ=377777>
 11758	040020	525 11 0 00 377777 		HRLOI	AC-2,ZZ		;SETUP FOR COMPARISON
 11759	040021	525 13 0 00 377777 		HRLOI	AC,ZZ		;SETUP DVND
 11760	040022	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 11761	040023	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 11762	040024	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT
 11763	040025	003 13 0 00 010501 		ER3	AC,SN
 11764	040026	332 00 0 00 000014 		SKIPE	AC+1		;TEST REMD
 11765	040027	004 14 0 00 010501 		ER4	AC+1,SN
 11766	040030	321 15 0 00 040020 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11767
 11768
 11769			010502		SN=SN+1
 11770			177777			ZZ=ZZ/2
 11771						IFE	ZZ,<ZZ=377777>
 11772	040031	525 11 0 00 177777 		HRLOI	AC-2,ZZ		;SETUP FOR COMPARISON
 11773	040032	525 13 0 00 177777 		HRLOI	AC,ZZ		;SETUP DVND
 11774	040033	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 11775	040034	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 11776	040035	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT
 11777	040036	003 13 0 00 010502 		ER3	AC,SN
 11778	040037	332 00 0 00 000014 		SKIPE	AC+1		;TEST REMD
 11779	040040	004 14 0 00 010502 		ER4	AC+1,SN
 11780	040041	321 15 0 00 040031 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11781
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 40
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0253

 11782					;DVND = 100
 11783					;DVSR = 2,4
 11784					;FAILURE RESULTS IN A QUOT = 252525 252525
 11785
 11786			000004			AC=4
 11787						SAVEAC	(1,1)^
 11788	040042	201 06 0 00 040042 		MOVEI	AC+2,.		;SAVE TEST PC
 11789	040043	202 06 0 00 030051 		MOVEM	AC+2,TESTPC
 11790	040044	201 06 0 00 000006 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11791	040045	202 06 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11792
 11793			011300		SN=11300
 11794			000001			ZZ=1
 11795
 11796					F11300:	REPEAT	^D2,<
 11797					SN=SN+1
 11798						ZZ=ZZ+ZZ
 11799						MOVEI	AC,100		;SETUP DVND
 11800						MOVEI	AC-1,ZZ		;SETUP DVSR
 11801						IDIV	AC,AC-1		;DIVIDE 100 BY (ZZ)
 11802						CAIE	AC,100/ZZ	;TEST QUOT
 11803						ER3	AC,SN
 11804						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 11805					>
 11806
 11807			011301		SN=SN+1
 11808			000002			ZZ=ZZ+ZZ
 11809	040046	201 04 0 00 000100 		MOVEI	AC,100		;SETUP DVND
 11810	040047	201 03 0 00 000002 		MOVEI	AC-1,ZZ		;SETUP DVSR
 11811	040050	230 04 0 00 000003 		IDIV	AC,AC-1		;DIVIDE 100 BY (ZZ)
 11812	040051	302 04 0 00 000040 		CAIE	AC,100/ZZ	;TEST QUOT
 11813	040052	003 04 0 00 011301 		ER3	AC,SN
 11814	040053	321 06 0 00 040044 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 11815
 11816
 11817			011302		SN=SN+1
 11818			000004			ZZ=ZZ+ZZ
 11819	040054	201 04 0 00 000100 		MOVEI	AC,100		;SETUP DVND
 11820	040055	201 03 0 00 000004 		MOVEI	AC-1,ZZ		;SETUP DVSR
 11821	040056	230 04 0 00 000003 		IDIV	AC,AC-1		;DIVIDE 100 BY (ZZ)
 11822	040057	302 04 0 00 000020 		CAIE	AC,100/ZZ	;TEST QUOT
 11823	040060	003 04 0 00 011302 		ER3	AC,SN
 11824	040061	321 06 0 00 040052 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 11825
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 41
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0254

 11826					;DVND = 4,10
 11827					;DVSR = -2
 11828					;FAILURE OF EITHER RESULTS IN A QUOT
 11829					;= 2'S COMP ACTUAL,A REMD = 0
 11830
 11831			000011			AC=11
 11832						SAVEAC	(1,1)^
 11833	040062	201 13 0 00 040062 		MOVEI	AC+2,.		;SAVE TEST PC
 11834	040063	202 13 0 00 030051 		MOVEM	AC+2,TESTPC
 11835	040064	201 13 0 00 000013 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11836	040065	202 13 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11837
 11838			011400		SN=11400
 11839		777777	777777			XX=-1
 11840			000002			ZZ=2
 11841
 11842					F11400:	REPEAT	^D2,<
 11843					SN=SN+1
 11844						XX=XX+XX
 11845						ZZ=ZZ+ZZ
 11846						HRROI	AC-2,XX		;SETUP FOR COMPARISON
 11847						MOVEI	AC,ZZ		;SETUP DVND
 11848						HRROI	AC-1,-2		;SETUP DVSR
 11849						IDIV	AC,AC-1		;DIVIDE (ZZ) BY -2
 11850						SKIPE	AC+1		;TEST REMD = 0
 11851						ER4	AC+1,SN
 11852						CAME	AC,AC-2		;TEST QUOTIENT
 11853						ER3	AC,SN
 11854						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11855					>
 11856
 11857			011401		SN=SN+1
 11858		777777	777776			XX=XX+XX
 11859			000004			ZZ=ZZ+ZZ
 11860	040066	561 07 0 00 777776 		HRROI	AC-2,XX		;SETUP FOR COMPARISON
 11861	040067	201 11 0 00 000004 		MOVEI	AC,ZZ		;SETUP DVND
 11862	040070	561 10 0 00 777776 		HRROI	AC-1,-2		;SETUP DVSR
 11863	040071	230 11 0 00 000010 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY -2
 11864	040072	332 00 0 00 000012 		SKIPE	AC+1		;TEST REMD = 0
 11865	040073	004 12 0 00 011401 		ER4	AC+1,SN
 11866	040074	312 11 0 00 000007 		CAME	AC,AC-2		;TEST QUOTIENT
 11867	040075	003 11 0 00 011401 		ER3	AC,SN
 11868	040076	321 13 0 00 040066 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11869
 11870
 11871			011402		SN=SN+1
 11872		777777	777774			XX=XX+XX
 11873			000010			ZZ=ZZ+ZZ
 11874	040077	561 07 0 00 777774 		HRROI	AC-2,XX		;SETUP FOR COMPARISON
 11875	040100	201 11 0 00 000010 		MOVEI	AC,ZZ		;SETUP DVND
 11876	040101	561 10 0 00 777776 		HRROI	AC-1,-2		;SETUP DVSR
 11877	040102	230 11 0 00 000010 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY -2
 11878	040103	332 00 0 00 000012 		SKIPE	AC+1		;TEST REMD = 0
 11879	040104	004 12 0 00 011402 		ER4	AC+1,SN
 11880	040105	312 11 0 00 000007 		CAME	AC,AC-2		;TEST QUOTIENT
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 41-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0255

 11881	040106	003 11 0 00 011402 		ER3	AC,SN
 11882	040107	321 13 0 00 040077 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11883
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 43
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0256

 11884					;DVND = 377777 777777,177777 777777
 11885					;DVSR = 2
 11886
 11887			000012			AC=12
 11888						SAVEAC	(1,1)^
 11889	040110	201 14 0 00 040110 		MOVEI	AC+2,.		;SAVE TEST PC
 11890	040111	202 14 0 00 030051 		MOVEM	AC+2,TESTPC
 11891	040112	201 14 0 00 000014 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11892	040113	202 14 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11893
 11894			012000		SN=12000
 11895			377777			XX=377777
 11896			000000			ZZ=0
 11897
 11898					F12000:	REPEAT	^D2,<
 11899					SN=SN+1
 11900						XX=XX/2
 11901						ZZ=ZZ/2
 11902						IFE	ZZ,<ZZ=377777>
 11903						HRLOI	AC-2,XX		;SETUP FOR COMPARISON
 11904						HRLOI	AC,ZZ		;SETUP DVND
 11905						MOVEI	AC-1,2		;SETUP DVSR
 11906						IDIV	AC,AC-1		;DIVIDE (ZZ) BY 2
 11907						CAIE	AC+1,1
 11908						ER4	AC+1,SN
 11909						CAME	AC,AC-2		;TEST QUOT = 1/2 DVND
 11910						ER3	AC,SN
 11911						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11912					>
 11913
 11914			012001		SN=SN+1
 11915			177777			XX=XX/2
 11916			000000			ZZ=ZZ/2
 11917			377777			IFE	ZZ,<ZZ=377777>
 11918	040114	525 10 0 00 177777 		HRLOI	AC-2,XX		;SETUP FOR COMPARISON
 11919	040115	525 12 0 00 377777 		HRLOI	AC,ZZ		;SETUP DVND
 11920	040116	201 11 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 11921	040117	230 12 0 00 000011 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY 2
 11922	040120	302 13 0 00 000001 		CAIE	AC+1,1
 11923	040121	004 13 0 00 012001 		ER4	AC+1,SN
 11924	040122	312 12 0 00 000010 		CAME	AC,AC-2		;TEST QUOT = 1/2 DVND
 11925	040123	003 12 0 00 012001 		ER3	AC,SN
 11926	040124	321 14 0 00 040114 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11927
 11928
 11929			012002		SN=SN+1
 11930			077777			XX=XX/2
 11931			177777			ZZ=ZZ/2
 11932						IFE	ZZ,<ZZ=377777>
 11933	040125	525 10 0 00 077777 		HRLOI	AC-2,XX		;SETUP FOR COMPARISON
 11934	040126	525 12 0 00 177777 		HRLOI	AC,ZZ		;SETUP DVND
 11935	040127	201 11 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 11936	040130	230 12 0 00 000011 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY 2
 11937	040131	302 13 0 00 000001 		CAIE	AC+1,1
 11938	040132	004 13 0 00 012002 		ER4	AC+1,SN
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 43-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0257

 11939	040133	312 12 0 00 000010 		CAME	AC,AC-2		;TEST QUOT = 1/2 DVND
 11940	040134	003 12 0 00 012002 		ER3	AC,SN
 11941	040135	321 14 0 00 040125 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11942
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 44
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0258

 11943					;DVND = 4,10
 11944					;DVSR = 400000 000000
 11945
 11946			012300		SN=12300
 11947			000002			ZZ=2
 11948
 11949					F12300:	REPEAT	^D2,<
 11950					SN=SN+1
 11951						ZZ=ZZ+ZZ
 11952						MOVEI	AC,ZZ		;SETUP DVND
 11953						MOVSI	AC-1,400000	;SETUP DVSR
 11954						IDIV	AC,AC-1		;DIVIDE (ZZ) BY (-N)
 11955						SKIPE	AC		;TEST QUOT
 11956						ER3	AC,SN
 11957						CAIE	AC+1,ZZ		;TEST REMD
 11958						ER4	AC+1,SN
 11959						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11960					>
 11961
 11962			012301		SN=SN+1
 11963			000004			ZZ=ZZ+ZZ
 11964	040136	201 12 0 00 000004 		MOVEI	AC,ZZ		;SETUP DVND
 11965	040137	205 11 0 00 400000 		MOVSI	AC-1,400000	;SETUP DVSR
 11966	040140	230 12 0 00 000011 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY (-N)
 11967	040141	332 00 0 00 000012 		SKIPE	AC		;TEST QUOT
 11968	040142	003 12 0 00 012301 		ER3	AC,SN
 11969	040143	302 13 0 00 000004 		CAIE	AC+1,ZZ		;TEST REMD
 11970	040144	004 13 0 00 012301 		ER4	AC+1,SN
 11971	040145	321 14 0 00 040135 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11972
 11973
 11974			012302		SN=SN+1
 11975			000010			ZZ=ZZ+ZZ
 11976	040146	201 12 0 00 000010 		MOVEI	AC,ZZ		;SETUP DVND
 11977	040147	205 11 0 00 400000 		MOVSI	AC-1,400000	;SETUP DVSR
 11978	040150	230 12 0 00 000011 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY (-N)
 11979	040151	332 00 0 00 000012 		SKIPE	AC		;TEST QUOT
 11980	040152	003 12 0 00 012302 		ER3	AC,SN
 11981	040153	302 13 0 00 000010 		CAIE	AC+1,ZZ		;TEST REMD
 11982	040154	004 13 0 00 012302 		ER4	AC+1,SN
 11983	040155	321 14 0 00 040145 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11984
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 45
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0259

 11985					;DVND = -40,-20
 11986					;DVSR = 2
 11987
 11988			000006			AC=6
 11989						SAVEAC	(1,1)^
 11990	040156	201 10 0 00 040156 		MOVEI	AC+2,.		;SAVE TEST PC
 11991	040157	202 10 0 00 030051 		MOVEM	AC+2,TESTPC
 11992	040160	201 10 0 00 000010 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11993	040161	202 10 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11994
 11995			012600		SN=12600
 11996		777777	777700			ZZ=-100
 11997
 11998					F12600:	REPEAT	^D2,<
 11999					SN=SN+1
 12000						ZZ=ZZ/2
 12001						HRROI	AC,ZZ		;SETUP DVND
 12002						MOVEI	AC-1,2		;SETUP DVSR
 12003						IDIV	AC,AC-1		;DIVIDE ZZ BY 2
 12004						CAME	AC,[ZZ/2]	;TEST QUOT = 0
 12005						ER3	AC,SN
 12006						SKIPE	AC+1		;TEST REMD
 12007						ER4	AC+1,SN
 12008						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 12009					>
 12010
 12011			012601		SN=SN+1
 12012		777777	777740			ZZ=ZZ/2
 12013	040162	561 06 0 00 777740 		HRROI	AC,ZZ		;SETUP DVND
 12014	040163	201 05 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12015	040164	230 06 0 00 000005 		IDIV	AC,AC-1		;DIVIDE ZZ BY 2
 12016	040165	312 06 0 00 045317 		CAME	AC,[ZZ/2]	;TEST QUOT = 0
 12017	040166	003 06 0 00 012601 		ER3	AC,SN
 12018	040167	332 00 0 00 000007 		SKIPE	AC+1		;TEST REMD
 12019	040170	004 07 0 00 012601 		ER4	AC+1,SN
 12020	040171	321 10 0 00 040162 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 12021
 12022
 12023			012602		SN=SN+1
 12024		777777	777760			ZZ=ZZ/2
 12025	040172	561 06 0 00 777760 		HRROI	AC,ZZ		;SETUP DVND
 12026	040173	201 05 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12027	040174	230 06 0 00 000005 		IDIV	AC,AC-1		;DIVIDE ZZ BY 2
 12028	040175	312 06 0 00 045320 		CAME	AC,[ZZ/2]	;TEST QUOT = 0
 12029	040176	003 06 0 00 012602 		ER3	AC,SN
 12030	040177	332 00 0 00 000007 		SKIPE	AC+1		;TEST REMD
 12031	040200	004 07 0 00 012602 		ER4	AC+1,SN
 12032	040201	321 10 0 00 040172 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 12033
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 46
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0260

 12034					;DVND = -100,-40
 12035					;DVSR = 2
 12036
 12037			000004			AC=4
 12038						SAVEAC	(1,1)^
 12039	040202	201 06 0 00 040202 		MOVEI	AC+2,.		;SAVE TEST PC
 12040	040203	202 06 0 00 030051 		MOVEM	AC+2,TESTPC
 12041	040204	201 06 0 00 000006 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12042	040205	202 06 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12043
 12044			013000		SN=13000
 12045		777777	777600			ZZ=-200
 12046
 12047					F13000:	REPEAT	^D2,<
 12048					SN=SN+1
 12049						ZZ=ZZ/2
 12050						HRROI	AC-2,ZZ/2	;SETUP FOR COMPARISON
 12051						HRROI	AC,ZZ		;SETUP DVND
 12052						MOVEI	AC-1,2		;SETUP DVSR
 12053						IDIV	AC,AC-1		;DIVIDE (-ZZ) BY 2
 12054						CAME	AC,AC-2		;TEST QUOT
 12055						ER3	AC,SN
 12056						SKIPE	AC+1		;TEST REMD
 12057						ER4	AC+1,SN
 12058						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 12059					>
 12060
 12061			013001		SN=SN+1
 12062		777777	777700			ZZ=ZZ/2
 12063	040206	561 02 0 00 777740 		HRROI	AC-2,ZZ/2	;SETUP FOR COMPARISON
 12064	040207	561 04 0 00 777700 		HRROI	AC,ZZ		;SETUP DVND
 12065	040210	201 03 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12066	040211	230 04 0 00 000003 		IDIV	AC,AC-1		;DIVIDE (-ZZ) BY 2
 12067	040212	312 04 0 00 000002 		CAME	AC,AC-2		;TEST QUOT
 12068	040213	003 04 0 00 013001 		ER3	AC,SN
 12069	040214	332 00 0 00 000005 		SKIPE	AC+1		;TEST REMD
 12070	040215	004 05 0 00 013001 		ER4	AC+1,SN
 12071	040216	321 06 0 00 040205 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 12072
 12073
 12074			013002		SN=SN+1
 12075		777777	777740			ZZ=ZZ/2
 12076	040217	561 02 0 00 777760 		HRROI	AC-2,ZZ/2	;SETUP FOR COMPARISON
 12077	040220	561 04 0 00 777740 		HRROI	AC,ZZ		;SETUP DVND
 12078	040221	201 03 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12079	040222	230 04 0 00 000003 		IDIV	AC,AC-1		;DIVIDE (-ZZ) BY 2
 12080	040223	312 04 0 00 000002 		CAME	AC,AC-2		;TEST QUOT
 12081	040224	003 04 0 00 013002 		ER3	AC,SN
 12082	040225	332 00 0 00 000005 		SKIPE	AC+1		;TEST REMD
 12083	040226	004 05 0 00 013002 		ER4	AC+1,SN
 12084	040227	321 06 0 00 040216 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 12085
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 47
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0261

 12086					;FAILURE RESULTS IN A QUOT AND
 12087					;REMD WHICH ARE THE TWO'S
 12088					;COMPLEMENT OF ACTUAL
 12089					;DVND = -7,-17
 12090					;DVSR = 4
 12091
 12092			000014			AC=14
 12093						SAVEAC	(1,1)^
 12094	040230	201 16 0 00 040230 		MOVEI	AC+2,.		;SAVE TEST PC
 12095	040231	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
 12096	040232	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12097	040233	202 16 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12098
 12099			013200		SN=13200
 12100			000001			ZZ=1
 12101
 12102					F13200:	REPEAT	^D2,<
 12103					SN=SN+1
 12104						ZZ=ZZ-10
 12105						HRROI	AC-2,ZZ/4	;SETUP FOR COMPARISON
 12106						HRROI	AC,ZZ		;SETUP DVND
 12107						MOVEI	AC-1,4		;SETUP DVSR
 12108						IDIV	AC,AC-1		;DIVIDE (-ZZ) BY 4
 12109						CAME	AC,AC-2		;TEST QUOT
 12110						ER3	AC,SN
 12111						HRROI	AC-2,-3		;SETUP FOR COMPARISON
 12112						CAME	AC+1,AC-2	;TEST REMD
 12113						ER4	AC+1,SN
 12114						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 12115					>
 12116
 12117			013201		SN=SN+1
 12118		777777	777771			ZZ=ZZ-10
 12119	040234	561 12 0 00 777777 		HRROI	AC-2,ZZ/4	;SETUP FOR COMPARISON
 12120	040235	561 14 0 00 777771 		HRROI	AC,ZZ		;SETUP DVND
 12121	040236	201 13 0 00 000004 		MOVEI	AC-1,4		;SETUP DVSR
 12122	040237	230 14 0 00 000013 		IDIV	AC,AC-1		;DIVIDE (-ZZ) BY 4
 12123	040240	312 14 0 00 000012 		CAME	AC,AC-2		;TEST QUOT
 12124	040241	003 14 0 00 013201 		ER3	AC,SN
 12125	040242	561 12 0 00 777775 		HRROI	AC-2,-3		;SETUP FOR COMPARISON
 12126	040243	312 15 0 00 000012 		CAME	AC+1,AC-2	;TEST REMD
 12127	040244	004 15 0 00 013201 		ER4	AC+1,SN
 12128	040245	321 16 0 00 040234 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 12129
 12130
 12131			013202		SN=SN+1
 12132		777777	777761			ZZ=ZZ-10
 12133	040246	561 12 0 00 777775 		HRROI	AC-2,ZZ/4	;SETUP FOR COMPARISON
 12134	040247	561 14 0 00 777761 		HRROI	AC,ZZ		;SETUP DVND
 12135	040250	201 13 0 00 000004 		MOVEI	AC-1,4		;SETUP DVSR
 12136	040251	230 14 0 00 000013 		IDIV	AC,AC-1		;DIVIDE (-ZZ) BY 4
 12137	040252	312 14 0 00 000012 		CAME	AC,AC-2		;TEST QUOT
 12138	040253	003 14 0 00 013202 		ER3	AC,SN
 12139	040254	561 12 0 00 777775 		HRROI	AC-2,-3		;SETUP FOR COMPARISON
 12140	040255	312 15 0 00 000012 		CAME	AC+1,AC-2	;TEST REMD
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 47-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0262

 12141	040256	004 15 0 00 013202 		ER4	AC+1,SN
 12142	040257	321 16 0 00 040246 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 12143
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 48
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0263

 12144					;DVND = -77,-37
 12145					;DVSR = 2
 12146
 12147			000013			AC=13
 12148						SAVEAC	(1,1)^
 12149	040260	201 15 0 00 040260 		MOVEI	AC+2,.		;SAVE TEST PC
 12150	040261	202 15 0 00 030051 		MOVEM	AC+2,TESTPC
 12151	040262	201 15 0 00 000015 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12152	040263	202 15 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12153
 12154			013300		SN=13300
 12155		777777	777601			ZZ=-177
 12156
 12157					F13300:	REPEAT	^D2,<
 12158					SN=SN+1
 12159						ZZ=ZZ/2
 12160						HRROI	AC-2,-1		;SETUP FOR COMPARISON
 12161						HRROI	AC,ZZ		;SETUP DVND
 12162						MOVEI	AC-1,2		;SETUP DVSR
 12163						IDIV	AC,AC-1		;DIVIDE (-ZZ) BY 2
 12164						CAME	AC+1,AC-2	;TEST REMD
 12165						ER4	AC+1,SN
 12166						HRROI	AC-2,ZZ/2	;SETUP FOR COMPARISON
 12167						CAME	AC,AC-2		;TEST QUOTIENT
 12168						ER3	AC,AC-2
 12169						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 12170					>
 12171
 12172			013301		SN=SN+1
 12173		777777	777701			ZZ=ZZ/2
 12174	040264	561 11 0 00 777777 		HRROI	AC-2,-1		;SETUP FOR COMPARISON
 12175	040265	561 13 0 00 777701 		HRROI	AC,ZZ		;SETUP DVND
 12176	040266	201 12 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12177	040267	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE (-ZZ) BY 2
 12178	040270	312 14 0 00 000011 		CAME	AC+1,AC-2	;TEST REMD
 12179	040271	004 14 0 00 013301 		ER4	AC+1,SN
 12180	040272	561 11 0 00 777741 		HRROI	AC-2,ZZ/2	;SETUP FOR COMPARISON
 12181	040273	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOTIENT
 12182	040274	003 13 0 00 000011 		ER3	AC,AC-2
 12183	040275	321 15 0 00 040264 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 12184
 12185
 12186			013302		SN=SN+1
 12187		777777	777741			ZZ=ZZ/2
 12188	040276	561 11 0 00 777777 		HRROI	AC-2,-1		;SETUP FOR COMPARISON
 12189	040277	561 13 0 00 777741 		HRROI	AC,ZZ		;SETUP DVND
 12190	040300	201 12 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12191	040301	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE (-ZZ) BY 2
 12192	040302	312 14 0 00 000011 		CAME	AC+1,AC-2	;TEST REMD
 12193	040303	004 14 0 00 013302 		ER4	AC+1,SN
 12194	040304	561 11 0 00 777761 		HRROI	AC-2,ZZ/2	;SETUP FOR COMPARISON
 12195	040305	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOTIENT
 12196	040306	003 13 0 00 000011 		ER3	AC,AC-2
 12197	040307	321 15 0 00 040276 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 12198
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 49
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0264

 12199					;DVND = -4,-10
 12200					;DVSR = 2
 12201
 12202			000012			AC=12
 12203						SAVEAC	(1,1)^
 12204	040310	201 14 0 00 040310 		MOVEI	AC+2,.		;SAVE TEST PC
 12205	040311	202 14 0 00 030051 		MOVEM	AC+2,TESTPC
 12206	040312	201 14 0 00 000014 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12207	040313	202 14 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12208
 12209			013500		SN=13500
 12210		777777	777776			ZZ=-2
 12211
 12212					F13500:	REPEAT	^D2,<
 12213					SN=SN+1
 12214						ZZ=ZZ+ZZ
 12215						HRROI	AC-2,ZZ/2	;SETUP FOR COMPARISON
 12216						HRROI	AC,ZZ		;SETUP DVND
 12217						MOVEI	AC-1,2		;SETUP DVSR
 12218						IDIV	AC,AC-1		;DIVIDE (-ZZ) BY 2
 12219						CAME	AC,AC-2		;TEST QUOTIENT
 12220						ER3	AC,SN
 12221						SKIPE	AC+1		;TEST REMAINDER
 12222						ER4	AC+1,SN
 12223						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12224					>
 12225
 12226			013501		SN=SN+1
 12227		777777	777774			ZZ=ZZ+ZZ
 12228	040314	561 10 0 00 777776 		HRROI	AC-2,ZZ/2	;SETUP FOR COMPARISON
 12229	040315	561 12 0 00 777774 		HRROI	AC,ZZ		;SETUP DVND
 12230	040316	201 11 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12231	040317	230 12 0 00 000011 		IDIV	AC,AC-1		;DIVIDE (-ZZ) BY 2
 12232	040320	312 12 0 00 000010 		CAME	AC,AC-2		;TEST QUOTIENT
 12233	040321	003 12 0 00 013501 		ER3	AC,SN
 12234	040322	332 00 0 00 000013 		SKIPE	AC+1		;TEST REMAINDER
 12235	040323	004 13 0 00 013501 		ER4	AC+1,SN
 12236	040324	321 14 0 00 040314 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12237
 12238
 12239			013502		SN=SN+1
 12240		777777	777770			ZZ=ZZ+ZZ
 12241	040325	561 10 0 00 777774 		HRROI	AC-2,ZZ/2	;SETUP FOR COMPARISON
 12242	040326	561 12 0 00 777770 		HRROI	AC,ZZ		;SETUP DVND
 12243	040327	201 11 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12244	040330	230 12 0 00 000011 		IDIV	AC,AC-1		;DIVIDE (-ZZ) BY 2
 12245	040331	312 12 0 00 000010 		CAME	AC,AC-2		;TEST QUOTIENT
 12246	040332	003 12 0 00 013502 		ER3	AC,SN
 12247	040333	332 00 0 00 000013 		SKIPE	AC+1		;TEST REMAINDER
 12248	040334	004 13 0 00 013502 		ER4	AC+1,SN
 12249	040335	321 14 0 00 040325 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12250
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 50
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0265

 12251					;TEST IDIV- TWO NEGATIVES
 12252					;TEST ABILITY TO DIVIDE TWO
 12253					;NEGATIVE NUMBERS
 12254					;TEST EXERCISES MAJORITY
 12255					;OF IDIV LOGIC GATES
 12256					;DVND = -2,-4
 12257					;DVSR = -2,-4
 12258
 12259			000007			AC=7
 12260						SAVEAC	(1,1)^
 12261	040336	201 11 0 00 040336 		MOVEI	AC+2,.		;SAVE TEST PC
 12262	040337	202 11 0 00 030051 		MOVEM	AC+2,TESTPC
 12263	040340	201 11 0 00 000011 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12264	040341	202 11 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12265
 12266			014000		SN=14000
 12267		777777	777777			ZZ=-1
 12268
 12269							;DIVIDE TWO NEGATIVES
 12270					F14000:	REPEAT	^D2,<
 12271					SN=SN+1
 12272						ZZ=ZZ+ZZ
 12273						HRROI	AC,ZZ		;SETUP DVND
 12274						HRROI	AC-1,ZZ		;SETUP DVSR
 12275						IDIV	AC,AC-1		;DIVIDE (-ZZ) BY (-ZZ)
 12276						CAIE	AC,1		;TEST QUOT (POSITIVE)
 12277						ER3	AC,SN		;INCORRECT SIGN
 12278						SKIPE	AC+1		;TEST REMAINDER
 12279						ER4	AC+1,SN
 12280						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 12281					>
 12282
 12283			014001		SN=SN+1
 12284		777777	777776			ZZ=ZZ+ZZ
 12285	040342	561 07 0 00 777776 		HRROI	AC,ZZ		;SETUP DVND
 12286	040343	561 06 0 00 777776 		HRROI	AC-1,ZZ		;SETUP DVSR
 12287	040344	230 07 0 00 000006 		IDIV	AC,AC-1		;DIVIDE (-ZZ) BY (-ZZ)
 12288	040345	302 07 0 00 000001 		CAIE	AC,1		;TEST QUOT (POSITIVE)
 12289	040346	003 07 0 00 014001 		ER3	AC,SN		;INCORRECT SIGN
 12290	040347	332 00 0 00 000010 		SKIPE	AC+1		;TEST REMAINDER
 12291	040350	004 10 0 00 014001 		ER4	AC+1,SN
 12292	040351	321 11 0 00 040342 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 12293
 12294
 12295			014002		SN=SN+1
 12296		777777	777774			ZZ=ZZ+ZZ
 12297	040352	561 07 0 00 777774 		HRROI	AC,ZZ		;SETUP DVND
 12298	040353	561 06 0 00 777774 		HRROI	AC-1,ZZ		;SETUP DVSR
 12299	040354	230 07 0 00 000006 		IDIV	AC,AC-1		;DIVIDE (-ZZ) BY (-ZZ)
 12300	040355	302 07 0 00 000001 		CAIE	AC,1		;TEST QUOT (POSITIVE)
 12301	040356	003 07 0 00 014002 		ER3	AC,SN		;INCORRECT SIGN
 12302	040357	332 00 0 00 000010 		SKIPE	AC+1		;TEST REMAINDER
 12303	040360	004 10 0 00 014002 		ER4	AC+1,SN
 12304	040361	321 11 0 00 040352 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 12305
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 51
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0266

 12306					;TEST IDIV -IMMEDIATE MODE
 12307					;TEST ABILITY TO DIVIDE BY E VICE C(E)
 12308					;DVND = 2,4
 12309					;DVSR = E (C(E)=0)
 12310
 12311			014100		SN=14100
 12312			000012			AC=12
 12313			000001			ZZ=1
 12314
 12315							;TEST IDIV-IMM MODE
 12316					F14100:	REPEAT	^D2,<
 12317					SN=SN+1
 12318						ZZ=ZZ+ZZ
 12319						AC=AC-1
 12320						SAVEAC	(1,1)		;SAVE ERROR AC
 12321						JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 12322						MOVEI	AC,ZZ		;SETUP DVND
 12323						SETZ	AC-1,		;SETUP OVFL CONDITION
 12324						IDIVI	AC,AC-1		;DIVIDE (ZZ) BY E
 12325						JSP	AC-1,.+1
 12326						CAIE	AC,0
 12327						ER3	AC,SN		;C(AC) FAILED
 12328						CAIE	AC+1,ZZ
 12329						ER4	AC+1,SN		;C(AC+1) FAILED
 12330						JOV	.+2		;TEST FOR OVERFLOW
 12331						JRST	,.+2		;DIVIDED (ZZ) BY E
 12332						ER13	AC-1,SN		;DIVIDED (ZZ) BY C(E)
 12333						JUMPL	AC+2,.-^D14	;LOOP ON ERROR SWITCH
 12334					>
 12335
 12336			014101		SN=SN+1
 12337			000002			ZZ=ZZ+ZZ
 12338			000011			AC=AC-1
 12339						SAVEAC	(1,1)^
 12340	040362	201 13 0 00 040362 		MOVEI	AC+2,.		;SAVE TEST PC
 12341	040363	202 13 0 00 030051 		MOVEM	AC+2,TESTPC
 12342	040364	201 13 0 00 000013 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12343	040365	202 13 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^		;SAVE ERROR AC
 12344	040366	254 02 1 00 045321 		JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 12345	040367	201 11 0 00 000002 		MOVEI	AC,ZZ		;SETUP DVND
 12346	040370	400 10 0 00 000000 		SETZ	AC-1,		;SETUP OVFL CONDITION
 12347	040371	231 11 0 00 000010 		IDIVI	AC,AC-1		;DIVIDE (ZZ) BY E
 12348	040372	265 10 0 00 040373 		JSP	AC-1,.+1
 12349	040373	302 11 0 00 000000 		CAIE	AC,0
 12350	040374	003 11 0 00 014101 		ER3	AC,SN		;C(AC) FAILED
 12351	040375	302 12 0 00 000002 		CAIE	AC+1,ZZ
 12352	040376	004 12 0 00 014101 		ER4	AC+1,SN		;C(AC+1) FAILED
 12353	040377	255 10 0 00 040401 		JOV	.+2		;TEST FOR OVERFLOW
 12354	040400	254 00 0 00 040402 		JRST	,.+2		;DIVIDED (ZZ) BY E
 12355	040401	013 10 0 00 014101 		ER13	AC-1,SN		;DIVIDED (ZZ) BY C(E)
 12356	040402	321 13 0 00 040364 		JUMPL	AC+2,.-^D14	;LOOP ON ERROR SWITCH
 12357
 12358
 12359			014102		SN=SN+1
 12360			000004			ZZ=ZZ+ZZ
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 51-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0267

 12361			000010			AC=AC-1
 12362						SAVEAC	(1,1)^
 12363	040403	201 12 0 00 040403 		MOVEI	AC+2,.		;SAVE TEST PC
 12364	040404	202 12 0 00 030051 		MOVEM	AC+2,TESTPC
 12365	040405	201 12 0 00 000012 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12366	040406	202 12 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^		;SAVE ERROR AC
 12367	040407	254 02 1 00 045322 		JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 12368	040410	201 10 0 00 000004 		MOVEI	AC,ZZ		;SETUP DVND
 12369	040411	400 07 0 00 000000 		SETZ	AC-1,		;SETUP OVFL CONDITION
 12370	040412	231 10 0 00 000007 		IDIVI	AC,AC-1		;DIVIDE (ZZ) BY E
 12371	040413	265 07 0 00 040414 		JSP	AC-1,.+1
 12372	040414	302 10 0 00 000000 		CAIE	AC,0
 12373	040415	003 10 0 00 014102 		ER3	AC,SN		;C(AC) FAILED
 12374	040416	302 11 0 00 000004 		CAIE	AC+1,ZZ
 12375	040417	004 11 0 00 014102 		ER4	AC+1,SN		;C(AC+1) FAILED
 12376	040420	255 10 0 00 040422 		JOV	.+2		;TEST FOR OVERFLOW
 12377	040421	254 00 0 00 040423 		JRST	,.+2		;DIVIDED (ZZ) BY E
 12378	040422	013 07 0 00 014102 		ER13	AC-1,SN		;DIVIDED (ZZ) BY C(E)
 12379	040423	321 12 0 00 040405 		JUMPL	AC+2,.-^D14	;LOOP ON ERROR SWITCH
 12380
 12381					PAGE
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 51-2
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0268

 12382					;TEST IDIV-MEMORY MODE
 12383					;DVND = 10,20
 12384					;DVSR = 2
 12385
 12386			000014			AC=14
 12387						SAVEAC	(1,1)^
 12388	040424	201 16 0 00 040424 		MOVEI	AC+2,.		;SAVE TEST PC
 12389	040425	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
 12390	040426	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12391	040427	202 16 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12392	040430	254 02 1 00 045323 		JRSTF	@[.+1]		;CLEAR ALL FLAGS
 12393
 12394			014200		SN=14200
 12395			000004			ZZ=4
 12396
 12397							;TEST IDIV-MEMORY MODE
 12398					F14200:	REPEAT	^D2,<
 12399					SN=SN+1
 12400						ZZ=ZZ+ZZ
 12401						MOVEI	AC+1,ZZ		;SETUP FOR COMPARISON
 12402						MOVEI	AC,ZZ		;SETUP DVND
 12403						MOVEI	AC-1,2		;SETUP DVSR
 12404						IDIVM	AC,AC-1		;DIVIDE (ZZ) BY 2
 12405						CAME	AC,AC+1
 12406						ER3	AC,SN
 12407						CAIE	AC-1,ZZ/2	;TEST SCE
 12408						ER5	AC-1,SN
 12409						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12410					>
 12411
 12412			014201		SN=SN+1
 12413			000010			ZZ=ZZ+ZZ
 12414	040431	201 15 0 00 000010 		MOVEI	AC+1,ZZ		;SETUP FOR COMPARISON
 12415	040432	201 14 0 00 000010 		MOVEI	AC,ZZ		;SETUP DVND
 12416	040433	201 13 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12417	040434	232 14 0 00 000013 		IDIVM	AC,AC-1		;DIVIDE (ZZ) BY 2
 12418	040435	312 14 0 00 000015 		CAME	AC,AC+1
 12419	040436	003 14 0 00 014201 		ER3	AC,SN
 12420	040437	302 13 0 00 000004 		CAIE	AC-1,ZZ/2	;TEST SCE
 12421	040440	005 13 0 00 014201 		ER5	AC-1,SN
 12422	040441	321 16 0 00 040431 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12423
 12424
 12425			014202		SN=SN+1
 12426			000020			ZZ=ZZ+ZZ
 12427	040442	201 15 0 00 000020 		MOVEI	AC+1,ZZ		;SETUP FOR COMPARISON
 12428	040443	201 14 0 00 000020 		MOVEI	AC,ZZ		;SETUP DVND
 12429	040444	201 13 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12430	040445	232 14 0 00 000013 		IDIVM	AC,AC-1		;DIVIDE (ZZ) BY 2
 12431	040446	312 14 0 00 000015 		CAME	AC,AC+1
 12432	040447	003 14 0 00 014202 		ER3	AC,SN
 12433	040450	302 13 0 00 000010 		CAIE	AC-1,ZZ/2	;TEST SCE
 12434	040451	005 13 0 00 014202 		ER5	AC-1,SN
 12435	040452	321 16 0 00 040442 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12436
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 52
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0269

 12437					;TEST IDIV-BOTH MODE
 12438					;TEST ABILITY TO STORE QUOT
 12439					;IN AC AND E
 12440					;TEST ABILITY TO STORE REMD
 12441					;IN AC+1
 12442
 12443			000013			AC=13
 12444						SAVEAC	(1,1)^
 12445	040453	201 15 0 00 040453 		MOVEI	AC+2,.		;SAVE TEST PC
 12446	040454	202 15 0 00 030051 		MOVEM	AC+2,TESTPC
 12447	040455	201 15 0 00 000015 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12448	040456	202 15 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12449
 12450			014300		SN=14300
 12451			000001			ZZ=1
 12452
 12453							;TEST IDIV-BOTH MODE
 12454					F14300:	REPEAT	^D2,<
 12455					SN=SN+1
 12456						ZZ=ZZ+2
 12457						SETZ	AC+1,		;CLEAR AC+1
 12458						MOVEI	AC,ZZ		;SETUP DVND
 12459						MOVEI	AC-1,2		;SETUP DVSR
 12460						IDIVB	AC,AC-1		;DIVIDE (ZZ) BY 2
 12461						CAME	AC,AC-1		;TEST QUOT (C(AC)=C(E))
 12462						ER3	AC,SN		;STORE QUOTIENT FAILED
 12463						CAIE	AC+1,1		;TEST REMD(=1)
 12464						ER4	AC+1,SN		;STORE REMAINDER FAILED
 12465						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12466					>
 12467
 12468			014301		SN=SN+1
 12469			000003			ZZ=ZZ+2
 12470	040457	400 14 0 00 000000 		SETZ	AC+1,		;CLEAR AC+1
 12471	040460	201 13 0 00 000003 		MOVEI	AC,ZZ		;SETUP DVND
 12472	040461	201 12 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12473	040462	233 13 0 00 000012 		IDIVB	AC,AC-1		;DIVIDE (ZZ) BY 2
 12474	040463	312 13 0 00 000012 		CAME	AC,AC-1		;TEST QUOT (C(AC)=C(E))
 12475	040464	003 13 0 00 014301 		ER3	AC,SN		;STORE QUOTIENT FAILED
 12476	040465	302 14 0 00 000001 		CAIE	AC+1,1		;TEST REMD(=1)
 12477	040466	004 14 0 00 014301 		ER4	AC+1,SN		;STORE REMAINDER FAILED
 12478	040467	321 15 0 00 040457 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12479
 12480
 12481			014302		SN=SN+1
 12482			000005			ZZ=ZZ+2
 12483	040470	400 14 0 00 000000 		SETZ	AC+1,		;CLEAR AC+1
 12484	040471	201 13 0 00 000005 		MOVEI	AC,ZZ		;SETUP DVND
 12485	040472	201 12 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12486	040473	233 13 0 00 000012 		IDIVB	AC,AC-1		;DIVIDE (ZZ) BY 2
 12487	040474	312 13 0 00 000012 		CAME	AC,AC-1		;TEST QUOT (C(AC)=C(E))
 12488	040475	003 13 0 00 014302 		ER3	AC,SN		;STORE QUOTIENT FAILED
 12489	040476	302 14 0 00 000001 		CAIE	AC+1,1		;TEST REMD(=1)
 12490	040477	004 14 0 00 014302 		ER4	AC+1,SN		;STORE REMAINDER FAILED
 12491	040500	321 15 0 00 040470 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 52-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0270

 12492
 12493					PAGE
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 52-2
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0271

 12494					;TEST IDIV
 12495					;DVND = 400000000000
 12496					;DVSR = 2
 12497					;QUOT = 600000000000
 12498					;REMND = 0
 12499
 12500			000013			AC=13
 12501						SAVEAC	(1,1)^
 12502	040501	201 15 0 00 040501 		MOVEI	AC+2,.		;SAVE TEST PC
 12503	040502	202 15 0 00 030051 		MOVEM	AC+2,TESTPC
 12504	040503	201 15 0 00 000015 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12505	040504	202 15 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12506
 12507			400000			ZZ=400000
 12508			600000			XX=600000
 12509
 12510	040505	474 14 0 00 000000 	F14400:	SETO	AC+1,		;INITIALIZE REMAINDER STORAGE
 12511	040506	205 11 0 00 600000 		MOVSI	AC-2,XX		;SET UP COMPARISON FOR QUOTIENT
 12512	040507	400 10 0 00 000000 		SETZ	AC-3,		;SET UP COMPARISON FOR REMAINDER
 12513	040510	205 13 0 00 400000 		MOVSI	AC,ZZ		;SET UP DIVIDEND
 12514	040511	201 12 0 00 000002 		MOVEI	AC-1,2		;SET UP DIVISOR
 12515	040512	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE 400000000000 BY 2
 12516	040513	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOTIENT
 12517	040514	003 13 0 00 014401 		ER3	AC,14401	;STORE QUOTIENT FAILED
 12518	040515	312 14 0 00 000010 		CAME	AC+1,AC-3	;TEST REMAINDER
 12519	040516	004 14 0 00 014401 		ER4	AC+1,14401	;STORE REMAINDER FAILED
 12520	040517	321 15 0 00 040505 		JUMPL	AC+2,F14400	;LOOP ON ERROR SWITCH
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 53
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0272

 12521					;TEST IDIVB (DIVIDE CHECK)
 12522
 12523	040520	254 02 1 00 045324 	F14410:	JRSTF	@[.+1]		;CLEAR ALL FLAGS
 12524	040521	201 13 0 00 000004 		MOVEI	AC,4		;SETUP DIVIDEND
 12525	040522	201 14 0 00 000004 		MOVEI	AC+1,4		;SETUP REMAINDER
 12526	040523	400 12 0 00 000000 		SETZ	AC-1,		;SETUP DIVISOR
 12527	040524	233 13 0 00 000012 		IDIVB	AC,AC-1
 12528	040525	265 11 0 00 040526 		JSP	AC-2,.+1	;SAVE FLAGS
 12529	040526	302 13 0 00 000004 		CAIE	AC,4
 12530	040527	003 13 0 00 014411 		ER3	AC,14411	;C(AC) WAS CLOBBERED
 12531	040530	302 14 0 00 000004 		CAIE	AC+1,4
 12532	040531	004 14 0 00 014411 		ER4	AC+1,14411	;C(AC+1) WAS CLOBBERED
 12533	040532	302 12 0 00 000000 		CAIE	AC-1,0	
 12534	040533	005 12 0 00 014411 		ER5	AC-1,14411	;C(E) WAS CLOBBERED
 12535	040534	255 10 0 00 040536 		JOV	.+2
 12536	040535	013 11 0 00 014411 		ER13	AC-2,14411	;ARCV FAILED TO SET
 12537	040536	607 11 0 00 000040 		TLNN	AC-2,DCK
 12538	040537	013 11 0 00 014411 		ER13	AC-2,14411	;'DCK' FAILED TO SET
 12539	040540	321 15 0 00 040520 		JUMPL	AC+2,F14410	;LOOP ON ERROR SWITCH
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 54
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0273

 12540					SUBTTL	DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST
 12541
 12542					;TEST FAC2 AND DECODE
 12543					;TEST OF ABILITY TO ASSERT IRDIV
 12544					;TEST ABILITY TO FETCH C(AC+1)
 12545
 12546			000013			AC=13
 12547						SAVEAC	(1,1)^
 12548	040541	201 15 0 00 040541 		MOVEI	AC+2,.		;SAVE TEST PC
 12549	040542	202 15 0 00 030051 		MOVEM	AC+2,TESTPC
 12550	040543	201 15 0 00 000015 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12551	040544	202 15 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12552	040545	254 02 1 00 045325 		JRSTF	@[.+1]		;CLEAR ALL FLAGS
 12553
 12554			014500		SN=14500
 12555		004000	000001			XX=4000000001
 12556			000002			ZZ=2
 12557
 12558							;TEST FAC2 FAILING(IRDIV)
 12559					F14500:	REPEAT	^D2,<
 12560					SN=SN+1
 12561						XX=XX+XX-1
 12562						ZZ=ZZ+ZZ
 12563						MOVEI	AC,ZZ		;SETUP HIGH DVND
 12564						MOVEI	AC+1,200	;SETUP LOW DVND
 12565						MOVEI	AC-1,200	;SETUP DVSR
 12566						DIV	AC,AC-1		;DIVIDE (N) BY 200
 12567						CAME	AC,[XX]		;TEST BIT 35(1) (ODD QUOT)
 12568						ER3	AC,SN
 12569						SKIPE	<AC+1>&17	;TEST REMD = 0
 12570						ER4	AC+1,SN
 12571						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12572					>
 12573
 12574			014501		SN=SN+1
 12575		010000	000001			XX=XX+XX-1
 12576			000004			ZZ=ZZ+ZZ
 12577	040546	201 13 0 00 000004 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 12578	040547	201 14 0 00 000200 		MOVEI	AC+1,200	;SETUP LOW DVND
 12579	040550	201 12 0 00 000200 		MOVEI	AC-1,200	;SETUP DVSR
 12580	040551	234 13 0 00 000012 		DIV	AC,AC-1		;DIVIDE (N) BY 200
 12581	040552	312 13 0 00 045174 		CAME	AC,[XX]		;TEST BIT 35(1) (ODD QUOT)
 12582	040553	003 13 0 00 014501 		ER3	AC,SN
 12583	040554	332 00 0 00 000014 		SKIPE	<AC+1>&17	;TEST REMD = 0
 12584	040555	004 14 0 00 014501 		ER4	AC+1,SN
 12585	040556	321 15 0 00 040546 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12586
 12587
 12588			014502		SN=SN+1
 12589		020000	000001			XX=XX+XX-1
 12590			000010			ZZ=ZZ+ZZ
 12591	040557	201 13 0 00 000010 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 12592	040560	201 14 0 00 000200 		MOVEI	AC+1,200	;SETUP LOW DVND
 12593	040561	201 12 0 00 000200 		MOVEI	AC-1,200	;SETUP DVSR
 12594	040562	234 13 0 00 000012 		DIV	AC,AC-1		;DIVIDE (N) BY 200
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 54-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0274

 12595	040563	312 13 0 00 045176 		CAME	AC,[XX]		;TEST BIT 35(1) (ODD QUOT)
 12596	040564	003 13 0 00 014502 		ER3	AC,SN
 12597	040565	332 00 0 00 000014 		SKIPE	<AC+1>&17	;TEST REMD = 0
 12598	040566	004 14 0 00 014502 		ER4	AC+1,SN
 12599	040567	321 15 0 00 040557 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12600
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 55
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0275

 12601					;HIGH DVND = 2,4
 12602					;LOW DVND = 0
 12603					;DVSR = 2,4
 12604
 12605			000006			AC=6
 12606						SAVEAC	(1,1)^
 12607	040570	201 10 0 00 040570 		MOVEI	AC+2,.		;SAVE TEST PC
 12608	040571	202 10 0 00 030051 		MOVEM	AC+2,TESTPC
 12609	040572	201 10 0 00 000010 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12610	040573	202 10 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12611
 12612			014600		SN=14600
 12613			000001			ZZ=1
 12614
 12615					F14600:	REPEAT	^D2,<
 12616					SN=SN+1
 12617						ZZ=ZZ+ZZ
 12618						JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 12619						MOVEI	AC,ZZ		;SETUP HIGH DVND
 12620						SETZ	AC+1,		;SETUP LOW DVND
 12621						MOVEI	AC-1,ZZ		;SETUP DVSR
 12622						DIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 12623						JSP	AC-2,.+1
 12624						JOV	.+2		;TEST AROV FLAG
 12625						ER13	AC-2,SN
 12626						TLNN	AC-2,DCK
 12627						ER13	AC-2,SN		;DCK FAILED TO SET
 12628						CAIE	AC,ZZ		;EXAMINE QUOTIENT
 12629						ER3	AC,SN		;C(AC) WAS CLOBBERED
 12630						SKIPE	<AC+1>&17	;EXAMINE REMAINDER
 12631						ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 12632						JUMPL	AC+2,.-^D14	;LOOP ON ERROR SWITCH
 12633					>
 12634
 12635			014601		SN=SN+1
 12636			000002			ZZ=ZZ+ZZ
 12637	040574	254 02 1 00 045326 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 12638	040575	201 06 0 00 000002 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 12639	040576	400 07 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 12640	040577	201 05 0 00 000002 		MOVEI	AC-1,ZZ		;SETUP DVSR
 12641	040600	234 06 0 00 000005 		DIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 12642	040601	265 04 0 00 040602 		JSP	AC-2,.+1
 12643	040602	255 10 0 00 040604 		JOV	.+2		;TEST AROV FLAG
 12644	040603	013 04 0 00 014601 		ER13	AC-2,SN
 12645	040604	607 04 0 00 000040 		TLNN	AC-2,DCK
 12646	040605	013 04 0 00 014601 		ER13	AC-2,SN		;DCK FAILED TO SET
 12647	040606	302 06 0 00 000002 		CAIE	AC,ZZ		;EXAMINE QUOTIENT
 12648	040607	003 06 0 00 014601 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 12649	040610	332 00 0 00 000007 		SKIPE	<AC+1>&17	;EXAMINE REMAINDER
 12650	040611	004 07 0 00 014601 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 12651	040612	321 10 0 00 040574 		JUMPL	AC+2,.-^D14	;LOOP ON ERROR SWITCH
 12652
 12653
 12654			014602		SN=SN+1
 12655			000004			ZZ=ZZ+ZZ
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 55-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0276

 12656	040613	254 02 1 00 045327 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 12657	040614	201 06 0 00 000004 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 12658	040615	400 07 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 12659	040616	201 05 0 00 000004 		MOVEI	AC-1,ZZ		;SETUP DVSR
 12660	040617	234 06 0 00 000005 		DIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 12661	040620	265 04 0 00 040621 		JSP	AC-2,.+1
 12662	040621	255 10 0 00 040623 		JOV	.+2		;TEST AROV FLAG
 12663	040622	013 04 0 00 014602 		ER13	AC-2,SN
 12664	040623	607 04 0 00 000040 		TLNN	AC-2,DCK
 12665	040624	013 04 0 00 014602 		ER13	AC-2,SN		;DCK FAILED TO SET
 12666	040625	302 06 0 00 000004 		CAIE	AC,ZZ		;EXAMINE QUOTIENT
 12667	040626	003 06 0 00 014602 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 12668	040627	332 00 0 00 000007 		SKIPE	<AC+1>&17	;EXAMINE REMAINDER
 12669	040630	004 07 0 00 014602 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 12670	040631	321 10 0 00 040613 		JUMPL	AC+2,.-^D14	;LOOP ON ERROR SWITCH
 12671
 12672					PAGE
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 55-2
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0277

 12673					;=2
 12674					;HIGH DVND = 4
 12675					;LOW DVND = 4
 12676					;DVSR = 10,20
 12677
 12678			000005			AC=5
 12679						SAVEAC	(1,1)^
 12680	040632	201 07 0 00 040632 		MOVEI	AC+2,.		;SAVE TEST PC
 12681	040633	202 07 0 00 030051 		MOVEM	AC+2,TESTPC
 12682	040634	201 07 0 00 000007 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12683	040635	202 07 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12684	040636	254 02 1 00 045330 		JRSTF	@[.+1]		;CLEAR ALL FLAGS
 12685
 12686			014700		SN=14700
 12687			000004			ZZ=4
 12688
 12689					F14700:	REPEAT	^D2,<
 12690					SN=SN+1
 12691						ZZ=ZZ+ZZ
 12692						MOVEI	AC-2,4		;SETUP FOR COMPARISON
 12693						MOVEI	AC,4		;SETUP HIGH DVND
 12694						MOVEI	AC+1,4		;SETUP LOW DVND
 12695						MOVEI	AC-1,ZZ		;SETUP DVSR
 12696						DIV	AC,AC-1		;DIVIDE (N) BY ZZ
 12697						CAME	AC+1,AC-2	;TEST REMD = 2
 12698						ER4	AC+1,SN
 12699						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 12700					>
 12701
 12702			014701		SN=SN+1
 12703			000010			ZZ=ZZ+ZZ
 12704	040637	201 03 0 00 000004 		MOVEI	AC-2,4		;SETUP FOR COMPARISON
 12705	040640	201 05 0 00 000004 		MOVEI	AC,4		;SETUP HIGH DVND
 12706	040641	201 06 0 00 000004 		MOVEI	AC+1,4		;SETUP LOW DVND
 12707	040642	201 04 0 00 000010 		MOVEI	AC-1,ZZ		;SETUP DVSR
 12708	040643	234 05 0 00 000004 		DIV	AC,AC-1		;DIVIDE (N) BY ZZ
 12709	040644	312 06 0 00 000003 		CAME	AC+1,AC-2	;TEST REMD = 2
 12710	040645	004 06 0 00 014701 		ER4	AC+1,SN
 12711	040646	321 07 0 00 040637 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 12712
 12713
 12714			014702		SN=SN+1
 12715			000020			ZZ=ZZ+ZZ
 12716	040647	201 03 0 00 000004 		MOVEI	AC-2,4		;SETUP FOR COMPARISON
 12717	040650	201 05 0 00 000004 		MOVEI	AC,4		;SETUP HIGH DVND
 12718	040651	201 06 0 00 000004 		MOVEI	AC+1,4		;SETUP LOW DVND
 12719	040652	201 04 0 00 000020 		MOVEI	AC-1,ZZ		;SETUP DVSR
 12720	040653	234 05 0 00 000004 		DIV	AC,AC-1		;DIVIDE (N) BY ZZ
 12721	040654	312 06 0 00 000003 		CAME	AC+1,AC-2	;TEST REMD = 2
 12722	040655	004 06 0 00 014702 		ER4	AC+1,SN
 12723	040656	321 07 0 00 040647 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 12724
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 56
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0278

 12725					;HIGH DVND = -1
 12726					;LOW DVND = -4,-10
 12727					;DVSR = 2
 12728
 12729			000013			AC=13
 12730						SAVEAC	(1,1)^
 12731	040657	201 15 0 00 040657 		MOVEI	AC+2,.		;SAVE TEST PC
 12732	040660	202 15 0 00 030051 		MOVEM	AC+2,TESTPC
 12733	040661	201 15 0 00 000015 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12734	040662	202 15 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12735
 12736			015000		SN=15000
 12737		777777	777777			XX=-1
 12738		777777	777776			ZZ=-2
 12739
 12740					F15000:	REPEAT	^D2,<
 12741					SN=SN+1
 12742						XX=XX+XX
 12743						ZZ=ZZ+ZZ
 12744						HRROI	AC-2,XX		;SETUP FOR COMPARISON
 12745						SETO	AC,		;SETUP HIGH DVND
 12746						HRROI	AC+1,ZZ		;SETUP LOW DVND
 12747						MOVEI	AC-1,2		;SETUP DVSR
 12748						DIV	AC,AC-1		;DIVIDE ZZ BY 2
 12749						SKIPE	AC+1		;TEST REMD = 0
 12750						ER4	AC+1,SN
 12751						CAME	AC,AC-2		;TEST QUOT
 12752						ER3	AC,SN
 12753						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 12754					>
 12755
 12756			015001		SN=SN+1
 12757		777777	777776			XX=XX+XX
 12758		777777	777774			ZZ=ZZ+ZZ
 12759	040663	561 11 0 00 777776 		HRROI	AC-2,XX		;SETUP FOR COMPARISON
 12760	040664	474 13 0 00 000000 		SETO	AC,		;SETUP HIGH DVND
 12761	040665	561 14 0 00 777774 		HRROI	AC+1,ZZ		;SETUP LOW DVND
 12762	040666	201 12 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12763	040667	234 13 0 00 000012 		DIV	AC,AC-1		;DIVIDE ZZ BY 2
 12764	040670	332 00 0 00 000014 		SKIPE	AC+1		;TEST REMD = 0
 12765	040671	004 14 0 00 015001 		ER4	AC+1,SN
 12766	040672	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT
 12767	040673	003 13 0 00 015001 		ER3	AC,SN
 12768	040674	321 15 0 00 040663 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 12769
 12770
 12771			015002		SN=SN+1
 12772		777777	777774			XX=XX+XX
 12773		777777	777770			ZZ=ZZ+ZZ
 12774	040675	561 11 0 00 777774 		HRROI	AC-2,XX		;SETUP FOR COMPARISON
 12775	040676	474 13 0 00 000000 		SETO	AC,		;SETUP HIGH DVND
 12776	040677	561 14 0 00 777770 		HRROI	AC+1,ZZ		;SETUP LOW DVND
 12777	040700	201 12 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12778	040701	234 13 0 00 000012 		DIV	AC,AC-1		;DIVIDE ZZ BY 2
 12779	040702	332 00 0 00 000014 		SKIPE	AC+1		;TEST REMD = 0
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 56-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0279

 12780	040703	004 14 0 00 015002 		ER4	AC+1,SN
 12781	040704	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT
 12782	040705	003 13 0 00 015002 		ER3	AC,SN
 12783	040706	321 15 0 00 040675 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 12784
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 57
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0280

 12785					;HIGH DVND = -1
 12786					;LOW DVND = 2,4
 12787					;DVSR = -2,-4
 12788
 12789			000014			AC=14
 12790						SAVEAC	(1,1)^
 12791	040707	201 16 0 00 040707 		MOVEI	AC+2,.		;SAVE TEST PC
 12792	040710	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
 12793	040711	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12794	040712	202 16 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12795
 12796			015100		SN=15100
 12797		777777	777777			XX=-1
 12798			377777			YY=377777
 12799			000001			ZZ=1
 12800
 12801					F15100:	REPEAT	^D2,<
 12802					SN=SN+1
 12803						XX=XX+XX
 12804						YY=YY/2
 12805						ZZ=ZZ+ZZ
 12806						JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 12807						SETO	AC,		;SETUP HIGH DVND
 12808						MOVEI	AC+1,ZZ		;SETUP LOW DVND
 12809						HRROI	AC-1,XX		;SETUP DVSR
 12810						HRLOI	AC-3,YY
 12811						DIV	AC,AC-1		;DIVIDE (-N) BY (XX)
 12812						JSP	AC-2,.+1
 12813						CAME	AC,<AC-3>&17
 12814						ER3	AC,SN		;C(AC) FAILED
 12815						CAIE	AC+1,0
 12816						ER4	AC+1,SN		;C(AC+1) FAILED
 12817						JOV	.+2		;TEST AROV FLAG
 12818						JRST	,.+2
 12819						ER13	AC-2,SN		;AROV SET
 12820						TLNE	AC-2,DCK
 12821						ER13	AC-2,SN		;DCK SET
 12822						JUMPL	AC+2,.-^D16	;LOOP ON ERROR SWITCH
 12823					>
 12824
 12825			015101		SN=SN+1
 12826		777777	777776			XX=XX+XX
 12827			177777			YY=YY/2
 12828			000002			ZZ=ZZ+ZZ
 12829	040713	254 02 1 00 045331 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 12830	040714	474 14 0 00 000000 		SETO	AC,		;SETUP HIGH DVND
 12831	040715	201 15 0 00 000002 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 12832	040716	561 13 0 00 777776 		HRROI	AC-1,XX		;SETUP DVSR
 12833	040717	525 11 0 00 177777 		HRLOI	AC-3,YY
 12834	040720	234 14 0 00 000013 		DIV	AC,AC-1		;DIVIDE (-N) BY (XX)
 12835	040721	265 12 0 00 040722 		JSP	AC-2,.+1
 12836	040722	312 14 0 00 000011 		CAME	AC,<AC-3>&17
 12837	040723	003 14 0 00 015101 		ER3	AC,SN		;C(AC) FAILED
 12838	040724	302 15 0 00 000000 		CAIE	AC+1,0
 12839	040725	004 15 0 00 015101 		ER4	AC+1,SN		;C(AC+1) FAILED
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 57-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0281

 12840	040726	255 10 0 00 040730 		JOV	.+2		;TEST AROV FLAG
 12841	040727	254 00 0 00 040731 		JRST	,.+2
 12842	040730	013 12 0 00 015101 		ER13	AC-2,SN		;AROV SET
 12843	040731	603 12 0 00 000040 		TLNE	AC-2,DCK
 12844	040732	013 12 0 00 015101 		ER13	AC-2,SN		;DCK SET
 12845	040733	321 16 0 00 040713 		JUMPL	AC+2,.-^D16	;LOOP ON ERROR SWITCH
 12846
 12847
 12848			015102		SN=SN+1
 12849		777777	777774			XX=XX+XX
 12850			077777			YY=YY/2
 12851			000004			ZZ=ZZ+ZZ
 12852	040734	254 02 1 00 045332 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 12853	040735	474 14 0 00 000000 		SETO	AC,		;SETUP HIGH DVND
 12854	040736	201 15 0 00 000004 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 12855	040737	561 13 0 00 777774 		HRROI	AC-1,XX		;SETUP DVSR
 12856	040740	525 11 0 00 077777 		HRLOI	AC-3,YY
 12857	040741	234 14 0 00 000013 		DIV	AC,AC-1		;DIVIDE (-N) BY (XX)
 12858	040742	265 12 0 00 040743 		JSP	AC-2,.+1
 12859	040743	312 14 0 00 000011 		CAME	AC,<AC-3>&17
 12860	040744	003 14 0 00 015102 		ER3	AC,SN		;C(AC) FAILED
 12861	040745	302 15 0 00 000000 		CAIE	AC+1,0
 12862	040746	004 15 0 00 015102 		ER4	AC+1,SN		;C(AC+1) FAILED
 12863	040747	255 10 0 00 040751 		JOV	.+2		;TEST AROV FLAG
 12864	040750	254 00 0 00 040752 		JRST	,.+2
 12865	040751	013 12 0 00 015102 		ER13	AC-2,SN		;AROV SET
 12866	040752	603 12 0 00 000040 		TLNE	AC-2,DCK
 12867	040753	013 12 0 00 015102 		ER13	AC-2,SN		;DCK SET
 12868	040754	321 16 0 00 040734 		JUMPL	AC+2,.-^D16	;LOOP ON ERROR SWITCH
 12869
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 58
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0282

 12870					;HIGH  DVND = -2,-4
 12871					;LOW DVND = -1
 12872					;DVSR = 2,4
 12873
 12874			000012			AC=12
 12875						SAVEAC	(1,1)^
 12876	040755	201 14 0 00 040755 		MOVEI	AC+2,.		;SAVE TEST PC
 12877	040756	202 14 0 00 030051 		MOVEM	AC+2,TESTPC
 12878	040757	201 14 0 00 000014 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12879	040760	202 14 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12880	040761	254 02 1 00 045333 		JRSTF	@[.+1]		;CLEAR ALL FLAGS
 12881
 12882			015200		SN=15200
 12883			000001			XX=1
 12884		400000	000000			YY=1B0
 12885		777777	777777			ZZ=-1
 12886
 12887					F15200:	REPEAT	^D2,<
 12888					SN=SN+1
 12889						XX=XX+XX
 12890						YY=YY_-1
 12891						ZZ=ZZ+ZZ
 12892						HRROI	AC,ZZ		;SETUP HIGH DVND
 12893						SETO	AC+1,		;SETUP LOW DVND
 12894						MOVEI	AC-1,XX		;SETUP DVSR
 12895						DIV	AC,AC-1		;DIVIDE (-N) BY (XX)
 12896						CAME	AC,[1B0+YY]	;TEST FOR ODD NUMBER QUOTIENT
 12897						ER3	AC,SN
 12898						CAME	AC+1,[-1]	;TEST REMD
 12899						ER4	AC+1,SN
 12900						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12901					>
 12902
 12903			015201		SN=SN+1
 12904			000002			XX=XX+XX
 12905		200000	000000			YY=YY_-1
 12906		777777	777776			ZZ=ZZ+ZZ
 12907	040762	561 12 0 00 777776 		HRROI	AC,ZZ		;SETUP HIGH DVND
 12908	040763	474 13 0 00 000000 		SETO	AC+1,		;SETUP LOW DVND
 12909	040764	201 11 0 00 000002 		MOVEI	AC-1,XX		;SETUP DVSR
 12910	040765	234 12 0 00 000011 		DIV	AC,AC-1		;DIVIDE (-N) BY (XX)
 12911	040766	312 12 0 00 044776 		CAME	AC,[1B0+YY]	;TEST FOR ODD NUMBER QUOTIENT
 12912	040767	003 12 0 00 015201 		ER3	AC,SN
 12913	040770	312 13 0 00 044633 		CAME	AC+1,[-1]	;TEST REMD
 12914	040771	004 13 0 00 015201 		ER4	AC+1,SN
 12915	040772	321 14 0 00 040762 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12916
 12917
 12918			015202		SN=SN+1
 12919			000004			XX=XX+XX
 12920		100000	000000			YY=YY_-1
 12921		777777	777774			ZZ=ZZ+ZZ
 12922	040773	561 12 0 00 777774 		HRROI	AC,ZZ		;SETUP HIGH DVND
 12923	040774	474 13 0 00 000000 		SETO	AC+1,		;SETUP LOW DVND
 12924	040775	201 11 0 00 000004 		MOVEI	AC-1,XX		;SETUP DVSR
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 58-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0283

 12925	040776	234 12 0 00 000011 		DIV	AC,AC-1		;DIVIDE (-N) BY (XX)
 12926	040777	312 12 0 00 044773 		CAME	AC,[1B0+YY]	;TEST FOR ODD NUMBER QUOTIENT
 12927	041000	003 12 0 00 015202 		ER3	AC,SN
 12928	041001	312 13 0 00 044633 		CAME	AC+1,[-1]	;TEST REMD
 12929	041002	004 13 0 00 015202 		ER4	AC+1,SN
 12930	041003	321 14 0 00 040773 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12931
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 61
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0284

 12932					;OPERANDS SELECTED SHOULD RESULT
 12933					;IN OVERFLOW
 12934					;HIGH DVND = -100,-40
 12935					;LOW DVND = 0
 12936					;DVSR = 100,40
 12937
 12938			000006			AC=6
 12939						SAVEAC	(1,1)^
 12940	041004	201 10 0 00 041004 		MOVEI	AC+2,.		;SAVE TEST PC
 12941	041005	202 10 0 00 030051 		MOVEM	AC+2,TESTPC
 12942	041006	201 10 0 00 000010 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12943	041007	202 10 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12944
 12945			015600		SN=15600
 12946		777777	777600			WW=-200
 12947			000200			XX=200
 12948		777777	777600			ZZ=-200
 12949
 12950					F15600:	REPEAT	^D2,<
 12951					SN=SN+1
 12952						WW=WW/2
 12953						XX=XX/2
 12954						ZZ=ZZ/2
 12955						JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 12956						HRROI	AC-2,WW		;SETUP AC-2 FOR COMPARISON
 12957						HRROI	AC,ZZ		;SETUP HIGH DVND
 12958						SETZ	AC+1,		;SETUP LOW DVND
 12959						MOVEI	AC-1,XX		;SETUP DVSR
 12960						DIV	AC,AC-1		;DIVIDE (-N) BY (N)
 12961						JSP	AC-3,.+1
 12962						JOV	.+2		;TEST FOR OVERFLOW
 12963						ER13	AC-3,SN
 12964						TLNN	AC-3,DCK
 12965						ER13	AC-3,SN		;DCK NOT SET
 12966						CAME	AC,AC-2		;TEST FOR UNIQUE QUOTIENT
 12967						ER3	AC,SN
 12968						CAIE	AC+1,0
 12969						ER4	AC+1,SN		;C(AC+1) FAILED
 12970						JUMPL	AC+2,.-^D16	;LOOP ON ERROR SWITCH
 12971					>
 12972
 12973			015601		SN=SN+1
 12974		777777	777700			WW=WW/2
 12975			000100			XX=XX/2
 12976		777777	777700			ZZ=ZZ/2
 12977	041010	254 02 1 00 045334 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 12978	041011	561 04 0 00 777700 		HRROI	AC-2,WW		;SETUP AC-2 FOR COMPARISON
 12979	041012	561 06 0 00 777700 		HRROI	AC,ZZ		;SETUP HIGH DVND
 12980	041013	400 07 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 12981	041014	201 05 0 00 000100 		MOVEI	AC-1,XX		;SETUP DVSR
 12982	041015	234 06 0 00 000005 		DIV	AC,AC-1		;DIVIDE (-N) BY (N)
 12983	041016	265 03 0 00 041017 		JSP	AC-3,.+1
 12984	041017	255 10 0 00 041021 		JOV	.+2		;TEST FOR OVERFLOW
 12985	041020	013 03 0 00 015601 		ER13	AC-3,SN
 12986	041021	607 03 0 00 000040 		TLNN	AC-3,DCK
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 61-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0285

 12987	041022	013 03 0 00 015601 		ER13	AC-3,SN		;DCK NOT SET
 12988	041023	312 06 0 00 000004 		CAME	AC,AC-2		;TEST FOR UNIQUE QUOTIENT
 12989	041024	003 06 0 00 015601 		ER3	AC,SN
 12990	041025	302 07 0 00 000000 		CAIE	AC+1,0
 12991	041026	004 07 0 00 015601 		ER4	AC+1,SN		;C(AC+1) FAILED
 12992	041027	321 10 0 00 041007 		JUMPL	AC+2,.-^D16	;LOOP ON ERROR SWITCH
 12993
 12994
 12995			015602		SN=SN+1
 12996		777777	777740			WW=WW/2
 12997			000040			XX=XX/2
 12998		777777	777740			ZZ=ZZ/2
 12999	041030	254 02 1 00 045335 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 13000	041031	561 04 0 00 777740 		HRROI	AC-2,WW		;SETUP AC-2 FOR COMPARISON
 13001	041032	561 06 0 00 777740 		HRROI	AC,ZZ		;SETUP HIGH DVND
 13002	041033	400 07 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 13003	041034	201 05 0 00 000040 		MOVEI	AC-1,XX		;SETUP DVSR
 13004	041035	234 06 0 00 000005 		DIV	AC,AC-1		;DIVIDE (-N) BY (N)
 13005	041036	265 03 0 00 041037 		JSP	AC-3,.+1
 13006	041037	255 10 0 00 041041 		JOV	.+2		;TEST FOR OVERFLOW
 13007	041040	013 03 0 00 015602 		ER13	AC-3,SN
 13008	041041	607 03 0 00 000040 		TLNN	AC-3,DCK
 13009	041042	013 03 0 00 015602 		ER13	AC-3,SN		;DCK NOT SET
 13010	041043	312 06 0 00 000004 		CAME	AC,AC-2		;TEST FOR UNIQUE QUOTIENT
 13011	041044	003 06 0 00 015602 		ER3	AC,SN
 13012	041045	302 07 0 00 000000 		CAIE	AC+1,0
 13013	041046	004 07 0 00 015602 		ER4	AC+1,SN		;C(AC+1) FAILED
 13014	041047	321 10 0 00 041027 		JUMPL	AC+2,.-^D16	;LOOP ON ERROR SWITCH
 13015
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 62
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0286

 13016					;OPERANDS SELECTED SHOULD RESULT IN OVERFLOW
 13017					;HIGH DVND = -2,-4
 13018					;LOW DVND = 0
 13019					;DVSR = 2
 13020
 13021			000005			AC=5
 13022						SAVEAC	(1,1)^
 13023	041050	201 07 0 00 041050 		MOVEI	AC+2,.		;SAVE TEST PC
 13024	041051	202 07 0 00 030051 		MOVEM	AC+2,TESTPC
 13025	041052	201 07 0 00 000007 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 13026	041053	202 07 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 13027
 13028			015700		SN=15700
 13029		777777	777777			XX=-1
 13030		777777	777777			ZZ=-1
 13031
 13032					F15700:	REPEAT	^D2,<
 13033					SN=SN+1
 13034						XX=XX+XX
 13035						ZZ=ZZ+ZZ
 13036						JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 13037						HRROI	AC,ZZ		;SETUP HIGH DVND
 13038						SETZ	AC+1,		;SETUP LOW DVND
 13039						MOVEI	AC-1,2		;SETUP DVSR
 13040						DIV	AC,AC-1		;DIVIDE (-N) BY 2
 13041						JSP	AC-2,.+1
 13042						JOV	.+2		;TEST FOR OVERFLOW
 13043						ER13	AC-2,SN
 13044						CAME	AC,[XX]		;TEST QUOT
 13045						ER3	AC,SN
 13046						JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13047					>
 13048
 13049			015701		SN=SN+1
 13050		777777	777776			XX=XX+XX
 13051		777777	777776			ZZ=ZZ+ZZ
 13052	041054	254 02 1 00 045336 		JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 13053	041055	561 05 0 00 777776 		HRROI	AC,ZZ		;SETUP HIGH DVND
 13054	041056	400 06 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 13055	041057	201 04 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 13056	041060	234 05 0 00 000004 		DIV	AC,AC-1		;DIVIDE (-N) BY 2
 13057	041061	265 03 0 00 041062 		JSP	AC-2,.+1
 13058	041062	255 10 0 00 041064 		JOV	.+2		;TEST FOR OVERFLOW
 13059	041063	013 03 0 00 015701 		ER13	AC-2,SN
 13060	041064	312 05 0 00 044635 		CAME	AC,[XX]		;TEST QUOT
 13061	041065	003 05 0 00 015701 		ER3	AC,SN
 13062	041066	321 07 0 00 041054 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13063
 13064
 13065			015702		SN=SN+1
 13066		777777	777774			XX=XX+XX
 13067		777777	777774			ZZ=ZZ+ZZ
 13068	041067	254 02 1 00 045337 		JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 13069	041070	561 05 0 00 777774 		HRROI	AC,ZZ		;SETUP HIGH DVND
 13070	041071	400 06 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 62-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0287

 13071	041072	201 04 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 13072	041073	234 05 0 00 000004 		DIV	AC,AC-1		;DIVIDE (-N) BY 2
 13073	041074	265 03 0 00 041075 		JSP	AC-2,.+1
 13074	041075	255 10 0 00 041077 		JOV	.+2		;TEST FOR OVERFLOW
 13075	041076	013 03 0 00 015702 		ER13	AC-2,SN
 13076	041077	312 05 0 00 045340 		CAME	AC,[XX]		;TEST QUOT
 13077	041100	003 05 0 00 015702 		ER3	AC,SN
 13078	041101	321 07 0 00 041067 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13079
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 64
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0288

 13080					;OPERANDS SELECTED WILL NOT OVERFLOW
 13081					;HIGH DVND = -1,-2
 13082					;LOW DVND = -1
 13083					;DVSR = -1,-2
 13084
 13085			000014			AC=14
 13086						SAVEAC	(1,1)^
 13087	041102	201 16 0 00 041102 		MOVEI	AC+2,.		;SAVE TEST PC
 13088	041103	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
 13089	041104	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 13090	041105	202 16 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 13091
 13092			016100		SN=16100
 13093			000000			ZZ=0
 13094
 13095					F16100:	REPEAT	^D2,<
 13096					SN=SN+1
 13097						ZZ=ZZ+ZZ
 13098						IFE	ZZ,<ZZ=-1>
 13099						JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 13100						HRROI	AC,ZZ		;SETUP HIGH DVND
 13101						SETO	AC+1,		;SETUP LOW DVND
 13102						HRROI	AC-1,ZZ		;SETUP DVSR
 13103						DIV	AC,AC-1		;DIVIDE (-N) BY (-N)
 13104						JSP	AC-3,.+1
 13105						JOV	.+2		;TEST FOR OVERFLOW
 13106						JRST	,.+2
 13107						ER13	AC-3,SN
 13108						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 13109					>
 13110
 13111			016101		SN=SN+1
 13112			000000			ZZ=ZZ+ZZ
 13113		777777	777777			IFE	ZZ,<ZZ=-1>
 13114	041106	254 02 1 00 045341 		JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 13115	041107	561 14 0 00 777777 		HRROI	AC,ZZ		;SETUP HIGH DVND
 13116	041110	474 15 0 00 000000 		SETO	AC+1,		;SETUP LOW DVND
 13117	041111	561 13 0 00 777777 		HRROI	AC-1,ZZ		;SETUP DVSR
 13118	041112	234 14 0 00 000013 		DIV	AC,AC-1		;DIVIDE (-N) BY (-N)
 13119	041113	265 11 0 00 041114 		JSP	AC-3,.+1
 13120	041114	255 10 0 00 041116 		JOV	.+2		;TEST FOR OVERFLOW
 13121	041115	254 00 0 00 041117 		JRST	,.+2
 13122	041116	013 11 0 00 016101 		ER13	AC-3,SN
 13123	041117	321 16 0 00 041106 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 13124
 13125
 13126			016102		SN=SN+1
 13127		777777	777776			ZZ=ZZ+ZZ
 13128						IFE	ZZ,<ZZ=-1>
 13129	041120	254 02 1 00 045342 		JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 13130	041121	561 14 0 00 777776 		HRROI	AC,ZZ		;SETUP HIGH DVND
 13131	041122	474 15 0 00 000000 		SETO	AC+1,		;SETUP LOW DVND
 13132	041123	561 13 0 00 777776 		HRROI	AC-1,ZZ		;SETUP DVSR
 13133	041124	234 14 0 00 000013 		DIV	AC,AC-1		;DIVIDE (-N) BY (-N)
 13134	041125	265 11 0 00 041126 		JSP	AC-3,.+1
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 64-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0289

 13135	041126	255 10 0 00 041130 		JOV	.+2		;TEST FOR OVERFLOW
 13136	041127	254 00 0 00 041131 		JRST	,.+2
 13137	041130	013 11 0 00 016102 		ER13	AC-3,SN
 13138	041131	321 16 0 00 041120 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 13139
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 65
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0290

 13140					;TEST DIV-IMMEDIATE MODE
 13141					;TEST ABILITY TO DIVIDE BY E
 13142					;VICE C(E)
 13143					;TEST ABILITY TO INHIBIT ASSERTION
 13144					;OF IRMDFCE
 13145
 13146			016200		SN=16200
 13147			000007			AC=7
 13148			000017			ZZ=17
 13149
 13150							;TEST DIV-IMM MODE
 13151					F16200:	REPEAT	^D2,<
 13152					SN=SN+1
 13153						AC=AC-1
 13154						ZZ=ZZ-1
 13155						SAVEAC	(1,1)		;SAVE ERROR AC
 13156						JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 13157						MOVEI	AC,4		;SETUP HIGH DVND
 13158						SETZ	AC+1,		;SETUP LOW DVND
 13159						MOVEI	AC-1,2		;SETUP OVERFLOW CONDITION
 13160						DIVI	AC,ZZ		;DIVIDE (N) BY E
 13161						JSP	AC-3,.+1
 13162						JOV	.+2		;TEST FOR OVERFLOW
 13163						JRST	,.+2		;DIVIDED BY E
 13164						ER13	AC-3,SN		;DIVIDED BY C(E)
 13165						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 13166					>
 13167
 13168			016201		SN=SN+1
 13169			000006			AC=AC-1
 13170			000016			ZZ=ZZ-1
 13171						SAVEAC	(1,1)^
 13172	041132	201 10 0 00 041132 		MOVEI	AC+2,.		;SAVE TEST PC
 13173	041133	202 10 0 00 030051 		MOVEM	AC+2,TESTPC
 13174	041134	201 10 0 00 000010 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 13175	041135	202 10 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^		;SAVE ERROR AC
 13176	041136	254 02 1 00 045343 		JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 13177	041137	201 06 0 00 000004 		MOVEI	AC,4		;SETUP HIGH DVND
 13178	041140	400 07 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 13179	041141	201 05 0 00 000002 		MOVEI	AC-1,2		;SETUP OVERFLOW CONDITION
 13180	041142	235 06 0 00 000016 		DIVI	AC,ZZ		;DIVIDE (N) BY E
 13181	041143	265 03 0 00 041144 		JSP	AC-3,.+1
 13182	041144	255 10 0 00 041146 		JOV	.+2		;TEST FOR OVERFLOW
 13183	041145	254 00 0 00 041147 		JRST	,.+2		;DIVIDED BY E
 13184	041146	013 03 0 00 016201 		ER13	AC-3,SN		;DIVIDED BY C(E)
 13185	041147	321 10 0 00 041136 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 13186
 13187
 13188			016202		SN=SN+1
 13189			000005			AC=AC-1
 13190			000015			ZZ=ZZ-1
 13191						SAVEAC	(1,1)^
 13192	041150	201 07 0 00 041150 		MOVEI	AC+2,.		;SAVE TEST PC
 13193	041151	202 07 0 00 030051 		MOVEM	AC+2,TESTPC
 13194	041152	201 07 0 00 000007 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 65-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0291

 13195	041153	202 07 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^		;SAVE ERROR AC
 13196	041154	254 02 1 00 045344 		JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 13197	041155	201 05 0 00 000004 		MOVEI	AC,4		;SETUP HIGH DVND
 13198	041156	400 06 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 13199	041157	201 04 0 00 000002 		MOVEI	AC-1,2		;SETUP OVERFLOW CONDITION
 13200	041160	235 05 0 00 000015 		DIVI	AC,ZZ		;DIVIDE (N) BY E
 13201	041161	265 02 0 00 041162 		JSP	AC-3,.+1
 13202	041162	255 10 0 00 041164 		JOV	.+2		;TEST FOR OVERFLOW
 13203	041163	254 00 0 00 041165 		JRST	,.+2		;DIVIDED BY E
 13204	041164	013 02 0 00 016202 		ER13	AC-3,SN		;DIVIDED BY C(E)
 13205	041165	321 07 0 00 041154 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 13206
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 66
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0292

 13207					;TEST DIV-MEMORY MODE
 13208					;TEST ABILITY TO ASSERT IRMDSCE
 13209					;TEST ABILITY TO ASSERT IRMDSACINH
 13210
 13211			000005			AC=5
 13212						SAVEAC	(1,1)^
 13213	041166	201 07 0 00 041166 		MOVEI	AC+2,.		;SAVE TEST PC
 13214	041167	202 07 0 00 030051 		MOVEM	AC+2,TESTPC
 13215	041170	201 07 0 00 000007 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 13216	041171	202 07 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 13217	041172	254 02 1 00 045345 		JRSTF	@[.+1]		;CLEAR ALL FLAGS
 13218
 13219			016300		SN=16300
 13220			010000			XX=10000
 13221			000002			ZZ=2
 13222
 13223							;TEST DIV-MEM MODE
 13224					F16300:	REPEAT	^D2,<
 13225					SN=SN+1
 13226						XX=XX+XX
 13227						ZZ=ZZ+ZZ
 13228						MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13229						MOVEI	AC,ZZ		;SETUP HIGH DVND
 13230						MOVEI	AC+1,ZZ		;SETUP LOW DVND
 13231						MOVEI	AC-1,100	;SETUP DVSR
 13232						DIVM	AC,AC-1		;DIVIDE (+N) BY 100
 13233						CAME	AC-1,AC-2	;TEST SCE
 13234						ER5	AC-1,SN
 13235						CAME	AC,AC+1		;TEST SAC INH
 13236						ER3	AC,SN
 13237						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 13238					>
 13239
 13240			016301		SN=SN+1
 13241			020000			XX=XX+XX
 13242			000004			ZZ=ZZ+ZZ
 13243	041173	205 03 0 00 020000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13244	041174	201 05 0 00 000004 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 13245	041175	201 06 0 00 000004 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 13246	041176	201 04 0 00 000100 		MOVEI	AC-1,100	;SETUP DVSR
 13247	041177	236 05 0 00 000004 		DIVM	AC,AC-1		;DIVIDE (+N) BY 100
 13248	041200	312 04 0 00 000003 		CAME	AC-1,AC-2	;TEST SCE
 13249	041201	005 04 0 00 016301 		ER5	AC-1,SN
 13250	041202	312 05 0 00 000006 		CAME	AC,AC+1		;TEST SAC INH
 13251	041203	003 05 0 00 016301 		ER3	AC,SN
 13252	041204	321 07 0 00 041173 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 13253
 13254
 13255			016302		SN=SN+1
 13256			040000			XX=XX+XX
 13257			000010			ZZ=ZZ+ZZ
 13258	041205	205 03 0 00 040000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13259	041206	201 05 0 00 000010 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 13260	041207	201 06 0 00 000010 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 13261	041210	201 04 0 00 000100 		MOVEI	AC-1,100	;SETUP DVSR
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 66-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0293

 13262	041211	236 05 0 00 000004 		DIVM	AC,AC-1		;DIVIDE (+N) BY 100
 13263	041212	312 04 0 00 000003 		CAME	AC-1,AC-2	;TEST SCE
 13264	041213	005 04 0 00 016302 		ER5	AC-1,SN
 13265	041214	312 05 0 00 000006 		CAME	AC,AC+1		;TEST SAC INH
 13266	041215	003 05 0 00 016302 		ER3	AC,SN
 13267	041216	321 07 0 00 041205 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 13268
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 67
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0294

 13269					;TEST DIV-BOTH MODE
 13270					;TEST ABILITY TO STORE QUOT
 13271					;IN AC,E
 13272					;TEST ABILITY TO STORE REMD
 13273					;IN AC+1
 13274
 13275			000014			AC=14
 13276						SAVEAC	(1,1)^
 13277	041217	201 16 0 00 041217 		MOVEI	AC+2,.		;SAVE TEST PC
 13278	041220	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
 13279	041221	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 13280	041222	202 16 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 13281
 13282			016400		SN=16400
 13283			000002			ZZ=2
 13284
 13285							;TEST DIV-BOTH MODE
 13286					F16400:	REPEAT	^D2,<
 13287					SN=SN+1
 13288						ZZ=ZZ+ZZ
 13289						MOVEI	AC,ZZ		;SETUP HIGH DVND
 13290						MOVEI	AC+1,100	;SETUP LOW DVND
 13291						MOVEI	AC-1,100	;SETUP DVSR
 13292						DIVB	AC,AC-1		;DIVIDE (+N) BY 100
 13293						CAME	AC,AC-1		;TEST STORE QUOTIENT
 13294						ER3	AC,SN		;STORE QUOTIENT FAILED
 13295						SKIPE	AC+1		;TEST STORE REMAINDER
 13296						ER4	AC+1,SN		;STORE REMAINDER FAILED
 13297						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 13298					>
 13299
 13300			016401		SN=SN+1
 13301			000004			ZZ=ZZ+ZZ
 13302	041223	201 14 0 00 000004 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 13303	041224	201 15 0 00 000100 		MOVEI	AC+1,100	;SETUP LOW DVND
 13304	041225	201 13 0 00 000100 		MOVEI	AC-1,100	;SETUP DVSR
 13305	041226	237 14 0 00 000013 		DIVB	AC,AC-1		;DIVIDE (+N) BY 100
 13306	041227	312 14 0 00 000013 		CAME	AC,AC-1		;TEST STORE QUOTIENT
 13307	041230	003 14 0 00 016401 		ER3	AC,SN		;STORE QUOTIENT FAILED
 13308	041231	332 00 0 00 000015 		SKIPE	AC+1		;TEST STORE REMAINDER
 13309	041232	004 15 0 00 016401 		ER4	AC+1,SN		;STORE REMAINDER FAILED
 13310	041233	321 16 0 00 041223 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 13311
 13312
 13313			016402		SN=SN+1
 13314			000010			ZZ=ZZ+ZZ
 13315	041234	201 14 0 00 000010 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 13316	041235	201 15 0 00 000100 		MOVEI	AC+1,100	;SETUP LOW DVND
 13317	041236	201 13 0 00 000100 		MOVEI	AC-1,100	;SETUP DVSR
 13318	041237	237 14 0 00 000013 		DIVB	AC,AC-1		;DIVIDE (+N) BY 100
 13319	041240	312 14 0 00 000013 		CAME	AC,AC-1		;TEST STORE QUOTIENT
 13320	041241	003 14 0 00 016402 		ER3	AC,SN		;STORE QUOTIENT FAILED
 13321	041242	332 00 0 00 000015 		SKIPE	AC+1		;TEST STORE REMAINDER
 13322	041243	004 15 0 00 016402 		ER4	AC+1,SN		;STORE REMAINDER FAILED
 13323	041244	321 16 0 00 041234 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 67-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0295

 13324
 13325					PAGE
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 67-2
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0296

 13326					;TEST DIVB (DIVIDE CHECK)
 13327
 13328	041245	254 02 1 00 045346 	F16410:	JRSTF	@[.+1]		;CLEAR ALL FLAGS
 13329	041246	201 14 0 00 000004 		MOVEI	AC,4		;SETUP HIGH DIVIDEND
 13330	041247	201 15 0 00 000001 		MOVEI	AC+1,1		;SETUP LOW DIVIDEND
 13331	041250	201 13 0 00 000001 		MOVEI	AC-1,1		;SETUP DIVISOR
 13332	041251	237 14 0 00 000013 		DIVB	AC,AC-1
 13333	041252	265 12 0 00 041253 		JSP	AC-2,.+1	;SAME FLAGS
 13334	041253	302 14 0 00 000004 		CAIE	AC,4
 13335	041254	003 14 0 00 016411 		ER3	AC,16411	;C(AC) WAS CLOBBERED
 13336	041255	302 15 0 00 000001 		CAIE	AC+1,1
 13337	041256	004 15 0 00 016411 		ER4	AC+1,16411	;C(AC+1) WAS CLOBBERED
 13338	041257	302 13 0 00 000001 		CAIE	AC-1,1
 13339	041260	005 13 0 00 016411 		ER5	AC-1,16411	;C(E) WAS CLOBBERED
 13340	041261	255 10 0 00 041263 		JOV	.+2
 13341	041262	013 12 0 00 016411 		ER13	AC-2,16411	;AROV FAILED TO SET
 13342	041263	607 12 0 00 000040 		TLNN	AC-2,DCK	;DCK FAILED TO SET
 13343	041264	013 12 0 00 016411 		ER13	AC-2,16411
 13344	041265	321 16 0 00 041245 		JUMPL	AC+2,F16410
 13345
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 68
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0297

 13346					SUBTTL	DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST
 13347
 13348					;TEST MUL DIRECT - TWO POSITIVES
 13349					;TESTING IS ACCOMPLISHED BY MULTIPLYING
 13350					;0500000000000 BY A DECREASING MULTIPLIER
 13351					;PLIER=200000000000, 100000000000 (1/2, 1/4) ETC
 13352					;PLICAND=050000000000
 13353					;HIGH PROD=024000000000, 012000000000 ETC
 13354					;LOW PROD=0
 13355
 13356			000013			AC=13
 13357						SAVEAC	(1,1)^
 13358	041266	201 15 0 00 041266 		MOVEI	AC+2,.		;SAVE TEST PC
 13359	041267	202 15 0 00 030051 		MOVEM	AC+2,TESTPC
 13360	041270	201 15 0 00 000015 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 13361	041271	202 15 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 13362
 13363			017100		SN=17100
 13364			050000			XX=050000
 13365			000000			ZZ=0
 13366
 13367					F17100:	REPEAT	^D10,<
 13368					SN=SN+1
 13369						XX=XX/2
 13370						ZZ=ZZ/2
 13371						IFE	ZZ,<ZZ=200000>
 13372						MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13373						MOVSI	AC,ZZ		;SETUP PLIER
 13374						MOVSI	AC-1,050000	;SETUP PLICAND
 13375						MUL	AC,AC-1		;MULTIPLY ZZ X 050000000000
 13376						SKIPE	AC+1		;TEST LOW PROD=0
 13377						ER4	AC+1,SN
 13378						CAME	AC,AC-2		;TEST HIGH PROD=XX
 13379						ER3	AC,SN		;MUL FAILED
 13380						CAME	AC-1,[050000,,0];WAS C(E) MODIFIED ?
 13381						ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13382						JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13383					>
 13384
 13385			017101		SN=SN+1
 13386			024000			XX=XX/2
 13387			000000			ZZ=ZZ/2
 13388			200000			IFE	ZZ,<ZZ=200000>
 13389	041272	205 11 0 00 024000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13390	041273	205 13 0 00 200000 		MOVSI	AC,ZZ		;SETUP PLIER
 13391	041274	205 12 0 00 050000 		MOVSI	AC-1,050000	;SETUP PLICAND
 13392	041275	224 13 0 00 000012 		MUL	AC,AC-1		;MULTIPLY ZZ X 050000000000
 13393	041276	332 00 0 00 000014 		SKIPE	AC+1		;TEST LOW PROD=0
 13394	041277	004 14 0 00 017101 		ER4	AC+1,SN
 13395	041300	312 13 0 00 000011 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13396	041301	003 13 0 00 017101 		ER3	AC,SN		;MUL FAILED
 13397	041302	312 12 0 00 045347 		CAME	AC-1,[050000,,0];WAS C(E) MODIFIED ?
 13398	041303	005 12 0 00 017101 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13399	041304	321 15 0 00 041272 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13400
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 68-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0298

 13401
 13402			017102		SN=SN+1
 13403			012000			XX=XX/2
 13404			100000			ZZ=ZZ/2
 13405						IFE	ZZ,<ZZ=200000>
 13406	041305	205 11 0 00 012000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13407	041306	205 13 0 00 100000 		MOVSI	AC,ZZ		;SETUP PLIER
 13408	041307	205 12 0 00 050000 		MOVSI	AC-1,050000	;SETUP PLICAND
 13409	041310	224 13 0 00 000012 		MUL	AC,AC-1		;MULTIPLY ZZ X 050000000000
 13410	041311	332 00 0 00 000014 		SKIPE	AC+1		;TEST LOW PROD=0
 13411	041312	004 14 0 00 017102 		ER4	AC+1,SN
 13412	041313	312 13 0 00 000011 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13413	041314	003 13 0 00 017102 		ER3	AC,SN		;MUL FAILED
 13414	041315	312 12 0 00 045347 		CAME	AC-1,[050000,,0];WAS C(E) MODIFIED ?
 13415	041316	005 12 0 00 017102 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13416	041317	321 15 0 00 041305 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13417
 13418
 13419			017103		SN=SN+1
 13420			005000			XX=XX/2
 13421			040000			ZZ=ZZ/2
 13422						IFE	ZZ,<ZZ=200000>
 13423	041320	205 11 0 00 005000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13424	041321	205 13 0 00 040000 		MOVSI	AC,ZZ		;SETUP PLIER
 13425	041322	205 12 0 00 050000 		MOVSI	AC-1,050000	;SETUP PLICAND
 13426	041323	224 13 0 00 000012 		MUL	AC,AC-1		;MULTIPLY ZZ X 050000000000
 13427	041324	332 00 0 00 000014 		SKIPE	AC+1		;TEST LOW PROD=0
 13428	041325	004 14 0 00 017103 		ER4	AC+1,SN
 13429	041326	312 13 0 00 000011 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13430	041327	003 13 0 00 017103 		ER3	AC,SN		;MUL FAILED
 13431	041330	312 12 0 00 045347 		CAME	AC-1,[050000,,0];WAS C(E) MODIFIED ?
 13432	041331	005 12 0 00 017103 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13433	041332	321 15 0 00 041320 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13434
 13435
 13436			017104		SN=SN+1
 13437			002400			XX=XX/2
 13438			020000			ZZ=ZZ/2
 13439						IFE	ZZ,<ZZ=200000>
 13440	041333	205 11 0 00 002400 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13441	041334	205 13 0 00 020000 		MOVSI	AC,ZZ		;SETUP PLIER
 13442	041335	205 12 0 00 050000 		MOVSI	AC-1,050000	;SETUP PLICAND
 13443	041336	224 13 0 00 000012 		MUL	AC,AC-1		;MULTIPLY ZZ X 050000000000
 13444	041337	332 00 0 00 000014 		SKIPE	AC+1		;TEST LOW PROD=0
 13445	041340	004 14 0 00 017104 		ER4	AC+1,SN
 13446	041341	312 13 0 00 000011 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13447	041342	003 13 0 00 017104 		ER3	AC,SN		;MUL FAILED
 13448	041343	312 12 0 00 045347 		CAME	AC-1,[050000,,0];WAS C(E) MODIFIED ?
 13449	041344	005 12 0 00 017104 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13450	041345	321 15 0 00 041333 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13451
 13452
 13453			017105		SN=SN+1
 13454			001200			XX=XX/2
 13455			010000			ZZ=ZZ/2
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 68-2
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0299

 13456						IFE	ZZ,<ZZ=200000>
 13457	041346	205 11 0 00 001200 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13458	041347	205 13 0 00 010000 		MOVSI	AC,ZZ		;SETUP PLIER
 13459	041350	205 12 0 00 050000 		MOVSI	AC-1,050000	;SETUP PLICAND
 13460	041351	224 13 0 00 000012 		MUL	AC,AC-1		;MULTIPLY ZZ X 050000000000
 13461	041352	332 00 0 00 000014 		SKIPE	AC+1		;TEST LOW PROD=0
 13462	041353	004 14 0 00 017105 		ER4	AC+1,SN
 13463	041354	312 13 0 00 000011 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13464	041355	003 13 0 00 017105 		ER3	AC,SN		;MUL FAILED
 13465	041356	312 12 0 00 045347 		CAME	AC-1,[050000,,0];WAS C(E) MODIFIED ?
 13466	041357	005 12 0 00 017105 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13467	041360	321 15 0 00 041346 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13468
 13469
 13470			017106		SN=SN+1
 13471			000500			XX=XX/2
 13472			004000			ZZ=ZZ/2
 13473						IFE	ZZ,<ZZ=200000>
 13474	041361	205 11 0 00 000500 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13475	041362	205 13 0 00 004000 		MOVSI	AC,ZZ		;SETUP PLIER
 13476	041363	205 12 0 00 050000 		MOVSI	AC-1,050000	;SETUP PLICAND
 13477	041364	224 13 0 00 000012 		MUL	AC,AC-1		;MULTIPLY ZZ X 050000000000
 13478	041365	332 00 0 00 000014 		SKIPE	AC+1		;TEST LOW PROD=0
 13479	041366	004 14 0 00 017106 		ER4	AC+1,SN
 13480	041367	312 13 0 00 000011 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13481	041370	003 13 0 00 017106 		ER3	AC,SN		;MUL FAILED
 13482	041371	312 12 0 00 045347 		CAME	AC-1,[050000,,0];WAS C(E) MODIFIED ?
 13483	041372	005 12 0 00 017106 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13484	041373	321 15 0 00 041361 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13485
 13486
 13487			017107		SN=SN+1
 13488			000240			XX=XX/2
 13489			002000			ZZ=ZZ/2
 13490						IFE	ZZ,<ZZ=200000>
 13491	041374	205 11 0 00 000240 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13492	041375	205 13 0 00 002000 		MOVSI	AC,ZZ		;SETUP PLIER
 13493	041376	205 12 0 00 050000 		MOVSI	AC-1,050000	;SETUP PLICAND
 13494	041377	224 13 0 00 000012 		MUL	AC,AC-1		;MULTIPLY ZZ X 050000000000
 13495	041400	332 00 0 00 000014 		SKIPE	AC+1		;TEST LOW PROD=0
 13496	041401	004 14 0 00 017107 		ER4	AC+1,SN
 13497	041402	312 13 0 00 000011 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13498	041403	003 13 0 00 017107 		ER3	AC,SN		;MUL FAILED
 13499	041404	312 12 0 00 045347 		CAME	AC-1,[050000,,0];WAS C(E) MODIFIED ?
 13500	041405	005 12 0 00 017107 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13501	041406	321 15 0 00 041374 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13502
 13503
 13504			017110		SN=SN+1
 13505			000120			XX=XX/2
 13506			001000			ZZ=ZZ/2
 13507						IFE	ZZ,<ZZ=200000>
 13508	041407	205 11 0 00 000120 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13509	041410	205 13 0 00 001000 		MOVSI	AC,ZZ		;SETUP PLIER
 13510	041411	205 12 0 00 050000 		MOVSI	AC-1,050000	;SETUP PLICAND
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 68-3
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0300

 13511	041412	224 13 0 00 000012 		MUL	AC,AC-1		;MULTIPLY ZZ X 050000000000
 13512	041413	332 00 0 00 000014 		SKIPE	AC+1		;TEST LOW PROD=0
 13513	041414	004 14 0 00 017110 		ER4	AC+1,SN
 13514	041415	312 13 0 00 000011 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13515	041416	003 13 0 00 017110 		ER3	AC,SN		;MUL FAILED
 13516	041417	312 12 0 00 045347 		CAME	AC-1,[050000,,0];WAS C(E) MODIFIED ?
 13517	041420	005 12 0 00 017110 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13518	041421	321 15 0 00 041407 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13519
 13520
 13521			017111		SN=SN+1
 13522			000050			XX=XX/2
 13523			000400			ZZ=ZZ/2
 13524						IFE	ZZ,<ZZ=200000>
 13525	041422	205 11 0 00 000050 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13526	041423	205 13 0 00 000400 		MOVSI	AC,ZZ		;SETUP PLIER
 13527	041424	205 12 0 00 050000 		MOVSI	AC-1,050000	;SETUP PLICAND
 13528	041425	224 13 0 00 000012 		MUL	AC,AC-1		;MULTIPLY ZZ X 050000000000
 13529	041426	332 00 0 00 000014 		SKIPE	AC+1		;TEST LOW PROD=0
 13530	041427	004 14 0 00 017111 		ER4	AC+1,SN
 13531	041430	312 13 0 00 000011 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13532	041431	003 13 0 00 017111 		ER3	AC,SN		;MUL FAILED
 13533	041432	312 12 0 00 045347 		CAME	AC-1,[050000,,0];WAS C(E) MODIFIED ?
 13534	041433	005 12 0 00 017111 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13535	041434	321 15 0 00 041422 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13536
 13537
 13538			017112		SN=SN+1
 13539			000024			XX=XX/2
 13540			000200			ZZ=ZZ/2
 13541						IFE	ZZ,<ZZ=200000>
 13542	041435	205 11 0 00 000024 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13543	041436	205 13 0 00 000200 		MOVSI	AC,ZZ		;SETUP PLIER
 13544	041437	205 12 0 00 050000 		MOVSI	AC-1,050000	;SETUP PLICAND
 13545	041440	224 13 0 00 000012 		MUL	AC,AC-1		;MULTIPLY ZZ X 050000000000
 13546	041441	332 00 0 00 000014 		SKIPE	AC+1		;TEST LOW PROD=0
 13547	041442	004 14 0 00 017112 		ER4	AC+1,SN
 13548	041443	312 13 0 00 000011 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13549	041444	003 13 0 00 017112 		ER3	AC,SN		;MUL FAILED
 13550	041445	312 12 0 00 045347 		CAME	AC-1,[050000,,0];WAS C(E) MODIFIED ?
 13551	041446	005 12 0 00 017112 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13552	041447	321 15 0 00 041435 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13553
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 69
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0301

 13554					;TEST MUL IMMEDIATE - TWO POSITIVES
 13555					;TESTING IS ACCOMPLISHED BY MULTIPLYING
 13556					;E BY AND DECREASING MULTIPLIER
 13557					;PLIER=200000000000, 100000000000 (1/2, 1/4) ETC
 13558					;PLICAND=E (005001)
 13559					;HIGH PROD=2400,1200,500,240,120
 13560					;LOW PROD=PLIER
 13561
 13562			000012			AC=12
 13563						SAVEAC	(1,1)^
 13564	041450	201 14 0 00 041450 		MOVEI	AC+2,.		;SAVE TEST PC
 13565	041451	202 14 0 00 030051 		MOVEM	AC+2,TESTPC
 13566	041452	201 14 0 00 000014 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 13567	041453	202 14 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 13568
 13569			017200		SN=17200
 13570			005000			XX=005000
 13571			000000			ZZ=0
 13572
 13573					F17200:	REPEAT	^D5,<
 13574					SN=SN+1
 13575						XX=XX/2
 13576						ZZ=ZZ/2
 13577						IFE	ZZ,<ZZ=200000>
 13578						MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13579						MOVSI	AC,ZZ		;SETUP PLIER
 13580						MULI	AC,005001	;MULTIPLY E BY ZZ
 13581						CAME	AC,AC-2		;TEST HIGH PROD=XX
 13582						ER3	AC,SN		;HIGH PROD ERROR
 13583						MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 13584						CAME	AC+1,AC-2	;TEST LOW PROD=PLIER
 13585						ER4	AC+1,SN		;LOW PROD ERROR
 13586						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 13587					>
 13588
 13589			017201		SN=SN+1
 13590			002400			XX=XX/2
 13591			000000			ZZ=ZZ/2
 13592			200000			IFE	ZZ,<ZZ=200000>
 13593	041454	201 10 0 00 002400 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13594	041455	205 12 0 00 200000 		MOVSI	AC,ZZ		;SETUP PLIER
 13595	041456	225 12 0 00 005001 		MULI	AC,005001	;MULTIPLY E BY ZZ
 13596	041457	312 12 0 00 000010 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13597	041460	003 12 0 00 017201 		ER3	AC,SN		;HIGH PROD ERROR
 13598	041461	205 10 0 00 200000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 13599	041462	312 13 0 00 000010 		CAME	AC+1,AC-2	;TEST LOW PROD=PLIER
 13600	041463	004 13 0 00 017201 		ER4	AC+1,SN		;LOW PROD ERROR
 13601	041464	321 14 0 00 041454 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 13602
 13603
 13604			017202		SN=SN+1
 13605			001200			XX=XX/2
 13606			100000			ZZ=ZZ/2
 13607						IFE	ZZ,<ZZ=200000>
 13608	041465	201 10 0 00 001200 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 69-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0302

 13609	041466	205 12 0 00 100000 		MOVSI	AC,ZZ		;SETUP PLIER
 13610	041467	225 12 0 00 005001 		MULI	AC,005001	;MULTIPLY E BY ZZ
 13611	041470	312 12 0 00 000010 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13612	041471	003 12 0 00 017202 		ER3	AC,SN		;HIGH PROD ERROR
 13613	041472	205 10 0 00 100000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 13614	041473	312 13 0 00 000010 		CAME	AC+1,AC-2	;TEST LOW PROD=PLIER
 13615	041474	004 13 0 00 017202 		ER4	AC+1,SN		;LOW PROD ERROR
 13616	041475	321 14 0 00 041465 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 13617
 13618
 13619			017203		SN=SN+1
 13620			000500			XX=XX/2
 13621			040000			ZZ=ZZ/2
 13622						IFE	ZZ,<ZZ=200000>
 13623	041476	201 10 0 00 000500 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13624	041477	205 12 0 00 040000 		MOVSI	AC,ZZ		;SETUP PLIER
 13625	041500	225 12 0 00 005001 		MULI	AC,005001	;MULTIPLY E BY ZZ
 13626	041501	312 12 0 00 000010 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13627	041502	003 12 0 00 017203 		ER3	AC,SN		;HIGH PROD ERROR
 13628	041503	205 10 0 00 040000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 13629	041504	312 13 0 00 000010 		CAME	AC+1,AC-2	;TEST LOW PROD=PLIER
 13630	041505	004 13 0 00 017203 		ER4	AC+1,SN		;LOW PROD ERROR
 13631	041506	321 14 0 00 041476 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 13632
 13633
 13634			017204		SN=SN+1
 13635			000240			XX=XX/2
 13636			020000			ZZ=ZZ/2
 13637						IFE	ZZ,<ZZ=200000>
 13638	041507	201 10 0 00 000240 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13639	041510	205 12 0 00 020000 		MOVSI	AC,ZZ		;SETUP PLIER
 13640	041511	225 12 0 00 005001 		MULI	AC,005001	;MULTIPLY E BY ZZ
 13641	041512	312 12 0 00 000010 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13642	041513	003 12 0 00 017204 		ER3	AC,SN		;HIGH PROD ERROR
 13643	041514	205 10 0 00 020000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 13644	041515	312 13 0 00 000010 		CAME	AC+1,AC-2	;TEST LOW PROD=PLIER
 13645	041516	004 13 0 00 017204 		ER4	AC+1,SN		;LOW PROD ERROR
 13646	041517	321 14 0 00 041507 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 13647
 13648
 13649			017205		SN=SN+1
 13650			000120			XX=XX/2
 13651			010000			ZZ=ZZ/2
 13652						IFE	ZZ,<ZZ=200000>
 13653	041520	201 10 0 00 000120 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13654	041521	205 12 0 00 010000 		MOVSI	AC,ZZ		;SETUP PLIER
 13655	041522	225 12 0 00 005001 		MULI	AC,005001	;MULTIPLY E BY ZZ
 13656	041523	312 12 0 00 000010 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13657	041524	003 12 0 00 017205 		ER3	AC,SN		;HIGH PROD ERROR
 13658	041525	205 10 0 00 010000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 13659	041526	312 13 0 00 000010 		CAME	AC+1,AC-2	;TEST LOW PROD=PLIER
 13660	041527	004 13 0 00 017205 		ER4	AC+1,SN		;LOW PROD ERROR
 13661	041530	321 14 0 00 041520 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 13662
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 70
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0303

 13663					;TEST MUL MEMORY - TWO NEGATIVES
 13664					;TESTING IS ACCOMPLISHED BY MULTIPLYING
 13665					;AN INCREASING NEGATIVE NUMBER BY -1
 13666					;PLIER=-1
 13667					;PLICAND=-1,-2,-4,-10,-20
 13668					;HIGH PROD=0
 13669
 13670			000011			AC=11
 13671						SAVEAC	(1,1)^
 13672	041531	201 13 0 00 041531 		MOVEI	AC+2,.		;SAVE TEST PC
 13673	041532	202 13 0 00 030051 		MOVEM	AC+2,TESTPC
 13674	041533	201 13 0 00 000013 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 13675	041534	202 13 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 13676
 13677			017300		SN=17300
 13678			000000			ZZ=0
 13679
 13680					F17300:	REPEAT	^D5,<
 13681					SN=SN+1
 13682						ZZ=ZZ+ZZ
 13683						IFE	ZZ,<ZZ=-1>
 13684						SETO	AC,		;SETUP PLIER
 13685						HRROI	AC-1,ZZ		;SETUP PLICAND
 13686						MULM	AC,AC-1		;MULTIPLY ZZ BY -1
 13687						SKIPE	AC-1		;TEST HIGH PROD = 0
 13688						ER5	AC,SN		;MULM FAILED
 13689						JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 13690					>
 13691
 13692			017301		SN=SN+1
 13693			000000			ZZ=ZZ+ZZ
 13694		777777	777777			IFE	ZZ,<ZZ=-1>
 13695	041535	474 11 0 00 000000 		SETO	AC,		;SETUP PLIER
 13696	041536	561 10 0 00 777777 		HRROI	AC-1,ZZ		;SETUP PLICAND
 13697	041537	226 11 0 00 000010 		MULM	AC,AC-1		;MULTIPLY ZZ BY -1
 13698	041540	332 00 0 00 000010 		SKIPE	AC-1		;TEST HIGH PROD = 0
 13699	041541	005 11 0 00 017301 		ER5	AC,SN		;MULM FAILED
 13700	041542	321 13 0 00 041535 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 13701
 13702
 13703			017302		SN=SN+1
 13704		777777	777776			ZZ=ZZ+ZZ
 13705						IFE	ZZ,<ZZ=-1>
 13706	041543	474 11 0 00 000000 		SETO	AC,		;SETUP PLIER
 13707	041544	561 10 0 00 777776 		HRROI	AC-1,ZZ		;SETUP PLICAND
 13708	041545	226 11 0 00 000010 		MULM	AC,AC-1		;MULTIPLY ZZ BY -1
 13709	041546	332 00 0 00 000010 		SKIPE	AC-1		;TEST HIGH PROD = 0
 13710	041547	005 11 0 00 017302 		ER5	AC,SN		;MULM FAILED
 13711	041550	321 13 0 00 041543 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 13712
 13713
 13714			017303		SN=SN+1
 13715		777777	777774			ZZ=ZZ+ZZ
 13716						IFE	ZZ,<ZZ=-1>
 13717	041551	474 11 0 00 000000 		SETO	AC,		;SETUP PLIER
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 70-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0304

 13718	041552	561 10 0 00 777774 		HRROI	AC-1,ZZ		;SETUP PLICAND
 13719	041553	226 11 0 00 000010 		MULM	AC,AC-1		;MULTIPLY ZZ BY -1
 13720	041554	332 00 0 00 000010 		SKIPE	AC-1		;TEST HIGH PROD = 0
 13721	041555	005 11 0 00 017303 		ER5	AC,SN		;MULM FAILED
 13722	041556	321 13 0 00 041551 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 13723
 13724
 13725			017304		SN=SN+1
 13726		777777	777770			ZZ=ZZ+ZZ
 13727						IFE	ZZ,<ZZ=-1>
 13728	041557	474 11 0 00 000000 		SETO	AC,		;SETUP PLIER
 13729	041560	561 10 0 00 777770 		HRROI	AC-1,ZZ		;SETUP PLICAND
 13730	041561	226 11 0 00 000010 		MULM	AC,AC-1		;MULTIPLY ZZ BY -1
 13731	041562	332 00 0 00 000010 		SKIPE	AC-1		;TEST HIGH PROD = 0
 13732	041563	005 11 0 00 017304 		ER5	AC,SN		;MULM FAILED
 13733	041564	321 13 0 00 041557 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 13734
 13735
 13736			017305		SN=SN+1
 13737		777777	777760			ZZ=ZZ+ZZ
 13738						IFE	ZZ,<ZZ=-1>
 13739	041565	474 11 0 00 000000 		SETO	AC,		;SETUP PLIER
 13740	041566	561 10 0 00 777760 		HRROI	AC-1,ZZ		;SETUP PLICAND
 13741	041567	226 11 0 00 000010 		MULM	AC,AC-1		;MULTIPLY ZZ BY -1
 13742	041570	332 00 0 00 000010 		SKIPE	AC-1		;TEST HIGH PROD = 0
 13743	041571	005 11 0 00 017305 		ER5	AC,SN		;MULM FAILED
 13744	041572	321 13 0 00 041565 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 13745
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 71
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0305

 13746					;TEST MUL BOTH - TWO NEGATIVES
 13747					;TESTING IS ACCOMPLISHED BY MULTIPLYING
 13748					;-1 BY AN INCREASING NEGATIVE NUMBER
 13749					;PLIER=-1,-2,-4,-10,-20
 13750					;PLICAND=-1
 13751					;HIGH PROD=0
 13752					;LOW PROD=1,2,4,10,20
 13753
 13754			000010			AC=10
 13755						SAVEAC	(1,1)^
 13756	041573	201 12 0 00 041573 		MOVEI	AC+2,.		;SAVE TEST PC
 13757	041574	202 12 0 00 030051 		MOVEM	AC+2,TESTPC
 13758	041575	201 12 0 00 000012 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 13759	041576	202 12 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 13760
 13761			017400		SN=17400
 13762			000000			XX=0
 13763			000000			ZZ=0
 13764
 13765					F17400:	REPEAT	^D5,<
 13766					SN=SN+1
 13767						XX=XX+XX
 13768						ZZ=ZZ+ZZ
 13769						IFE	XX,<XX=1>
 13770						IFE	ZZ,<ZZ=-1>
 13771						MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13772						HRROI	AC,ZZ		;SETUP PLIER
 13773						SETO	AC-1,		;SETUP PLICAND
 13774						MULB	AC,AC-1		;MULTIPLY -1 BY ZZ
 13775						SKIPE	AC		;TEST HIGH PROD=0
 13776						ER3	AC,SN
 13777						SKIPE	AC-1		;TEST C(AC) = C(E)
 13778						ER5	AC-1,SN
 13779						CAME	AC+1,AC-2	;TEST LOW PROD=XX
 13780						ER4	AC+1,SN		;MULB FAILED
 13781						JUMPL	AC+2,.-^D10	;LOOP ON ERR SWITCH
 13782					>
 13783
 13784			017401		SN=SN+1
 13785			000000			XX=XX+XX
 13786			000000			ZZ=ZZ+ZZ
 13787			000001			IFE	XX,<XX=1>
 13788		777777	777777			IFE	ZZ,<ZZ=-1>
 13789	041577	201 06 0 00 000001 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13790	041600	561 10 0 00 777777 		HRROI	AC,ZZ		;SETUP PLIER
 13791	041601	474 07 0 00 000000 		SETO	AC-1,		;SETUP PLICAND
 13792	041602	227 10 0 00 000007 		MULB	AC,AC-1		;MULTIPLY -1 BY ZZ
 13793	041603	332 00 0 00 000010 		SKIPE	AC		;TEST HIGH PROD=0
 13794	041604	003 10 0 00 017401 		ER3	AC,SN
 13795	041605	332 00 0 00 000007 		SKIPE	AC-1		;TEST C(AC) = C(E)
 13796	041606	005 07 0 00 017401 		ER5	AC-1,SN
 13797	041607	312 11 0 00 000006 		CAME	AC+1,AC-2	;TEST LOW PROD=XX
 13798	041610	004 11 0 00 017401 		ER4	AC+1,SN		;MULB FAILED
 13799	041611	321 12 0 00 041577 		JUMPL	AC+2,.-^D10	;LOOP ON ERR SWITCH
 13800
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 71-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0306

 13801
 13802			017402		SN=SN+1
 13803			000002			XX=XX+XX
 13804		777777	777776			ZZ=ZZ+ZZ
 13805						IFE	XX,<XX=1>
 13806						IFE	ZZ,<ZZ=-1>
 13807	041612	201 06 0 00 000002 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13808	041613	561 10 0 00 777776 		HRROI	AC,ZZ		;SETUP PLIER
 13809	041614	474 07 0 00 000000 		SETO	AC-1,		;SETUP PLICAND
 13810	041615	227 10 0 00 000007 		MULB	AC,AC-1		;MULTIPLY -1 BY ZZ
 13811	041616	332 00 0 00 000010 		SKIPE	AC		;TEST HIGH PROD=0
 13812	041617	003 10 0 00 017402 		ER3	AC,SN
 13813	041620	332 00 0 00 000007 		SKIPE	AC-1		;TEST C(AC) = C(E)
 13814	041621	005 07 0 00 017402 		ER5	AC-1,SN
 13815	041622	312 11 0 00 000006 		CAME	AC+1,AC-2	;TEST LOW PROD=XX
 13816	041623	004 11 0 00 017402 		ER4	AC+1,SN		;MULB FAILED
 13817	041624	321 12 0 00 041612 		JUMPL	AC+2,.-^D10	;LOOP ON ERR SWITCH
 13818
 13819
 13820			017403		SN=SN+1
 13821			000004			XX=XX+XX
 13822		777777	777774			ZZ=ZZ+ZZ
 13823						IFE	XX,<XX=1>
 13824						IFE	ZZ,<ZZ=-1>
 13825	041625	201 06 0 00 000004 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13826	041626	561 10 0 00 777774 		HRROI	AC,ZZ		;SETUP PLIER
 13827	041627	474 07 0 00 000000 		SETO	AC-1,		;SETUP PLICAND
 13828	041630	227 10 0 00 000007 		MULB	AC,AC-1		;MULTIPLY -1 BY ZZ
 13829	041631	332 00 0 00 000010 		SKIPE	AC		;TEST HIGH PROD=0
 13830	041632	003 10 0 00 017403 		ER3	AC,SN
 13831	041633	332 00 0 00 000007 		SKIPE	AC-1		;TEST C(AC) = C(E)
 13832	041634	005 07 0 00 017403 		ER5	AC-1,SN
 13833	041635	312 11 0 00 000006 		CAME	AC+1,AC-2	;TEST LOW PROD=XX
 13834	041636	004 11 0 00 017403 		ER4	AC+1,SN		;MULB FAILED
 13835	041637	321 12 0 00 041625 		JUMPL	AC+2,.-^D10	;LOOP ON ERR SWITCH
 13836
 13837
 13838			017404		SN=SN+1
 13839			000010			XX=XX+XX
 13840		777777	777770			ZZ=ZZ+ZZ
 13841						IFE	XX,<XX=1>
 13842						IFE	ZZ,<ZZ=-1>
 13843	041640	201 06 0 00 000010 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13844	041641	561 10 0 00 777770 		HRROI	AC,ZZ		;SETUP PLIER
 13845	041642	474 07 0 00 000000 		SETO	AC-1,		;SETUP PLICAND
 13846	041643	227 10 0 00 000007 		MULB	AC,AC-1		;MULTIPLY -1 BY ZZ
 13847	041644	332 00 0 00 000010 		SKIPE	AC		;TEST HIGH PROD=0
 13848	041645	003 10 0 00 017404 		ER3	AC,SN
 13849	041646	332 00 0 00 000007 		SKIPE	AC-1		;TEST C(AC) = C(E)
 13850	041647	005 07 0 00 017404 		ER5	AC-1,SN
 13851	041650	312 11 0 00 000006 		CAME	AC+1,AC-2	;TEST LOW PROD=XX
 13852	041651	004 11 0 00 017404 		ER4	AC+1,SN		;MULB FAILED
 13853	041652	321 12 0 00 041640 		JUMPL	AC+2,.-^D10	;LOOP ON ERR SWITCH
 13854
 13855
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 71-2
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0307

 13856			017405		SN=SN+1
 13857			000020			XX=XX+XX
 13858		777777	777760			ZZ=ZZ+ZZ
 13859						IFE	XX,<XX=1>
 13860						IFE	ZZ,<ZZ=-1>
 13861	041653	201 06 0 00 000020 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13862	041654	561 10 0 00 777760 		HRROI	AC,ZZ		;SETUP PLIER
 13863	041655	474 07 0 00 000000 		SETO	AC-1,		;SETUP PLICAND
 13864	041656	227 10 0 00 000007 		MULB	AC,AC-1		;MULTIPLY -1 BY ZZ
 13865	041657	332 00 0 00 000010 		SKIPE	AC		;TEST HIGH PROD=0
 13866	041660	003 10 0 00 017405 		ER3	AC,SN
 13867	041661	332 00 0 00 000007 		SKIPE	AC-1		;TEST C(AC) = C(E)
 13868	041662	005 07 0 00 017405 		ER5	AC-1,SN
 13869	041663	312 11 0 00 000006 		CAME	AC+1,AC-2	;TEST LOW PROD=XX
 13870	041664	004 11 0 00 017405 		ER4	AC+1,SN		;MULB FAILED
 13871	041665	321 12 0 00 041653 		JUMPL	AC+2,.-^D10	;LOOP ON ERR SWITCH
 13872
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 72
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0308

 13873					;TEST MUL MEMORY - TWO NEGATIVES
 13874					;TESTING IS ACCOMPLISHED BY MULTIPLYING
 13875					;-5001 BY AN INCREASING NEGATIVE PLIER
 13876					;PLIER=600000000000, 700000000000 ETC.
 13877					;PLICAND=-5001
 13878					;HIGH PROD=2400,1200,500,240,120
 13879
 13880			000007			AC=7
 13881						SAVEAC	(1,1)^
 13882	041666	201 11 0 00 041666 		MOVEI	AC+2,.		;SAVE TEST PC
 13883	041667	202 11 0 00 030051 		MOVEM	AC+2,TESTPC
 13884	041670	201 11 0 00 000011 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 13885	041671	202 11 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 13886
 13887			017500		SN=17500
 13888			005000			XX=005000
 13889			000000			ZZ=0
 13890
 13891					F17500:	REPEAT	^D5,<
 13892					SN=SN+1
 13893						XX=XX/2
 13894						ZZ=ZZ/2
 13895						IFE	ZZ,<ZZ=-200000>
 13896						MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13897						MOVSI	AC,ZZ		;SETUP PLIER
 13898						HRROI	AC-1,-5001	;SETUP PLICAND
 13899						MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 13900						MULM	AC,AC-1		;MULTIPLY ZZ X -5001
 13901						CAME	AC-1,AC-2	;TEST HIGH PROD = XX
 13902						ER5	AC-1,SN		;MULM FAILED
 13903						CAME	AC,[ZZ,,0]	;WAS C(AC) MODIFIED ?
 13904						ER3	AC,SN		;C(AC) WAS CLOBBERED
 13905						CAME	AC+1,<AC-3>&17	;WAS C(AC+1) MODIFIED ?
 13906						ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 13907						JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 13908					>
 13909
 13910			017501		SN=SN+1
 13911			002400			XX=XX/2
 13912			000000			ZZ=ZZ/2
 13913		777777	600000			IFE	ZZ,<ZZ=-200000>
 13914	041672	201 05 0 00 002400 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13915	041673	205 07 0 00 600000 		MOVSI	AC,ZZ		;SETUP PLIER
 13916	041674	561 06 0 00 772777 		HRROI	AC-1,-5001	;SETUP PLICAND
 13917	041675	200 04 0 00 000010 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 13918	041676	226 07 0 00 000006 		MULM	AC,AC-1		;MULTIPLY ZZ X -5001
 13919	041677	312 06 0 00 000005 		CAME	AC-1,AC-2	;TEST HIGH PROD = XX
 13920	041700	005 06 0 00 017501 		ER5	AC-1,SN		;MULM FAILED
 13921	041701	312 07 0 00 044776 		CAME	AC,[ZZ,,0]	;WAS C(AC) MODIFIED ?
 13922	041702	003 07 0 00 017501 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 13923	041703	312 10 0 00 000004 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) MODIFIED ?
 13924	041704	004 10 0 00 017501 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 13925	041705	321 11 0 00 041672 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 13926
 13927
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 72-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0309

 13928			017502		SN=SN+1
 13929			001200			XX=XX/2
 13930		777777	700000			ZZ=ZZ/2
 13931						IFE	ZZ,<ZZ=-200000>
 13932	041706	201 05 0 00 001200 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13933	041707	205 07 0 00 700000 		MOVSI	AC,ZZ		;SETUP PLIER
 13934	041710	561 06 0 00 772777 		HRROI	AC-1,-5001	;SETUP PLICAND
 13935	041711	200 04 0 00 000010 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 13936	041712	226 07 0 00 000006 		MULM	AC,AC-1		;MULTIPLY ZZ X -5001
 13937	041713	312 06 0 00 000005 		CAME	AC-1,AC-2	;TEST HIGH PROD = XX
 13938	041714	005 06 0 00 017502 		ER5	AC-1,SN		;MULM FAILED
 13939	041715	312 07 0 00 045247 		CAME	AC,[ZZ,,0]	;WAS C(AC) MODIFIED ?
 13940	041716	003 07 0 00 017502 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 13941	041717	312 10 0 00 000004 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) MODIFIED ?
 13942	041720	004 10 0 00 017502 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 13943	041721	321 11 0 00 041706 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 13944
 13945
 13946			017503		SN=SN+1
 13947			000500			XX=XX/2
 13948		777777	740000			ZZ=ZZ/2
 13949						IFE	ZZ,<ZZ=-200000>
 13950	041722	201 05 0 00 000500 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13951	041723	205 07 0 00 740000 		MOVSI	AC,ZZ		;SETUP PLIER
 13952	041724	561 06 0 00 772777 		HRROI	AC-1,-5001	;SETUP PLICAND
 13953	041725	200 04 0 00 000010 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 13954	041726	226 07 0 00 000006 		MULM	AC,AC-1		;MULTIPLY ZZ X -5001
 13955	041727	312 06 0 00 000005 		CAME	AC-1,AC-2	;TEST HIGH PROD = XX
 13956	041730	005 06 0 00 017503 		ER5	AC-1,SN		;MULM FAILED
 13957	041731	312 07 0 00 045246 		CAME	AC,[ZZ,,0]	;WAS C(AC) MODIFIED ?
 13958	041732	003 07 0 00 017503 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 13959	041733	312 10 0 00 000004 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) MODIFIED ?
 13960	041734	004 10 0 00 017503 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 13961	041735	321 11 0 00 041722 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 13962
 13963
 13964			017504		SN=SN+1
 13965			000240			XX=XX/2
 13966		777777	760000			ZZ=ZZ/2
 13967						IFE	ZZ,<ZZ=-200000>
 13968	041736	201 05 0 00 000240 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13969	041737	205 07 0 00 760000 		MOVSI	AC,ZZ		;SETUP PLIER
 13970	041740	561 06 0 00 772777 		HRROI	AC-1,-5001	;SETUP PLICAND
 13971	041741	200 04 0 00 000010 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 13972	041742	226 07 0 00 000006 		MULM	AC,AC-1		;MULTIPLY ZZ X -5001
 13973	041743	312 06 0 00 000005 		CAME	AC-1,AC-2	;TEST HIGH PROD = XX
 13974	041744	005 06 0 00 017504 		ER5	AC-1,SN		;MULM FAILED
 13975	041745	312 07 0 00 045245 		CAME	AC,[ZZ,,0]	;WAS C(AC) MODIFIED ?
 13976	041746	003 07 0 00 017504 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 13977	041747	312 10 0 00 000004 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) MODIFIED ?
 13978	041750	004 10 0 00 017504 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 13979	041751	321 11 0 00 041736 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 13980
 13981
 13982			017505		SN=SN+1
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 72-2
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0310

 13983			000120			XX=XX/2
 13984		777777	770000			ZZ=ZZ/2
 13985						IFE	ZZ,<ZZ=-200000>
 13986	041752	201 05 0 00 000120 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13987	041753	205 07 0 00 770000 		MOVSI	AC,ZZ		;SETUP PLIER
 13988	041754	561 06 0 00 772777 		HRROI	AC-1,-5001	;SETUP PLICAND
 13989	041755	200 04 0 00 000010 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 13990	041756	226 07 0 00 000006 		MULM	AC,AC-1		;MULTIPLY ZZ X -5001
 13991	041757	312 06 0 00 000005 		CAME	AC-1,AC-2	;TEST HIGH PROD = XX
 13992	041760	005 06 0 00 017505 		ER5	AC-1,SN		;MULM FAILED
 13993	041761	312 07 0 00 045244 		CAME	AC,[ZZ,,0]	;WAS C(AC) MODIFIED ?
 13994	041762	003 07 0 00 017505 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 13995	041763	312 10 0 00 000004 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) MODIFIED ?
 13996	041764	004 10 0 00 017505 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 13997	041765	321 11 0 00 041752 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 13998
 13999
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 73
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0311

 14000					;TEST IMUL DIRECT - TWO POSITIVES
 14001					;TESTING IS ACCOMPLISHED BY MULTIPLYING
 14002					;A NUMBER BY ITSELF
 14003					;PLIER=2,4,10,20,40
 14004					;PLICAND=2,4,10,20,40
 14005					;PROD=4,20,100,400,2000
 14006
 14007			000006			AC=6
 14008						SAVEAC	(1,1)^
 14009	041766	201 10 0 00 041766 		MOVEI	AC+2,.		;SAVE TEST PC
 14010	041767	202 10 0 00 030051 		MOVEM	AC+2,TESTPC
 14011	041770	201 10 0 00 000010 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 14012	041771	202 10 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 14013
 14014			017600		SN=17600
 14015			000001			XX=1
 14016			000001			ZZ=1
 14017
 14018					F17600:	REPEAT	^D5,<
 14019					SN=SN+1
 14020						XX=XX*4
 14021						ZZ=ZZ+ZZ
 14022						IFE	ZZ,<ZZ=-200000>
 14023						MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14024						MOVEI	AC,ZZ		;SETUP PLIER
 14025						MOVEI	AC-1,ZZ		;SETUP PLICAND
 14026						IMUL	AC,AC-1		;MULTIPLY ZZ BY ZZ
 14027						CAME	AC,AC-2		;TEST PROD=XX
 14028						ER3	AC,SN		;IMUL FAILED
 14029						CAIE	AC-1,ZZ		;WAS C(E) MODIFIED ?
 14030						ER5	AC-1,SN		;C(E) WAS CLOBBERED
 14031						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 14032					>
 14033
 14034			017601		SN=SN+1
 14035			000004			XX=XX*4
 14036			000002			ZZ=ZZ+ZZ
 14037						IFE	ZZ,<ZZ=-200000>
 14038	041772	201 04 0 00 000004 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14039	041773	201 06 0 00 000002 		MOVEI	AC,ZZ		;SETUP PLIER
 14040	041774	201 05 0 00 000002 		MOVEI	AC-1,ZZ		;SETUP PLICAND
 14041	041775	220 06 0 00 000005 		IMUL	AC,AC-1		;MULTIPLY ZZ BY ZZ
 14042	041776	312 06 0 00 000004 		CAME	AC,AC-2		;TEST PROD=XX
 14043	041777	003 06 0 00 017601 		ER3	AC,SN		;IMUL FAILED
 14044	042000	302 05 0 00 000002 		CAIE	AC-1,ZZ		;WAS C(E) MODIFIED ?
 14045	042001	005 05 0 00 017601 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 14046	042002	321 10 0 00 041772 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 14047
 14048
 14049			017602		SN=SN+1
 14050			000020			XX=XX*4
 14051			000004			ZZ=ZZ+ZZ
 14052						IFE	ZZ,<ZZ=-200000>
 14053	042003	201 04 0 00 000020 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14054	042004	201 06 0 00 000004 		MOVEI	AC,ZZ		;SETUP PLIER
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 73-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0312

 14055	042005	201 05 0 00 000004 		MOVEI	AC-1,ZZ		;SETUP PLICAND
 14056	042006	220 06 0 00 000005 		IMUL	AC,AC-1		;MULTIPLY ZZ BY ZZ
 14057	042007	312 06 0 00 000004 		CAME	AC,AC-2		;TEST PROD=XX
 14058	042010	003 06 0 00 017602 		ER3	AC,SN		;IMUL FAILED
 14059	042011	302 05 0 00 000004 		CAIE	AC-1,ZZ		;WAS C(E) MODIFIED ?
 14060	042012	005 05 0 00 017602 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 14061	042013	321 10 0 00 042003 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 14062
 14063
 14064			017603		SN=SN+1
 14065			000100			XX=XX*4
 14066			000010			ZZ=ZZ+ZZ
 14067						IFE	ZZ,<ZZ=-200000>
 14068	042014	201 04 0 00 000100 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14069	042015	201 06 0 00 000010 		MOVEI	AC,ZZ		;SETUP PLIER
 14070	042016	201 05 0 00 000010 		MOVEI	AC-1,ZZ		;SETUP PLICAND
 14071	042017	220 06 0 00 000005 		IMUL	AC,AC-1		;MULTIPLY ZZ BY ZZ
 14072	042020	312 06 0 00 000004 		CAME	AC,AC-2		;TEST PROD=XX
 14073	042021	003 06 0 00 017603 		ER3	AC,SN		;IMUL FAILED
 14074	042022	302 05 0 00 000010 		CAIE	AC-1,ZZ		;WAS C(E) MODIFIED ?
 14075	042023	005 05 0 00 017603 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 14076	042024	321 10 0 00 042014 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 14077
 14078
 14079			017604		SN=SN+1
 14080			000400			XX=XX*4
 14081			000020			ZZ=ZZ+ZZ
 14082						IFE	ZZ,<ZZ=-200000>
 14083	042025	201 04 0 00 000400 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14084	042026	201 06 0 00 000020 		MOVEI	AC,ZZ		;SETUP PLIER
 14085	042027	201 05 0 00 000020 		MOVEI	AC-1,ZZ		;SETUP PLICAND
 14086	042030	220 06 0 00 000005 		IMUL	AC,AC-1		;MULTIPLY ZZ BY ZZ
 14087	042031	312 06 0 00 000004 		CAME	AC,AC-2		;TEST PROD=XX
 14088	042032	003 06 0 00 017604 		ER3	AC,SN		;IMUL FAILED
 14089	042033	302 05 0 00 000020 		CAIE	AC-1,ZZ		;WAS C(E) MODIFIED ?
 14090	042034	005 05 0 00 017604 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 14091	042035	321 10 0 00 042025 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 14092
 14093
 14094			017605		SN=SN+1
 14095			002000			XX=XX*4
 14096			000040			ZZ=ZZ+ZZ
 14097						IFE	ZZ,<ZZ=-200000>
 14098	042036	201 04 0 00 002000 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14099	042037	201 06 0 00 000040 		MOVEI	AC,ZZ		;SETUP PLIER
 14100	042040	201 05 0 00 000040 		MOVEI	AC-1,ZZ		;SETUP PLICAND
 14101	042041	220 06 0 00 000005 		IMUL	AC,AC-1		;MULTIPLY ZZ BY ZZ
 14102	042042	312 06 0 00 000004 		CAME	AC,AC-2		;TEST PROD=XX
 14103	042043	003 06 0 00 017605 		ER3	AC,SN		;IMUL FAILED
 14104	042044	302 05 0 00 000040 		CAIE	AC-1,ZZ		;WAS C(E) MODIFIED ?
 14105	042045	005 05 0 00 017605 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 14106	042046	321 10 0 00 042036 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 14107
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 74
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0313

 14108					;TEST IMUL IMMEDIATE - TWO POSITIVES
 14109					;TESTING IS ACCOMPLISHED BY MULTIPLYING
 14110					;3 X E
 14111					;PLIER=3
 14112					;PLICAND=E
 14113					;PROD=6,11,14,17,22
 14114
 14115			000005			AC=5
 14116						SAVEAC	(1,1)^
 14117	042047	201 07 0 00 042047 		MOVEI	AC+2,.		;SAVE TEST PC
 14118	042050	202 07 0 00 030051 		MOVEM	AC+2,TESTPC
 14119	042051	201 07 0 00 000007 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 14120	042052	202 07 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 14121
 14122			017700		SN=17700
 14123			000003			XX=3
 14124			000001			ZZ=1
 14125
 14126					F17700:	REPEAT	^D5,<
 14127					SN=SN+1
 14128						XX=XX+3
 14129						ZZ=ZZ+1
 14130						MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14131						MOVEI	AC,3		;SETUP PLIER
 14132						IMULI	AC,ZZ		;MULTIPLY 3 X E
 14133						CAME	AC,AC-2		;TEST PROD = XX
 14134						ER3	AC,SN		;IMULI FAILED
 14135						JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 14136					>
 14137
 14138			017701		SN=SN+1
 14139			000006			XX=XX+3
 14140			000002			ZZ=ZZ+1
 14141	042053	201 03 0 00 000006 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14142	042054	201 05 0 00 000003 		MOVEI	AC,3		;SETUP PLIER
 14143	042055	221 05 0 00 000002 		IMULI	AC,ZZ		;MULTIPLY 3 X E
 14144	042056	312 05 0 00 000003 		CAME	AC,AC-2		;TEST PROD = XX
 14145	042057	003 05 0 00 017701 		ER3	AC,SN		;IMULI FAILED
 14146	042060	321 07 0 00 042053 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 14147
 14148
 14149			017702		SN=SN+1
 14150			000011			XX=XX+3
 14151			000003			ZZ=ZZ+1
 14152	042061	201 03 0 00 000011 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14153	042062	201 05 0 00 000003 		MOVEI	AC,3		;SETUP PLIER
 14154	042063	221 05 0 00 000003 		IMULI	AC,ZZ		;MULTIPLY 3 X E
 14155	042064	312 05 0 00 000003 		CAME	AC,AC-2		;TEST PROD = XX
 14156	042065	003 05 0 00 017702 		ER3	AC,SN		;IMULI FAILED
 14157	042066	321 07 0 00 042061 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 14158
 14159
 14160			017703		SN=SN+1
 14161			000014			XX=XX+3
 14162			000004			ZZ=ZZ+1
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 74-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0314

 14163	042067	201 03 0 00 000014 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14164	042070	201 05 0 00 000003 		MOVEI	AC,3		;SETUP PLIER
 14165	042071	221 05 0 00 000004 		IMULI	AC,ZZ		;MULTIPLY 3 X E
 14166	042072	312 05 0 00 000003 		CAME	AC,AC-2		;TEST PROD = XX
 14167	042073	003 05 0 00 017703 		ER3	AC,SN		;IMULI FAILED
 14168	042074	321 07 0 00 042067 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 14169
 14170
 14171			017704		SN=SN+1
 14172			000017			XX=XX+3
 14173			000005			ZZ=ZZ+1
 14174	042075	201 03 0 00 000017 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14175	042076	201 05 0 00 000003 		MOVEI	AC,3		;SETUP PLIER
 14176	042077	221 05 0 00 000005 		IMULI	AC,ZZ		;MULTIPLY 3 X E
 14177	042100	312 05 0 00 000003 		CAME	AC,AC-2		;TEST PROD = XX
 14178	042101	003 05 0 00 017704 		ER3	AC,SN		;IMULI FAILED
 14179	042102	321 07 0 00 042075 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 14180
 14181
 14182			017705		SN=SN+1
 14183			000022			XX=XX+3
 14184			000006			ZZ=ZZ+1
 14185	042103	201 03 0 00 000022 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14186	042104	201 05 0 00 000003 		MOVEI	AC,3		;SETUP PLIER
 14187	042105	221 05 0 00 000006 		IMULI	AC,ZZ		;MULTIPLY 3 X E
 14188	042106	312 05 0 00 000003 		CAME	AC,AC-2		;TEST PROD = XX
 14189	042107	003 05 0 00 017705 		ER3	AC,SN		;IMULI FAILED
 14190	042110	321 07 0 00 042103 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 14191
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 75
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0315

 14192					;TEST IMUL MEMORY - TWO NEGATIVES
 14193					;TESTING IS ACCOMPLISHED BY MULTIPLYING
 14194					;A NEGATIVE NUMBER BY ITSELF
 14195					;PLIER=-2,-4,-10,-20,-40
 14196					;PLICAND=-2,-4,-10,-20,-40
 14197					;PROD=4,20,100,400,2000
 14198
 14199			000004			AC=4
 14200						SAVEAC	(1,1)^
 14201	042111	201 06 0 00 042111 		MOVEI	AC+2,.		;SAVE TEST PC
 14202	042112	202 06 0 00 030051 		MOVEM	AC+2,TESTPC
 14203	042113	201 06 0 00 000006 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 14204	042114	202 06 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 14205
 14206			020000		SN=20000
 14207			000001			XX=1
 14208		777777	777777			ZZ=-1
 14209
 14210					F20000:	REPEAT	^D5,<
 14211					SN=SN+1
 14212						XX=XX*4
 14213						ZZ=ZZ+ZZ
 14214						MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14215						HRROI	AC,ZZ		;SETUP PLIER
 14216						HRROI	AC-1,ZZ		;SETUP PLICAND
 14217						MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 14218						IMULM	AC,AC-1		;MULTIPLY ZZ BY ZZ
 14219						CAME	AC-1,AC-2	;TEST PROD=XX
 14220						ER5	AC-1,SN		;IMULM FAILED
 14221						CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 14222						ER3	AC,SN		;C(AC) WAS CLOBBERED
 14223						CAME	AC+1,<AC-3>&17	;WAS C(AC+1) MODIFIED ?
 14224						ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 14225						JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 14226					>
 14227
 14228			020001		SN=SN+1
 14229			000004			XX=XX*4
 14230		777777	777776			ZZ=ZZ+ZZ
 14231	042115	201 02 0 00 000004 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14232	042116	561 04 0 00 777776 		HRROI	AC,ZZ		;SETUP PLIER
 14233	042117	561 03 0 00 777776 		HRROI	AC-1,ZZ		;SETUP PLICAND
 14234	042120	200 01 0 00 000005 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 14235	042121	222 04 0 00 000003 		IMULM	AC,AC-1		;MULTIPLY ZZ BY ZZ
 14236	042122	312 03 0 00 000002 		CAME	AC-1,AC-2	;TEST PROD=XX
 14237	042123	005 03 0 00 020001 		ER5	AC-1,SN		;IMULM FAILED
 14238	042124	312 04 0 00 044635 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 14239	042125	003 04 0 00 020001 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 14240	042126	312 05 0 00 000001 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) MODIFIED ?
 14241	042127	004 05 0 00 020001 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 14242	042130	321 06 0 00 042115 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 14243
 14244
 14245			020002		SN=SN+1
 14246			000020			XX=XX*4
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 75-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0316

 14247		777777	777774			ZZ=ZZ+ZZ
 14248	042131	201 02 0 00 000020 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14249	042132	561 04 0 00 777774 		HRROI	AC,ZZ		;SETUP PLIER
 14250	042133	561 03 0 00 777774 		HRROI	AC-1,ZZ		;SETUP PLICAND
 14251	042134	200 01 0 00 000005 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 14252	042135	222 04 0 00 000003 		IMULM	AC,AC-1		;MULTIPLY ZZ BY ZZ
 14253	042136	312 03 0 00 000002 		CAME	AC-1,AC-2	;TEST PROD=XX
 14254	042137	005 03 0 00 020002 		ER5	AC-1,SN		;IMULM FAILED
 14255	042140	312 04 0 00 045340 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 14256	042141	003 04 0 00 020002 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 14257	042142	312 05 0 00 000001 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) MODIFIED ?
 14258	042143	004 05 0 00 020002 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 14259	042144	321 06 0 00 042131 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 14260
 14261
 14262			020003		SN=SN+1
 14263			000100			XX=XX*4
 14264		777777	777770			ZZ=ZZ+ZZ
 14265	042145	201 02 0 00 000100 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14266	042146	561 04 0 00 777770 		HRROI	AC,ZZ		;SETUP PLIER
 14267	042147	561 03 0 00 777770 		HRROI	AC-1,ZZ		;SETUP PLICAND
 14268	042150	200 01 0 00 000005 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 14269	042151	222 04 0 00 000003 		IMULM	AC,AC-1		;MULTIPLY ZZ BY ZZ
 14270	042152	312 03 0 00 000002 		CAME	AC-1,AC-2	;TEST PROD=XX
 14271	042153	005 03 0 00 020003 		ER5	AC-1,SN		;IMULM FAILED
 14272	042154	312 04 0 00 045320 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 14273	042155	003 04 0 00 020003 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 14274	042156	312 05 0 00 000001 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) MODIFIED ?
 14275	042157	004 05 0 00 020003 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 14276	042160	321 06 0 00 042145 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 14277
 14278
 14279			020004		SN=SN+1
 14280			000400			XX=XX*4
 14281		777777	777760			ZZ=ZZ+ZZ
 14282	042161	201 02 0 00 000400 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14283	042162	561 04 0 00 777760 		HRROI	AC,ZZ		;SETUP PLIER
 14284	042163	561 03 0 00 777760 		HRROI	AC-1,ZZ		;SETUP PLICAND
 14285	042164	200 01 0 00 000005 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 14286	042165	222 04 0 00 000003 		IMULM	AC,AC-1		;MULTIPLY ZZ BY ZZ
 14287	042166	312 03 0 00 000002 		CAME	AC-1,AC-2	;TEST PROD=XX
 14288	042167	005 03 0 00 020004 		ER5	AC-1,SN		;IMULM FAILED
 14289	042170	312 04 0 00 045317 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 14290	042171	003 04 0 00 020004 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 14291	042172	312 05 0 00 000001 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) MODIFIED ?
 14292	042173	004 05 0 00 020004 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 14293	042174	321 06 0 00 042161 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 14294
 14295
 14296			020005		SN=SN+1
 14297			002000			XX=XX*4
 14298		777777	777740			ZZ=ZZ+ZZ
 14299	042175	201 02 0 00 002000 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14300	042176	561 04 0 00 777740 		HRROI	AC,ZZ		;SETUP PLIER
 14301	042177	561 03 0 00 777740 		HRROI	AC-1,ZZ		;SETUP PLICAND
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 75-2
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0317

 14302	042200	200 01 0 00 000005 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 14303	042201	222 04 0 00 000003 		IMULM	AC,AC-1		;MULTIPLY ZZ BY ZZ
 14304	042202	312 03 0 00 000002 		CAME	AC-1,AC-2	;TEST PROD=XX
 14305	042203	005 03 0 00 020005 		ER5	AC-1,SN		;IMULM FAILED
 14306	042204	312 04 0 00 045350 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 14307	042205	003 04 0 00 020005 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 14308	042206	312 05 0 00 000001 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) MODIFIED ?
 14309	042207	004 05 0 00 020005 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 14310	042210	321 06 0 00 042175 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 14311
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 76
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0318

 14312					;TEST IMUL BOTH - MULTIPLY BY 0
 14313					;TESTING IS ACCOMPLISHED BY MULTIPLYING
 14314					;A NEGATIVE NUMBER BY 0
 14315					;PLIER=0
 14316					;PLICAND=-1,-2,-4,-10,-20
 14317					;PROD=0
 14318
 14319			000005			AC=5
 14320						SAVEAC	(1,1)^
 14321	042211	201 07 0 00 042211 		MOVEI	AC+2,.		;SAVE TEST PC
 14322	042212	202 07 0 00 030051 		MOVEM	AC+2,TESTPC
 14323	042213	201 07 0 00 000007 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 14324	042214	202 07 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 14325
 14326			020100		SN=20100
 14327			000000			ZZ=0
 14328
 14329					F20100:	REPEAT	^D5,<
 14330					SN=SN+1
 14331						ZZ=ZZ+ZZ
 14332						IFE	ZZ,<ZZ=-1>
 14333						SETZ	AC,		;SETUP PLIER
 14334						HRROI	AC-1,ZZ		;SETUP PLICAND
 14335						IMULB	AC,AC-1		;MULTIPLY ZZ BY 0
 14336						SKIPE	AC		;TEST PROD=0
 14337						ER3	AC,SN
 14338						SKIPE	AC-1		;TEST C(AC) = C(E)
 14339						ER5	AC-1,SN		;IMULB FAILED
 14340						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14341					>
 14342
 14343			020101		SN=SN+1
 14344			000000			ZZ=ZZ+ZZ
 14345		777777	777777			IFE	ZZ,<ZZ=-1>
 14346	042215	400 05 0 00 000000 		SETZ	AC,		;SETUP PLIER
 14347	042216	561 04 0 00 777777 		HRROI	AC-1,ZZ		;SETUP PLICAND
 14348	042217	223 05 0 00 000004 		IMULB	AC,AC-1		;MULTIPLY ZZ BY 0
 14349	042220	332 00 0 00 000005 		SKIPE	AC		;TEST PROD=0
 14350	042221	003 05 0 00 020101 		ER3	AC,SN
 14351	042222	332 00 0 00 000004 		SKIPE	AC-1		;TEST C(AC) = C(E)
 14352	042223	005 04 0 00 020101 		ER5	AC-1,SN		;IMULB FAILED
 14353	042224	321 07 0 00 042215 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14354
 14355
 14356			020102		SN=SN+1
 14357		777777	777776			ZZ=ZZ+ZZ
 14358						IFE	ZZ,<ZZ=-1>
 14359	042225	400 05 0 00 000000 		SETZ	AC,		;SETUP PLIER
 14360	042226	561 04 0 00 777776 		HRROI	AC-1,ZZ		;SETUP PLICAND
 14361	042227	223 05 0 00 000004 		IMULB	AC,AC-1		;MULTIPLY ZZ BY 0
 14362	042230	332 00 0 00 000005 		SKIPE	AC		;TEST PROD=0
 14363	042231	003 05 0 00 020102 		ER3	AC,SN
 14364	042232	332 00 0 00 000004 		SKIPE	AC-1		;TEST C(AC) = C(E)
 14365	042233	005 04 0 00 020102 		ER5	AC-1,SN		;IMULB FAILED
 14366	042234	321 07 0 00 042225 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 76-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0319

 14367
 14368
 14369			020103		SN=SN+1
 14370		777777	777774			ZZ=ZZ+ZZ
 14371						IFE	ZZ,<ZZ=-1>
 14372	042235	400 05 0 00 000000 		SETZ	AC,		;SETUP PLIER
 14373	042236	561 04 0 00 777774 		HRROI	AC-1,ZZ		;SETUP PLICAND
 14374	042237	223 05 0 00 000004 		IMULB	AC,AC-1		;MULTIPLY ZZ BY 0
 14375	042240	332 00 0 00 000005 		SKIPE	AC		;TEST PROD=0
 14376	042241	003 05 0 00 020103 		ER3	AC,SN
 14377	042242	332 00 0 00 000004 		SKIPE	AC-1		;TEST C(AC) = C(E)
 14378	042243	005 04 0 00 020103 		ER5	AC-1,SN		;IMULB FAILED
 14379	042244	321 07 0 00 042235 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14380
 14381
 14382			020104		SN=SN+1
 14383		777777	777770			ZZ=ZZ+ZZ
 14384						IFE	ZZ,<ZZ=-1>
 14385	042245	400 05 0 00 000000 		SETZ	AC,		;SETUP PLIER
 14386	042246	561 04 0 00 777770 		HRROI	AC-1,ZZ		;SETUP PLICAND
 14387	042247	223 05 0 00 000004 		IMULB	AC,AC-1		;MULTIPLY ZZ BY 0
 14388	042250	332 00 0 00 000005 		SKIPE	AC		;TEST PROD=0
 14389	042251	003 05 0 00 020104 		ER3	AC,SN
 14390	042252	332 00 0 00 000004 		SKIPE	AC-1		;TEST C(AC) = C(E)
 14391	042253	005 04 0 00 020104 		ER5	AC-1,SN		;IMULB FAILED
 14392	042254	321 07 0 00 042245 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14393
 14394
 14395			020105		SN=SN+1
 14396		777777	777760			ZZ=ZZ+ZZ
 14397						IFE	ZZ,<ZZ=-1>
 14398	042255	400 05 0 00 000000 		SETZ	AC,		;SETUP PLIER
 14399	042256	561 04 0 00 777760 		HRROI	AC-1,ZZ		;SETUP PLICAND
 14400	042257	223 05 0 00 000004 		IMULB	AC,AC-1		;MULTIPLY ZZ BY 0
 14401	042260	332 00 0 00 000005 		SKIPE	AC		;TEST PROD=0
 14402	042261	003 05 0 00 020105 		ER3	AC,SN
 14403	042262	332 00 0 00 000004 		SKIPE	AC-1		;TEST C(AC) = C(E)
 14404	042263	005 04 0 00 020105 		ER5	AC-1,SN		;IMULB FAILED
 14405	042264	321 07 0 00 042255 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14406
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 77
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0320

 14407					;TEST IDIV DIRECT - TWO POSITIVES
 14408					;TESTING IS ACCOMPLISHED BY
 14409					;DIVIDING A NUMBER BY ITSELF
 14410					;DVND=1,2,4, ETC
 14411					;DVSR=1,2,4, ETC
 14412					;AN ERROR WILL OCCUR IF QUOT
 14413					;DIFFERS FROM 1
 14414					;AN ERROR WILL OCCUR IF REMD
 14415					;DIFFERS FROM 0
 14416
 14417			000005			AC=5
 14418						SAVEAC	(1,1)^
 14419	042265	201 07 0 00 042265 		MOVEI	AC+2,.		;SAVE TEST PC
 14420	042266	202 07 0 00 030051 		MOVEM	AC+2,TESTPC
 14421	042267	201 07 0 00 000007 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 14422	042270	202 07 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 14423
 14424			020200		SN=20200
 14425			000000			ZZ=0
 14426
 14427					F20200:	REPEAT	^D18,<
 14428					SN=SN+1
 14429						ZZ=ZZ+ZZ
 14430						IFE	ZZ,<ZZ=1>
 14431						MOVEI	AC,ZZ		;SETUP DVND
 14432						MOVEI	AC-1,ZZ		;SETUP DVSR
 14433						IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14434						CAIE	AC,1		;TEST QUOT=1
 14435						ER3	AC,SN
 14436						JUMPE	AC+1,.+2	;TEST REMD=0
 14437						ER4	AC+1,SN		;IDIV FAILED
 14438						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14439					>
 14440
 14441			020201		SN=SN+1
 14442			000000			ZZ=ZZ+ZZ
 14443			000001			IFE	ZZ,<ZZ=1>
 14444	042271	201 05 0 00 000001 		MOVEI	AC,ZZ		;SETUP DVND
 14445	042272	201 04 0 00 000001 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14446	042273	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14447	042274	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14448	042275	003 05 0 00 020201 		ER3	AC,SN
 14449	042276	322 06 0 00 042300 		JUMPE	AC+1,.+2	;TEST REMD=0
 14450	042277	004 06 0 00 020201 		ER4	AC+1,SN		;IDIV FAILED
 14451	042300	321 07 0 00 042271 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14452
 14453
 14454			020202		SN=SN+1
 14455			000002			ZZ=ZZ+ZZ
 14456						IFE	ZZ,<ZZ=1>
 14457	042301	201 05 0 00 000002 		MOVEI	AC,ZZ		;SETUP DVND
 14458	042302	201 04 0 00 000002 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14459	042303	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14460	042304	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14461	042305	003 05 0 00 020202 		ER3	AC,SN
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 77-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0321

 14462	042306	322 06 0 00 042310 		JUMPE	AC+1,.+2	;TEST REMD=0
 14463	042307	004 06 0 00 020202 		ER4	AC+1,SN		;IDIV FAILED
 14464	042310	321 07 0 00 042301 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14465
 14466
 14467			020203		SN=SN+1
 14468			000004			ZZ=ZZ+ZZ
 14469						IFE	ZZ,<ZZ=1>
 14470	042311	201 05 0 00 000004 		MOVEI	AC,ZZ		;SETUP DVND
 14471	042312	201 04 0 00 000004 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14472	042313	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14473	042314	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14474	042315	003 05 0 00 020203 		ER3	AC,SN
 14475	042316	322 06 0 00 042320 		JUMPE	AC+1,.+2	;TEST REMD=0
 14476	042317	004 06 0 00 020203 		ER4	AC+1,SN		;IDIV FAILED
 14477	042320	321 07 0 00 042311 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14478
 14479
 14480			020204		SN=SN+1
 14481			000010			ZZ=ZZ+ZZ
 14482						IFE	ZZ,<ZZ=1>
 14483	042321	201 05 0 00 000010 		MOVEI	AC,ZZ		;SETUP DVND
 14484	042322	201 04 0 00 000010 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14485	042323	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14486	042324	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14487	042325	003 05 0 00 020204 		ER3	AC,SN
 14488	042326	322 06 0 00 042330 		JUMPE	AC+1,.+2	;TEST REMD=0
 14489	042327	004 06 0 00 020204 		ER4	AC+1,SN		;IDIV FAILED
 14490	042330	321 07 0 00 042321 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14491
 14492
 14493			020205		SN=SN+1
 14494			000020			ZZ=ZZ+ZZ
 14495						IFE	ZZ,<ZZ=1>
 14496	042331	201 05 0 00 000020 		MOVEI	AC,ZZ		;SETUP DVND
 14497	042332	201 04 0 00 000020 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14498	042333	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14499	042334	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14500	042335	003 05 0 00 020205 		ER3	AC,SN
 14501	042336	322 06 0 00 042340 		JUMPE	AC+1,.+2	;TEST REMD=0
 14502	042337	004 06 0 00 020205 		ER4	AC+1,SN		;IDIV FAILED
 14503	042340	321 07 0 00 042331 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14504
 14505
 14506			020206		SN=SN+1
 14507			000040			ZZ=ZZ+ZZ
 14508						IFE	ZZ,<ZZ=1>
 14509	042341	201 05 0 00 000040 		MOVEI	AC,ZZ		;SETUP DVND
 14510	042342	201 04 0 00 000040 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14511	042343	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14512	042344	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14513	042345	003 05 0 00 020206 		ER3	AC,SN
 14514	042346	322 06 0 00 042350 		JUMPE	AC+1,.+2	;TEST REMD=0
 14515	042347	004 06 0 00 020206 		ER4	AC+1,SN		;IDIV FAILED
 14516	042350	321 07 0 00 042341 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 77-2
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0322

 14517
 14518
 14519			020207		SN=SN+1
 14520			000100			ZZ=ZZ+ZZ
 14521						IFE	ZZ,<ZZ=1>
 14522	042351	201 05 0 00 000100 		MOVEI	AC,ZZ		;SETUP DVND
 14523	042352	201 04 0 00 000100 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14524	042353	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14525	042354	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14526	042355	003 05 0 00 020207 		ER3	AC,SN
 14527	042356	322 06 0 00 042360 		JUMPE	AC+1,.+2	;TEST REMD=0
 14528	042357	004 06 0 00 020207 		ER4	AC+1,SN		;IDIV FAILED
 14529	042360	321 07 0 00 042351 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14530
 14531
 14532			020210		SN=SN+1
 14533			000200			ZZ=ZZ+ZZ
 14534						IFE	ZZ,<ZZ=1>
 14535	042361	201 05 0 00 000200 		MOVEI	AC,ZZ		;SETUP DVND
 14536	042362	201 04 0 00 000200 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14537	042363	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14538	042364	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14539	042365	003 05 0 00 020210 		ER3	AC,SN
 14540	042366	322 06 0 00 042370 		JUMPE	AC+1,.+2	;TEST REMD=0
 14541	042367	004 06 0 00 020210 		ER4	AC+1,SN		;IDIV FAILED
 14542	042370	321 07 0 00 042361 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14543
 14544
 14545			020211		SN=SN+1
 14546			000400			ZZ=ZZ+ZZ
 14547						IFE	ZZ,<ZZ=1>
 14548	042371	201 05 0 00 000400 		MOVEI	AC,ZZ		;SETUP DVND
 14549	042372	201 04 0 00 000400 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14550	042373	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14551	042374	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14552	042375	003 05 0 00 020211 		ER3	AC,SN
 14553	042376	322 06 0 00 042400 		JUMPE	AC+1,.+2	;TEST REMD=0
 14554	042377	004 06 0 00 020211 		ER4	AC+1,SN		;IDIV FAILED
 14555	042400	321 07 0 00 042371 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14556
 14557
 14558			020212		SN=SN+1
 14559			001000			ZZ=ZZ+ZZ
 14560						IFE	ZZ,<ZZ=1>
 14561	042401	201 05 0 00 001000 		MOVEI	AC,ZZ		;SETUP DVND
 14562	042402	201 04 0 00 001000 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14563	042403	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14564	042404	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14565	042405	003 05 0 00 020212 		ER3	AC,SN
 14566	042406	322 06 0 00 042410 		JUMPE	AC+1,.+2	;TEST REMD=0
 14567	042407	004 06 0 00 020212 		ER4	AC+1,SN		;IDIV FAILED
 14568	042410	321 07 0 00 042401 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14569
 14570
 14571			020213		SN=SN+1
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 77-3
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0323

 14572			002000			ZZ=ZZ+ZZ
 14573						IFE	ZZ,<ZZ=1>
 14574	042411	201 05 0 00 002000 		MOVEI	AC,ZZ		;SETUP DVND
 14575	042412	201 04 0 00 002000 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14576	042413	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14577	042414	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14578	042415	003 05 0 00 020213 		ER3	AC,SN
 14579	042416	322 06 0 00 042420 		JUMPE	AC+1,.+2	;TEST REMD=0
 14580	042417	004 06 0 00 020213 		ER4	AC+1,SN		;IDIV FAILED
 14581	042420	321 07 0 00 042411 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14582
 14583
 14584			020214		SN=SN+1
 14585			004000			ZZ=ZZ+ZZ
 14586						IFE	ZZ,<ZZ=1>
 14587	042421	201 05 0 00 004000 		MOVEI	AC,ZZ		;SETUP DVND
 14588	042422	201 04 0 00 004000 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14589	042423	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14590	042424	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14591	042425	003 05 0 00 020214 		ER3	AC,SN
 14592	042426	322 06 0 00 042430 		JUMPE	AC+1,.+2	;TEST REMD=0
 14593	042427	004 06 0 00 020214 		ER4	AC+1,SN		;IDIV FAILED
 14594	042430	321 07 0 00 042421 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14595
 14596
 14597			020215		SN=SN+1
 14598			010000			ZZ=ZZ+ZZ
 14599						IFE	ZZ,<ZZ=1>
 14600	042431	201 05 0 00 010000 		MOVEI	AC,ZZ		;SETUP DVND
 14601	042432	201 04 0 00 010000 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14602	042433	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14603	042434	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14604	042435	003 05 0 00 020215 		ER3	AC,SN
 14605	042436	322 06 0 00 042440 		JUMPE	AC+1,.+2	;TEST REMD=0
 14606	042437	004 06 0 00 020215 		ER4	AC+1,SN		;IDIV FAILED
 14607	042440	321 07 0 00 042431 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14608
 14609
 14610			020216		SN=SN+1
 14611			020000			ZZ=ZZ+ZZ
 14612						IFE	ZZ,<ZZ=1>
 14613	042441	201 05 0 00 020000 		MOVEI	AC,ZZ		;SETUP DVND
 14614	042442	201 04 0 00 020000 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14615	042443	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14616	042444	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14617	042445	003 05 0 00 020216 		ER3	AC,SN
 14618	042446	322 06 0 00 042450 		JUMPE	AC+1,.+2	;TEST REMD=0
 14619	042447	004 06 0 00 020216 		ER4	AC+1,SN		;IDIV FAILED
 14620	042450	321 07 0 00 042441 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14621
 14622
 14623			020217		SN=SN+1
 14624			040000			ZZ=ZZ+ZZ
 14625						IFE	ZZ,<ZZ=1>
 14626	042451	201 05 0 00 040000 		MOVEI	AC,ZZ		;SETUP DVND
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 77-4
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0324

 14627	042452	201 04 0 00 040000 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14628	042453	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14629	042454	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14630	042455	003 05 0 00 020217 		ER3	AC,SN
 14631	042456	322 06 0 00 042460 		JUMPE	AC+1,.+2	;TEST REMD=0
 14632	042457	004 06 0 00 020217 		ER4	AC+1,SN		;IDIV FAILED
 14633	042460	321 07 0 00 042451 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14634
 14635
 14636			020220		SN=SN+1
 14637			100000			ZZ=ZZ+ZZ
 14638						IFE	ZZ,<ZZ=1>
 14639	042461	201 05 0 00 100000 		MOVEI	AC,ZZ		;SETUP DVND
 14640	042462	201 04 0 00 100000 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14641	042463	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14642	042464	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14643	042465	003 05 0 00 020220 		ER3	AC,SN
 14644	042466	322 06 0 00 042470 		JUMPE	AC+1,.+2	;TEST REMD=0
 14645	042467	004 06 0 00 020220 		ER4	AC+1,SN		;IDIV FAILED
 14646	042470	321 07 0 00 042461 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14647
 14648
 14649			020221		SN=SN+1
 14650			200000			ZZ=ZZ+ZZ
 14651						IFE	ZZ,<ZZ=1>
 14652	042471	201 05 0 00 200000 		MOVEI	AC,ZZ		;SETUP DVND
 14653	042472	201 04 0 00 200000 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14654	042473	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14655	042474	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14656	042475	003 05 0 00 020221 		ER3	AC,SN
 14657	042476	322 06 0 00 042500 		JUMPE	AC+1,.+2	;TEST REMD=0
 14658	042477	004 06 0 00 020221 		ER4	AC+1,SN		;IDIV FAILED
 14659	042500	321 07 0 00 042471 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14660
 14661
 14662			020222		SN=SN+1
 14663			400000			ZZ=ZZ+ZZ
 14664						IFE	ZZ,<ZZ=1>
 14665	042501	201 05 0 00 400000 		MOVEI	AC,ZZ		;SETUP DVND
 14666	042502	201 04 0 00 400000 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14667	042503	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14668	042504	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14669	042505	003 05 0 00 020222 		ER3	AC,SN
 14670	042506	322 06 0 00 042510 		JUMPE	AC+1,.+2	;TEST REMD=0
 14671	042507	004 06 0 00 020222 		ER4	AC+1,SN		;IDIV FAILED
 14672	042510	321 07 0 00 042501 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14673
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 78
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0325

 14674			020300		SN=20300
 14675			000000			ZZ=0
 14676
 14677					F20300:	REPEAT	^D17,<
 14678					SN=SN+1
 14679						ZZ=ZZ+ZZ
 14680						IFE	ZZ,<ZZ=1>
 14681						MOVSI	AC,ZZ		;SETUP DVND
 14682						MOVSI	AC-1,ZZ		;SETUP DVSR
 14683						IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14684						CAIE	AC,1		;TEST QUOT=1
 14685						ER3	AC,SN
 14686						JUMPE	AC+1,.+2	;TEST REMD=0
 14687						ER4	AC+1,SN		;IDIV FAILED
 14688						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14689					>
 14690
 14691			020301		SN=SN+1
 14692			000000			ZZ=ZZ+ZZ
 14693			000001			IFE	ZZ,<ZZ=1>
 14694	042511	205 05 0 00 000001 		MOVSI	AC,ZZ		;SETUP DVND
 14695	042512	205 04 0 00 000001 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14696	042513	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14697	042514	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14698	042515	003 05 0 00 020301 		ER3	AC,SN
 14699	042516	322 06 0 00 042520 		JUMPE	AC+1,.+2	;TEST REMD=0
 14700	042517	004 06 0 00 020301 		ER4	AC+1,SN		;IDIV FAILED
 14701	042520	321 07 0 00 042511 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14702
 14703
 14704			020302		SN=SN+1
 14705			000002			ZZ=ZZ+ZZ
 14706						IFE	ZZ,<ZZ=1>
 14707	042521	205 05 0 00 000002 		MOVSI	AC,ZZ		;SETUP DVND
 14708	042522	205 04 0 00 000002 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14709	042523	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14710	042524	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14711	042525	003 05 0 00 020302 		ER3	AC,SN
 14712	042526	322 06 0 00 042530 		JUMPE	AC+1,.+2	;TEST REMD=0
 14713	042527	004 06 0 00 020302 		ER4	AC+1,SN		;IDIV FAILED
 14714	042530	321 07 0 00 042521 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14715
 14716
 14717			020303		SN=SN+1
 14718			000004			ZZ=ZZ+ZZ
 14719						IFE	ZZ,<ZZ=1>
 14720	042531	205 05 0 00 000004 		MOVSI	AC,ZZ		;SETUP DVND
 14721	042532	205 04 0 00 000004 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14722	042533	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14723	042534	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14724	042535	003 05 0 00 020303 		ER3	AC,SN
 14725	042536	322 06 0 00 042540 		JUMPE	AC+1,.+2	;TEST REMD=0
 14726	042537	004 06 0 00 020303 		ER4	AC+1,SN		;IDIV FAILED
 14727	042540	321 07 0 00 042531 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14728
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 78-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0326

 14729
 14730			020304		SN=SN+1
 14731			000010			ZZ=ZZ+ZZ
 14732						IFE	ZZ,<ZZ=1>
 14733	042541	205 05 0 00 000010 		MOVSI	AC,ZZ		;SETUP DVND
 14734	042542	205 04 0 00 000010 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14735	042543	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14736	042544	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14737	042545	003 05 0 00 020304 		ER3	AC,SN
 14738	042546	322 06 0 00 042550 		JUMPE	AC+1,.+2	;TEST REMD=0
 14739	042547	004 06 0 00 020304 		ER4	AC+1,SN		;IDIV FAILED
 14740	042550	321 07 0 00 042541 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14741
 14742
 14743			020305		SN=SN+1
 14744			000020			ZZ=ZZ+ZZ
 14745						IFE	ZZ,<ZZ=1>
 14746	042551	205 05 0 00 000020 		MOVSI	AC,ZZ		;SETUP DVND
 14747	042552	205 04 0 00 000020 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14748	042553	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14749	042554	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14750	042555	003 05 0 00 020305 		ER3	AC,SN
 14751	042556	322 06 0 00 042560 		JUMPE	AC+1,.+2	;TEST REMD=0
 14752	042557	004 06 0 00 020305 		ER4	AC+1,SN		;IDIV FAILED
 14753	042560	321 07 0 00 042551 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14754
 14755
 14756			020306		SN=SN+1
 14757			000040			ZZ=ZZ+ZZ
 14758						IFE	ZZ,<ZZ=1>
 14759	042561	205 05 0 00 000040 		MOVSI	AC,ZZ		;SETUP DVND
 14760	042562	205 04 0 00 000040 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14761	042563	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14762	042564	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14763	042565	003 05 0 00 020306 		ER3	AC,SN
 14764	042566	322 06 0 00 042570 		JUMPE	AC+1,.+2	;TEST REMD=0
 14765	042567	004 06 0 00 020306 		ER4	AC+1,SN		;IDIV FAILED
 14766	042570	321 07 0 00 042561 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14767
 14768
 14769			020307		SN=SN+1
 14770			000100			ZZ=ZZ+ZZ
 14771						IFE	ZZ,<ZZ=1>
 14772	042571	205 05 0 00 000100 		MOVSI	AC,ZZ		;SETUP DVND
 14773	042572	205 04 0 00 000100 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14774	042573	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14775	042574	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14776	042575	003 05 0 00 020307 		ER3	AC,SN
 14777	042576	322 06 0 00 042600 		JUMPE	AC+1,.+2	;TEST REMD=0
 14778	042577	004 06 0 00 020307 		ER4	AC+1,SN		;IDIV FAILED
 14779	042600	321 07 0 00 042571 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14780
 14781
 14782			020310		SN=SN+1
 14783			000200			ZZ=ZZ+ZZ
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 78-2
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0327

 14784						IFE	ZZ,<ZZ=1>
 14785	042601	205 05 0 00 000200 		MOVSI	AC,ZZ		;SETUP DVND
 14786	042602	205 04 0 00 000200 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14787	042603	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14788	042604	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14789	042605	003 05 0 00 020310 		ER3	AC,SN
 14790	042606	322 06 0 00 042610 		JUMPE	AC+1,.+2	;TEST REMD=0
 14791	042607	004 06 0 00 020310 		ER4	AC+1,SN		;IDIV FAILED
 14792	042610	321 07 0 00 042601 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14793
 14794
 14795			020311		SN=SN+1
 14796			000400			ZZ=ZZ+ZZ
 14797						IFE	ZZ,<ZZ=1>
 14798	042611	205 05 0 00 000400 		MOVSI	AC,ZZ		;SETUP DVND
 14799	042612	205 04 0 00 000400 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14800	042613	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14801	042614	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14802	042615	003 05 0 00 020311 		ER3	AC,SN
 14803	042616	322 06 0 00 042620 		JUMPE	AC+1,.+2	;TEST REMD=0
 14804	042617	004 06 0 00 020311 		ER4	AC+1,SN		;IDIV FAILED
 14805	042620	321 07 0 00 042611 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14806
 14807
 14808			020312		SN=SN+1
 14809			001000			ZZ=ZZ+ZZ
 14810						IFE	ZZ,<ZZ=1>
 14811	042621	205 05 0 00 001000 		MOVSI	AC,ZZ		;SETUP DVND
 14812	042622	205 04 0 00 001000 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14813	042623	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14814	042624	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14815	042625	003 05 0 00 020312 		ER3	AC,SN
 14816	042626	322 06 0 00 042630 		JUMPE	AC+1,.+2	;TEST REMD=0
 14817	042627	004 06 0 00 020312 		ER4	AC+1,SN		;IDIV FAILED
 14818	042630	321 07 0 00 042621 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14819
 14820
 14821			020313		SN=SN+1
 14822			002000			ZZ=ZZ+ZZ
 14823						IFE	ZZ,<ZZ=1>
 14824	042631	205 05 0 00 002000 		MOVSI	AC,ZZ		;SETUP DVND
 14825	042632	205 04 0 00 002000 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14826	042633	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14827	042634	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14828	042635	003 05 0 00 020313 		ER3	AC,SN
 14829	042636	322 06 0 00 042640 		JUMPE	AC+1,.+2	;TEST REMD=0
 14830	042637	004 06 0 00 020313 		ER4	AC+1,SN		;IDIV FAILED
 14831	042640	321 07 0 00 042631 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14832
 14833
 14834			020314		SN=SN+1
 14835			004000			ZZ=ZZ+ZZ
 14836						IFE	ZZ,<ZZ=1>
 14837	042641	205 05 0 00 004000 		MOVSI	AC,ZZ		;SETUP DVND
 14838	042642	205 04 0 00 004000 		MOVSI	AC-1,ZZ		;SETUP DVSR
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 78-3
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0328

 14839	042643	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14840	042644	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14841	042645	003 05 0 00 020314 		ER3	AC,SN
 14842	042646	322 06 0 00 042650 		JUMPE	AC+1,.+2	;TEST REMD=0
 14843	042647	004 06 0 00 020314 		ER4	AC+1,SN		;IDIV FAILED
 14844	042650	321 07 0 00 042641 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14845
 14846
 14847			020315		SN=SN+1
 14848			010000			ZZ=ZZ+ZZ
 14849						IFE	ZZ,<ZZ=1>
 14850	042651	205 05 0 00 010000 		MOVSI	AC,ZZ		;SETUP DVND
 14851	042652	205 04 0 00 010000 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14852	042653	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14853	042654	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14854	042655	003 05 0 00 020315 		ER3	AC,SN
 14855	042656	322 06 0 00 042660 		JUMPE	AC+1,.+2	;TEST REMD=0
 14856	042657	004 06 0 00 020315 		ER4	AC+1,SN		;IDIV FAILED
 14857	042660	321 07 0 00 042651 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14858
 14859
 14860			020316		SN=SN+1
 14861			020000			ZZ=ZZ+ZZ
 14862						IFE	ZZ,<ZZ=1>
 14863	042661	205 05 0 00 020000 		MOVSI	AC,ZZ		;SETUP DVND
 14864	042662	205 04 0 00 020000 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14865	042663	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14866	042664	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14867	042665	003 05 0 00 020316 		ER3	AC,SN
 14868	042666	322 06 0 00 042670 		JUMPE	AC+1,.+2	;TEST REMD=0
 14869	042667	004 06 0 00 020316 		ER4	AC+1,SN		;IDIV FAILED
 14870	042670	321 07 0 00 042661 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14871
 14872
 14873			020317		SN=SN+1
 14874			040000			ZZ=ZZ+ZZ
 14875						IFE	ZZ,<ZZ=1>
 14876	042671	205 05 0 00 040000 		MOVSI	AC,ZZ		;SETUP DVND
 14877	042672	205 04 0 00 040000 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14878	042673	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14879	042674	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14880	042675	003 05 0 00 020317 		ER3	AC,SN
 14881	042676	322 06 0 00 042700 		JUMPE	AC+1,.+2	;TEST REMD=0
 14882	042677	004 06 0 00 020317 		ER4	AC+1,SN		;IDIV FAILED
 14883	042700	321 07 0 00 042671 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14884
 14885
 14886			020320		SN=SN+1
 14887			100000			ZZ=ZZ+ZZ
 14888						IFE	ZZ,<ZZ=1>
 14889	042701	205 05 0 00 100000 		MOVSI	AC,ZZ		;SETUP DVND
 14890	042702	205 04 0 00 100000 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14891	042703	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14892	042704	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14893	042705	003 05 0 00 020320 		ER3	AC,SN
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 78-4
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0329

 14894	042706	322 06 0 00 042710 		JUMPE	AC+1,.+2	;TEST REMD=0
 14895	042707	004 06 0 00 020320 		ER4	AC+1,SN		;IDIV FAILED
 14896	042710	321 07 0 00 042701 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14897
 14898
 14899			020321		SN=SN+1
 14900			200000			ZZ=ZZ+ZZ
 14901						IFE	ZZ,<ZZ=1>
 14902	042711	205 05 0 00 200000 		MOVSI	AC,ZZ		;SETUP DVND
 14903	042712	205 04 0 00 200000 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14904	042713	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14905	042714	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14906	042715	003 05 0 00 020321 		ER3	AC,SN
 14907	042716	322 06 0 00 042720 		JUMPE	AC+1,.+2	;TEST REMD=0
 14908	042717	004 06 0 00 020321 		ER4	AC+1,SN		;IDIV FAILED
 14909	042720	321 07 0 00 042711 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14910
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 79
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0330

 14911					;TEST IDIV DIRECT - TWO POSITIVES
 14912					;TESTING IS ACCOMPLISHED BY
 14913					;DIVIDING AN EVEN NUMBER BY 1
 14914					;DVND=1,2,4 ETC
 14915					;DVSR=1
 14916					;AN ERROR WILL OCCUR IF QUOT
 14917					;DIFFERS FROM DVND
 14918					;AN ERROR WILL OCCUR IF REMD
 14919					;DIFFERS FROM 0
 14920
 14921			000013			AC=13
 14922						SAVEAC	(1,1)^
 14923	042721	201 15 0 00 042721 		MOVEI	AC+2,.		;SAVE TEST PC
 14924	042722	202 15 0 00 030051 		MOVEM	AC+2,TESTPC
 14925	042723	201 15 0 00 000015 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 14926	042724	202 15 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 14927
 14928			020400		SN=20400
 14929			000000			ZZ=0
 14930
 14931					F20400:	REPEAT	^D18,<
 14932					SN=SN+1
 14933						ZZ=ZZ+ZZ
 14934						IFE	ZZ,<ZZ=1>
 14935						MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 14936						MOVEI	AC,ZZ		;SETUP DVND
 14937						MOVEI	AC-1,1		;SETUP DVSR
 14938						IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 14939						CAME	AC,AC-2		;TEST QUOT=DVND
 14940						ER3	AC,SN
 14941						JUMPE	AC+1,.+2	;TEST REMD=0
 14942						ER4	AC+1,SN		;IDIV FAILED
 14943						CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 14944						ER5	AC-1,SN		;C(E) WAS CLOBBERED
 14945						JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 14946					>
 14947
 14948			020401		SN=SN+1
 14949			000000			ZZ=ZZ+ZZ
 14950			000001			IFE	ZZ,<ZZ=1>
 14951	042725	201 11 0 00 000001 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 14952	042726	201 13 0 00 000001 		MOVEI	AC,ZZ		;SETUP DVND
 14953	042727	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 14954	042730	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 14955	042731	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 14956	042732	003 13 0 00 020401 		ER3	AC,SN
 14957	042733	322 14 0 00 042735 		JUMPE	AC+1,.+2	;TEST REMD=0
 14958	042734	004 14 0 00 020401 		ER4	AC+1,SN		;IDIV FAILED
 14959	042735	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 14960	042736	005 12 0 00 020401 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 14961	042737	321 15 0 00 042725 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 14962
 14963
 14964			020402		SN=SN+1
 14965			000002			ZZ=ZZ+ZZ
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 79-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0331

 14966						IFE	ZZ,<ZZ=1>
 14967	042740	201 11 0 00 000002 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 14968	042741	201 13 0 00 000002 		MOVEI	AC,ZZ		;SETUP DVND
 14969	042742	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 14970	042743	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 14971	042744	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 14972	042745	003 13 0 00 020402 		ER3	AC,SN
 14973	042746	322 14 0 00 042750 		JUMPE	AC+1,.+2	;TEST REMD=0
 14974	042747	004 14 0 00 020402 		ER4	AC+1,SN		;IDIV FAILED
 14975	042750	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 14976	042751	005 12 0 00 020402 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 14977	042752	321 15 0 00 042740 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 14978
 14979
 14980			020403		SN=SN+1
 14981			000004			ZZ=ZZ+ZZ
 14982						IFE	ZZ,<ZZ=1>
 14983	042753	201 11 0 00 000004 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 14984	042754	201 13 0 00 000004 		MOVEI	AC,ZZ		;SETUP DVND
 14985	042755	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 14986	042756	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 14987	042757	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 14988	042760	003 13 0 00 020403 		ER3	AC,SN
 14989	042761	322 14 0 00 042763 		JUMPE	AC+1,.+2	;TEST REMD=0
 14990	042762	004 14 0 00 020403 		ER4	AC+1,SN		;IDIV FAILED
 14991	042763	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 14992	042764	005 12 0 00 020403 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 14993	042765	321 15 0 00 042753 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 14994
 14995
 14996			020404		SN=SN+1
 14997			000010			ZZ=ZZ+ZZ
 14998						IFE	ZZ,<ZZ=1>
 14999	042766	201 11 0 00 000010 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 15000	042767	201 13 0 00 000010 		MOVEI	AC,ZZ		;SETUP DVND
 15001	042770	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15002	042771	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15003	042772	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15004	042773	003 13 0 00 020404 		ER3	AC,SN
 15005	042774	322 14 0 00 042776 		JUMPE	AC+1,.+2	;TEST REMD=0
 15006	042775	004 14 0 00 020404 		ER4	AC+1,SN		;IDIV FAILED
 15007	042776	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15008	042777	005 12 0 00 020404 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15009	043000	321 15 0 00 042766 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15010
 15011
 15012			020405		SN=SN+1
 15013			000020			ZZ=ZZ+ZZ
 15014						IFE	ZZ,<ZZ=1>
 15015	043001	201 11 0 00 000020 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 15016	043002	201 13 0 00 000020 		MOVEI	AC,ZZ		;SETUP DVND
 15017	043003	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15018	043004	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15019	043005	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15020	043006	003 13 0 00 020405 		ER3	AC,SN
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 79-2
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0332

 15021	043007	322 14 0 00 043011 		JUMPE	AC+1,.+2	;TEST REMD=0
 15022	043010	004 14 0 00 020405 		ER4	AC+1,SN		;IDIV FAILED
 15023	043011	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15024	043012	005 12 0 00 020405 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15025	043013	321 15 0 00 043001 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15026
 15027
 15028			020406		SN=SN+1
 15029			000040			ZZ=ZZ+ZZ
 15030						IFE	ZZ,<ZZ=1>
 15031	043014	201 11 0 00 000040 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 15032	043015	201 13 0 00 000040 		MOVEI	AC,ZZ		;SETUP DVND
 15033	043016	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15034	043017	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15035	043020	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15036	043021	003 13 0 00 020406 		ER3	AC,SN
 15037	043022	322 14 0 00 043024 		JUMPE	AC+1,.+2	;TEST REMD=0
 15038	043023	004 14 0 00 020406 		ER4	AC+1,SN		;IDIV FAILED
 15039	043024	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15040	043025	005 12 0 00 020406 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15041	043026	321 15 0 00 043014 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15042
 15043
 15044			020407		SN=SN+1
 15045			000100			ZZ=ZZ+ZZ
 15046						IFE	ZZ,<ZZ=1>
 15047	043027	201 11 0 00 000100 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 15048	043030	201 13 0 00 000100 		MOVEI	AC,ZZ		;SETUP DVND
 15049	043031	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15050	043032	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15051	043033	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15052	043034	003 13 0 00 020407 		ER3	AC,SN
 15053	043035	322 14 0 00 043037 		JUMPE	AC+1,.+2	;TEST REMD=0
 15054	043036	004 14 0 00 020407 		ER4	AC+1,SN		;IDIV FAILED
 15055	043037	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15056	043040	005 12 0 00 020407 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15057	043041	321 15 0 00 043027 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15058
 15059
 15060			020410		SN=SN+1
 15061			000200			ZZ=ZZ+ZZ
 15062						IFE	ZZ,<ZZ=1>
 15063	043042	201 11 0 00 000200 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 15064	043043	201 13 0 00 000200 		MOVEI	AC,ZZ		;SETUP DVND
 15065	043044	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15066	043045	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15067	043046	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15068	043047	003 13 0 00 020410 		ER3	AC,SN
 15069	043050	322 14 0 00 043052 		JUMPE	AC+1,.+2	;TEST REMD=0
 15070	043051	004 14 0 00 020410 		ER4	AC+1,SN		;IDIV FAILED
 15071	043052	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15072	043053	005 12 0 00 020410 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15073	043054	321 15 0 00 043042 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15074
 15075
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 79-3
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0333

 15076			020411		SN=SN+1
 15077			000400			ZZ=ZZ+ZZ
 15078						IFE	ZZ,<ZZ=1>
 15079	043055	201 11 0 00 000400 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 15080	043056	201 13 0 00 000400 		MOVEI	AC,ZZ		;SETUP DVND
 15081	043057	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15082	043060	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15083	043061	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15084	043062	003 13 0 00 020411 		ER3	AC,SN
 15085	043063	322 14 0 00 043065 		JUMPE	AC+1,.+2	;TEST REMD=0
 15086	043064	004 14 0 00 020411 		ER4	AC+1,SN		;IDIV FAILED
 15087	043065	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15088	043066	005 12 0 00 020411 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15089	043067	321 15 0 00 043055 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15090
 15091
 15092			020412		SN=SN+1
 15093			001000			ZZ=ZZ+ZZ
 15094						IFE	ZZ,<ZZ=1>
 15095	043070	201 11 0 00 001000 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 15096	043071	201 13 0 00 001000 		MOVEI	AC,ZZ		;SETUP DVND
 15097	043072	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15098	043073	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15099	043074	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15100	043075	003 13 0 00 020412 		ER3	AC,SN
 15101	043076	322 14 0 00 043100 		JUMPE	AC+1,.+2	;TEST REMD=0
 15102	043077	004 14 0 00 020412 		ER4	AC+1,SN		;IDIV FAILED
 15103	043100	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15104	043101	005 12 0 00 020412 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15105	043102	321 15 0 00 043070 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15106
 15107
 15108			020413		SN=SN+1
 15109			002000			ZZ=ZZ+ZZ
 15110						IFE	ZZ,<ZZ=1>
 15111	043103	201 11 0 00 002000 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 15112	043104	201 13 0 00 002000 		MOVEI	AC,ZZ		;SETUP DVND
 15113	043105	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15114	043106	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15115	043107	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15116	043110	003 13 0 00 020413 		ER3	AC,SN
 15117	043111	322 14 0 00 043113 		JUMPE	AC+1,.+2	;TEST REMD=0
 15118	043112	004 14 0 00 020413 		ER4	AC+1,SN		;IDIV FAILED
 15119	043113	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15120	043114	005 12 0 00 020413 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15121	043115	321 15 0 00 043103 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15122
 15123
 15124			020414		SN=SN+1
 15125			004000			ZZ=ZZ+ZZ
 15126						IFE	ZZ,<ZZ=1>
 15127	043116	201 11 0 00 004000 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 15128	043117	201 13 0 00 004000 		MOVEI	AC,ZZ		;SETUP DVND
 15129	043120	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15130	043121	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 79-4
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0334

 15131	043122	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15132	043123	003 13 0 00 020414 		ER3	AC,SN
 15133	043124	322 14 0 00 043126 		JUMPE	AC+1,.+2	;TEST REMD=0
 15134	043125	004 14 0 00 020414 		ER4	AC+1,SN		;IDIV FAILED
 15135	043126	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15136	043127	005 12 0 00 020414 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15137	043130	321 15 0 00 043116 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15138
 15139
 15140			020415		SN=SN+1
 15141			010000			ZZ=ZZ+ZZ
 15142						IFE	ZZ,<ZZ=1>
 15143	043131	201 11 0 00 010000 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 15144	043132	201 13 0 00 010000 		MOVEI	AC,ZZ		;SETUP DVND
 15145	043133	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15146	043134	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15147	043135	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15148	043136	003 13 0 00 020415 		ER3	AC,SN
 15149	043137	322 14 0 00 043141 		JUMPE	AC+1,.+2	;TEST REMD=0
 15150	043140	004 14 0 00 020415 		ER4	AC+1,SN		;IDIV FAILED
 15151	043141	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15152	043142	005 12 0 00 020415 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15153	043143	321 15 0 00 043131 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15154
 15155
 15156			020416		SN=SN+1
 15157			020000			ZZ=ZZ+ZZ
 15158						IFE	ZZ,<ZZ=1>
 15159	043144	201 11 0 00 020000 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 15160	043145	201 13 0 00 020000 		MOVEI	AC,ZZ		;SETUP DVND
 15161	043146	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15162	043147	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15163	043150	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15164	043151	003 13 0 00 020416 		ER3	AC,SN
 15165	043152	322 14 0 00 043154 		JUMPE	AC+1,.+2	;TEST REMD=0
 15166	043153	004 14 0 00 020416 		ER4	AC+1,SN		;IDIV FAILED
 15167	043154	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15168	043155	005 12 0 00 020416 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15169	043156	321 15 0 00 043144 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15170
 15171
 15172			020417		SN=SN+1
 15173			040000			ZZ=ZZ+ZZ
 15174						IFE	ZZ,<ZZ=1>
 15175	043157	201 11 0 00 040000 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 15176	043160	201 13 0 00 040000 		MOVEI	AC,ZZ		;SETUP DVND
 15177	043161	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15178	043162	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15179	043163	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15180	043164	003 13 0 00 020417 		ER3	AC,SN
 15181	043165	322 14 0 00 043167 		JUMPE	AC+1,.+2	;TEST REMD=0
 15182	043166	004 14 0 00 020417 		ER4	AC+1,SN		;IDIV FAILED
 15183	043167	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15184	043170	005 12 0 00 020417 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15185	043171	321 15 0 00 043157 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 79-5
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0335

 15186
 15187
 15188			020420		SN=SN+1
 15189			100000			ZZ=ZZ+ZZ
 15190						IFE	ZZ,<ZZ=1>
 15191	043172	201 11 0 00 100000 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 15192	043173	201 13 0 00 100000 		MOVEI	AC,ZZ		;SETUP DVND
 15193	043174	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15194	043175	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15195	043176	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15196	043177	003 13 0 00 020420 		ER3	AC,SN
 15197	043200	322 14 0 00 043202 		JUMPE	AC+1,.+2	;TEST REMD=0
 15198	043201	004 14 0 00 020420 		ER4	AC+1,SN		;IDIV FAILED
 15199	043202	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15200	043203	005 12 0 00 020420 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15201	043204	321 15 0 00 043172 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15202
 15203
 15204			020421		SN=SN+1
 15205			200000			ZZ=ZZ+ZZ
 15206						IFE	ZZ,<ZZ=1>
 15207	043205	201 11 0 00 200000 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 15208	043206	201 13 0 00 200000 		MOVEI	AC,ZZ		;SETUP DVND
 15209	043207	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15210	043210	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15211	043211	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15212	043212	003 13 0 00 020421 		ER3	AC,SN
 15213	043213	322 14 0 00 043215 		JUMPE	AC+1,.+2	;TEST REMD=0
 15214	043214	004 14 0 00 020421 		ER4	AC+1,SN		;IDIV FAILED
 15215	043215	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15216	043216	005 12 0 00 020421 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15217	043217	321 15 0 00 043205 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15218
 15219
 15220			020422		SN=SN+1
 15221			400000			ZZ=ZZ+ZZ
 15222						IFE	ZZ,<ZZ=1>
 15223	043220	201 11 0 00 400000 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 15224	043221	201 13 0 00 400000 		MOVEI	AC,ZZ		;SETUP DVND
 15225	043222	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15226	043223	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15227	043224	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15228	043225	003 13 0 00 020422 		ER3	AC,SN
 15229	043226	322 14 0 00 043230 		JUMPE	AC+1,.+2	;TEST REMD=0
 15230	043227	004 14 0 00 020422 		ER4	AC+1,SN		;IDIV FAILED
 15231	043230	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15232	043231	005 12 0 00 020422 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15233	043232	321 15 0 00 043220 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15234
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 80
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0336

 15235			020500		SN=20500
 15236			000000			ZZ=0
 15237
 15238					F20500:	REPEAT	^D17,<
 15239					SN=SN+1
 15240						ZZ=ZZ+ZZ
 15241						IFE	ZZ,<ZZ=1>
 15242						MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15243						MOVSI	AC,ZZ		;SETUP DVND
 15244						MOVEI	AC-1,1		;SETUP DVSR
 15245						IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15246						CAME	AC,AC-2		;TEST QUOT=DVND
 15247						ER3	AC,SN
 15248						JUMPE	AC+1,.+2	;TEST REMD=0
 15249						ER4	AC+1,SN		;IDIV FAILED
 15250						CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15251						ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15252						JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15253					>
 15254
 15255			020501		SN=SN+1
 15256			000000			ZZ=ZZ+ZZ
 15257			000001			IFE	ZZ,<ZZ=1>
 15258	043233	205 11 0 00 000001 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15259	043234	205 13 0 00 000001 		MOVSI	AC,ZZ		;SETUP DVND
 15260	043235	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15261	043236	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15262	043237	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15263	043240	003 13 0 00 020501 		ER3	AC,SN
 15264	043241	322 14 0 00 043243 		JUMPE	AC+1,.+2	;TEST REMD=0
 15265	043242	004 14 0 00 020501 		ER4	AC+1,SN		;IDIV FAILED
 15266	043243	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15267	043244	005 12 0 00 020501 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15268	043245	321 15 0 00 043233 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15269
 15270
 15271			020502		SN=SN+1
 15272			000002			ZZ=ZZ+ZZ
 15273						IFE	ZZ,<ZZ=1>
 15274	043246	205 11 0 00 000002 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15275	043247	205 13 0 00 000002 		MOVSI	AC,ZZ		;SETUP DVND
 15276	043250	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15277	043251	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15278	043252	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15279	043253	003 13 0 00 020502 		ER3	AC,SN
 15280	043254	322 14 0 00 043256 		JUMPE	AC+1,.+2	;TEST REMD=0
 15281	043255	004 14 0 00 020502 		ER4	AC+1,SN		;IDIV FAILED
 15282	043256	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15283	043257	005 12 0 00 020502 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15284	043260	321 15 0 00 043246 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15285
 15286
 15287			020503		SN=SN+1
 15288			000004			ZZ=ZZ+ZZ
 15289						IFE	ZZ,<ZZ=1>
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 80-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0337

 15290	043261	205 11 0 00 000004 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15291	043262	205 13 0 00 000004 		MOVSI	AC,ZZ		;SETUP DVND
 15292	043263	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15293	043264	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15294	043265	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15295	043266	003 13 0 00 020503 		ER3	AC,SN
 15296	043267	322 14 0 00 043271 		JUMPE	AC+1,.+2	;TEST REMD=0
 15297	043270	004 14 0 00 020503 		ER4	AC+1,SN		;IDIV FAILED
 15298	043271	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15299	043272	005 12 0 00 020503 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15300	043273	321 15 0 00 043261 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15301
 15302
 15303			020504		SN=SN+1
 15304			000010			ZZ=ZZ+ZZ
 15305						IFE	ZZ,<ZZ=1>
 15306	043274	205 11 0 00 000010 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15307	043275	205 13 0 00 000010 		MOVSI	AC,ZZ		;SETUP DVND
 15308	043276	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15309	043277	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15310	043300	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15311	043301	003 13 0 00 020504 		ER3	AC,SN
 15312	043302	322 14 0 00 043304 		JUMPE	AC+1,.+2	;TEST REMD=0
 15313	043303	004 14 0 00 020504 		ER4	AC+1,SN		;IDIV FAILED
 15314	043304	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15315	043305	005 12 0 00 020504 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15316	043306	321 15 0 00 043274 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15317
 15318
 15319			020505		SN=SN+1
 15320			000020			ZZ=ZZ+ZZ
 15321						IFE	ZZ,<ZZ=1>
 15322	043307	205 11 0 00 000020 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15323	043310	205 13 0 00 000020 		MOVSI	AC,ZZ		;SETUP DVND
 15324	043311	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15325	043312	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15326	043313	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15327	043314	003 13 0 00 020505 		ER3	AC,SN
 15328	043315	322 14 0 00 043317 		JUMPE	AC+1,.+2	;TEST REMD=0
 15329	043316	004 14 0 00 020505 		ER4	AC+1,SN		;IDIV FAILED
 15330	043317	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15331	043320	005 12 0 00 020505 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15332	043321	321 15 0 00 043307 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15333
 15334
 15335			020506		SN=SN+1
 15336			000040			ZZ=ZZ+ZZ
 15337						IFE	ZZ,<ZZ=1>
 15338	043322	205 11 0 00 000040 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15339	043323	205 13 0 00 000040 		MOVSI	AC,ZZ		;SETUP DVND
 15340	043324	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15341	043325	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15342	043326	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15343	043327	003 13 0 00 020506 		ER3	AC,SN
 15344	043330	322 14 0 00 043332 		JUMPE	AC+1,.+2	;TEST REMD=0
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 80-2
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0338

 15345	043331	004 14 0 00 020506 		ER4	AC+1,SN		;IDIV FAILED
 15346	043332	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15347	043333	005 12 0 00 020506 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15348	043334	321 15 0 00 043322 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15349
 15350
 15351			020507		SN=SN+1
 15352			000100			ZZ=ZZ+ZZ
 15353						IFE	ZZ,<ZZ=1>
 15354	043335	205 11 0 00 000100 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15355	043336	205 13 0 00 000100 		MOVSI	AC,ZZ		;SETUP DVND
 15356	043337	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15357	043340	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15358	043341	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15359	043342	003 13 0 00 020507 		ER3	AC,SN
 15360	043343	322 14 0 00 043345 		JUMPE	AC+1,.+2	;TEST REMD=0
 15361	043344	004 14 0 00 020507 		ER4	AC+1,SN		;IDIV FAILED
 15362	043345	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15363	043346	005 12 0 00 020507 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15364	043347	321 15 0 00 043335 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15365
 15366
 15367			020510		SN=SN+1
 15368			000200			ZZ=ZZ+ZZ
 15369						IFE	ZZ,<ZZ=1>
 15370	043350	205 11 0 00 000200 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15371	043351	205 13 0 00 000200 		MOVSI	AC,ZZ		;SETUP DVND
 15372	043352	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15373	043353	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15374	043354	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15375	043355	003 13 0 00 020510 		ER3	AC,SN
 15376	043356	322 14 0 00 043360 		JUMPE	AC+1,.+2	;TEST REMD=0
 15377	043357	004 14 0 00 020510 		ER4	AC+1,SN		;IDIV FAILED
 15378	043360	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15379	043361	005 12 0 00 020510 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15380	043362	321 15 0 00 043350 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15381
 15382
 15383			020511		SN=SN+1
 15384			000400			ZZ=ZZ+ZZ
 15385						IFE	ZZ,<ZZ=1>
 15386	043363	205 11 0 00 000400 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15387	043364	205 13 0 00 000400 		MOVSI	AC,ZZ		;SETUP DVND
 15388	043365	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15389	043366	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15390	043367	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15391	043370	003 13 0 00 020511 		ER3	AC,SN
 15392	043371	322 14 0 00 043373 		JUMPE	AC+1,.+2	;TEST REMD=0
 15393	043372	004 14 0 00 020511 		ER4	AC+1,SN		;IDIV FAILED
 15394	043373	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15395	043374	005 12 0 00 020511 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15396	043375	321 15 0 00 043363 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15397
 15398
 15399			020512		SN=SN+1
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 80-3
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0339

 15400			001000			ZZ=ZZ+ZZ
 15401						IFE	ZZ,<ZZ=1>
 15402	043376	205 11 0 00 001000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15403	043377	205 13 0 00 001000 		MOVSI	AC,ZZ		;SETUP DVND
 15404	043400	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15405	043401	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15406	043402	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15407	043403	003 13 0 00 020512 		ER3	AC,SN
 15408	043404	322 14 0 00 043406 		JUMPE	AC+1,.+2	;TEST REMD=0
 15409	043405	004 14 0 00 020512 		ER4	AC+1,SN		;IDIV FAILED
 15410	043406	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15411	043407	005 12 0 00 020512 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15412	043410	321 15 0 00 043376 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15413
 15414
 15415			020513		SN=SN+1
 15416			002000			ZZ=ZZ+ZZ
 15417						IFE	ZZ,<ZZ=1>
 15418	043411	205 11 0 00 002000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15419	043412	205 13 0 00 002000 		MOVSI	AC,ZZ		;SETUP DVND
 15420	043413	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15421	043414	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15422	043415	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15423	043416	003 13 0 00 020513 		ER3	AC,SN
 15424	043417	322 14 0 00 043421 		JUMPE	AC+1,.+2	;TEST REMD=0
 15425	043420	004 14 0 00 020513 		ER4	AC+1,SN		;IDIV FAILED
 15426	043421	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15427	043422	005 12 0 00 020513 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15428	043423	321 15 0 00 043411 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15429
 15430
 15431			020514		SN=SN+1
 15432			004000			ZZ=ZZ+ZZ
 15433						IFE	ZZ,<ZZ=1>
 15434	043424	205 11 0 00 004000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15435	043425	205 13 0 00 004000 		MOVSI	AC,ZZ		;SETUP DVND
 15436	043426	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15437	043427	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15438	043430	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15439	043431	003 13 0 00 020514 		ER3	AC,SN
 15440	043432	322 14 0 00 043434 		JUMPE	AC+1,.+2	;TEST REMD=0
 15441	043433	004 14 0 00 020514 		ER4	AC+1,SN		;IDIV FAILED
 15442	043434	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15443	043435	005 12 0 00 020514 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15444	043436	321 15 0 00 043424 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15445
 15446
 15447			020515		SN=SN+1
 15448			010000			ZZ=ZZ+ZZ
 15449						IFE	ZZ,<ZZ=1>
 15450	043437	205 11 0 00 010000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15451	043440	205 13 0 00 010000 		MOVSI	AC,ZZ		;SETUP DVND
 15452	043441	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15453	043442	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15454	043443	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 80-4
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0340

 15455	043444	003 13 0 00 020515 		ER3	AC,SN
 15456	043445	322 14 0 00 043447 		JUMPE	AC+1,.+2	;TEST REMD=0
 15457	043446	004 14 0 00 020515 		ER4	AC+1,SN		;IDIV FAILED
 15458	043447	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15459	043450	005 12 0 00 020515 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15460	043451	321 15 0 00 043437 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15461
 15462
 15463			020516		SN=SN+1
 15464			020000			ZZ=ZZ+ZZ
 15465						IFE	ZZ,<ZZ=1>
 15466	043452	205 11 0 00 020000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15467	043453	205 13 0 00 020000 		MOVSI	AC,ZZ		;SETUP DVND
 15468	043454	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15469	043455	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15470	043456	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15471	043457	003 13 0 00 020516 		ER3	AC,SN
 15472	043460	322 14 0 00 043462 		JUMPE	AC+1,.+2	;TEST REMD=0
 15473	043461	004 14 0 00 020516 		ER4	AC+1,SN		;IDIV FAILED
 15474	043462	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15475	043463	005 12 0 00 020516 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15476	043464	321 15 0 00 043452 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15477
 15478
 15479			020517		SN=SN+1
 15480			040000			ZZ=ZZ+ZZ
 15481						IFE	ZZ,<ZZ=1>
 15482	043465	205 11 0 00 040000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15483	043466	205 13 0 00 040000 		MOVSI	AC,ZZ		;SETUP DVND
 15484	043467	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15485	043470	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15486	043471	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15487	043472	003 13 0 00 020517 		ER3	AC,SN
 15488	043473	322 14 0 00 043475 		JUMPE	AC+1,.+2	;TEST REMD=0
 15489	043474	004 14 0 00 020517 		ER4	AC+1,SN		;IDIV FAILED
 15490	043475	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15491	043476	005 12 0 00 020517 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15492	043477	321 15 0 00 043465 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15493
 15494
 15495			020520		SN=SN+1
 15496			100000			ZZ=ZZ+ZZ
 15497						IFE	ZZ,<ZZ=1>
 15498	043500	205 11 0 00 100000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15499	043501	205 13 0 00 100000 		MOVSI	AC,ZZ		;SETUP DVND
 15500	043502	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15501	043503	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15502	043504	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15503	043505	003 13 0 00 020520 		ER3	AC,SN
 15504	043506	322 14 0 00 043510 		JUMPE	AC+1,.+2	;TEST REMD=0
 15505	043507	004 14 0 00 020520 		ER4	AC+1,SN		;IDIV FAILED
 15506	043510	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15507	043511	005 12 0 00 020520 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15508	043512	321 15 0 00 043500 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15509
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 80-5
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0341

 15510
 15511			020521		SN=SN+1
 15512			200000			ZZ=ZZ+ZZ
 15513						IFE	ZZ,<ZZ=1>
 15514	043513	205 11 0 00 200000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15515	043514	205 13 0 00 200000 		MOVSI	AC,ZZ		;SETUP DVND
 15516	043515	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15517	043516	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15518	043517	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15519	043520	003 13 0 00 020521 		ER3	AC,SN
 15520	043521	322 14 0 00 043523 		JUMPE	AC+1,.+2	;TEST REMD=0
 15521	043522	004 14 0 00 020521 		ER4	AC+1,SN		;IDIV FAILED
 15522	043523	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15523	043524	005 12 0 00 020521 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15524	043525	321 15 0 00 043513 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15525
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 81
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0342

 15526					;TEST IDIV IMMEDIATE - TWO POSITIVES
 15527					;TESTING IS ACCOMPLISHED BY DIVIDING
 15528					;AN ODD NUMBER BY E
 15529					;DVND=3,5,7,11 ETC
 15530					;DVSR=E (2)
 15531					;QUOT=1,2,4, ETC
 15532					;REMD=1
 15533
 15534			000014			AC=14
 15535						SAVEAC	(1,1)^
 15536	043526	201 16 0 00 043526 		MOVEI	AC+2,.		;SAVE TEST PC
 15537	043527	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
 15538	043530	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 15539	043531	202 16 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 15540
 15541			020600		SN=20600
 15542			000000			XX=0
 15543			000001			ZZ=1
 15544
 15545					F20600:	REPEAT	^D10,<
 15546					SN=SN+1
 15547						XX=XX+1
 15548						ZZ=ZZ+2
 15549						MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15550						MOVEI	AC,ZZ		;SETUP DVND
 15551						IDIVI	AC,2		;DIVIDE ZZ BY 2
 15552						CAME	AC,AC-2		;TEST QUOT
 15553						ER3	AC,SN
 15554						CAIE	AC+1,1		;TEST REMD=1
 15555						ER4	AC+1,SN		;IDIVI FAILED
 15556						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15557					>
 15558
 15559			020601		SN=SN+1
 15560			000001			XX=XX+1
 15561			000003			ZZ=ZZ+2
 15562	043532	201 12 0 00 000001 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15563	043533	201 14 0 00 000003 		MOVEI	AC,ZZ		;SETUP DVND
 15564	043534	231 14 0 00 000002 		IDIVI	AC,2		;DIVIDE ZZ BY 2
 15565	043535	312 14 0 00 000012 		CAME	AC,AC-2		;TEST QUOT
 15566	043536	003 14 0 00 020601 		ER3	AC,SN
 15567	043537	302 15 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15568	043540	004 15 0 00 020601 		ER4	AC+1,SN		;IDIVI FAILED
 15569	043541	321 16 0 00 043532 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15570
 15571
 15572			020602		SN=SN+1
 15573			000002			XX=XX+1
 15574			000005			ZZ=ZZ+2
 15575	043542	201 12 0 00 000002 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15576	043543	201 14 0 00 000005 		MOVEI	AC,ZZ		;SETUP DVND
 15577	043544	231 14 0 00 000002 		IDIVI	AC,2		;DIVIDE ZZ BY 2
 15578	043545	312 14 0 00 000012 		CAME	AC,AC-2		;TEST QUOT
 15579	043546	003 14 0 00 020602 		ER3	AC,SN
 15580	043547	302 15 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 81-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0343

 15581	043550	004 15 0 00 020602 		ER4	AC+1,SN		;IDIVI FAILED
 15582	043551	321 16 0 00 043542 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15583
 15584
 15585			020603		SN=SN+1
 15586			000003			XX=XX+1
 15587			000007			ZZ=ZZ+2
 15588	043552	201 12 0 00 000003 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15589	043553	201 14 0 00 000007 		MOVEI	AC,ZZ		;SETUP DVND
 15590	043554	231 14 0 00 000002 		IDIVI	AC,2		;DIVIDE ZZ BY 2
 15591	043555	312 14 0 00 000012 		CAME	AC,AC-2		;TEST QUOT
 15592	043556	003 14 0 00 020603 		ER3	AC,SN
 15593	043557	302 15 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15594	043560	004 15 0 00 020603 		ER4	AC+1,SN		;IDIVI FAILED
 15595	043561	321 16 0 00 043552 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15596
 15597
 15598			020604		SN=SN+1
 15599			000004			XX=XX+1
 15600			000011			ZZ=ZZ+2
 15601	043562	201 12 0 00 000004 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15602	043563	201 14 0 00 000011 		MOVEI	AC,ZZ		;SETUP DVND
 15603	043564	231 14 0 00 000002 		IDIVI	AC,2		;DIVIDE ZZ BY 2
 15604	043565	312 14 0 00 000012 		CAME	AC,AC-2		;TEST QUOT
 15605	043566	003 14 0 00 020604 		ER3	AC,SN
 15606	043567	302 15 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15607	043570	004 15 0 00 020604 		ER4	AC+1,SN		;IDIVI FAILED
 15608	043571	321 16 0 00 043562 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15609
 15610
 15611			020605		SN=SN+1
 15612			000005			XX=XX+1
 15613			000013			ZZ=ZZ+2
 15614	043572	201 12 0 00 000005 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15615	043573	201 14 0 00 000013 		MOVEI	AC,ZZ		;SETUP DVND
 15616	043574	231 14 0 00 000002 		IDIVI	AC,2		;DIVIDE ZZ BY 2
 15617	043575	312 14 0 00 000012 		CAME	AC,AC-2		;TEST QUOT
 15618	043576	003 14 0 00 020605 		ER3	AC,SN
 15619	043577	302 15 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15620	043600	004 15 0 00 020605 		ER4	AC+1,SN		;IDIVI FAILED
 15621	043601	321 16 0 00 043572 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15622
 15623
 15624			020606		SN=SN+1
 15625			000006			XX=XX+1
 15626			000015			ZZ=ZZ+2
 15627	043602	201 12 0 00 000006 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15628	043603	201 14 0 00 000015 		MOVEI	AC,ZZ		;SETUP DVND
 15629	043604	231 14 0 00 000002 		IDIVI	AC,2		;DIVIDE ZZ BY 2
 15630	043605	312 14 0 00 000012 		CAME	AC,AC-2		;TEST QUOT
 15631	043606	003 14 0 00 020606 		ER3	AC,SN
 15632	043607	302 15 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15633	043610	004 15 0 00 020606 		ER4	AC+1,SN		;IDIVI FAILED
 15634	043611	321 16 0 00 043602 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15635
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 81-2
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0344

 15636
 15637			020607		SN=SN+1
 15638			000007			XX=XX+1
 15639			000017			ZZ=ZZ+2
 15640	043612	201 12 0 00 000007 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15641	043613	201 14 0 00 000017 		MOVEI	AC,ZZ		;SETUP DVND
 15642	043614	231 14 0 00 000002 		IDIVI	AC,2		;DIVIDE ZZ BY 2
 15643	043615	312 14 0 00 000012 		CAME	AC,AC-2		;TEST QUOT
 15644	043616	003 14 0 00 020607 		ER3	AC,SN
 15645	043617	302 15 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15646	043620	004 15 0 00 020607 		ER4	AC+1,SN		;IDIVI FAILED
 15647	043621	321 16 0 00 043612 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15648
 15649
 15650			020610		SN=SN+1
 15651			000010			XX=XX+1
 15652			000021			ZZ=ZZ+2
 15653	043622	201 12 0 00 000010 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15654	043623	201 14 0 00 000021 		MOVEI	AC,ZZ		;SETUP DVND
 15655	043624	231 14 0 00 000002 		IDIVI	AC,2		;DIVIDE ZZ BY 2
 15656	043625	312 14 0 00 000012 		CAME	AC,AC-2		;TEST QUOT
 15657	043626	003 14 0 00 020610 		ER3	AC,SN
 15658	043627	302 15 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15659	043630	004 15 0 00 020610 		ER4	AC+1,SN		;IDIVI FAILED
 15660	043631	321 16 0 00 043622 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15661
 15662
 15663			020611		SN=SN+1
 15664			000011			XX=XX+1
 15665			000023			ZZ=ZZ+2
 15666	043632	201 12 0 00 000011 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15667	043633	201 14 0 00 000023 		MOVEI	AC,ZZ		;SETUP DVND
 15668	043634	231 14 0 00 000002 		IDIVI	AC,2		;DIVIDE ZZ BY 2
 15669	043635	312 14 0 00 000012 		CAME	AC,AC-2		;TEST QUOT
 15670	043636	003 14 0 00 020611 		ER3	AC,SN
 15671	043637	302 15 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15672	043640	004 15 0 00 020611 		ER4	AC+1,SN		;IDIVI FAILED
 15673	043641	321 16 0 00 043632 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15674
 15675
 15676			020612		SN=SN+1
 15677			000012			XX=XX+1
 15678			000025			ZZ=ZZ+2
 15679	043642	201 12 0 00 000012 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15680	043643	201 14 0 00 000025 		MOVEI	AC,ZZ		;SETUP DVND
 15681	043644	231 14 0 00 000002 		IDIVI	AC,2		;DIVIDE ZZ BY 2
 15682	043645	312 14 0 00 000012 		CAME	AC,AC-2		;TEST QUOT
 15683	043646	003 14 0 00 020612 		ER3	AC,SN
 15684	043647	302 15 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15685	043650	004 15 0 00 020612 		ER4	AC+1,SN		;IDIVI FAILED
 15686	043651	321 16 0 00 043642 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15687
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 82
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0345

 15688					;TEST IDIV MEMORY - TWO NEGATIVES
 15689					;TESTING IS ACCOMPLISHED BY DIVIDING
 15690					;A NEGATIVE NUMBER BY -1
 15691					;DVND=-1,-2,-4,-10,-20
 15692					;DVSR=-1
 15693					;QUOT=1,2,4,10,20
 15694					;REMD=0
 15695
 15696			000012			AC=12
 15697						SAVEAC	(1,1)^
 15698	043652	201 14 0 00 043652 		MOVEI	AC+2,.		;SAVE TEST PC
 15699	043653	202 14 0 00 030051 		MOVEM	AC+2,TESTPC
 15700	043654	201 14 0 00 000014 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 15701	043655	202 14 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 15702
 15703			020700		SN=20700
 15704			000000			XX=0
 15705			000000			ZZ=0
 15706
 15707					F20700:	REPEAT	^D5,<
 15708					SN=SN+1
 15709						XX=XX+XX
 15710						ZZ=ZZ+ZZ
 15711						IFE	XX,<XX=1>
 15712						IFE	ZZ,<ZZ=-1>
 15713						MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15714						HRROI	AC,ZZ		;SETUP DVND
 15715						SETO	AC-1,		;SETUP DVSR
 15716						MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 15717						IDIVM	AC,AC-1		;DIVIDE ZZ BY -1
 15718						CAME	AC-1,AC-2	;TEST QUOT
 15719						ER5	AC-1,SN		;IDIVM FAILED
 15720						CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 15721						ER3	AC,SN		;C(AC) WAS CLOBBERED
 15722						CAME	AC+1,<AC-3>&17	;WAS C(AC+1) ALTERED ?
 15723						ER4	AC+1,SN		;C(AC+1] WAS CLOBBERED
 15724						JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 15725					>
 15726
 15727			020701		SN=SN+1
 15728			000000			XX=XX+XX
 15729			000000			ZZ=ZZ+ZZ
 15730			000001			IFE	XX,<XX=1>
 15731		777777	777777			IFE	ZZ,<ZZ=-1>
 15732	043656	201 10 0 00 000001 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15733	043657	561 12 0 00 777777 		HRROI	AC,ZZ		;SETUP DVND
 15734	043660	474 11 0 00 000000 		SETO	AC-1,		;SETUP DVSR
 15735	043661	200 07 0 00 000013 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 15736	043662	232 12 0 00 000011 		IDIVM	AC,AC-1		;DIVIDE ZZ BY -1
 15737	043663	312 11 0 00 000010 		CAME	AC-1,AC-2	;TEST QUOT
 15738	043664	005 11 0 00 020701 		ER5	AC-1,SN		;IDIVM FAILED
 15739	043665	312 12 0 00 044633 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 15740	043666	003 12 0 00 020701 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 15741	043667	312 13 0 00 000007 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) ALTERED ?
 15742	043670	004 13 0 00 020701 		ER4	AC+1,SN		;C(AC+1] WAS CLOBBERED
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 82-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0346

 15743	043671	321 14 0 00 043656 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 15744
 15745
 15746			020702		SN=SN+1
 15747			000002			XX=XX+XX
 15748		777777	777776			ZZ=ZZ+ZZ
 15749						IFE	XX,<XX=1>
 15750						IFE	ZZ,<ZZ=-1>
 15751	043672	201 10 0 00 000002 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15752	043673	561 12 0 00 777776 		HRROI	AC,ZZ		;SETUP DVND
 15753	043674	474 11 0 00 000000 		SETO	AC-1,		;SETUP DVSR
 15754	043675	200 07 0 00 000013 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 15755	043676	232 12 0 00 000011 		IDIVM	AC,AC-1		;DIVIDE ZZ BY -1
 15756	043677	312 11 0 00 000010 		CAME	AC-1,AC-2	;TEST QUOT
 15757	043700	005 11 0 00 020702 		ER5	AC-1,SN		;IDIVM FAILED
 15758	043701	312 12 0 00 044635 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 15759	043702	003 12 0 00 020702 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 15760	043703	312 13 0 00 000007 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) ALTERED ?
 15761	043704	004 13 0 00 020702 		ER4	AC+1,SN		;C(AC+1] WAS CLOBBERED
 15762	043705	321 14 0 00 043672 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 15763
 15764
 15765			020703		SN=SN+1
 15766			000004			XX=XX+XX
 15767		777777	777774			ZZ=ZZ+ZZ
 15768						IFE	XX,<XX=1>
 15769						IFE	ZZ,<ZZ=-1>
 15770	043706	201 10 0 00 000004 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15771	043707	561 12 0 00 777774 		HRROI	AC,ZZ		;SETUP DVND
 15772	043710	474 11 0 00 000000 		SETO	AC-1,		;SETUP DVSR
 15773	043711	200 07 0 00 000013 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 15774	043712	232 12 0 00 000011 		IDIVM	AC,AC-1		;DIVIDE ZZ BY -1
 15775	043713	312 11 0 00 000010 		CAME	AC-1,AC-2	;TEST QUOT
 15776	043714	005 11 0 00 020703 		ER5	AC-1,SN		;IDIVM FAILED
 15777	043715	312 12 0 00 045340 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 15778	043716	003 12 0 00 020703 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 15779	043717	312 13 0 00 000007 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) ALTERED ?
 15780	043720	004 13 0 00 020703 		ER4	AC+1,SN		;C(AC+1] WAS CLOBBERED
 15781	043721	321 14 0 00 043706 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 15782
 15783
 15784			020704		SN=SN+1
 15785			000010			XX=XX+XX
 15786		777777	777770			ZZ=ZZ+ZZ
 15787						IFE	XX,<XX=1>
 15788						IFE	ZZ,<ZZ=-1>
 15789	043722	201 10 0 00 000010 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15790	043723	561 12 0 00 777770 		HRROI	AC,ZZ		;SETUP DVND
 15791	043724	474 11 0 00 000000 		SETO	AC-1,		;SETUP DVSR
 15792	043725	200 07 0 00 000013 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 15793	043726	232 12 0 00 000011 		IDIVM	AC,AC-1		;DIVIDE ZZ BY -1
 15794	043727	312 11 0 00 000010 		CAME	AC-1,AC-2	;TEST QUOT
 15795	043730	005 11 0 00 020704 		ER5	AC-1,SN		;IDIVM FAILED
 15796	043731	312 12 0 00 045320 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 15797	043732	003 12 0 00 020704 		ER3	AC,SN		;C(AC) WAS CLOBBERED
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 82-2
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0347

 15798	043733	312 13 0 00 000007 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) ALTERED ?
 15799	043734	004 13 0 00 020704 		ER4	AC+1,SN		;C(AC+1] WAS CLOBBERED
 15800	043735	321 14 0 00 043722 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 15801
 15802
 15803			020705		SN=SN+1
 15804			000020			XX=XX+XX
 15805		777777	777760			ZZ=ZZ+ZZ
 15806						IFE	XX,<XX=1>
 15807						IFE	ZZ,<ZZ=-1>
 15808	043736	201 10 0 00 000020 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15809	043737	561 12 0 00 777760 		HRROI	AC,ZZ		;SETUP DVND
 15810	043740	474 11 0 00 000000 		SETO	AC-1,		;SETUP DVSR
 15811	043741	200 07 0 00 000013 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 15812	043742	232 12 0 00 000011 		IDIVM	AC,AC-1		;DIVIDE ZZ BY -1
 15813	043743	312 11 0 00 000010 		CAME	AC-1,AC-2	;TEST QUOT
 15814	043744	005 11 0 00 020705 		ER5	AC-1,SN		;IDIVM FAILED
 15815	043745	312 12 0 00 045317 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 15816	043746	003 12 0 00 020705 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 15817	043747	312 13 0 00 000007 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) ALTERED ?
 15818	043750	004 13 0 00 020705 		ER4	AC+1,SN		;C(AC+1] WAS CLOBBERED
 15819	043751	321 14 0 00 043736 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 15820
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 83
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0348

 15821					;TEST IDIV BOTH - TWO POSITIVES
 15822					;TESTING IS ACCOMPLISHED BY DIVIDING
 15823					;AN INCREASING ODD NUMBER BY 2
 15824					;DVND=15,17,21,23,25
 15825					;DVSR=2
 15826					;QUOT=6,7,10,11,12
 15827					;REMD=1
 15828
 15829			000011			AC=11
 15830						SAVEAC	(1,1)^
 15831	043752	201 13 0 00 043752 		MOVEI	AC+2,.		;SAVE TEST PC
 15832	043753	202 13 0 00 030051 		MOVEM	AC+2,TESTPC
 15833	043754	201 13 0 00 000013 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 15834	043755	202 13 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 15835
 15836			021000		SN=21000
 15837			000005			XX=5
 15838			000013			ZZ=13
 15839
 15840					F21000:	REPEAT	^D5,<
 15841					SN=SN+1
 15842						XX=XX+1
 15843						ZZ=ZZ+2
 15844						MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15845						MOVEI	AC,ZZ		;SETUP DVND
 15846						MOVEI	AC-1,2		;SETUP DVSR
 15847						IDIVB	AC,AC-1		;DIVIDE ZZ BY 2
 15848						CAME	AC,AC-2		;TEST QUOT
 15849						ER3	AC,SN		;QUOT ERROR
 15850						CAME	AC,AC-1		;C(AC) = C(E)
 15851						ER5	AC-1,SN
 15852						CAIE	AC+1,1		;TEST REMD=1
 15853						ER4	AC+1,SN		;IDIVB FAILED
 15854						JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15855					>
 15856
 15857			021001		SN=SN+1
 15858			000006			XX=XX+1
 15859			000015			ZZ=ZZ+2
 15860	043756	201 07 0 00 000006 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15861	043757	201 11 0 00 000015 		MOVEI	AC,ZZ		;SETUP DVND
 15862	043760	201 10 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 15863	043761	233 11 0 00 000010 		IDIVB	AC,AC-1		;DIVIDE ZZ BY 2
 15864	043762	312 11 0 00 000007 		CAME	AC,AC-2		;TEST QUOT
 15865	043763	003 11 0 00 021001 		ER3	AC,SN		;QUOT ERROR
 15866	043764	312 11 0 00 000010 		CAME	AC,AC-1		;C(AC) = C(E)
 15867	043765	005 10 0 00 021001 		ER5	AC-1,SN
 15868	043766	302 12 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15869	043767	004 12 0 00 021001 		ER4	AC+1,SN		;IDIVB FAILED
 15870	043770	321 13 0 00 043756 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15871
 15872
 15873			021002		SN=SN+1
 15874			000007			XX=XX+1
 15875			000017			ZZ=ZZ+2
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 83-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0349

 15876	043771	201 07 0 00 000007 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15877	043772	201 11 0 00 000017 		MOVEI	AC,ZZ		;SETUP DVND
 15878	043773	201 10 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 15879	043774	233 11 0 00 000010 		IDIVB	AC,AC-1		;DIVIDE ZZ BY 2
 15880	043775	312 11 0 00 000007 		CAME	AC,AC-2		;TEST QUOT
 15881	043776	003 11 0 00 021002 		ER3	AC,SN		;QUOT ERROR
 15882	043777	312 11 0 00 000010 		CAME	AC,AC-1		;C(AC) = C(E)
 15883	044000	005 10 0 00 021002 		ER5	AC-1,SN
 15884	044001	302 12 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15885	044002	004 12 0 00 021002 		ER4	AC+1,SN		;IDIVB FAILED
 15886	044003	321 13 0 00 043771 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15887
 15888
 15889			021003		SN=SN+1
 15890			000010			XX=XX+1
 15891			000021			ZZ=ZZ+2
 15892	044004	201 07 0 00 000010 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15893	044005	201 11 0 00 000021 		MOVEI	AC,ZZ		;SETUP DVND
 15894	044006	201 10 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 15895	044007	233 11 0 00 000010 		IDIVB	AC,AC-1		;DIVIDE ZZ BY 2
 15896	044010	312 11 0 00 000007 		CAME	AC,AC-2		;TEST QUOT
 15897	044011	003 11 0 00 021003 		ER3	AC,SN		;QUOT ERROR
 15898	044012	312 11 0 00 000010 		CAME	AC,AC-1		;C(AC) = C(E)
 15899	044013	005 10 0 00 021003 		ER5	AC-1,SN
 15900	044014	302 12 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15901	044015	004 12 0 00 021003 		ER4	AC+1,SN		;IDIVB FAILED
 15902	044016	321 13 0 00 044004 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15903
 15904
 15905			021004		SN=SN+1
 15906			000011			XX=XX+1
 15907			000023			ZZ=ZZ+2
 15908	044017	201 07 0 00 000011 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15909	044020	201 11 0 00 000023 		MOVEI	AC,ZZ		;SETUP DVND
 15910	044021	201 10 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 15911	044022	233 11 0 00 000010 		IDIVB	AC,AC-1		;DIVIDE ZZ BY 2
 15912	044023	312 11 0 00 000007 		CAME	AC,AC-2		;TEST QUOT
 15913	044024	003 11 0 00 021004 		ER3	AC,SN		;QUOT ERROR
 15914	044025	312 11 0 00 000010 		CAME	AC,AC-1		;C(AC) = C(E)
 15915	044026	005 10 0 00 021004 		ER5	AC-1,SN
 15916	044027	302 12 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15917	044030	004 12 0 00 021004 		ER4	AC+1,SN		;IDIVB FAILED
 15918	044031	321 13 0 00 044017 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15919
 15920
 15921			021005		SN=SN+1
 15922			000012			XX=XX+1
 15923			000025			ZZ=ZZ+2
 15924	044032	201 07 0 00 000012 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15925	044033	201 11 0 00 000025 		MOVEI	AC,ZZ		;SETUP DVND
 15926	044034	201 10 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 15927	044035	233 11 0 00 000010 		IDIVB	AC,AC-1		;DIVIDE ZZ BY 2
 15928	044036	312 11 0 00 000007 		CAME	AC,AC-2		;TEST QUOT
 15929	044037	003 11 0 00 021005 		ER3	AC,SN		;QUOT ERROR
 15930	044040	312 11 0 00 000010 		CAME	AC,AC-1		;C(AC) = C(E)
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 83-2
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0350

 15931	044041	005 10 0 00 021005 		ER5	AC-1,SN
 15932	044042	302 12 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15933	044043	004 12 0 00 021005 		ER4	AC+1,SN		;IDIVB FAILED
 15934	044044	321 13 0 00 044032 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15935
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 84
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0351

 15936					;TEST DIV DIRECT - TWO POSITIVES
 15937					;HIGH DVND=4,10,20,40,100
 15938					;LOW DVND=0
 15939					;DVSR=2000
 15940					;QUOT=001000000000, 00200000000 ETC
 15941					;REMD=0
 15942
 15943			000010			AC=10
 15944						SAVEAC	(1,1)^
 15945	044045	201 12 0 00 044045 		MOVEI	AC+2,.		;SAVE TEST PC
 15946	044046	202 12 0 00 030051 		MOVEM	AC+2,TESTPC
 15947	044047	201 12 0 00 000012 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 15948	044050	202 12 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 15949
 15950			021100		SN=21100
 15951			000400			XX=000400
 15952			000002			ZZ=2
 15953
 15954					F21100:	REPEAT	^D5,<
 15955					SN=SN+1
 15956						XX=XX+XX
 15957						ZZ=ZZ+ZZ
 15958						MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 15959						MOVEI	AC,ZZ		;SETUP HIGH DVND
 15960						SETZ	AC+1,		;SETUP LOW DVND
 15961						MOVEI	AC-1,2000	;SETUP DVSR
 15962						DIV	AC,AC-1		;DIVIDE ZZ BY 2000
 15963						CAME	AC,AC-2		;TEST QUOT
 15964						ER3	AC,SN
 15965						JUMPE	AC+1,.+2	;TEST REMD
 15966						ER4	AC+1,SN		;DIV FAILED
 15967						CAIE	AC-1,2000	;WAS C(E) MODIFIED ?
 15968						ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15969						JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 15970					>
 15971
 15972			021101		SN=SN+1
 15973			001000			XX=XX+XX
 15974			000004			ZZ=ZZ+ZZ
 15975	044051	205 06 0 00 001000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 15976	044052	201 10 0 00 000004 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 15977	044053	400 11 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 15978	044054	201 07 0 00 002000 		MOVEI	AC-1,2000	;SETUP DVSR
 15979	044055	234 10 0 00 000007 		DIV	AC,AC-1		;DIVIDE ZZ BY 2000
 15980	044056	312 10 0 00 000006 		CAME	AC,AC-2		;TEST QUOT
 15981	044057	003 10 0 00 021101 		ER3	AC,SN
 15982	044060	322 11 0 00 044062 		JUMPE	AC+1,.+2	;TEST REMD
 15983	044061	004 11 0 00 021101 		ER4	AC+1,SN		;DIV FAILED
 15984	044062	302 07 0 00 002000 		CAIE	AC-1,2000	;WAS C(E) MODIFIED ?
 15985	044063	005 07 0 00 021101 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15986	044064	321 12 0 00 044051 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 15987
 15988
 15989			021102		SN=SN+1
 15990			002000			XX=XX+XX
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 84-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0352

 15991			000010			ZZ=ZZ+ZZ
 15992	044065	205 06 0 00 002000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 15993	044066	201 10 0 00 000010 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 15994	044067	400 11 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 15995	044070	201 07 0 00 002000 		MOVEI	AC-1,2000	;SETUP DVSR
 15996	044071	234 10 0 00 000007 		DIV	AC,AC-1		;DIVIDE ZZ BY 2000
 15997	044072	312 10 0 00 000006 		CAME	AC,AC-2		;TEST QUOT
 15998	044073	003 10 0 00 021102 		ER3	AC,SN
 15999	044074	322 11 0 00 044076 		JUMPE	AC+1,.+2	;TEST REMD
 16000	044075	004 11 0 00 021102 		ER4	AC+1,SN		;DIV FAILED
 16001	044076	302 07 0 00 002000 		CAIE	AC-1,2000	;WAS C(E) MODIFIED ?
 16002	044077	005 07 0 00 021102 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 16003	044100	321 12 0 00 044065 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 16004
 16005
 16006			021103		SN=SN+1
 16007			004000			XX=XX+XX
 16008			000020			ZZ=ZZ+ZZ
 16009	044101	205 06 0 00 004000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 16010	044102	201 10 0 00 000020 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 16011	044103	400 11 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 16012	044104	201 07 0 00 002000 		MOVEI	AC-1,2000	;SETUP DVSR
 16013	044105	234 10 0 00 000007 		DIV	AC,AC-1		;DIVIDE ZZ BY 2000
 16014	044106	312 10 0 00 000006 		CAME	AC,AC-2		;TEST QUOT
 16015	044107	003 10 0 00 021103 		ER3	AC,SN
 16016	044110	322 11 0 00 044112 		JUMPE	AC+1,.+2	;TEST REMD
 16017	044111	004 11 0 00 021103 		ER4	AC+1,SN		;DIV FAILED
 16018	044112	302 07 0 00 002000 		CAIE	AC-1,2000	;WAS C(E) MODIFIED ?
 16019	044113	005 07 0 00 021103 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 16020	044114	321 12 0 00 044101 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 16021
 16022
 16023			021104		SN=SN+1
 16024			010000			XX=XX+XX
 16025			000040			ZZ=ZZ+ZZ
 16026	044115	205 06 0 00 010000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 16027	044116	201 10 0 00 000040 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 16028	044117	400 11 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 16029	044120	201 07 0 00 002000 		MOVEI	AC-1,2000	;SETUP DVSR
 16030	044121	234 10 0 00 000007 		DIV	AC,AC-1		;DIVIDE ZZ BY 2000
 16031	044122	312 10 0 00 000006 		CAME	AC,AC-2		;TEST QUOT
 16032	044123	003 10 0 00 021104 		ER3	AC,SN
 16033	044124	322 11 0 00 044126 		JUMPE	AC+1,.+2	;TEST REMD
 16034	044125	004 11 0 00 021104 		ER4	AC+1,SN		;DIV FAILED
 16035	044126	302 07 0 00 002000 		CAIE	AC-1,2000	;WAS C(E) MODIFIED ?
 16036	044127	005 07 0 00 021104 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 16037	044130	321 12 0 00 044115 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 16038
 16039
 16040			021105		SN=SN+1
 16041			020000			XX=XX+XX
 16042			000100			ZZ=ZZ+ZZ
 16043	044131	205 06 0 00 020000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 16044	044132	201 10 0 00 000100 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 16045	044133	400 11 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 84-2
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0353

 16046	044134	201 07 0 00 002000 		MOVEI	AC-1,2000	;SETUP DVSR
 16047	044135	234 10 0 00 000007 		DIV	AC,AC-1		;DIVIDE ZZ BY 2000
 16048	044136	312 10 0 00 000006 		CAME	AC,AC-2		;TEST QUOT
 16049	044137	003 10 0 00 021105 		ER3	AC,SN
 16050	044140	322 11 0 00 044142 		JUMPE	AC+1,.+2	;TEST REMD
 16051	044141	004 11 0 00 021105 		ER4	AC+1,SN		;DIV FAILED
 16052	044142	302 07 0 00 002000 		CAIE	AC-1,2000	;WAS C(E) MODIFIED ?
 16053	044143	005 07 0 00 021105 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 16054	044144	321 12 0 00 044131 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 16055
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 85
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0354

 16056					;TEST DIV IMMEDIATE - TWO POSITIVES
 16057					;HIGH DVND=0
 16058					;LOW DVND=3,4,5,6,7
 16059					;DVSR=E (2,3,4,5,6)
 16060					;QUOT=1
 16061					;REMD=1
 16062
 16063			000007			AC=7
 16064						SAVEAC	(1,1)^
 16065	044145	201 11 0 00 044145 		MOVEI	AC+2,.		;SAVE TEST PC
 16066	044146	202 11 0 00 030051 		MOVEM	AC+2,TESTPC
 16067	044147	201 11 0 00 000011 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 16068	044150	202 11 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 16069
 16070			021200		SN=21200
 16071			000001			XX=1
 16072			000002			ZZ=2
 16073					F21200:	REPEAT	^D5,<
 16074					SN=SN+1
 16075						XX=XX+1
 16076						ZZ=ZZ+1
 16077						SETZ	AC,		;SETUP HIGH DVND
 16078						MOVEI	AC+1,ZZ		;SETUP LOW DVND
 16079						DIVI	AC,XX		;SETUP DVSR
 16080						CAIE	AC,1		;TEST QUOT=1
 16081						ER3	AC,SN
 16082						CAIE	AC+1,1		;TEST QUOT=REMD
 16083						ER4	AC+1,SN		;DIVI FAILED
 16084						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 16085					>
 16086
 16087			021201		SN=SN+1
 16088			000002			XX=XX+1
 16089			000003			ZZ=ZZ+1
 16090	044151	400 07 0 00 000000 		SETZ	AC,		;SETUP HIGH DVND
 16091	044152	201 10 0 00 000003 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 16092	044153	235 07 0 00 000002 		DIVI	AC,XX		;SETUP DVSR
 16093	044154	302 07 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 16094	044155	003 07 0 00 021201 		ER3	AC,SN
 16095	044156	302 10 0 00 000001 		CAIE	AC+1,1		;TEST QUOT=REMD
 16096	044157	004 10 0 00 021201 		ER4	AC+1,SN		;DIVI FAILED
 16097	044160	321 11 0 00 044151 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 16098
 16099
 16100			021202		SN=SN+1
 16101			000003			XX=XX+1
 16102			000004			ZZ=ZZ+1
 16103	044161	400 07 0 00 000000 		SETZ	AC,		;SETUP HIGH DVND
 16104	044162	201 10 0 00 000004 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 16105	044163	235 07 0 00 000003 		DIVI	AC,XX		;SETUP DVSR
 16106	044164	302 07 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 16107	044165	003 07 0 00 021202 		ER3	AC,SN
 16108	044166	302 10 0 00 000001 		CAIE	AC+1,1		;TEST QUOT=REMD
 16109	044167	004 10 0 00 021202 		ER4	AC+1,SN		;DIVI FAILED
 16110	044170	321 11 0 00 044161 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 85-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0355

 16111
 16112
 16113			021203		SN=SN+1
 16114			000004			XX=XX+1
 16115			000005			ZZ=ZZ+1
 16116	044171	400 07 0 00 000000 		SETZ	AC,		;SETUP HIGH DVND
 16117	044172	201 10 0 00 000005 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 16118	044173	235 07 0 00 000004 		DIVI	AC,XX		;SETUP DVSR
 16119	044174	302 07 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 16120	044175	003 07 0 00 021203 		ER3	AC,SN
 16121	044176	302 10 0 00 000001 		CAIE	AC+1,1		;TEST QUOT=REMD
 16122	044177	004 10 0 00 021203 		ER4	AC+1,SN		;DIVI FAILED
 16123	044200	321 11 0 00 044171 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 16124
 16125
 16126			021204		SN=SN+1
 16127			000005			XX=XX+1
 16128			000006			ZZ=ZZ+1
 16129	044201	400 07 0 00 000000 		SETZ	AC,		;SETUP HIGH DVND
 16130	044202	201 10 0 00 000006 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 16131	044203	235 07 0 00 000005 		DIVI	AC,XX		;SETUP DVSR
 16132	044204	302 07 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 16133	044205	003 07 0 00 021204 		ER3	AC,SN
 16134	044206	302 10 0 00 000001 		CAIE	AC+1,1		;TEST QUOT=REMD
 16135	044207	004 10 0 00 021204 		ER4	AC+1,SN		;DIVI FAILED
 16136	044210	321 11 0 00 044201 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 16137
 16138
 16139			021205		SN=SN+1
 16140			000006			XX=XX+1
 16141			000007			ZZ=ZZ+1
 16142	044211	400 07 0 00 000000 		SETZ	AC,		;SETUP HIGH DVND
 16143	044212	201 10 0 00 000007 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 16144	044213	235 07 0 00 000006 		DIVI	AC,XX		;SETUP DVSR
 16145	044214	302 07 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 16146	044215	003 07 0 00 021205 		ER3	AC,SN
 16147	044216	302 10 0 00 000001 		CAIE	AC+1,1		;TEST QUOT=REMD
 16148	044217	004 10 0 00 021205 		ER4	AC+1,SN		;DIVI FAILED
 16149	044220	321 11 0 00 044211 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 16150
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 86
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0356

 16151					;TEST DIV MEMORY - TWO NEGATIVES
 16152					;HI DVND = -2,-4,-10,-20,-40
 16153					;LO DVND=0
 16154					;DVSR=-200
 16155					;QUOT=00400000000, 010000000000 ETC
 16156					;REMD=0
 16157
 16158			000006			AC=6
 16159						SAVEAC	(1,1)^
 16160	044221	201 10 0 00 044221 		MOVEI	AC+2,.		;SAVE TEST PC
 16161	044222	202 10 0 00 030051 		MOVEM	AC+2,TESTPC
 16162	044223	201 10 0 00 000010 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 16163	044224	202 10 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 16164
 16165			021300		SN=21300
 16166			002000			XX=002000
 16167		777777	777777			ZZ=-1
 16168
 16169					F21300:	REPEAT	^D5,<
 16170					SN=SN+1
 16171						XX=XX+XX
 16172						ZZ=ZZ+ZZ
 16173						MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 16174						HRROI	AC,ZZ		;SETUP HIGH DVND
 16175						SETZ	AC+1,		;SETUP LOW DVND
 16176						HRROI	AC-1,-200	;SETUP DVSR
 16177						DIVM	AC,AC-1		;DIVIDE ZZ BY -200
 16178						CAME	AC-1,AC-2	;TEST QUOT
 16179						ER5	AC-1,SN		;DIVM FAILED
 16180						CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 16181						ER3	AC,SN		;C(AC) WAS CLOBBERED
 16182						SKIPE	<AC+1>&17	;WAS C(AC+1) MODIFIED ?
 16183						ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 16184						JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 16185					>
 16186
 16187			021301		SN=SN+1
 16188			004000			XX=XX+XX
 16189		777777	777776			ZZ=ZZ+ZZ
 16190	044225	205 04 0 00 004000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 16191	044226	561 06 0 00 777776 		HRROI	AC,ZZ		;SETUP HIGH DVND
 16192	044227	400 07 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 16193	044230	561 05 0 00 777600 		HRROI	AC-1,-200	;SETUP DVSR
 16194	044231	236 06 0 00 000005 		DIVM	AC,AC-1		;DIVIDE ZZ BY -200
 16195	044232	312 05 0 00 000004 		CAME	AC-1,AC-2	;TEST QUOT
 16196	044233	005 05 0 00 021301 		ER5	AC-1,SN		;DIVM FAILED
 16197	044234	312 06 0 00 044635 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 16198	044235	003 06 0 00 021301 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 16199	044236	332 00 0 00 000007 		SKIPE	<AC+1>&17	;WAS C(AC+1) MODIFIED ?
 16200	044237	004 07 0 00 021301 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 16201	044240	321 10 0 00 044225 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 16202
 16203
 16204			021302		SN=SN+1
 16205			010000			XX=XX+XX
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 86-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0357

 16206		777777	777774			ZZ=ZZ+ZZ
 16207	044241	205 04 0 00 010000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 16208	044242	561 06 0 00 777774 		HRROI	AC,ZZ		;SETUP HIGH DVND
 16209	044243	400 07 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 16210	044244	561 05 0 00 777600 		HRROI	AC-1,-200	;SETUP DVSR
 16211	044245	236 06 0 00 000005 		DIVM	AC,AC-1		;DIVIDE ZZ BY -200
 16212	044246	312 05 0 00 000004 		CAME	AC-1,AC-2	;TEST QUOT
 16213	044247	005 05 0 00 021302 		ER5	AC-1,SN		;DIVM FAILED
 16214	044250	312 06 0 00 045340 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 16215	044251	003 06 0 00 021302 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 16216	044252	332 00 0 00 000007 		SKIPE	<AC+1>&17	;WAS C(AC+1) MODIFIED ?
 16217	044253	004 07 0 00 021302 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 16218	044254	321 10 0 00 044241 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 16219
 16220
 16221			021303		SN=SN+1
 16222			020000			XX=XX+XX
 16223		777777	777770			ZZ=ZZ+ZZ
 16224	044255	205 04 0 00 020000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 16225	044256	561 06 0 00 777770 		HRROI	AC,ZZ		;SETUP HIGH DVND
 16226	044257	400 07 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 16227	044260	561 05 0 00 777600 		HRROI	AC-1,-200	;SETUP DVSR
 16228	044261	236 06 0 00 000005 		DIVM	AC,AC-1		;DIVIDE ZZ BY -200
 16229	044262	312 05 0 00 000004 		CAME	AC-1,AC-2	;TEST QUOT
 16230	044263	005 05 0 00 021303 		ER5	AC-1,SN		;DIVM FAILED
 16231	044264	312 06 0 00 045320 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 16232	044265	003 06 0 00 021303 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 16233	044266	332 00 0 00 000007 		SKIPE	<AC+1>&17	;WAS C(AC+1) MODIFIED ?
 16234	044267	004 07 0 00 021303 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 16235	044270	321 10 0 00 044255 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 16236
 16237
 16238			021304		SN=SN+1
 16239			040000			XX=XX+XX
 16240		777777	777760			ZZ=ZZ+ZZ
 16241	044271	205 04 0 00 040000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 16242	044272	561 06 0 00 777760 		HRROI	AC,ZZ		;SETUP HIGH DVND
 16243	044273	400 07 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 16244	044274	561 05 0 00 777600 		HRROI	AC-1,-200	;SETUP DVSR
 16245	044275	236 06 0 00 000005 		DIVM	AC,AC-1		;DIVIDE ZZ BY -200
 16246	044276	312 05 0 00 000004 		CAME	AC-1,AC-2	;TEST QUOT
 16247	044277	005 05 0 00 021304 		ER5	AC-1,SN		;DIVM FAILED
 16248	044300	312 06 0 00 045317 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 16249	044301	003 06 0 00 021304 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 16250	044302	332 00 0 00 000007 		SKIPE	<AC+1>&17	;WAS C(AC+1) MODIFIED ?
 16251	044303	004 07 0 00 021304 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 16252	044304	321 10 0 00 044271 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 16253
 16254
 16255			021305		SN=SN+1
 16256			100000			XX=XX+XX
 16257		777777	777740			ZZ=ZZ+ZZ
 16258	044305	205 04 0 00 100000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 16259	044306	561 06 0 00 777740 		HRROI	AC,ZZ		;SETUP HIGH DVND
 16260	044307	400 07 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 86-2
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0358

 16261	044310	561 05 0 00 777600 		HRROI	AC-1,-200	;SETUP DVSR
 16262	044311	236 06 0 00 000005 		DIVM	AC,AC-1		;DIVIDE ZZ BY -200
 16263	044312	312 05 0 00 000004 		CAME	AC-1,AC-2	;TEST QUOT
 16264	044313	005 05 0 00 021305 		ER5	AC-1,SN		;DIVM FAILED
 16265	044314	312 06 0 00 045350 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 16266	044315	003 06 0 00 021305 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 16267	044316	332 00 0 00 000007 		SKIPE	<AC+1>&17	;WAS C(AC+1) MODIFIED ?
 16268	044317	004 07 0 00 021305 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 16269	044320	321 10 0 00 044305 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 16270
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 87
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0359

 16271					;TEST DIV BOTH - TWO POSITIVES
 16272					;HIGH DVND 2,4,10,20,40
 16273					;LOW DVND 2,4,10,20,40
 16274					;DVSR=200
 16275					;QUOT=00400000000, 010000000000 ETC
 16276					;REMD=2,4,10,20,40
 16277
 16278			000005			AC=5
 16279						SAVEAC	(1,1)^
 16280	044321	201 07 0 00 044321 		MOVEI	AC+2,.		;SAVE TEST PC
 16281	044322	202 07 0 00 030051 		MOVEM	AC+2,TESTPC
 16282	044323	201 07 0 00 000007 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 16283	044324	202 07 0 00 045464 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 16284
 16285			021400		SN=21400
 16286			002000			XX=002000
 16287			000001			ZZ=1
 16288
 16289					F21400:	REPEAT	^D5,<
 16290					SN=SN+1
 16291						XX=XX+XX
 16292						ZZ=ZZ+ZZ
 16293						MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 16294						MOVEI	AC,ZZ		;SETUP HIGH DVND
 16295						MOVEI	AC+1,ZZ		;SETUP LOW DVND
 16296						MOVEI	AC-1,200	;SETUP DVSR
 16297						DIVB	AC,AC-1		;DIVIDE ZZ BY 200
 16298						CAME	AC,AC-2		;TEST QUOT
 16299						ER3	AC,SN		;QUOT ERROR
 16300						CAME	AC-1,AC-2	;TEST C(AC) = C(E)
 16301						ER5	AC-1,SN
 16302						CAIE	AC+1,ZZ		;TEST REMD
 16303						ER4	AC+1,SN		;DIVB FAILED
 16304						JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 16305					>
 16306
 16307			021401		SN=SN+1
 16308			004000			XX=XX+XX
 16309			000002			ZZ=ZZ+ZZ
 16310	044325	205 03 0 00 004000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 16311	044326	201 05 0 00 000002 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 16312	044327	201 06 0 00 000002 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 16313	044330	201 04 0 00 000200 		MOVEI	AC-1,200	;SETUP DVSR
 16314	044331	237 05 0 00 000004 		DIVB	AC,AC-1		;DIVIDE ZZ BY 200
 16315	044332	312 05 0 00 000003 		CAME	AC,AC-2		;TEST QUOT
 16316	044333	003 05 0 00 021401 		ER3	AC,SN		;QUOT ERROR
 16317	044334	312 04 0 00 000003 		CAME	AC-1,AC-2	;TEST C(AC) = C(E)
 16318	044335	005 04 0 00 021401 		ER5	AC-1,SN
 16319	044336	302 06 0 00 000002 		CAIE	AC+1,ZZ		;TEST REMD
 16320	044337	004 06 0 00 021401 		ER4	AC+1,SN		;DIVB FAILED
 16321	044340	321 07 0 00 044325 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 16322
 16323
 16324			021402		SN=SN+1
 16325			010000			XX=XX+XX
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 87-1
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0360

 16326			000004			ZZ=ZZ+ZZ
 16327	044341	205 03 0 00 010000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 16328	044342	201 05 0 00 000004 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 16329	044343	201 06 0 00 000004 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 16330	044344	201 04 0 00 000200 		MOVEI	AC-1,200	;SETUP DVSR
 16331	044345	237 05 0 00 000004 		DIVB	AC,AC-1		;DIVIDE ZZ BY 200
 16332	044346	312 05 0 00 000003 		CAME	AC,AC-2		;TEST QUOT
 16333	044347	003 05 0 00 021402 		ER3	AC,SN		;QUOT ERROR
 16334	044350	312 04 0 00 000003 		CAME	AC-1,AC-2	;TEST C(AC) = C(E)
 16335	044351	005 04 0 00 021402 		ER5	AC-1,SN
 16336	044352	302 06 0 00 000004 		CAIE	AC+1,ZZ		;TEST REMD
 16337	044353	004 06 0 00 021402 		ER4	AC+1,SN		;DIVB FAILED
 16338	044354	321 07 0 00 044341 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 16339
 16340
 16341			021403		SN=SN+1
 16342			020000			XX=XX+XX
 16343			000010			ZZ=ZZ+ZZ
 16344	044355	205 03 0 00 020000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 16345	044356	201 05 0 00 000010 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 16346	044357	201 06 0 00 000010 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 16347	044360	201 04 0 00 000200 		MOVEI	AC-1,200	;SETUP DVSR
 16348	044361	237 05 0 00 000004 		DIVB	AC,AC-1		;DIVIDE ZZ BY 200
 16349	044362	312 05 0 00 000003 		CAME	AC,AC-2		;TEST QUOT
 16350	044363	003 05 0 00 021403 		ER3	AC,SN		;QUOT ERROR
 16351	044364	312 04 0 00 000003 		CAME	AC-1,AC-2	;TEST C(AC) = C(E)
 16352	044365	005 04 0 00 021403 		ER5	AC-1,SN
 16353	044366	302 06 0 00 000010 		CAIE	AC+1,ZZ		;TEST REMD
 16354	044367	004 06 0 00 021403 		ER4	AC+1,SN		;DIVB FAILED
 16355	044370	321 07 0 00 044355 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 16356
 16357
 16358			021404		SN=SN+1
 16359			040000			XX=XX+XX
 16360			000020			ZZ=ZZ+ZZ
 16361	044371	205 03 0 00 040000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 16362	044372	201 05 0 00 000020 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 16363	044373	201 06 0 00 000020 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 16364	044374	201 04 0 00 000200 		MOVEI	AC-1,200	;SETUP DVSR
 16365	044375	237 05 0 00 000004 		DIVB	AC,AC-1		;DIVIDE ZZ BY 200
 16366	044376	312 05 0 00 000003 		CAME	AC,AC-2		;TEST QUOT
 16367	044377	003 05 0 00 021404 		ER3	AC,SN		;QUOT ERROR
 16368	044400	312 04 0 00 000003 		CAME	AC-1,AC-2	;TEST C(AC) = C(E)
 16369	044401	005 04 0 00 021404 		ER5	AC-1,SN
 16370	044402	302 06 0 00 000020 		CAIE	AC+1,ZZ		;TEST REMD
 16371	044403	004 06 0 00 021404 		ER4	AC+1,SN		;DIVB FAILED
 16372	044404	321 07 0 00 044371 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 16373
 16374
 16375			021405		SN=SN+1
 16376			100000			XX=XX+XX
 16377			000040			ZZ=ZZ+ZZ
 16378	044405	205 03 0 00 100000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 16379	044406	201 05 0 00 000040 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 16380	044407	201 06 0 00 000040 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 87-2
DBKALM	MAC	26-MAY-76 16:26		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0361

 16381	044410	201 04 0 00 000200 		MOVEI	AC-1,200	;SETUP DVSR
 16382	044411	237 05 0 00 000004 		DIVB	AC,AC-1		;DIVIDE ZZ BY 200
 16383	044412	312 05 0 00 000003 		CAME	AC,AC-2		;TEST QUOT
 16384	044413	003 05 0 00 021405 		ER3	AC,SN		;QUOT ERROR
 16385	044414	312 04 0 00 000003 		CAME	AC-1,AC-2	;TEST C(AC) = C(E)
 16386	044415	005 04 0 00 021405 		ER5	AC-1,SN
 16387	044416	302 06 0 00 000040 		CAIE	AC+1,ZZ		;TEST REMD
 16388	044417	004 06 0 00 021405 		ER4	AC+1,SN		;DIVB FAILED
 16389	044420	321 07 0 00 044405 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 16390
 16391
 16392	044421	254 00 0 00 030057 	LAST1:	JRST	BEGEND		;REPEAT DIAGNOSTIC
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 1
UUOERR	KLM	22-APR-75		*UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975                       SEQ 0362

 16393					SUBTTL	*UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975
 16394
 16395					;THIS SUBROUTINE PROVIDES ERROR REPORTING THRU THE USE OF UUO'S.
 16396
 16397	044422	202 00 0 00 045470 	ERRMES:	MOVEM	0,%ERAC0#	;SAVE AC0
 16398						IFDEF	EXCASB,<IFDEF	KI10,<
 16399	044423	336 00 0 00 030040 		SKIPN	KAIFLG
 16400	044424	254 00 0 00 044431 		JRST	.+5
 16401	044425	332 00 0 00 030037 		SKIPE	USER		;USER MODE ?
 16402	044426	254 00 0 00 044431 		JRST	.+3
 16403	044427	332 00 0 00 030055 		SKIPE	MARGIN
 16404	044430	7 000 14 0 00 045351 		DATAO	APR,[IMGNOF,,ISPDOF] ;CLR MARGINS >>
 16405	044431	202 01 0 00 045471 		MOVEM	1,%ERAC1#	;SAVE AC1
 16406	044432	202 02 0 00 045472 		MOVEM	2,%ERAC2#	;SAVE AC2
 16407	044433	350 00 0 00 030053 		AOS	ERRTLS		;INCREMENT ERROR TOTALS
 16408	044434	550 00 0 00 030114 		HRRZ	0,$SVUPC	;GET PC OF UUO
 16409	044435	316 00 0 00 030052 		CAMN	0,ERRPC		;PC = PC OF LAST ERROR ?
 16410	044436	350 00 0 00 045465 		AOS	MICNT#		;YES, ADD 1 TO ERROR COUNT
 16411	044437	200 00 0 00 045465 		MOVE	0,MICNT
 16412	044440	504 00 0 00 030114 		HRL	0,$SVUPC
 16413	044441	336 00 0 00 030041 		SKIPN	KLFLG		;NOT KL10
 16414	044442	332 00 0 00 030037 		SKIPE	USER		;AND NOT USER?
 16415	044443	254 00 0 00 044445 		JRST	.+2
 16416	044444	7 004 14 0 00 000000 		DATAO	PI,0		;YES, DISPLAY ERROR PC,ERROR COUNT
 16417	044445	402 00 0 00 045466 		SETZM	PROCED#		;CLEAR PROCEED FLAG
 16418	044446	037 10 0 00 000002 		SWITCH
 16419	044447	603 00 0 00 040000 		TLNE	NOPNT		;PRINTOUT ?
 16420	044450	254 00 0 00 044563 		JRST	%ERRS1		;NO, RESTORE AC'S AND RETURN
 16421	044451	200 01 0 00 030113 		MOVE	1,$SVUUO
 16422	044452	242 01 0 00 777745 		LSH	1,-^D27
 16423	044453	202 01 0 00 045467 		MOVEM	1,%ACS1A#	;SAVE UUO NUMBER
 16424	044454	200 00 0 00 045470 		MOVE	0,%ERAC0
 16425	044455	200 01 0 00 045471 		MOVE	1,%ERAC1
 16426	044456	335 00 1 00 045464 		SKIPGE	@ERRLOP		;ERR LOOP AC > OR = 0 ?
 16427	044457	254 00 0 00 044623 		JRST	%ERRS4		;NO, SEE IF PRINT ALL
 16428	044460	402 00 0 00 045465 	%ERMS1:	SETZM	MICNT		;CLEAR ERROR COUNT
 16429	044461	331 00 0 00 030043 		SKIPL	MONCTL		;DIAG MON OR SYS EXER ?
 16430	044462	254 00 0 00 044466 		JRST	.+4		;NO, DON'T NEED TITLE
 16431	044463	336 00 0 00 045473 		SKIPN	%ERFST#		;FIRST ERROR ?
 16432	044464	037 04 0 00 000002 		PNTNM			;YES, PRINT PROGRAM TITLE
 16433	044465	476 00 0 00 045473 		SETOM	%ERFST
 16434	044466	336 00 0 00 030047 		SKIPN	PASCNT		;FIRST PASS ?
 16435	044467	254 00 0 00 044473 		JRST	.+4		;YES
 16436						PMSG	<^TEST PASS COUNT = >^
 16437	044470	037 02 0 00 045352 		PSIXM	[SIXBIT\^TEST PASS COUNT = _\]^
 16438	044471	200 00 0 00 030047 		MOVE	PASCNT
 16439	044472	037 15 0 00 000000 		PNTDEC
 16440						PMSG	<^PC =   >^
 16441	044473	037 02 0 00 045356 		PSIXM	[SIXBIT\^PC =   _\]^
 16442	044474	550 00 0 00 030114 		HRRZ	0,$SVUPC	;GET PC OF UUO
 16443	044475	202 00 0 00 030052 		MOVEM	0,ERRPC		;SAVE FOR COMPARE
 16444	044476	037 06 0 00 000000 		PNT6			;PRINT UUO ADDRESS
 16445						XLIST
 16446						IFDEF	ERDIAG,<LIST
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 2
UUOERR	KLM	22-APR-75		*UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975                       SEQ 0363

 16447					;DIAGNOSTIC FORMAT ERROR PRINTER
 16448
 16449					;PRINT RESULT
 16450
 16451	044477				%ERMS2:	PMSG	<^RESULT  = >^
 16452	044477	037 02 0 00 045360 		PSIXM	[SIXBIT\^RESULT  = _\]^
 16453	044500	200 01 0 00 030113 		MOVE	1,$SVUUO	;GET AC # OF UUO
 16454	044501	242 01 0 00 777751 		LSH	1,-27
 16455	044502	405 01 0 00 000017 		ANDI	1,17
 16456	044503	200 00 0 01 000000 		MOVE	0,(1)		;GET C(AC)
 16457	044504	307 01 0 00 000001 		CAIG	1,1		;IS AC # = TO SAVE AC ?
 16458	044505	200 00 0 01 045470 		MOVE	0,%ERAC0(1)	;YES, GET SAVED AC
 16459	044506	037 13 0 00 000000 		PNTHW			;PRINT C(AC)
 16460
 16461	044507	200 00 0 00 030046 		MOVE	CONSW
 16462	044510	603 00 0 00 000200 		TLNE	TXTINH		;PRINT FAILURE DES AND FLT NBR ?
 16463	044511	254 00 0 00 044560 		JRST	%ERMORE		;NO, RESTORE AC'S ETC.
 16464
 16465					;PRINT FAILURE DESCRIPTOR
 16466
 16467	044512	200 01 0 00 045467 		MOVE	1,%ACS1A	;GET UUO NUMBER
 16468	044513	307 01 0 00 000001 		CAIG	1,1		;PRINT DESCRIPTOR ?
 16469	044514	254 00 0 00 044520 		JRST	%ERMS3		;NO, JUST PRINT FAULT NUMBER
 16470	044515	037 00 0 00 030242 		PCRL
 16471	044516	200 00 0 01 044544 		MOVE	%FLTTB(1)
 16472	044517	037 17 0 00 000000 		PNTAL			;PRINT FAULT DESCRIPTOR
 16473
 16474					;PRINT FAULT NUMBER
 16475
 16476	044520				%ERMS3:	PMSG	<^FAULT NUMBER = >^
 16477	044520	037 02 0 00 045362 		PSIXM	[SIXBIT\^FAULT NUMBER = _\]^
 16478	044521	201 00 0 00 044543 		MOVEI	TLET
 16479	044522	037 00 0 00 000000 		PNTA			;PRINT TEST LETTER
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 3
UUOERR	KLM	22-APR-75		*UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975                       SEQ 0364

 16480
 16481	044523	550 00 0 00 030113 		HRRZ	$SVUUO
 16482	044524	602 00 0 00 700000 		TRNE	700000
 16483	044525	254 00 0 00 044541 		JRST	%ER6X
 16484	044526	602 00 0 00 070000 		TRNE	070000
 16485	044527	254 00 0 00 044537 		JRST	%ER5X
 16486	044530	602 00 0 00 007000 		TRNE	007000
 16487	044531	254 00 0 00 044535 		JRST	%ER4X
 16488	044532	037 03 0 00 000000 		PNT3			;PRINT FAULT NUMBER
 16489	044533	037 00 0 00 030242 	%ER7X:	PCRL
 16490	044534	254 00 0 00 044560 		JRST	%ERMORE
 16491
 16492	044535	037 04 0 00 000000 	%ER4X:	PNT4
 16493	044536	254 00 0 00 044533 		JRST	%ER7X
 16494	044537	037 05 0 00 000000 	%ER5X:	PNT5
 16495	044540	254 00 0 00 044533 		JRST	%ER7X
 16496	044541	037 06 0 00 000000 	%ER6X:	PNT6
 16497	044542	254 00 0 00 044533 		JRST	%ER7X
 16498
 16499					;FAILURE DESCRIPTORS
 16500
 16501	044543	000000	000000		TLET:	0			;TEST LETTER
 16502	044544	000000	000000		%FLTTB:	0			;DESCRIPTOR TABLE
 16503	044545	000000	044631		%NODES:	[0]			;NO DESCRIPTOR
 16504	044546	000000	044631		SPDES:	[0]			;SPECIAL USER FAILURE DESCRIPTOR
 16505	044547	000000	045365		$ACF:	[ASCIZ/C(AC) FAILED/]
 16506	044550	000000	045370		%AC1F:	[ASCIZ/C(AC+1) FAILED/]
 16507	044551	000000	045373		%EF:	[ASCIZ/C(E) FAILED/]
 16508	044552	000000	045376		%E1F:	[ASCIZ/C(E+1) FAILED/]
 16509	044553	000000	045401		%ARF:	[ASCIZ/C(C(ACR)) FAILED/]
 16510	044554	000000	045405		%AR1F:	[ASCIZ/C(C(ACR+1)) FAILED/]
 16511	044555	000000	045411		%ALF:	[ASCIZ/C(C(ACL)) FAILED/]
 16512	044556	000000	045415		%EEF:	[ASCIZ/C(C(E)) FAILED/]
 16513	044557	000000	045420		%FF:	[ASCIZ/FLAG FAILED/]
 16514					>
 16515						XLIST
 16516						LIST
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 8
UUOERR	KLM	22-APR-75		*UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975                       SEQ 0365

 16517					;RESTORE AC'S AND RETURN OR HALT
 16518
 16519	044560	256 00 0 00 030101 	%ERMORE:XCT	ERMORE
 16520	044561	037 16 0 00 000002 		PNTMGN			;PRINT MARGINS	
 16521	044562	037 10 0 00 000002 		SWITCH
 16522
 16523	044563	037 07 0 00 000003 	%ERRS1:	TTALTM			;ALTMODE CHECK
 16524	044564	254 00 0 00 044570 		JRST	.+4		;NONE
 16525	044565	201 00 0 00 044570 		MOVEI	.+3		;SAVE CONT ADDRESS
 16526	044566	202 00 0 00 000130 		MOVEM	JOBOPC
 16527	044567	254 00 1 00 030063 		JRST	@ALTMGO		;PERFORM TRANSFER
 16528	044570	200 00 0 00 030046 		MOVE	CONSW
 16529	044571	603 00 0 00 002000 		TLNE	0,ERSTOP	;HALT ON ERROR SWITCH SET ?
 16530	044572	037 14 0 00 000004 		ERRHLT			;YES
 16531	044573	607 00 0 00 004000 		TLNN	0,LOOPER	;LOOP ON ERROR SWITCH SET ?
 16532	044574	476 00 0 00 045466 		SETOM	PROCED		;NO, SET THE PROCEED FLAG
 16533	044575	603 00 0 00 010000 		TLNE	0,DING		;RING BELL SWITCH SET ?
 16534	044576	037 01 0 00 000007 		PBELL			;YES, GO RING BELL
 16535
 16536	044577	200 02 0 00 045472 	%ERRS2:	MOVE	2,%ERAC2	;RESTORE AC'S
 16537	044600	200 01 0 00 045471 		MOVE	1,%ERAC1
 16538	044601	476 00 1 00 045464 		SETOM	@ERRLOP		;SET C(ERR LOOP AC) TO -1
 16539	044602	336 00 0 00 045466 		SKIPN	PROCED		;LOOP ON ERROR ?
 16540	044603	254 00 0 00 044613 		JRST	%ERRS5		;YES
 16541	044604	350 00 1 00 045464 		AOS	@ERRLOP		;NO, INC C(ERR LOOP AC)
 16542	044605	350 00 1 00 045464 		AOS	@ERRLOP		;SO IT ='S 1
 16543	044606	331 00 0 00 030043 		SKIPL	MONCTL		;UNDER DIAGNOSTIC MONITOR ?
 16544	044607	254 00 0 00 044613 		JRST	%ERRS5		;NO, CONTINUE PROGRAM
 16545	044610	200 00 0 00 030053 		MOVE	0,ERRTLS	;YES
 16546	044611	301 00 0 00 000005 		CAIL	0,5		;PRINTED ALLOWED ERRORS ?
 16547	044612	254 00 0 00 030061 		JRST	$BEND2
 16548
 16549	044613	200 00 0 00 045470 	%ERRS5:	MOVE	0,%ERAC0	;NO, CONTINUE PROGRAM
 16550						IFDEF	EXCASB,<IFDEF KI10,<
 16551	044614	336 00 0 00 030040 		SKIPN	KAIFLG
 16552	044615	254 00 0 00 044622 		JRST	.+5
 16553	044616	332 00 0 00 030037 		SKIPE	USER
 16554	044617	254 00 0 00 044622 		JRST	.+3
 16555	044620	332 00 0 00 030055 		SKIPE	MARGIN
 16556	044621	7 000 14 0 00 030055 		DATAO	APR,MARGIN	;RESET MARGIN SYSTEM >>
 16557	044622	254 00 0 00 030065 		JRST	UUOEXT
 16558
 16559	044623	200 00 0 00 030046 	%ERRS4:	MOVE	0,CONSW
 16560	044624	607 00 0 00 001000 		TLNN	PALERS		;PRINT ALL ERRORS ?
 16561	044625	254 00 0 00 044563 		JRST	%ERRS1		;NO
 16562	044626	254 00 0 00 044460 		JRST	%ERMS1		;YES
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 1
STOR	KLM	 5-JAN-76		*STOR* RESERVED STORAGE, JAN 5,1976                                                SEQ 0366

 16563					SUBTTL	*STOR* RESERVED STORAGE, JAN 5,1976
 16564
 16565					;PROGRAM LITERALS
 16566
 16567						XLIST
 16568					IFNDEF	$LPAPER,<LIST>
 16569	044627					LIT
 16570	044627	101 114 000 000 000 
 16571	044630	525252	525252
 16572	044631	000000	000000
 16573	044632	000000	000001
 16574	044633	777777	777777
 16575	044634	000000	000002
 16576	044635	777777	777776
 16577	044636	652525	252524
 16578	044637	000000	000004
 16579	044640	777777	777775
 16580	044641	525252	525250
 16581	044642	000000	000010
 16582	044643	777777	777772
 16583	044644	652525	252520
 16584	044645	000000	000020
 16585	044646	777777	777765
 16586	044647	525252	525240
 16587	044650	000000	000040
 16588	044651	777777	777752
 16589	044652	652525	252500
 16590	044653	000000	000100
 16591	044654	777777	777725
 16592	044655	525252	525200
 16593	044656	000000	000200
 16594	044657	777777	777652
 16595	044660	652525	252400
 16596	044661	000000	000400
 16597	044662	777777	777525
 16598	044663	525252	525000
 16599	044664	000000	001000
 16600	044665	777777	777252
 16601	044666	652525	252000
 16602	044667	000000	002000
 16603	044670	777777	776525
 16604	044671	525252	524000
 16605	044672	000000	004000
 16606	044673	777777	775252
 16607	044674	652525	250000
 16608	044675	000000	010000
 16609	044676	777777	772525
 16610	044677	525252	520000
 16611	044700	000000	020000
 16612	044701	777777	765252
 16613	044702	652525	240000
 16614	044703	000000	040000
 16615	044704	777777	752525
 16616	044705	525252	500000
 16617	044706	000000	100000
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 1-1
STOR	KLM	 5-JAN-76		*STOR* RESERVED STORAGE, JAN 5,1976                                                SEQ 0367

 16618	044707	777777	725252
 16619	044710	652525	200000
 16620	044711	000000	200000
 16621	044712	777777	652525
 16622	044713	525252	400000
 16623	044714	000000	400000
 16624	044715	777777	525252
 16625	044716	652525	000000
 16626	044717	000001	000000
 16627	044720	777777	252525
 16628	044721	525252	000000
 16629	044722	000002	000000
 16630	044723	777776	525252
 16631	044724	652524	000000
 16632	044725	000004	000000
 16633	044726	777775	252525
 16634	044727	525250	000000
 16635	044730	000010	000000
 16636	044731	777772	525252
 16637	044732	652520	000000
 16638	044733	000020	000000
 16639	044734	777765	252525
 16640	044735	525240	000000
 16641	044736	000040	000000
 16642	044737	777752	525252
 16643	044740	652500	000000
 16644	044741	000100	000000
 16645	044742	777725	252525
 16646	044743	525200	000000
 16647	044744	000200	000000
 16648	044745	777652	525252
 16649	044746	652400	000000
 16650	044747	000400	000000
 16651	044750	777525	252525
 16652	044751	525000	000000
 16653	044752	001000	000000
 16654	044753	777252	525252
 16655	044754	652000	000000
 16656	044755	002000	000000
 16657	044756	776525	252525
 16658	044757	524000	000000
 16659	044760	004000	000000
 16660	044761	775252	525252
 16661	044762	650000	000000
 16662	044763	010000	000000
 16663	044764	772525	252525
 16664	044765	520000	000000
 16665	044766	020000	000000
 16666	044767	765252	525252
 16667	044770	640000	000000
 16668	044771	040000	000000
 16669	044772	752525	252525
 16670	044773	500000	000000
 16671	044774	100000	000000
 16672	044775	725252	525252
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 1-2
STOR	KLM	 5-JAN-76		*STOR* RESERVED STORAGE, JAN 5,1976                                                SEQ 0368

 16673	044776	600000	000000
 16674	044777	200000	000000
 16675	045000	652525	252525
 16676	045001	400000	000000
 16677	045002	252525	252526
 16678	045003	252525	252525
 16679	045004	125252	525252
 16680	045005	252525	252524
 16681	045006	000000	000005
 16682	045007	125252	525250
 16683	045010	000000	000012
 16684	045011	252525	252520
 16685	045012	000000	000025
 16686	045013	125252	525240
 16687	045014	000000	000052
 16688	045015	252525	252500
 16689	045016	000000	000125
 16690	045017	125252	525200
 16691	045020	000000	000252
 16692	045021	252525	252400
 16693	045022	000000	000525
 16694	045023	125252	525000
 16695	045024	000000	001252
 16696	045025	252525	252000
 16697	045026	000000	002525
 16698	045027	125252	524000
 16699	045030	000000	005252
 16700	045031	252525	250000
 16701	045032	000000	012525
 16702	045033	125252	520000
 16703	045034	000000	025252
 16704	045035	252525	240000
 16705	045036	000000	052525
 16706	045037	125252	500000
 16707	045040	000000	125252
 16708	045041	252525	200000
 16709	045042	000000	252525
 16710	045043	125252	400000
 16711	045044	000000	525252
 16712	045045	252525	000000
 16713	045046	000001	252525
 16714	045047	125252	000000
 16715	045050	000002	525252
 16716	045051	252524	000000
 16717	045052	000005	252525
 16718	045053	125250	000000
 16719	045054	000012	525252
 16720	045055	252520	000000
 16721	045056	000025	252525
 16722	045057	125240	000000
 16723	045060	000052	525252
 16724	045061	252500	000000
 16725	045062	000125	252525
 16726	045063	125200	000000
 16727	045064	000252	525252
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 1-3
STOR	KLM	 5-JAN-76		*STOR* RESERVED STORAGE, JAN 5,1976                                                SEQ 0369

 16728	045065	252400	000000
 16729	045066	000525	252525
 16730	045067	125000	000000
 16731	045070	001252	525252
 16732	045071	252000	000000
 16733	045072	002525	252525
 16734	045073	124000	000000
 16735	045074	005252	525252
 16736	045075	250000	000000
 16737	045076	012525	252525
 16738	045077	120000	000000
 16739	045100	025252	525252
 16740	045101	240000	000000
 16741	045102	052525	252525
 16742	045103	525252	525253
 16743	045104	000000	000011
 16744	045105	777777	777773
 16745	045106	000000	000031
 16746	045107	777777	777767
 16747	045110	000000	000121
 16748	045111	777777	777757
 16749	045112	000000	000441
 16750	045113	777777	777737
 16751	045114	000000	002101
 16752	045115	777777	777677
 16753	045116	000000	010201
 16754	045117	777777	777577
 16755	045120	000000	040401
 16756	045121	777777	777377
 16757	045122	000000	201001
 16758	045123	777777	776777
 16759	045124	000001	002001
 16760	045125	777777	775777
 16761	045126	000004	004001
 16762	045127	777777	773777
 16763	045130	000020	010001
 16764	045131	777777	767777
 16765	045132	000100	020001
 16766	045133	777777	757777
 16767	045134	000400	040001
 16768	045135	777777	737777
 16769	045136	002000	100001
 16770	045137	777777	677777
 16771	045140	010000	200001
 16772	045141	777777	577777
 16773	045142	040000	400001
 16774	045143	777777	377777
 16775	045144	200001	000001
 16776	045145	777776	777777
 16777	045146	000002	000001
 16778	045147	777775	777777
 16779	045150	000004	000001
 16780	045151	777773	777777
 16781	045152	000010	000001
 16782	045153	777767	777777
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 1-4
STOR	KLM	 5-JAN-76		*STOR* RESERVED STORAGE, JAN 5,1976                                                SEQ 0370

 16783	045154	000020	000001
 16784	045155	777757	777777
 16785	045156	000040	000001
 16786	045157	777737	777777
 16787	045160	000100	000001
 16788	045161	777677	777777
 16789	045162	000200	000001
 16790	045163	777577	777777
 16791	045164	000400	000001
 16792	045165	777377	777777
 16793	045166	001000	000001
 16794	045167	776777	777777
 16795	045170	002000	000001
 16796	045171	775777	777777
 16797	045172	004000	000001
 16798	045173	773777	777777
 16799	045174	010000	000001
 16800	045175	767777	777777
 16801	045176	020000	000001
 16802	045177	757777	777777
 16803	045200	040000	000001
 16804	045201	737777	777777
 16805	045202	100000	000001
 16806	045203	677777	777777
 16807	045204	200000	000001
 16808	045205	577777	777777
 16809	045206	377777	777777
 16810	045207	377777	777776
 16811	045210	777777	777754
 16812	045211	777777	777670
 16813	045212	777777	777360
 16814	045213	777777	775740
 16815	045214	777777	767700
 16816	045215	777777	737600
 16817	045216	777777	577400
 16818	045217	777776	777000
 16819	045220	777773	776000
 16820	045221	777757	774000
 16821	045222	777677	770000
 16822	045223	777377	760000
 16823	045224	775777	740000
 16824	045225	767777	700000
 16825	045226	737777	600000
 16826	045227	577777	400000
 16827	045230	777777	000000
 16828	045231	777776	000000
 16829	045232	777774	000000
 16830	045233	777770	000000
 16831	045234	777760	000000
 16832	045235	777740	000000
 16833	045236	777700	000000
 16834	045237	777600	000000
 16835	045240	777400	000000
 16836	045241	777000	000000
 16837	045242	776000	000000
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 1-5
STOR	KLM	 5-JAN-76		*STOR* RESERVED STORAGE, JAN 5,1976                                                SEQ 0371

 16838	045243	774000	000000
 16839	045244	770000	000000
 16840	045245	760000	000000
 16841	045246	740000	000000
 16842	045247	700000	000000
 16843	045250	400000	000001
 16844	045251	000000	000003
 16845	045252	377777	777774
 16846	045253	377777	777770
 16847	045254	000000	000007
 16848	045255	377777	777760
 16849	045256	000000	000017
 16850	045257	000000	036735
 16851	045260	000000	036751
 16852	045261	000000	036773
 16853	045262	000000	037014
 16854	045263	000000	037027
 16855	045264	000000	037042
 16856	045265	000000	037055
 16857	045266	000000	037070
 16858	045267	000000	037103
 16859	045270	000000	037116
 16860	045271	000000	037130
 16861	045272	000000	037142
 16862	045273	000000	037156
 16863	045274	000000	037176
 16864	045275	000000	037211
 16865	045276	000000	037230
 16866	045277	000000	037244
 16867	045300	000000	037264
 16868	045301	000000	037300
 16869	045302	000000	037314
 16870	045303	000000	037334
 16871	045304	000000	037425
 16872	045305	000000	037442
 16873	045306	000000	037443
 16874	045307	000000	037460
 16875	045310	000000	037514
 16876	045311	000000	037533
 16877	045312	000000	037556
 16878	045313	000000	037573
 16879	045314	000000	037614
 16880	045315	000000	037631
 16881	045316	000000	037652
 16882	045317	777777	777760
 16883	045320	777777	777770
 16884	045321	000000	040367
 16885	045322	000000	040410
 16886	045323	000000	040431
 16887	045324	000000	040521
 16888	045325	000000	040546
 16889	045326	000000	040575
 16890	045327	000000	040614
 16891	045330	000000	040637
 16892	045331	000000	040714
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 1-6
STOR	KLM	 5-JAN-76		*STOR* RESERVED STORAGE, JAN 5,1976                                                SEQ 0372

 16893	045332	000000	040735
 16894	045333	000000	040762
 16895	045334	000000	041011
 16896	045335	000000	041031
 16897	045336	000000	041055
 16898	045337	000000	041070
 16899	045340	777777	777774
 16900	045341	000000	041107
 16901	045342	000000	041121
 16902	045343	000000	041137
 16903	045344	000000	041155
 16904	045345	000000	041173
 16905	045346	000000	041246
 16906	045347	050000	000000
 16907	045350	777777	777740
 16908	045351	002000	010000
 16909	045352	76 64 45 63 64 00 
 16910	045353	60 41 63 63 00 43 
 16911	045354	57 65 56 64 00 35 
 16912	045355	00 77 00 00 00 00 
 16913	045356	76 60 43 00 35 00 
 16914	045357	00 00 77 00 00 00 
 16915	045360	76 62 45 63 65 54 
 16916	045361	64 00 00 35 00 77 
 16917	045362	76 46 41 65 54 64 
 16918	045363	00 56 65 55 42 45 
 16919	045364	62 00 35 00 77 00 
 16920	045365	103 050 101 103 051 
 16921	045366	040 106 101 111 114 
 16922	045367	105 104 000 000 000 
 16923	045370	103 050 101 103 053 
 16924	045371	061 051 040 106 101 
 16925	045372	111 114 105 104 000 
 16926	045373	103 050 105 051 040 
 16927	045374	106 101 111 114 105 
 16928	045375	104 000 000 000 000 
 16929	045376	103 050 105 053 061 
 16930	045377	051 040 106 101 111 
 16931	045400	114 105 104 000 000 
 16932	045401	103 050 103 050 101 
 16933	045402	103 122 051 051 040 
 16934	045403	106 101 111 114 105 
 16935	045404	104 000 000 000 000 
 16936	045405	103 050 103 050 101 
 16937	045406	103 122 053 061 051 
 16938	045407	051 040 106 101 111 
 16939	045410	114 105 104 000 000 
 16940	045411	103 050 103 050 101 
 16941	045412	103 114 051 051 040 
 16942	045413	106 101 111 114 105 
 16943	045414	104 000 000 000 000 
 16944	045415	103 050 103 050 105 
 16945	045416	051 051 040 106 101 
 16946	045417	111 114 105 104 000 
 16947	045420	106 114 101 107 040 
DBKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %50A(432) 10:32  6-AUG-76 PAGE 1-7
STOR	KLM	 5-JAN-76		*STOR* RESERVED STORAGE, JAN 5,1976                                                SEQ 0373

 16948	045421	106 101 111 114 105 
 16949	045422	104 000 000 000 000 
 16950						LIST
 16951	045423	000000	000000		ENDSLD:	0
 16952
 16953					IFDEF	DEBUG,<
 16954	045424				PATCH:	BLOCK DEBUG		;PATCHING AREA
 16955					>
 16956
 16957					;PROGRAM VARIABLES
 16958	045464					VAR
 16959
 16960					IFDEF	PGMEND,<
 16961	045474	000000	000000		END:	0
 16962			030000			END	BEGIN	>

NO ERRORS DETECTED

PROGRAM BREAK IS 000000
ABSLUTE BREAK IS 045475
CPU TIME USED 00:46.433

7K CORE USED

AA1	   751#	   785#	   819#	   853#	   887#	   921#	   955#	   989#	  1023#	  1057#	  1091#	  1125#	  1159#	  1193#
	  1227#	  1261#	  1295#	  1329#	  1363#	  1397#	  1431#	  1465#	  1499#	  1533#	  1567#	  1601#	  1635#	  1669#    SEQ 0374
	  1703#	  1737#	  1771#	  1805#	  1839#	  1873#	  1907#	  1941#	  1998#	  2032#	  2066#	  2100#	  2134#	  2168#
	  2202#	  2236#	  2270#	  2304#	  2338#	  2372#	  2406#	  2440#	  2474#	  2508#	  2542#	  2576#	  2610#	  2644#
	  2678#	  2712#	  2746#	  2780#	  2814#	  2848#	  2882#	  2916#	  2950#	  2984#	  3018#	  3052#	  3086#	  3120#
	  3154#	  3188#	  3244#	  3278#	  3312#	  3346#	  3380#	  3414#	  3448#	  3482#	  3516#	  3550#	  3584#	  3618#
	  3652#	  3686#	  3720#	  3754#	  3788#	  3822#	  3856#	  3890#	  3924#	  3958#	  3992#	  4026#	  4060#	  4094#
	  4128#	  4162#	  4196#	  4230#	  4264#	  4298#	  4332#	  4366#	  4400#	  4434#	  4485#	  4517#	  4549#	  4581#
	  4613#	  4645#	  4677#	  4709#	  4741#	  4773#	  4805#	  4837#	  4869#	  4901#	  4933#	  4965#	  4997#	  5029#
	  5061#	  5093#	  5125#	  5157#	  5189#	  5221#	  5253#	  5285#	  5317#	  5349#	  5381#	  5413#	  5445#	  5477#
	  5509#	  5541#	  5573#	  5605#	  5660#	  5694#	  5728#	  5762#	  5796#	  5830#	  5864#	  5898#	  5932#	  5966#
	  6000#	  6034#	  6068#	  6102#	  6136#	  6170#	  6204#	  6238#	  6272#	  6306#	  6340#	  6374#	  6408#	  6442#
	  6476#	  6510#	  6544#	  6578#	  6612#	  6646#	  6680#	  6714#	  6748#	  6782#	  6816#	  6850#	  6910#	  6946#
	  6982#	  7018#	  7054#	  7090#	  7126#	  7162#	  7198#	  7234#	  7270#	  7306#	  7342#	  7378#	  7414#	  7450#
	  7486#	  7522#	  7558#	  7594#	  7630#	  7666#	  7702#	  7738#	  7774#	  7810#	  7846#	  7882#	  7918#	  7954#
	  7990#	  8026#	  8062#	  8098#	  8134#	  8170#	  8230#	  8266#	  8302#	  8338#	  8374#	  8410#	  8446#	  8482#
	  8518#	  8554#	  8590#	  8626#	  8662#	  8698#	  8734#	  8770#	  8806#	  8842#	  8878#	  8914#	  8950#	  8986#
	  9022#	  9058#	  9094#	  9130#	  9166#	  9202#	  9238#	  9274#	  9310#	  9346#	  9382#	  9418#	  9454#	  9490#
AA2	   753#	   787#	   821#	   855#	   889#	   923#	   957#	   991#	  1025#	  1059#	  1093#	  1127#	  1161#	  1195#
	  1229#	  1263#	  1297#	  1331#	  1365#	  1399#	  1433#	  1467#	  1501#	  1535#	  1569#	  1603#	  1637#	  1671#
	  1705#	  1739#	  1773#	  1807#	  1841#	  1875#	  1909#	  1943#	  2000#	  2034#	  2068#	  2102#	  2136#	  2170#
	  2204#	  2238#	  2272#	  2306#	  2340#	  2374#	  2408#	  2442#	  2476#	  2510#	  2544#	  2578#	  2612#	  2646#
	  2680#	  2714#	  2748#	  2782#	  2816#	  2850#	  2884#	  2918#	  2952#	  2986#	  3020#	  3054#	  3088#	  3122#
	  3156#	  3190#	  3246#	  3280#	  3314#	  3348#	  3382#	  3416#	  3450#	  3484#	  3518#	  3552#	  3586#	  3620#
	  3654#	  3688#	  3722#	  3756#	  3790#	  3824#	  3858#	  3892#	  3926#	  3960#	  3994#	  4028#	  4062#	  4096#
	  4130#	  4164#	  4198#	  4232#	  4266#	  4300#	  4334#	  4368#	  4402#	  4436#	  4487#	  4519#	  4551#	  4583#
	  4615#	  4647#	  4679#	  4711#	  4743#	  4775#	  4807#	  4839#	  4871#	  4903#	  4935#	  4967#	  4999#	  5031#
	  5063#	  5095#	  5127#	  5159#	  5191#	  5223#	  5255#	  5287#	  5319#	  5351#	  5383#	  5415#	  5447#	  5479#
	  5511#	  5543#	  5575#	  5607#	  5662#	  5696#	  5730#	  5764#	  5798#	  5832#	  5866#	  5900#	  5934#	  5968#
	  6002#	  6036#	  6070#	  6104#	  6138#	  6172#	  6206#	  6240#	  6274#	  6308#	  6342#	  6376#	  6410#	  6444#
	  6478#	  6512#	  6546#	  6580#	  6614#	  6648#	  6682#	  6716#	  6750#	  6784#	  6818#	  6852#	  6912#	  6948#
	  6984#	  7020#	  7056#	  7092#	  7128#	  7164#	  7200#	  7236#	  7272#	  7308#	  7344#	  7380#	  7416#	  7452#
	  7488#	  7524#	  7560#	  7596#	  7632#	  7668#	  7704#	  7740#	  7776#	  7812#	  7848#	  7884#	  7920#	  7956#
	  7992#	  8028#	  8064#	  8100#	  8136#	  8172#	  8232#	  8268#	  8304#	  8340#	  8376#	  8412#	  8448#	  8484#
	  8520#	  8556#	  8592#	  8628#	  8664#	  8700#	  8736#	  8772#	  8808#	  8844#	  8880#	  8916#	  8952#	  8988#
	  9024#	  9060#	  9096#	  9132#	  9168#	  9204#	  9240#	  9276#	  9312#	  9348#	  9384#	  9420#	  9456#	  9492#
ABORT	   131#
AC	   710#	   711	   715	   716	   717	   718	   752	   754	   757	   759	   760	   762	   763	   767
	   786	   788	   791	   793	   794	   796	   797	   801	   820	   822	   825	   827	   828	   830
	   831	   835	   854	   856	   859	   861	   862	   864	   865	   869	   888	   890	   893	   895
	   896	   898	   899	   903	   922	   924	   927	   929	   930	   932	   933	   937	   956	   958
	   961	   963	   964	   966	   967	   971	   990	   992	   995	   997	   998	  1000	  1001	  1005
	  1024	  1026	  1029	  1031	  1032	  1034	  1035	  1039	  1058	  1060	  1063	  1065	  1066	  1068
	  1069	  1073	  1092	  1094	  1097	  1099	  1100	  1102	  1103	  1107	  1126	  1128	  1131	  1133
	  1134	  1136	  1137	  1141	  1160	  1162	  1165	  1167	  1168	  1170	  1171	  1175	  1194	  1196
	  1199	  1201	  1202	  1204	  1205	  1209	  1228	  1230	  1233	  1235	  1236	  1238	  1239	  1243
	  1262	  1264	  1267	  1269	  1270	  1272	  1273	  1277	  1296	  1298	  1301	  1303	  1304	  1306
	  1307	  1311	  1330	  1332	  1335	  1337	  1338	  1340	  1341	  1345	  1364	  1366	  1369	  1371
	  1372	  1374	  1375	  1379	  1398	  1400	  1403	  1405	  1406	  1408	  1409	  1413	  1432	  1434
	  1437	  1439	  1440	  1442	  1443	  1447	  1466	  1468	  1471	  1473	  1474	  1476	  1477	  1481
	  1500	  1502	  1505	  1507	  1508	  1510	  1511	  1515	  1534	  1536	  1539	  1541	  1542	  1544
	  1545	  1549	  1568	  1570	  1573	  1575	  1576	  1578	  1579	  1583	  1602	  1604	  1607	  1609
	  1610	  1612	  1613	  1617	  1636	  1638	  1641	  1643	  1644	  1646	  1647	  1651	  1670	  1672
	  1675	  1677	  1678	  1680	  1681	  1685	  1704	  1706	  1709	  1711	  1712	  1714	  1715	  1719
	  1738	  1740	  1743	  1745	  1746	  1748	  1749	  1753	  1772	  1774	  1777	  1779	  1780	  1782     SEQ 0375
	  1783	  1787	  1806	  1808	  1811	  1813	  1814	  1816	  1817	  1821	  1840	  1842	  1845	  1847
	  1848	  1850	  1851	  1855	  1874	  1876	  1879	  1881	  1882	  1884	  1885	  1889	  1908	  1910
	  1913	  1915	  1916	  1918	  1919	  1923	  1942	  1944	  1947	  1949	  1950	  1952	  1953	  1957
	  1958#	  1959	  1961	  1962	  1963	  1964	  1999	  2001	  2004	  2006	  2007	  2009	  2010	  2014
	  2033	  2035	  2038	  2040	  2041	  2043	  2044	  2048	  2067	  2069	  2072	  2074	  2075	  2077
	  2078	  2082	  2101	  2103	  2106	  2108	  2109	  2111	  2112	  2116	  2135	  2137	  2140	  2142
	  2143	  2145	  2146	  2150	  2169	  2171	  2174	  2176	  2177	  2179	  2180	  2184	  2203	  2205
	  2208	  2210	  2211	  2213	  2214	  2218	  2237	  2239	  2242	  2244	  2245	  2247	  2248	  2252
	  2271	  2273	  2276	  2278	  2279	  2281	  2282	  2286	  2305	  2307	  2310	  2312	  2313	  2315
	  2316	  2320	  2339	  2341	  2344	  2346	  2347	  2349	  2350	  2354	  2373	  2375	  2378	  2380
	  2381	  2383	  2384	  2388	  2407	  2409	  2412	  2414	  2415	  2417	  2418	  2422	  2441	  2443
	  2446	  2448	  2449	  2451	  2452	  2456	  2475	  2477	  2480	  2482	  2483	  2485	  2486	  2490
	  2509	  2511	  2514	  2516	  2517	  2519	  2520	  2524	  2543	  2545	  2548	  2550	  2551	  2553
	  2554	  2558	  2577	  2579	  2582	  2584	  2585	  2587	  2588	  2592	  2611	  2613	  2616	  2618
	  2619	  2621	  2622	  2626	  2645	  2647	  2650	  2652	  2653	  2655	  2656	  2660	  2679	  2681
	  2684	  2686	  2687	  2689	  2690	  2694	  2713	  2715	  2718	  2720	  2721	  2723	  2724	  2728
	  2747	  2749	  2752	  2754	  2755	  2757	  2758	  2762	  2781	  2783	  2786	  2788	  2789	  2791
	  2792	  2796	  2815	  2817	  2820	  2822	  2823	  2825	  2826	  2830	  2849	  2851	  2854	  2856
	  2857	  2859	  2860	  2864	  2883	  2885	  2888	  2890	  2891	  2893	  2894	  2898	  2917	  2919
	  2922	  2924	  2925	  2927	  2928	  2932	  2951	  2953	  2956	  2958	  2959	  2961	  2962	  2966
	  2985	  2987	  2990	  2992	  2993	  2995	  2996	  3000	  3019	  3021	  3024	  3026	  3027	  3029
	  3030	  3034	  3053	  3055	  3058	  3060	  3061	  3063	  3064	  3068	  3087	  3089	  3092	  3094
	  3095	  3097	  3098	  3102	  3121	  3123	  3126	  3128	  3129	  3131	  3132	  3136	  3155	  3157
	  3160	  3162	  3163	  3165	  3166	  3170	  3189	  3191	  3194	  3196	  3197	  3199	  3200	  3204
	  3205#	  3206	  3208	  3209	  3210	  3211	  3245	  3247	  3250	  3252	  3253	  3255	  3256	  3260
	  3279	  3281	  3284	  3286	  3287	  3289	  3290	  3294	  3313	  3315	  3318	  3320	  3321	  3323
	  3324	  3328	  3347	  3349	  3352	  3354	  3355	  3357	  3358	  3362	  3381	  3383	  3386	  3388
	  3389	  3391	  3392	  3396	  3415	  3417	  3420	  3422	  3423	  3425	  3426	  3430	  3449	  3451
	  3454	  3456	  3457	  3459	  3460	  3464	  3483	  3485	  3488	  3490	  3491	  3493	  3494	  3498
	  3517	  3519	  3522	  3524	  3525	  3527	  3528	  3532	  3551	  3553	  3556	  3558	  3559	  3561
	  3562	  3566	  3585	  3587	  3590	  3592	  3593	  3595	  3596	  3600	  3619	  3621	  3624	  3626
	  3627	  3629	  3630	  3634	  3653	  3655	  3658	  3660	  3661	  3663	  3664	  3668	  3687	  3689
	  3692	  3694	  3695	  3697	  3698	  3702	  3721	  3723	  3726	  3728	  3729	  3731	  3732	  3736
	  3755	  3757	  3760	  3762	  3763	  3765	  3766	  3770	  3789	  3791	  3794	  3796	  3797	  3799
	  3800	  3804	  3823	  3825	  3828	  3830	  3831	  3833	  3834	  3838	  3857	  3859	  3862	  3864
	  3865	  3867	  3868	  3872	  3891	  3893	  3896	  3898	  3899	  3901	  3902	  3906	  3925	  3927
	  3930	  3932	  3933	  3935	  3936	  3940	  3959	  3961	  3964	  3966	  3967	  3969	  3970	  3974
	  3993	  3995	  3998	  4000	  4001	  4003	  4004	  4008	  4027	  4029	  4032	  4034	  4035	  4037
	  4038	  4042	  4061	  4063	  4066	  4068	  4069	  4071	  4072	  4076	  4095	  4097	  4100	  4102
	  4103	  4105	  4106	  4110	  4129	  4131	  4134	  4136	  4137	  4139	  4140	  4144	  4163	  4165
	  4168	  4170	  4171	  4173	  4174	  4178	  4197	  4199	  4202	  4204	  4205	  4207	  4208	  4212
	  4231	  4233	  4236	  4238	  4239	  4241	  4242	  4246	  4265	  4267	  4270	  4272	  4273	  4275
	  4276	  4280	  4299	  4301	  4304	  4306	  4307	  4309	  4310	  4314	  4333	  4335	  4338	  4340
	  4341	  4343	  4344	  4348	  4367	  4369	  4372	  4374	  4375	  4377	  4378	  4382	  4401	  4403
	  4406	  4408	  4409	  4411	  4412	  4416	  4435	  4437	  4440	  4442	  4443	  4445	  4446	  4450
	  4451#	  4452	  4454	  4455	  4456	  4457	  4486	  4488	  4491	  4493	  4494	  4496	  4497	  4501
	  4518	  4520	  4523	  4525	  4526	  4528	  4529	  4533	  4550	  4552	  4555	  4557	  4558	  4560
	  4561	  4565	  4582	  4584	  4587	  4589	  4590	  4592	  4593	  4597	  4614	  4616	  4619	  4621
	  4622	  4624	  4625	  4629	  4646	  4648	  4651	  4653	  4654	  4656	  4657	  4661	  4678	  4680
	  4683	  4685	  4686	  4688	  4689	  4693	  4710	  4712	  4715	  4717	  4718	  4720	  4721	  4725
	  4742	  4744	  4747	  4749	  4750	  4752	  4753	  4757	  4774	  4776	  4779	  4781	  4782	  4784
	  4785	  4789	  4806	  4808	  4811	  4813	  4814	  4816	  4817	  4821	  4838	  4840	  4843	  4845
	  4846	  4848	  4849	  4853	  4870	  4872	  4875	  4877	  4878	  4880	  4881	  4885	  4902	  4904     SEQ 0376
	  4907	  4909	  4910	  4912	  4913	  4917	  4934	  4936	  4939	  4941	  4942	  4944	  4945	  4949
	  4966	  4968	  4971	  4973	  4974	  4976	  4977	  4981	  4998	  5000	  5003	  5005	  5006	  5008
	  5009	  5013	  5030	  5032	  5035	  5037	  5038	  5040	  5041	  5045	  5062	  5064	  5067	  5069
	  5070	  5072	  5073	  5077	  5094	  5096	  5099	  5101	  5102	  5104	  5105	  5109	  5126	  5128
	  5131	  5133	  5134	  5136	  5137	  5141	  5158	  5160	  5163	  5165	  5166	  5168	  5169	  5173
	  5190	  5192	  5195	  5197	  5198	  5200	  5201	  5205	  5222	  5224	  5227	  5229	  5230	  5232
	  5233	  5237	  5254	  5256	  5259	  5261	  5262	  5264	  5265	  5269	  5286	  5288	  5291	  5293
	  5294	  5296	  5297	  5301	  5318	  5320	  5323	  5325	  5326	  5328	  5329	  5333	  5350	  5352
	  5355	  5357	  5358	  5360	  5361	  5365	  5382	  5384	  5387	  5389	  5390	  5392	  5393	  5397
	  5414	  5416	  5419	  5421	  5422	  5424	  5425	  5429	  5446	  5448	  5451	  5453	  5454	  5456
	  5457	  5461	  5478	  5480	  5483	  5485	  5486	  5488	  5489	  5493	  5510	  5512	  5515	  5517
	  5518	  5520	  5521	  5525	  5542	  5544	  5547	  5549	  5550	  5552	  5553	  5557	  5574	  5576
	  5579	  5581	  5582	  5584	  5585	  5589	  5606	  5608	  5611	  5613	  5614	  5616	  5617	  5621
	  5622#	  5623	  5625	  5626	  5627	  5628	  5661	  5663	  5666	  5668	  5669	  5671	  5672	  5676
	  5695	  5697	  5700	  5702	  5703	  5705	  5706	  5710	  5729	  5731	  5734	  5736	  5737	  5739
	  5740	  5744	  5763	  5765	  5768	  5770	  5771	  5773	  5774	  5778	  5797	  5799	  5802	  5804
	  5805	  5807	  5808	  5812	  5831	  5833	  5836	  5838	  5839	  5841	  5842	  5846	  5865	  5867
	  5870	  5872	  5873	  5875	  5876	  5880	  5899	  5901	  5904	  5906	  5907	  5909	  5910	  5914
	  5933	  5935	  5938	  5940	  5941	  5943	  5944	  5948	  5967	  5969	  5972	  5974	  5975	  5977
	  5978	  5982	  6001	  6003	  6006	  6008	  6009	  6011	  6012	  6016	  6035	  6037	  6040	  6042
	  6043	  6045	  6046	  6050	  6069	  6071	  6074	  6076	  6077	  6079	  6080	  6084	  6103	  6105
	  6108	  6110	  6111	  6113	  6114	  6118	  6137	  6139	  6142	  6144	  6145	  6147	  6148	  6152
	  6171	  6173	  6176	  6178	  6179	  6181	  6182	  6186	  6205	  6207	  6210	  6212	  6213	  6215
	  6216	  6220	  6239	  6241	  6244	  6246	  6247	  6249	  6250	  6254	  6273	  6275	  6278	  6280
	  6281	  6283	  6284	  6288	  6307	  6309	  6312	  6314	  6315	  6317	  6318	  6322	  6341	  6343
	  6346	  6348	  6349	  6351	  6352	  6356	  6375	  6377	  6380	  6382	  6383	  6385	  6386	  6390
	  6409	  6411	  6414	  6416	  6417	  6419	  6420	  6424	  6443	  6445	  6448	  6450	  6451	  6453
	  6454	  6458	  6477	  6479	  6482	  6484	  6485	  6487	  6488	  6492	  6511	  6513	  6516	  6518
	  6519	  6521	  6522	  6526	  6545	  6547	  6550	  6552	  6553	  6555	  6556	  6560	  6579	  6581
	  6584	  6586	  6587	  6589	  6590	  6594	  6613	  6615	  6618	  6620	  6621	  6623	  6624	  6628
	  6647	  6649	  6652	  6654	  6655	  6657	  6658	  6662	  6681	  6683	  6686	  6688	  6689	  6691
	  6692	  6696	  6715	  6717	  6720	  6722	  6723	  6725	  6726	  6730	  6749	  6751	  6754	  6756
	  6757	  6759	  6760	  6764	  6783	  6785	  6788	  6790	  6791	  6793	  6794	  6798	  6817	  6819
	  6822	  6824	  6825	  6827	  6828	  6832	  6851	  6853	  6856	  6858	  6859	  6861	  6862	  6866
	  6867#	  6868	  6870	  6871	  6872	  6873	  6911	  6913	  6916	  6918	  6919	  6921	  6922	  6926
	  6947	  6949	  6952	  6954	  6955	  6957	  6958	  6962	  6983	  6985	  6988	  6990	  6991	  6993
	  6994	  6998	  7019	  7021	  7024	  7026	  7027	  7029	  7030	  7034	  7055	  7057	  7060	  7062
	  7063	  7065	  7066	  7070	  7091	  7093	  7096	  7098	  7099	  7101	  7102	  7106	  7127	  7129
	  7132	  7134	  7135	  7137	  7138	  7142	  7163	  7165	  7168	  7170	  7171	  7173	  7174	  7178
	  7199	  7201	  7204	  7206	  7207	  7209	  7210	  7214	  7235	  7237	  7240	  7242	  7243	  7245
	  7246	  7250	  7271	  7273	  7276	  7278	  7279	  7281	  7282	  7286	  7307	  7309	  7312	  7314
	  7315	  7317	  7318	  7322	  7343	  7345	  7348	  7350	  7351	  7353	  7354	  7358	  7379	  7381
	  7384	  7386	  7387	  7389	  7390	  7394	  7415	  7417	  7420	  7422	  7423	  7425	  7426	  7430
	  7451	  7453	  7456	  7458	  7459	  7461	  7462	  7466	  7487	  7489	  7492	  7494	  7495	  7497
	  7498	  7502	  7523	  7525	  7528	  7530	  7531	  7533	  7534	  7538	  7559	  7561	  7564	  7566
	  7567	  7569	  7570	  7574	  7595	  7597	  7600	  7602	  7603	  7605	  7606	  7610	  7631	  7633
	  7636	  7638	  7639	  7641	  7642	  7646	  7667	  7669	  7672	  7674	  7675	  7677	  7678	  7682
	  7703	  7705	  7708	  7710	  7711	  7713	  7714	  7718	  7739	  7741	  7744	  7746	  7747	  7749
	  7750	  7754	  7775	  7777	  7780	  7782	  7783	  7785	  7786	  7790	  7811	  7813	  7816	  7818
	  7819	  7821	  7822	  7826	  7847	  7849	  7852	  7854	  7855	  7857	  7858	  7862	  7883	  7885
	  7888	  7890	  7891	  7893	  7894	  7898	  7919	  7921	  7924	  7926	  7927	  7929	  7930	  7934
	  7955	  7957	  7960	  7962	  7963	  7965	  7966	  7970	  7991	  7993	  7996	  7998	  7999	  8001
	  8002	  8006	  8027	  8029	  8032	  8034	  8035	  8037	  8038	  8042	  8063	  8065	  8068	  8070     SEQ 0377
	  8071	  8073	  8074	  8078	  8099	  8101	  8104	  8106	  8107	  8109	  8110	  8114	  8135	  8137
	  8140	  8142	  8143	  8145	  8146	  8150	  8171	  8173	  8176	  8178	  8179	  8181	  8182	  8186
	  8187#	  8188	  8190	  8191	  8192	  8193	  8231	  8233	  8236	  8238	  8239	  8241	  8242	  8246
	  8267	  8269	  8272	  8274	  8275	  8277	  8278	  8282	  8303	  8305	  8308	  8310	  8311	  8313
	  8314	  8318	  8339	  8341	  8344	  8346	  8347	  8349	  8350	  8354	  8375	  8377	  8380	  8382
	  8383	  8385	  8386	  8390	  8411	  8413	  8416	  8418	  8419	  8421	  8422	  8426	  8447	  8449
	  8452	  8454	  8455	  8457	  8458	  8462	  8483	  8485	  8488	  8490	  8491	  8493	  8494	  8498
	  8519	  8521	  8524	  8526	  8527	  8529	  8530	  8534	  8555	  8557	  8560	  8562	  8563	  8565
	  8566	  8570	  8591	  8593	  8596	  8598	  8599	  8601	  8602	  8606	  8627	  8629	  8632	  8634
	  8635	  8637	  8638	  8642	  8663	  8665	  8668	  8670	  8671	  8673	  8674	  8678	  8699	  8701
	  8704	  8706	  8707	  8709	  8710	  8714	  8735	  8737	  8740	  8742	  8743	  8745	  8746	  8750
	  8771	  8773	  8776	  8778	  8779	  8781	  8782	  8786	  8807	  8809	  8812	  8814	  8815	  8817
	  8818	  8822	  8843	  8845	  8848	  8850	  8851	  8853	  8854	  8858	  8879	  8881	  8884	  8886
	  8887	  8889	  8890	  8894	  8915	  8917	  8920	  8922	  8923	  8925	  8926	  8930	  8951	  8953
	  8956	  8958	  8959	  8961	  8962	  8966	  8987	  8989	  8992	  8994	  8995	  8997	  8998	  9002
	  9023	  9025	  9028	  9030	  9031	  9033	  9034	  9038	  9059	  9061	  9064	  9066	  9067	  9069
	  9070	  9074	  9095	  9097	  9100	  9102	  9103	  9105	  9106	  9110	  9131	  9133	  9136	  9138
	  9139	  9141	  9142	  9146	  9167	  9169	  9172	  9174	  9175	  9177	  9178	  9182	  9203	  9205
	  9208	  9210	  9211	  9213	  9214	  9218	  9239	  9241	  9244	  9246	  9247	  9249	  9250	  9254
	  9275	  9277	  9280	  9282	  9283	  9285	  9286	  9290	  9311	  9313	  9316	  9318	  9319	  9321
	  9322	  9326	  9347	  9349	  9352	  9354	  9355	  9357	  9358	  9362	  9383	  9385	  9388	  9390
	  9391	  9393	  9394	  9398	  9419	  9421	  9424	  9426	  9427	  9429	  9430	  9434	  9455	  9457
	  9460	  9462	  9463	  9465	  9466	  9470	  9491	  9493	  9496	  9498	  9499	  9501	  9502	  9506
	  9510#	  9512	  9513	  9514	  9515	  9543	  9544	  9545	  9546	  9547	  9548	  9549	  9550	  9558
	  9559	  9560	  9561	  9562	  9563	  9564	  9565	  9571#	  9573	  9574	  9575	  9576	  9602	  9603
	  9604	  9605	  9606	  9607	  9608	  9609	  9610	  9611	  9617	  9618	  9619	  9620	  9621	  9622
	  9623	  9624	  9625	  9626	  9631#	  9633	  9634	  9635	  9636	  9660	  9661	  9662	  9663	  9664
	  9665	  9666	  9667	  9673	  9674	  9675	  9676	  9677	  9678	  9679	  9680	  9685#	  9687	  9688
	  9689	  9690	  9711	  9712	  9713	  9714	  9715	  9716	  9717	  9718	  9723	  9724	  9725	  9726
	  9727	  9728	  9729	  9730	  9736#	  9738	  9739	  9740	  9741	  9766	  9767	  9768	  9769	  9770
	  9771	  9772	  9773	  9780	  9781	  9782	  9783	  9784	  9785	  9786	  9787	  9792#	  9794	  9795
	  9796	  9797	  9822	  9823	  9824	  9825	  9826	  9827	  9828	  9829	  9830	  9831	  9837	  9838
	  9839	  9840	  9841	  9842	  9843	  9844	  9845	  9846	  9851#	  9853	  9854	  9855	  9856	  9886
	  9887	  9888	  9889	  9890	  9891	  9892	  9893	  9894	  9895	  9903	  9904	  9905	  9906	  9907
	  9908	  9909	  9910	  9911	  9912	  9918#	  9920	  9921	  9922	  9923	  9946	  9947	  9948	  9949
	  9950	  9951	  9952	  9953	  9959	  9960	  9961	  9962	  9963	  9964	  9965	  9966	  9971#	  9973
	  9974	  9975	  9976	  9999	 10000	 10001	 10002	 10003	 10004	 10005	 10006	 10007	 10013	 10014
	 10015	 10016	 10017	 10018	 10019	 10020	 10021	 10026#	 10028	 10029	 10030	 10031	 10060	 10061
	 10062	 10063	 10064	 10065	 10066	 10067	 10068	 10069	 10077	 10078	 10079	 10080	 10081	 10082
	 10083	 10084	 10085	 10086	 10092#	 10094	 10095	 10096	 10097	 10120	 10121	 10122	 10123	 10124
	 10125	 10126	 10127	 10133	 10134	 10135	 10136	 10137	 10138	 10139	 10140	 10149#	 10168	 10168#
	 10170	 10171	 10172	 10173	 10175	 10176	 10177	 10178	 10179	 10180	 10181	 10182	 10183	 10187
	 10187#	 10189	 10190	 10191	 10192	 10194	 10195	 10196	 10197	 10198	 10199	 10200	 10201	 10202
	 10212#	 10214	 10215	 10216	 10217	 10242	 10243	 10244	 10245	 10246	 10247	 10248	 10249	 10250
	 10251	 10252	 10253	 10258	 10259	 10260	 10261	 10262	 10263	 10264	 10265	 10266	 10267	 10268
	 10269	 10289	 10290	 10291	 10292	 10293	 10294	 10299	 10300	 10301	 10302	 10303	 10304	 10325
	 10326	 10327	 10328	 10329	 10330	 10331	 10336	 10337	 10338	 10339	 10340	 10341	 10342	 10352#
	 10354	 10355	 10356	 10357	 10384	 10385	 10386	 10387	 10388	 10389	 10390	 10391	 10392	 10393
	 10394	 10395	 10401	 10402	 10403	 10404	 10405	 10406	 10407	 10408	 10409	 10410	 10411	 10412
	 10421	 10422	 10423	 10424	 10425	 10426	 10427	 10428	 10430	 10431	 10440	 10441	 10442	 10443
	 10444	 10445	 10446	 10447	 10448	 10449	 10451	 10452	 10458#	 10460	 10461	 10462	 10463	 10482
	 10483	 10484	 10485	 10486	 10487	 10492	 10493	 10494	 10495	 10496	 10497	 10506#	 10508	 10509
	 10510	 10511	 10539	 10540	 10541	 10542	 10543	 10544	 10547	 10548	 10555	 10556	 10557	 10558     SEQ 0378
	 10559	 10560	 10563	 10564	 10593	 10594	 10595	 10596	 10597	 10598	 10599	 10601	 10602	 10609
	 10610	 10611	 10612	 10613	 10614	 10615	 10617	 10618	 10646	 10647	 10648	 10649	 10650	 10651
	 10654	 10655	 10662	 10663	 10664	 10665	 10666	 10667	 10670	 10671	 10696	 10697	 10698	 10699
	 10700	 10701	 10703	 10704	 10710	 10711	 10712	 10713	 10714	 10715	 10717	 10718	 10747	 10748
	 10749	 10750	 10751	 10752	 10753	 10756	 10757	 10764	 10765	 10766	 10767	 10768	 10769	 10770
	 10773	 10774	 10779#	 10781	 10782	 10783	 10784	 10813	 10814	 10815	 10816	 10817	 10818	 10821
	 10822	 10830	 10831	 10832	 10833	 10834	 10835	 10838	 10839	 10845#	 10847	 10848	 10849	 10850
	 10878	 10879	 10880	 10881	 10882	 10883	 10884	 10887	 10888	 10895	 10896	 10897	 10898	 10899
	 10900	 10901	 10904	 10905	 10910#	 10912	 10913	 10914	 10915	 10943	 10944	 10945	 10946	 10947
	 10948	 10949	 10952	 10953	 10960	 10961	 10962	 10963	 10964	 10965	 10966	 10969	 10970	 10974
	 10975	 10976	 10977	 10978	 10979	 10980	 10981	 10983	 10984	 10993#	 10995	 10996	 10997	 10998
	 11019	 11020	 11021	 11022	 11023	 11024	 11025	 11030	 11031	 11032	 11033	 11034	 11035	 11036
	 11040#	 11042	 11043	 11044	 11045	 11066	 11067	 11068	 11069	 11070	 11071	 11072	 11073	 11074
	 11079	 11080	 11081	 11082	 11083	 11084	 11085	 11086	 11087	 11095#	 11097	 11098	 11099	 11100
	 11117	 11118	 11119	 11120	 11121	 11122	 11127	 11128	 11129	 11130	 11131	 11132	 11145#	 11147
	 11148	 11149	 11150	 11180	 11181	 11182	 11183	 11186	 11187	 11188	 11189	 11190	 11191	 11199
	 11200	 11201	 11202	 11205	 11206	 11207	 11208	 11209	 11210	 11215	 11216	 11217	 11218	 11219
	 11220	 11221	 11227#	 11229	 11230	 11231	 11232	 11249	 11250	 11251	 11252	 11253	 11254	 11259
	 11260	 11261	 11262	 11263	 11264	 11270#	 11272	 11273	 11274	 11275	 11304	 11305	 11306	 11307
	 11308	 11309	 11310	 11311	 11312	 11314	 11315	 11316	 11317	 11323	 11324	 11325	 11326	 11327
	 11328	 11329	 11330	 11331	 11333	 11334	 11335	 11336	 11342#	 11344	 11345	 11346	 11347	 11373
	 11374	 11375	 11376	 11377	 11378	 11379	 11380	 11383	 11384	 11390	 11391	 11392	 11393	 11394
	 11395	 11396	 11397	 11400	 11401	 11406#	 11408	 11409	 11410	 11411	 11437	 11438	 11439	 11440
	 11441	 11442	 11443	 11444	 11447	 11448	 11454	 11455	 11456	 11457	 11458	 11459	 11460	 11461
	 11464	 11465	 11471#	 11473	 11474	 11475	 11476	 11497	 11498	 11499	 11500	 11501	 11502	 11503
	 11504	 11509	 11510	 11511	 11512	 11513	 11514	 11515	 11516	 11521#	 11523	 11524	 11525	 11526
	 11552	 11553	 11554	 11555	 11556	 11557	 11558	 11559	 11560	 11567	 11568	 11569	 11570	 11571
	 11572	 11573	 11574	 11575	 11580#	 11582	 11583	 11584	 11585	 11606	 11607	 11608	 11609	 11610
	 11611	 11612	 11613	 11614	 11619	 11620	 11621	 11622	 11623	 11624	 11625	 11626	 11627	 11636#
	 11638	 11639	 11640	 11641	 11662	 11663	 11664	 11665	 11666	 11667	 11668	 11669	 11670	 11675
	 11676	 11677	 11678	 11679	 11680	 11681	 11682	 11683	 11690#	 11692	 11693	 11694	 11695	 11715
	 11716	 11717	 11718	 11719	 11720	 11721	 11722	 11727	 11728	 11729	 11730	 11731	 11732	 11733
	 11734	 11758	 11759	 11760	 11761	 11762	 11763	 11764	 11765	 11766	 11772	 11773	 11774	 11775
	 11776	 11777	 11778	 11779	 11780	 11786#	 11788	 11789	 11790	 11791	 11809	 11810	 11811	 11812
	 11813	 11814	 11819	 11820	 11821	 11822	 11823	 11824	 11831#	 11833	 11834	 11835	 11836	 11860
	 11861	 11862	 11863	 11864	 11865	 11866	 11867	 11868	 11874	 11875	 11876	 11877	 11878	 11879
	 11880	 11881	 11882	 11887#	 11889	 11890	 11891	 11892	 11918	 11919	 11920	 11921	 11922	 11923
	 11924	 11925	 11926	 11933	 11934	 11935	 11936	 11937	 11938	 11939	 11940	 11941	 11964	 11965
	 11966	 11967	 11968	 11969	 11970	 11971	 11976	 11977	 11978	 11979	 11980	 11981	 11982	 11983
	 11988#	 11990	 11991	 11992	 11993	 12013	 12014	 12015	 12016	 12017	 12018	 12019	 12020	 12025
	 12026	 12027	 12028	 12029	 12030	 12031	 12032	 12037#	 12039	 12040	 12041	 12042	 12063	 12064
	 12065	 12066	 12067	 12068	 12069	 12070	 12071	 12076	 12077	 12078	 12079	 12080	 12081	 12082
	 12083	 12084	 12092#	 12094	 12095	 12096	 12097	 12119	 12120	 12121	 12122	 12123	 12124	 12125
	 12126	 12127	 12128	 12133	 12134	 12135	 12136	 12137	 12138	 12139	 12140	 12141	 12142	 12147#
	 12149	 12150	 12151	 12152	 12174	 12175	 12176	 12177	 12178	 12179	 12180	 12181	 12182	 12183
	 12188	 12189	 12190	 12191	 12192	 12193	 12194	 12195	 12196	 12197	 12202#	 12204	 12205	 12206
	 12207	 12228	 12229	 12230	 12231	 12232	 12233	 12234	 12235	 12236	 12241	 12242	 12243	 12244
	 12245	 12246	 12247	 12248	 12249	 12259#	 12261	 12262	 12263	 12264	 12285	 12286	 12287	 12288
	 12289	 12290	 12291	 12292	 12297	 12298	 12299	 12300	 12301	 12302	 12303	 12304	 12312#	 12338
	 12338#	 12340	 12341	 12342	 12343	 12345	 12346	 12347	 12348	 12349	 12350	 12351	 12352	 12355
	 12356	 12361	 12361#	 12363	 12364	 12365	 12366	 12368	 12369	 12370	 12371	 12372	 12373	 12374
	 12375	 12378	 12379	 12386#	 12388	 12389	 12390	 12391	 12414	 12415	 12416	 12417	 12418	 12419
	 12420	 12421	 12422	 12427	 12428	 12429	 12430	 12431	 12432	 12433	 12434	 12435	 12443#	 12445     SEQ 0379
	 12446	 12447	 12448	 12470	 12471	 12472	 12473	 12474	 12475	 12476	 12477	 12478	 12483	 12484
	 12485	 12486	 12487	 12488	 12489	 12490	 12491	 12500#	 12502	 12503	 12504	 12505	 12510	 12511
	 12512	 12513	 12514	 12515	 12516	 12517	 12518	 12519	 12520	 12524	 12525	 12526	 12527	 12528
	 12529	 12530	 12531	 12532	 12533	 12534	 12536	 12537	 12538	 12539	 12546#	 12548	 12549	 12550
	 12551	 12577	 12578	 12579	 12580	 12581	 12582	 12583	 12584	 12585	 12591	 12592	 12593	 12594
	 12595	 12596	 12597	 12598	 12599	 12605#	 12607	 12608	 12609	 12610	 12638	 12639	 12640	 12641
	 12642	 12644	 12645	 12646	 12647	 12648	 12649	 12650	 12651	 12657	 12658	 12659	 12660	 12661
	 12663	 12664	 12665	 12666	 12667	 12668	 12669	 12670	 12678#	 12680	 12681	 12682	 12683	 12704
	 12705	 12706	 12707	 12708	 12709	 12710	 12711	 12716	 12717	 12718	 12719	 12720	 12721	 12722
	 12723	 12729#	 12731	 12732	 12733	 12734	 12759	 12760	 12761	 12762	 12763	 12764	 12765	 12766
	 12767	 12768	 12774	 12775	 12776	 12777	 12778	 12779	 12780	 12781	 12782	 12783	 12789#	 12791
	 12792	 12793	 12794	 12830	 12831	 12832	 12833	 12834	 12835	 12836	 12837	 12838	 12839	 12842
	 12843	 12844	 12845	 12853	 12854	 12855	 12856	 12857	 12858	 12859	 12860	 12861	 12862	 12865
	 12866	 12867	 12868	 12874#	 12876	 12877	 12878	 12879	 12907	 12908	 12909	 12910	 12911	 12912
	 12913	 12914	 12915	 12922	 12923	 12924	 12925	 12926	 12927	 12928	 12929	 12930	 12938#	 12940
	 12941	 12942	 12943	 12978	 12979	 12980	 12981	 12982	 12983	 12985	 12986	 12987	 12988	 12989
	 12990	 12991	 12992	 13000	 13001	 13002	 13003	 13004	 13005	 13007	 13008	 13009	 13010	 13011
	 13012	 13013	 13014	 13021#	 13023	 13024	 13025	 13026	 13053	 13054	 13055	 13056	 13057	 13059
	 13060	 13061	 13062	 13069	 13070	 13071	 13072	 13073	 13075	 13076	 13077	 13078	 13085#	 13087
	 13088	 13089	 13090	 13115	 13116	 13117	 13118	 13119	 13122	 13123	 13130	 13131	 13132	 13133
	 13134	 13137	 13138	 13147#	 13169	 13169#	 13172	 13173	 13174	 13175	 13177	 13178	 13179	 13180
	 13181	 13184	 13185	 13189	 13189#	 13192	 13193	 13194	 13195	 13197	 13198	 13199	 13200	 13201
	 13204	 13205	 13211#	 13213	 13214	 13215	 13216	 13243	 13244	 13245	 13246	 13247	 13248	 13249
	 13250	 13251	 13252	 13258	 13259	 13260	 13261	 13262	 13263	 13264	 13265	 13266	 13267	 13275#
	 13277	 13278	 13279	 13280	 13302	 13303	 13304	 13305	 13306	 13307	 13308	 13309	 13310	 13315
	 13316	 13317	 13318	 13319	 13320	 13321	 13322	 13323	 13329	 13330	 13331	 13332	 13333	 13334
	 13335	 13336	 13337	 13338	 13339	 13341	 13342	 13343	 13344	 13356#	 13358	 13359	 13360	 13361
	 13389	 13390	 13391	 13392	 13393	 13394	 13395	 13396	 13397	 13398	 13399	 13406	 13407	 13408
	 13409	 13410	 13411	 13412	 13413	 13414	 13415	 13416	 13423	 13424	 13425	 13426	 13427	 13428
	 13429	 13430	 13431	 13432	 13433	 13440	 13441	 13442	 13443	 13444	 13445	 13446	 13447	 13448
	 13449	 13450	 13457	 13458	 13459	 13460	 13461	 13462	 13463	 13464	 13465	 13466	 13467	 13474
	 13475	 13476	 13477	 13478	 13479	 13480	 13481	 13482	 13483	 13484	 13491	 13492	 13493	 13494
	 13495	 13496	 13497	 13498	 13499	 13500	 13501	 13508	 13509	 13510	 13511	 13512	 13513	 13514
	 13515	 13516	 13517	 13518	 13525	 13526	 13527	 13528	 13529	 13530	 13531	 13532	 13533	 13534
	 13535	 13542	 13543	 13544	 13545	 13546	 13547	 13548	 13549	 13550	 13551	 13552	 13562#	 13564
	 13565	 13566	 13567	 13593	 13594	 13595	 13596	 13597	 13598	 13599	 13600	 13601	 13608	 13609
	 13610	 13611	 13612	 13613	 13614	 13615	 13616	 13623	 13624	 13625	 13626	 13627	 13628	 13629
	 13630	 13631	 13638	 13639	 13640	 13641	 13642	 13643	 13644	 13645	 13646	 13653	 13654	 13655
	 13656	 13657	 13658	 13659	 13660	 13661	 13670#	 13672	 13673	 13674	 13675	 13695	 13696	 13697
	 13698	 13699	 13700	 13706	 13707	 13708	 13709	 13710	 13711	 13717	 13718	 13719	 13720	 13721
	 13722	 13728	 13729	 13730	 13731	 13732	 13733	 13739	 13740	 13741	 13742	 13743	 13744	 13754#
	 13756	 13757	 13758	 13759	 13789	 13790	 13791	 13792	 13793	 13794	 13795	 13796	 13797	 13798
	 13799	 13807	 13808	 13809	 13810	 13811	 13812	 13813	 13814	 13815	 13816	 13817	 13825	 13826
	 13827	 13828	 13829	 13830	 13831	 13832	 13833	 13834	 13835	 13843	 13844	 13845	 13846	 13847
	 13848	 13849	 13850	 13851	 13852	 13853	 13861	 13862	 13863	 13864	 13865	 13866	 13867	 13868
	 13869	 13870	 13871	 13880#	 13882	 13883	 13884	 13885	 13914	 13915	 13916	 13917	 13918	 13919
	 13920	 13921	 13922	 13923	 13924	 13925	 13932	 13933	 13934	 13935	 13936	 13937	 13938	 13939
	 13940	 13941	 13942	 13943	 13950	 13951	 13952	 13953	 13954	 13955	 13956	 13957	 13958	 13959
	 13960	 13961	 13968	 13969	 13970	 13971	 13972	 13973	 13974	 13975	 13976	 13977	 13978	 13979
	 13986	 13987	 13988	 13989	 13990	 13991	 13992	 13993	 13994	 13995	 13996	 13997	 14007#	 14009
	 14010	 14011	 14012	 14038	 14039	 14040	 14041	 14042	 14043	 14044	 14045	 14046	 14053	 14054
	 14055	 14056	 14057	 14058	 14059	 14060	 14061	 14068	 14069	 14070	 14071	 14072	 14073	 14074
	 14075	 14076	 14083	 14084	 14085	 14086	 14087	 14088	 14089	 14090	 14091	 14098	 14099	 14100     SEQ 0380
	 14101	 14102	 14103	 14104	 14105	 14106	 14115#	 14117	 14118	 14119	 14120	 14141	 14142	 14143
	 14144	 14145	 14146	 14152	 14153	 14154	 14155	 14156	 14157	 14163	 14164	 14165	 14166	 14167
	 14168	 14174	 14175	 14176	 14177	 14178	 14179	 14185	 14186	 14187	 14188	 14189	 14190	 14199#
	 14201	 14202	 14203	 14204	 14231	 14232	 14233	 14234	 14235	 14236	 14237	 14238	 14239	 14240
	 14241	 14242	 14248	 14249	 14250	 14251	 14252	 14253	 14254	 14255	 14256	 14257	 14258	 14259
	 14265	 14266	 14267	 14268	 14269	 14270	 14271	 14272	 14273	 14274	 14275	 14276	 14282	 14283
	 14284	 14285	 14286	 14287	 14288	 14289	 14290	 14291	 14292	 14293	 14299	 14300	 14301	 14302
	 14303	 14304	 14305	 14306	 14307	 14308	 14309	 14310	 14319#	 14321	 14322	 14323	 14324	 14346
	 14347	 14348	 14349	 14350	 14351	 14352	 14353	 14359	 14360	 14361	 14362	 14363	 14364	 14365
	 14366	 14372	 14373	 14374	 14375	 14376	 14377	 14378	 14379	 14385	 14386	 14387	 14388	 14389
	 14390	 14391	 14392	 14398	 14399	 14400	 14401	 14402	 14403	 14404	 14405	 14417#	 14419	 14420
	 14421	 14422	 14444	 14445	 14446	 14447	 14448	 14449	 14450	 14451	 14457	 14458	 14459	 14460
	 14461	 14462	 14463	 14464	 14470	 14471	 14472	 14473	 14474	 14475	 14476	 14477	 14483	 14484
	 14485	 14486	 14487	 14488	 14489	 14490	 14496	 14497	 14498	 14499	 14500	 14501	 14502	 14503
	 14509	 14510	 14511	 14512	 14513	 14514	 14515	 14516	 14522	 14523	 14524	 14525	 14526	 14527
	 14528	 14529	 14535	 14536	 14537	 14538	 14539	 14540	 14541	 14542	 14548	 14549	 14550	 14551
	 14552	 14553	 14554	 14555	 14561	 14562	 14563	 14564	 14565	 14566	 14567	 14568	 14574	 14575
	 14576	 14577	 14578	 14579	 14580	 14581	 14587	 14588	 14589	 14590	 14591	 14592	 14593	 14594
	 14600	 14601	 14602	 14603	 14604	 14605	 14606	 14607	 14613	 14614	 14615	 14616	 14617	 14618
	 14619	 14620	 14626	 14627	 14628	 14629	 14630	 14631	 14632	 14633	 14639	 14640	 14641	 14642
	 14643	 14644	 14645	 14646	 14652	 14653	 14654	 14655	 14656	 14657	 14658	 14659	 14665	 14666
	 14667	 14668	 14669	 14670	 14671	 14672	 14694	 14695	 14696	 14697	 14698	 14699	 14700	 14701
	 14707	 14708	 14709	 14710	 14711	 14712	 14713	 14714	 14720	 14721	 14722	 14723	 14724	 14725
	 14726	 14727	 14733	 14734	 14735	 14736	 14737	 14738	 14739	 14740	 14746	 14747	 14748	 14749
	 14750	 14751	 14752	 14753	 14759	 14760	 14761	 14762	 14763	 14764	 14765	 14766	 14772	 14773
	 14774	 14775	 14776	 14777	 14778	 14779	 14785	 14786	 14787	 14788	 14789	 14790	 14791	 14792
	 14798	 14799	 14800	 14801	 14802	 14803	 14804	 14805	 14811	 14812	 14813	 14814	 14815	 14816
	 14817	 14818	 14824	 14825	 14826	 14827	 14828	 14829	 14830	 14831	 14837	 14838	 14839	 14840
	 14841	 14842	 14843	 14844	 14850	 14851	 14852	 14853	 14854	 14855	 14856	 14857	 14863	 14864
	 14865	 14866	 14867	 14868	 14869	 14870	 14876	 14877	 14878	 14879	 14880	 14881	 14882	 14883
	 14889	 14890	 14891	 14892	 14893	 14894	 14895	 14896	 14902	 14903	 14904	 14905	 14906	 14907
	 14908	 14909	 14921#	 14923	 14924	 14925	 14926	 14951	 14952	 14953	 14954	 14955	 14956	 14957
	 14958	 14959	 14960	 14961	 14967	 14968	 14969	 14970	 14971	 14972	 14973	 14974	 14975	 14976
	 14977	 14983	 14984	 14985	 14986	 14987	 14988	 14989	 14990	 14991	 14992	 14993	 14999	 15000
	 15001	 15002	 15003	 15004	 15005	 15006	 15007	 15008	 15009	 15015	 15016	 15017	 15018	 15019
	 15020	 15021	 15022	 15023	 15024	 15025	 15031	 15032	 15033	 15034	 15035	 15036	 15037	 15038
	 15039	 15040	 15041	 15047	 15048	 15049	 15050	 15051	 15052	 15053	 15054	 15055	 15056	 15057
	 15063	 15064	 15065	 15066	 15067	 15068	 15069	 15070	 15071	 15072	 15073	 15079	 15080	 15081
	 15082	 15083	 15084	 15085	 15086	 15087	 15088	 15089	 15095	 15096	 15097	 15098	 15099	 15100
	 15101	 15102	 15103	 15104	 15105	 15111	 15112	 15113	 15114	 15115	 15116	 15117	 15118	 15119
	 15120	 15121	 15127	 15128	 15129	 15130	 15131	 15132	 15133	 15134	 15135	 15136	 15137	 15143
	 15144	 15145	 15146	 15147	 15148	 15149	 15150	 15151	 15152	 15153	 15159	 15160	 15161	 15162
	 15163	 15164	 15165	 15166	 15167	 15168	 15169	 15175	 15176	 15177	 15178	 15179	 15180	 15181
	 15182	 15183	 15184	 15185	 15191	 15192	 15193	 15194	 15195	 15196	 15197	 15198	 15199	 15200
	 15201	 15207	 15208	 15209	 15210	 15211	 15212	 15213	 15214	 15215	 15216	 15217	 15223	 15224
	 15225	 15226	 15227	 15228	 15229	 15230	 15231	 15232	 15233	 15258	 15259	 15260	 15261	 15262
	 15263	 15264	 15265	 15266	 15267	 15268	 15274	 15275	 15276	 15277	 15278	 15279	 15280	 15281
	 15282	 15283	 15284	 15290	 15291	 15292	 15293	 15294	 15295	 15296	 15297	 15298	 15299	 15300
	 15306	 15307	 15308	 15309	 15310	 15311	 15312	 15313	 15314	 15315	 15316	 15322	 15323	 15324
	 15325	 15326	 15327	 15328	 15329	 15330	 15331	 15332	 15338	 15339	 15340	 15341	 15342	 15343
	 15344	 15345	 15346	 15347	 15348	 15354	 15355	 15356	 15357	 15358	 15359	 15360	 15361	 15362
	 15363	 15364	 15370	 15371	 15372	 15373	 15374	 15375	 15376	 15377	 15378	 15379	 15380	 15386
	 15387	 15388	 15389	 15390	 15391	 15392	 15393	 15394	 15395	 15396	 15402	 15403	 15404	 15405     SEQ 0381
	 15406	 15407	 15408	 15409	 15410	 15411	 15412	 15418	 15419	 15420	 15421	 15422	 15423	 15424
	 15425	 15426	 15427	 15428	 15434	 15435	 15436	 15437	 15438	 15439	 15440	 15441	 15442	 15443
	 15444	 15450	 15451	 15452	 15453	 15454	 15455	 15456	 15457	 15458	 15459	 15460	 15466	 15467
	 15468	 15469	 15470	 15471	 15472	 15473	 15474	 15475	 15476	 15482	 15483	 15484	 15485	 15486
	 15487	 15488	 15489	 15490	 15491	 15492	 15498	 15499	 15500	 15501	 15502	 15503	 15504	 15505
	 15506	 15507	 15508	 15514	 15515	 15516	 15517	 15518	 15519	 15520	 15521	 15522	 15523	 15524
	 15534#	 15536	 15537	 15538	 15539	 15562	 15563	 15564	 15565	 15566	 15567	 15568	 15569	 15575
	 15576	 15577	 15578	 15579	 15580	 15581	 15582	 15588	 15589	 15590	 15591	 15592	 15593	 15594
	 15595	 15601	 15602	 15603	 15604	 15605	 15606	 15607	 15608	 15614	 15615	 15616	 15617	 15618
	 15619	 15620	 15621	 15627	 15628	 15629	 15630	 15631	 15632	 15633	 15634	 15640	 15641	 15642
	 15643	 15644	 15645	 15646	 15647	 15653	 15654	 15655	 15656	 15657	 15658	 15659	 15660	 15666
	 15667	 15668	 15669	 15670	 15671	 15672	 15673	 15679	 15680	 15681	 15682	 15683	 15684	 15685
	 15686	 15696#	 15698	 15699	 15700	 15701	 15732	 15733	 15734	 15735	 15736	 15737	 15738	 15739
	 15740	 15741	 15742	 15743	 15751	 15752	 15753	 15754	 15755	 15756	 15757	 15758	 15759	 15760
	 15761	 15762	 15770	 15771	 15772	 15773	 15774	 15775	 15776	 15777	 15778	 15779	 15780	 15781
	 15789	 15790	 15791	 15792	 15793	 15794	 15795	 15796	 15797	 15798	 15799	 15800	 15808	 15809
	 15810	 15811	 15812	 15813	 15814	 15815	 15816	 15817	 15818	 15819	 15829#	 15831	 15832	 15833
	 15834	 15860	 15861	 15862	 15863	 15864	 15865	 15866	 15867	 15868	 15869	 15870	 15876	 15877
	 15878	 15879	 15880	 15881	 15882	 15883	 15884	 15885	 15886	 15892	 15893	 15894	 15895	 15896
	 15897	 15898	 15899	 15900	 15901	 15902	 15908	 15909	 15910	 15911	 15912	 15913	 15914	 15915
	 15916	 15917	 15918	 15924	 15925	 15926	 15927	 15928	 15929	 15930	 15931	 15932	 15933	 15934
	 15943#	 15945	 15946	 15947	 15948	 15975	 15976	 15977	 15978	 15979	 15980	 15981	 15982	 15983
	 15984	 15985	 15986	 15992	 15993	 15994	 15995	 15996	 15997	 15998	 15999	 16000	 16001	 16002
	 16003	 16009	 16010	 16011	 16012	 16013	 16014	 16015	 16016	 16017	 16018	 16019	 16020	 16026
	 16027	 16028	 16029	 16030	 16031	 16032	 16033	 16034	 16035	 16036	 16037	 16043	 16044	 16045
	 16046	 16047	 16048	 16049	 16050	 16051	 16052	 16053	 16054	 16063#	 16065	 16066	 16067	 16068
	 16090	 16091	 16092	 16093	 16094	 16095	 16096	 16097	 16103	 16104	 16105	 16106	 16107	 16108
	 16109	 16110	 16116	 16117	 16118	 16119	 16120	 16121	 16122	 16123	 16129	 16130	 16131	 16132
	 16133	 16134	 16135	 16136	 16142	 16143	 16144	 16145	 16146	 16147	 16148	 16149	 16158#	 16160
	 16161	 16162	 16163	 16190	 16191	 16192	 16193	 16194	 16195	 16196	 16197	 16198	 16199	 16200
	 16201	 16207	 16208	 16209	 16210	 16211	 16212	 16213	 16214	 16215	 16216	 16217	 16218	 16224
	 16225	 16226	 16227	 16228	 16229	 16230	 16231	 16232	 16233	 16234	 16235	 16241	 16242	 16243
	 16244	 16245	 16246	 16247	 16248	 16249	 16250	 16251	 16252	 16258	 16259	 16260	 16261	 16262
	 16263	 16264	 16265	 16266	 16267	 16268	 16269	 16278#	 16280	 16281	 16282	 16283	 16310	 16311
	 16312	 16313	 16314	 16315	 16316	 16317	 16318	 16319	 16320	 16321	 16327	 16328	 16329	 16330
	 16331	 16332	 16333	 16334	 16335	 16336	 16337	 16338	 16344	 16345	 16346	 16347	 16348	 16349
	 16350	 16351	 16352	 16353	 16354	 16355	 16361	 16362	 16363	 16364	 16365	 16366	 16367	 16368
	 16369	 16370	 16371	 16372	 16378	 16379	 16380	 16381	 16382	 16383	 16384	 16385	 16386	 16387
	 16388	 16389
ADR	   709#	   735	   735#	   745	   769	   769#	   779	   803	   803#	   813	   837	   837#	   847	   871
	   871#	   881	   905	   905#	   915	   939	   939#	   949	   973	   973#	   983	  1007	  1007#	  1017
	  1041	  1041#	  1051	  1075	  1075#	  1085	  1109	  1109#	  1119	  1143	  1143#	  1153	  1177	  1177#
	  1187	  1211	  1211#	  1221	  1245	  1245#	  1255	  1279	  1279#	  1289	  1313	  1313#	  1323	  1347
	  1347#	  1357	  1381	  1381#	  1391	  1415	  1415#	  1425	  1449	  1449#	  1459	  1483	  1483#	  1493
	  1517	  1517#	  1527	  1551	  1551#	  1561	  1585	  1585#	  1595	  1619	  1619#	  1629	  1653	  1653#
	  1663	  1687	  1687#	  1697	  1721	  1721#	  1731	  1755	  1755#	  1765	  1789	  1789#	  1799	  1823
	  1823#	  1833	  1857	  1857#	  1867	  1891	  1891#	  1901	  1925	  1925#	  1935	  1982	  1982#	  1992
	  2016	  2016#	  2026	  2050	  2050#	  2060	  2084	  2084#	  2094	  2118	  2118#	  2128	  2152	  2152#
	  2162	  2186	  2186#	  2196	  2220	  2220#	  2230	  2254	  2254#	  2264	  2288	  2288#	  2298	  2322
	  2322#	  2332	  2356	  2356#	  2366	  2390	  2390#	  2400	  2424	  2424#	  2434	  2458	  2458#	  2468
	  2492	  2492#	  2502	  2526	  2526#	  2536	  2560	  2560#	  2570	  2594	  2594#	  2604	  2628	  2628#
	  2638	  2662	  2662#	  2672	  2696	  2696#	  2706	  2730	  2730#	  2740	  2764	  2764#	  2774	  2798
	  2798#	  2808	  2832	  2832#	  2842	  2866	  2866#	  2876	  2900	  2900#	  2910	  2934	  2934#	  2944     SEQ 0382
	  2968	  2968#	  2978	  3002	  3002#	  3012	  3036	  3036#	  3046	  3070	  3070#	  3080	  3104	  3104#
	  3114	  3138	  3138#	  3148	  3172	  3172#	  3182	  3228	  3228#	  3238	  3262	  3262#	  3272	  3296
	  3296#	  3306	  3330	  3330#	  3340	  3364	  3364#	  3374	  3398	  3398#	  3408	  3432	  3432#	  3442
	  3466	  3466#	  3476	  3500	  3500#	  3510	  3534	  3534#	  3544	  3568	  3568#	  3578	  3602	  3602#
	  3612	  3636	  3636#	  3646	  3670	  3670#	  3680	  3704	  3704#	  3714	  3738	  3738#	  3748	  3772
	  3772#	  3782	  3806	  3806#	  3816	  3840	  3840#	  3850	  3874	  3874#	  3884	  3908	  3908#	  3918
	  3942	  3942#	  3952	  3976	  3976#	  3986	  4010	  4010#	  4020	  4044	  4044#	  4054	  4078	  4078#
	  4088	  4112	  4112#	  4122	  4146	  4146#	  4156	  4180	  4180#	  4190	  4214	  4214#	  4224	  4248
	  4248#	  4258	  4282	  4282#	  4292	  4316	  4316#	  4326	  4350	  4350#	  4360	  4384	  4384#	  4394
	  4418	  4418#	  4428	  4471	  4471#	  4479	  4503	  4503#	  4511	  4535	  4535#	  4543	  4567	  4567#
	  4575	  4599	  4599#	  4607	  4631	  4631#	  4639	  4663	  4663#	  4671	  4695	  4695#	  4703	  4727
	  4727#	  4735	  4759	  4759#	  4767	  4791	  4791#	  4799	  4823	  4823#	  4831	  4855	  4855#	  4863
	  4887	  4887#	  4895	  4919	  4919#	  4927	  4951	  4951#	  4959	  4983	  4983#	  4991	  5015	  5015#
	  5023	  5047	  5047#	  5055	  5079	  5079#	  5087	  5111	  5111#	  5119	  5143	  5143#	  5151	  5175
	  5175#	  5183	  5207	  5207#	  5215	  5239	  5239#	  5247	  5271	  5271#	  5279	  5303	  5303#	  5311
	  5335	  5335#	  5343	  5367	  5367#	  5375	  5399	  5399#	  5407	  5431	  5431#	  5439	  5463	  5463#
	  5471	  5495	  5495#	  5503	  5527	  5527#	  5535	  5559	  5559#	  5567	  5591	  5591#	  5599	  5644
	  5644#	  5654	  5678	  5678#	  5688	  5712	  5712#	  5722	  5746	  5746#	  5756	  5780	  5780#	  5790
	  5814	  5814#	  5824	  5848	  5848#	  5858	  5882	  5882#	  5892	  5916	  5916#	  5926	  5950	  5950#
	  5960	  5984	  5984#	  5994	  6018	  6018#	  6028	  6052	  6052#	  6062	  6086	  6086#	  6096	  6120
	  6120#	  6130	  6154	  6154#	  6164	  6188	  6188#	  6198	  6222	  6222#	  6232	  6256	  6256#	  6266
	  6290	  6290#	  6300	  6324	  6324#	  6334	  6358	  6358#	  6368	  6392	  6392#	  6402	  6426	  6426#
	  6436	  6460	  6460#	  6470	  6494	  6494#	  6504	  6528	  6528#	  6538	  6562	  6562#	  6572	  6596
	  6596#	  6606	  6630	  6630#	  6640	  6664	  6664#	  6674	  6698	  6698#	  6708	  6732	  6732#	  6742
	  6766	  6766#	  6776	  6800	  6800#	  6810	  6834	  6834#	  6844	  6892	  6892#	  6904	  6928	  6928#
	  6940	  6964	  6964#	  6976	  7000	  7000#	  7012	  7036	  7036#	  7048	  7072	  7072#	  7084	  7108
	  7108#	  7120	  7144	  7144#	  7156	  7180	  7180#	  7192	  7216	  7216#	  7228	  7252	  7252#	  7264
	  7288	  7288#	  7300	  7324	  7324#	  7336	  7360	  7360#	  7372	  7396	  7396#	  7408	  7432	  7432#
	  7444	  7468	  7468#	  7480	  7504	  7504#	  7516	  7540	  7540#	  7552	  7576	  7576#	  7588	  7612
	  7612#	  7624	  7648	  7648#	  7660	  7684	  7684#	  7696	  7720	  7720#	  7732	  7756	  7756#	  7768
	  7792	  7792#	  7804	  7828	  7828#	  7840	  7864	  7864#	  7876	  7900	  7900#	  7912	  7936	  7936#
	  7948	  7972	  7972#	  7984	  8008	  8008#	  8020	  8044	  8044#	  8056	  8080	  8080#	  8092	  8116
	  8116#	  8128	  8152	  8152#	  8164	  8212	  8212#	  8224	  8248	  8248#	  8260	  8284	  8284#	  8296
	  8320	  8320#	  8332	  8356	  8356#	  8368	  8392	  8392#	  8404	  8428	  8428#	  8440	  8464	  8464#
	  8476	  8500	  8500#	  8512	  8536	  8536#	  8548	  8572	  8572#	  8584	  8608	  8608#	  8620	  8644
	  8644#	  8656	  8680	  8680#	  8692	  8716	  8716#	  8728	  8752	  8752#	  8764	  8788	  8788#	  8800
	  8824	  8824#	  8836	  8860	  8860#	  8872	  8896	  8896#	  8908	  8932	  8932#	  8944	  8968	  8968#
	  8980	  9004	  9004#	  9016	  9040	  9040#	  9052	  9076	  9076#	  9088	  9112	  9112#	  9124	  9148
	  9148#	  9160	  9184	  9184#	  9196	  9220	  9220#	  9232	  9256	  9256#	  9268	  9292	  9292#	  9304
	  9328	  9328#	  9340	  9364	  9364#	  9376	  9400	  9400#	  9412	  9436	  9436#	  9448	  9472	  9472#
	  9484
AEE	   755#	   764#	   789#	   798#	   823#	   832#	   857#	   866#	   891#	   900#	   925#	   934#	   959#	   968#
	   993#	  1002#	  1027#	  1036#	  1061#	  1070#	  1095#	  1104#	  1129#	  1138#	  1163#	  1172#	  1197#	  1206#
	  1231#	  1240#	  1265#	  1274#	  1299#	  1308#	  1333#	  1342#	  1367#	  1376#	  1401#	  1410#	  1435#	  1444#
	  1469#	  1478#	  1503#	  1512#	  1537#	  1546#	  1571#	  1580#	  1605#	  1614#	  1639#	  1648#	  1673#	  1682#
	  1707#	  1716#	  1741#	  1750#	  1775#	  1784#	  1809#	  1818#	  1843#	  1852#	  1877#	  1886#	  1911#	  1920#
	  1945#	  1954#	  2002#	  2011#	  2036#	  2045#	  2070#	  2079#	  2104#	  2113#	  2138#	  2147#	  2172#	  2181#
	  2206#	  2215#	  2240#	  2249#	  2274#	  2283#	  2308#	  2317#	  2342#	  2351#	  2376#	  2385#	  2410#	  2419#
	  2444#	  2453#	  2478#	  2487#	  2512#	  2521#	  2546#	  2555#	  2580#	  2589#	  2614#	  2623#	  2648#	  2657#
	  2682#	  2691#	  2716#	  2725#	  2750#	  2759#	  2784#	  2793#	  2818#	  2827#	  2852#	  2861#	  2886#	  2895#
	  2920#	  2929#	  2954#	  2963#	  2988#	  2997#	  3022#	  3031#	  3056#	  3065#	  3090#	  3099#	  3124#	  3133#
	  3158#	  3167#	  3192#	  3201#	  3248#	  3257#	  3282#	  3291#	  3316#	  3325#	  3350#	  3359#	  3384#	  3393#
	  3418#	  3427#	  3452#	  3461#	  3486#	  3495#	  3520#	  3529#	  3554#	  3563#	  3588#	  3597#	  3622#	  3631#    SEQ 0383
	  3656#	  3665#	  3690#	  3699#	  3724#	  3733#	  3758#	  3767#	  3792#	  3801#	  3826#	  3835#	  3860#	  3869#
	  3894#	  3903#	  3928#	  3937#	  3962#	  3971#	  3996#	  4005#	  4030#	  4039#	  4064#	  4073#	  4098#	  4107#
	  4132#	  4141#	  4166#	  4175#	  4200#	  4209#	  4234#	  4243#	  4268#	  4277#	  4302#	  4311#	  4336#	  4345#
	  4370#	  4379#	  4404#	  4413#	  4438#	  4447#	  4489#	  4498#	  4521#	  4530#	  4553#	  4562#	  4585#	  4594#
	  4617#	  4626#	  4649#	  4658#	  4681#	  4690#	  4713#	  4722#	  4745#	  4754#	  4777#	  4786#	  4809#	  4818#
	  4841#	  4850#	  4873#	  4882#	  4905#	  4914#	  4937#	  4946#	  4969#	  4978#	  5001#	  5010#	  5033#	  5042#
	  5065#	  5074#	  5097#	  5106#	  5129#	  5138#	  5161#	  5170#	  5193#	  5202#	  5225#	  5234#	  5257#	  5266#
	  5289#	  5298#	  5321#	  5330#	  5353#	  5362#	  5385#	  5394#	  5417#	  5426#	  5449#	  5458#	  5481#	  5490#
	  5513#	  5522#	  5545#	  5554#	  5577#	  5586#	  5609#	  5618#	  5664#	  5673#	  5698#	  5707#	  5732#	  5741#
	  5766#	  5775#	  5800#	  5809#	  5834#	  5843#	  5868#	  5877#	  5902#	  5911#	  5936#	  5945#	  5970#	  5979#
	  6004#	  6013#	  6038#	  6047#	  6072#	  6081#	  6106#	  6115#	  6140#	  6149#	  6174#	  6183#	  6208#	  6217#
	  6242#	  6251#	  6276#	  6285#	  6310#	  6319#	  6344#	  6353#	  6378#	  6387#	  6412#	  6421#	  6446#	  6455#
	  6480#	  6489#	  6514#	  6523#	  6548#	  6557#	  6582#	  6591#	  6616#	  6625#	  6650#	  6659#	  6684#	  6693#
	  6718#	  6727#	  6752#	  6761#	  6786#	  6795#	  6820#	  6829#	  6854#	  6863#	  6914#	  6923#	  6950#	  6959#
	  6986#	  6995#	  7022#	  7031#	  7058#	  7067#	  7094#	  7103#	  7130#	  7139#	  7166#	  7175#	  7202#	  7211#
	  7238#	  7247#	  7274#	  7283#	  7310#	  7319#	  7346#	  7355#	  7382#	  7391#	  7418#	  7427#	  7454#	  7463#
	  7490#	  7499#	  7526#	  7535#	  7562#	  7571#	  7598#	  7607#	  7634#	  7643#	  7670#	  7679#	  7706#	  7715#
	  7742#	  7751#	  7778#	  7787#	  7814#	  7823#	  7850#	  7859#	  7886#	  7895#	  7922#	  7931#	  7958#	  7967#
	  7994#	  8003#	  8030#	  8039#	  8066#	  8075#	  8102#	  8111#	  8138#	  8147#	  8174#	  8183#	  8234#	  8243#
	  8270#	  8279#	  8306#	  8315#	  8342#	  8351#	  8378#	  8387#	  8414#	  8423#	  8450#	  8459#	  8486#	  8495#
	  8522#	  8531#	  8558#	  8567#	  8594#	  8603#	  8630#	  8639#	  8666#	  8675#	  8702#	  8711#	  8738#	  8747#
	  8774#	  8783#	  8810#	  8819#	  8846#	  8855#	  8882#	  8891#	  8918#	  8927#	  8954#	  8963#	  8990#	  8999#
	  9026#	  9035#	  9062#	  9071#	  9098#	  9107#	  9134#	  9143#	  9170#	  9179#	  9206#	  9215#	  9242#	  9251#
	  9278#	  9287#	  9314#	  9323#	  9350#	  9359#	  9386#	  9395#	  9422#	  9431#	  9458#	  9467#	  9494#	  9503#
ALTMGO	   446#	 16527
AMCLRB	   360#
ANXM	   360#
APR	 16404	 16556
AR1	   758#	   792#	   826#	   860#	   894#	   928#	   962#	   996#	  1030#	  1064#	  1098#	  1132#	  1166#	  1200#
	  1234#	  1268#	  1302#	  1336#	  1370#	  1404#	  1438#	  1472#	  1506#	  1540#	  1574#	  1608#	  1642#	  1676#
	  1710#	  1744#	  1778#	  1812#	  1846#	  1880#	  1914#	  1948#	  2005#	  2039#	  2073#	  2107#	  2141#	  2175#
	  2209#	  2243#	  2277#	  2311#	  2345#	  2379#	  2413#	  2447#	  2481#	  2515#	  2549#	  2583#	  2617#	  2651#
	  2685#	  2719#	  2753#	  2787#	  2821#	  2855#	  2889#	  2923#	  2957#	  2991#	  3025#	  3059#	  3093#	  3127#
	  3161#	  3195#	  3251#	  3285#	  3319#	  3353#	  3387#	  3421#	  3455#	  3489#	  3523#	  3557#	  3591#	  3625#
	  3659#	  3693#	  3727#	  3761#	  3795#	  3829#	  3863#	  3897#	  3931#	  3965#	  3999#	  4033#	  4067#	  4101#
	  4135#	  4169#	  4203#	  4237#	  4271#	  4305#	  4339#	  4373#	  4407#	  4441#	  4492#	  4524#	  4556#	  4588#
	  4620#	  4652#	  4684#	  4716#	  4748#	  4780#	  4812#	  4844#	  4876#	  4908#	  4940#	  4972#	  5004#	  5036#
	  5068#	  5100#	  5132#	  5164#	  5196#	  5228#	  5260#	  5292#	  5324#	  5356#	  5388#	  5420#	  5452#	  5484#
	  5516#	  5548#	  5580#	  5612#	  5667#	  5701#	  5735#	  5769#	  5803#	  5837#	  5871#	  5905#	  5939#	  5973#
	  6007#	  6041#	  6075#	  6109#	  6143#	  6177#	  6211#	  6245#	  6279#	  6313#	  6347#	  6381#	  6415#	  6449#
	  6483#	  6517#	  6551#	  6585#	  6619#	  6653#	  6687#	  6721#	  6755#	  6789#	  6823#	  6857#	  6917#	  6953#
	  6989#	  7025#	  7061#	  7097#	  7133#	  7169#	  7205#	  7241#	  7277#	  7313#	  7349#	  7385#	  7421#	  7457#
	  7493#	  7529#	  7565#	  7601#	  7637#	  7673#	  7709#	  7745#	  7781#	  7817#	  7853#	  7889#	  7925#	  7961#
	  7997#	  8033#	  8069#	  8105#	  8141#	  8177#	  8237#	  8273#	  8309#	  8345#	  8381#	  8417#	  8453#	  8489#
	  8525#	  8561#	  8597#	  8633#	  8669#	  8705#	  8741#	  8777#	  8813#	  8849#	  8885#	  8921#	  8957#	  8993#
	  9029#	  9065#	  9101#	  9137#	  9173#	  9209#	  9245#	  9281#	  9317#	  9353#	  9389#	  9425#	  9461#	  9497#
AR2	   761#	   795#	   829#	   863#	   897#	   931#	   965#	   999#	  1033#	  1067#	  1101#	  1135#	  1169#	  1203#
	  1237#	  1271#	  1305#	  1339#	  1373#	  1407#	  1441#	  1475#	  1509#	  1543#	  1577#	  1611#	  1645#	  1679#
	  1713#	  1747#	  1781#	  1815#	  1849#	  1883#	  1917#	  1951#	  2008#	  2042#	  2076#	  2110#	  2144#	  2178#
	  2212#	  2246#	  2280#	  2314#	  2348#	  2382#	  2416#	  2450#	  2484#	  2518#	  2552#	  2586#	  2620#	  2654#
	  2688#	  2722#	  2756#	  2790#	  2824#	  2858#	  2892#	  2926#	  2960#	  2994#	  3028#	  3062#	  3096#	  3130#
	  3164#	  3198#	  3254#	  3288#	  3322#	  3356#	  3390#	  3424#	  3458#	  3492#	  3526#	  3560#	  3594#	  3628#
	  3662#	  3696#	  3730#	  3764#	  3798#	  3832#	  3866#	  3900#	  3934#	  3968#	  4002#	  4036#	  4070#	  4104#    SEQ 0384
	  4138#	  4172#	  4206#	  4240#	  4274#	  4308#	  4342#	  4376#	  4410#	  4444#	  4495#	  4527#	  4559#	  4591#
	  4623#	  4655#	  4687#	  4719#	  4751#	  4783#	  4815#	  4847#	  4879#	  4911#	  4943#	  4975#	  5007#	  5039#
	  5071#	  5103#	  5135#	  5167#	  5199#	  5231#	  5263#	  5295#	  5327#	  5359#	  5391#	  5423#	  5455#	  5487#
	  5519#	  5551#	  5583#	  5615#	  5670#	  5704#	  5738#	  5772#	  5806#	  5840#	  5874#	  5908#	  5942#	  5976#
	  6010#	  6044#	  6078#	  6112#	  6146#	  6180#	  6214#	  6248#	  6282#	  6316#	  6350#	  6384#	  6418#	  6452#
	  6486#	  6520#	  6554#	  6588#	  6622#	  6656#	  6690#	  6724#	  6758#	  6792#	  6826#	  6860#	  6920#	  6956#
	  6992#	  7028#	  7064#	  7100#	  7136#	  7172#	  7208#	  7244#	  7280#	  7316#	  7352#	  7388#	  7424#	  7460#
	  7496#	  7532#	  7568#	  7604#	  7640#	  7676#	  7712#	  7748#	  7784#	  7820#	  7856#	  7892#	  7928#	  7964#
	  8000#	  8036#	  8072#	  8108#	  8144#	  8180#	  8240#	  8276#	  8312#	  8348#	  8384#	  8420#	  8456#	  8492#
	  8528#	  8564#	  8600#	  8636#	  8672#	  8708#	  8744#	  8780#	  8816#	  8852#	  8888#	  8924#	  8960#	  8996#
	  9032#	  9068#	  9104#	  9140#	  9176#	  9212#	  9248#	  9284#	  9320#	  9356#	  9392#	  9428#	  9464#	  9500#
AROV	   360#
AROVTP	   360#
AROVU	   360#
AST	   561#
ATSIN	   562#
BEGEND	   442#	 16392
BEGIN	    68	    69	    70	    71	    72	    73	    74	    75	    76	    77	    78	   345	   346	   373#
	 16962
BEGIN1	   389#	   443
BELL	   565#
BIS	   360#
CCA	   360#
CHAIN	   151#
CHNOFF	   360#
CHNON	   360#
CLK	   360#
CLKCLR	   360#
CLKDIS	   360#
CLKENB	   360#
CLKU	   360#
CLOCKF	   428#
CNTLC	   445#
CNTRP	   360#
COMMA	   554#
CONSW	   429#	 16461	 16528	 16559
CPOPJ	   449#
CPOPJ1	   447#
CRLF	   280	   281	   549#
CRLF2	   284	   285	   551#
CRY0	   360#
CRY1	   360#
CSHFLG	   608#
CSHMEM	   609#
CTRP	   360#
CYCL60	   602#
DCK	   360#	 11315	 11334	 12537	 12645	 12664	 12843	 12866	 12986	 13008	 13342
DDTLNK	   165#	   387
DDTSRT	   387#
DEBUG	    58#	 16953	 16954
DECVER	     4#	    11	    25	   408
DF22F	   513#
DIAGMN	   376#                                                                                                            SEQ 0385
DING	   137#	 16533
DOLLAR	   568#
DSKUPD	   413
E	   711#	   756	   757	   765	   766	   790	   791	   799	   800	   824	   825	   833	   834	   858
	   859	   867	   868	   892	   893	   901	   902	   926	   927	   935	   936	   960	   961	   969
	   970	   994	   995	  1003	  1004	  1028	  1029	  1037	  1038	  1062	  1063	  1071	  1072	  1096
	  1097	  1105	  1106	  1130	  1131	  1139	  1140	  1164	  1165	  1173	  1174	  1198	  1199	  1207
	  1208	  1232	  1233	  1241	  1242	  1266	  1267	  1275	  1276	  1300	  1301	  1309	  1310	  1334
	  1335	  1343	  1344	  1368	  1369	  1377	  1378	  1402	  1403	  1411	  1412	  1436	  1437	  1445
	  1446	  1470	  1471	  1479	  1480	  1504	  1505	  1513	  1514	  1538	  1539	  1547	  1548	  1572
	  1573	  1581	  1582	  1606	  1607	  1615	  1616	  1640	  1641	  1649	  1650	  1674	  1675	  1683
	  1684	  1708	  1709	  1717	  1718	  1742	  1743	  1751	  1752	  1776	  1777	  1785	  1786	  1810
	  1811	  1819	  1820	  1844	  1845	  1853	  1854	  1878	  1879	  1887	  1888	  1912	  1913	  1921
	  1922	  1946	  1947	  1955	  1956	  1959#	  2003	  2004	  2012	  2013	  2037	  2038	  2046	  2047
	  2071	  2072	  2080	  2081	  2105	  2106	  2114	  2115	  2139	  2140	  2148	  2149	  2173	  2174
	  2182	  2183	  2207	  2208	  2216	  2217	  2241	  2242	  2250	  2251	  2275	  2276	  2284	  2285
	  2309	  2310	  2318	  2319	  2343	  2344	  2352	  2353	  2377	  2378	  2386	  2387	  2411	  2412
	  2420	  2421	  2445	  2446	  2454	  2455	  2479	  2480	  2488	  2489	  2513	  2514	  2522	  2523
	  2547	  2548	  2556	  2557	  2581	  2582	  2590	  2591	  2615	  2616	  2624	  2625	  2649	  2650
	  2658	  2659	  2683	  2684	  2692	  2693	  2717	  2718	  2726	  2727	  2751	  2752	  2760	  2761
	  2785	  2786	  2794	  2795	  2819	  2820	  2828	  2829	  2853	  2854	  2862	  2863	  2887	  2888
	  2896	  2897	  2921	  2922	  2930	  2931	  2955	  2956	  2964	  2965	  2989	  2990	  2998	  2999
	  3023	  3024	  3032	  3033	  3057	  3058	  3066	  3067	  3091	  3092	  3100	  3101	  3125	  3126
	  3134	  3135	  3159	  3160	  3168	  3169	  3193	  3194	  3202	  3203	  3206#	  3249	  3250	  3258
	  3259	  3283	  3284	  3292	  3293	  3317	  3318	  3326	  3327	  3351	  3352	  3360	  3361	  3385
	  3386	  3394	  3395	  3419	  3420	  3428	  3429	  3453	  3454	  3462	  3463	  3487	  3488	  3496
	  3497	  3521	  3522	  3530	  3531	  3555	  3556	  3564	  3565	  3589	  3590	  3598	  3599	  3623
	  3624	  3632	  3633	  3657	  3658	  3666	  3667	  3691	  3692	  3700	  3701	  3725	  3726	  3734
	  3735	  3759	  3760	  3768	  3769	  3793	  3794	  3802	  3803	  3827	  3828	  3836	  3837	  3861
	  3862	  3870	  3871	  3895	  3896	  3904	  3905	  3929	  3930	  3938	  3939	  3963	  3964	  3972
	  3973	  3997	  3998	  4006	  4007	  4031	  4032	  4040	  4041	  4065	  4066	  4074	  4075	  4099
	  4100	  4108	  4109	  4133	  4134	  4142	  4143	  4167	  4168	  4176	  4177	  4201	  4202	  4210
	  4211	  4235	  4236	  4244	  4245	  4269	  4270	  4278	  4279	  4303	  4304	  4312	  4313	  4337
	  4338	  4346	  4347	  4371	  4372	  4380	  4381	  4405	  4406	  4414	  4415	  4439	  4440	  4448
	  4449	  4452#	  4490	  4491	  4499	  4500	  4522	  4523	  4531	  4532	  4554	  4555	  4563	  4564
	  4586	  4587	  4595	  4596	  4618	  4619	  4627	  4628	  4650	  4651	  4659	  4660	  4682	  4683
	  4691	  4692	  4714	  4715	  4723	  4724	  4746	  4747	  4755	  4756	  4778	  4779	  4787	  4788
	  4810	  4811	  4819	  4820	  4842	  4843	  4851	  4852	  4874	  4875	  4883	  4884	  4906	  4907
	  4915	  4916	  4938	  4939	  4947	  4948	  4970	  4971	  4979	  4980	  5002	  5003	  5011	  5012
	  5034	  5035	  5043	  5044	  5066	  5067	  5075	  5076	  5098	  5099	  5107	  5108	  5130	  5131
	  5139	  5140	  5162	  5163	  5171	  5172	  5194	  5195	  5203	  5204	  5226	  5227	  5235	  5236
	  5258	  5259	  5267	  5268	  5290	  5291	  5299	  5300	  5322	  5323	  5331	  5332	  5354	  5355
	  5363	  5364	  5386	  5387	  5395	  5396	  5418	  5419	  5427	  5428	  5450	  5451	  5459	  5460
	  5482	  5483	  5491	  5492	  5514	  5515	  5523	  5524	  5546	  5547	  5555	  5556	  5578	  5579
	  5587	  5588	  5610	  5611	  5619	  5620	  5623#	  5665	  5666	  5674	  5675	  5699	  5700	  5708
	  5709	  5733	  5734	  5742	  5743	  5767	  5768	  5776	  5777	  5801	  5802	  5810	  5811	  5835
	  5836	  5844	  5845	  5869	  5870	  5878	  5879	  5903	  5904	  5912	  5913	  5937	  5938	  5946
	  5947	  5971	  5972	  5980	  5981	  6005	  6006	  6014	  6015	  6039	  6040	  6048	  6049	  6073
	  6074	  6082	  6083	  6107	  6108	  6116	  6117	  6141	  6142	  6150	  6151	  6175	  6176	  6184
	  6185	  6209	  6210	  6218	  6219	  6243	  6244	  6252	  6253	  6277	  6278	  6286	  6287	  6311
	  6312	  6320	  6321	  6345	  6346	  6354	  6355	  6379	  6380	  6388	  6389	  6413	  6414	  6422
	  6423	  6447	  6448	  6456	  6457	  6481	  6482	  6490	  6491	  6515	  6516	  6524	  6525	  6549
	  6550	  6558	  6559	  6583	  6584	  6592	  6593	  6617	  6618	  6626	  6627	  6651	  6652	  6660     SEQ 0386
	  6661	  6685	  6686	  6694	  6695	  6719	  6720	  6728	  6729	  6753	  6754	  6762	  6763	  6787
	  6788	  6796	  6797	  6821	  6822	  6830	  6831	  6855	  6856	  6864	  6865	  6868#	  6915	  6916
	  6924	  6925	  6951	  6952	  6960	  6961	  6987	  6988	  6996	  6997	  7023	  7024	  7032	  7033
	  7059	  7060	  7068	  7069	  7095	  7096	  7104	  7105	  7131	  7132	  7140	  7141	  7167	  7168
	  7176	  7177	  7203	  7204	  7212	  7213	  7239	  7240	  7248	  7249	  7275	  7276	  7284	  7285
	  7311	  7312	  7320	  7321	  7347	  7348	  7356	  7357	  7383	  7384	  7392	  7393	  7419	  7420
	  7428	  7429	  7455	  7456	  7464	  7465	  7491	  7492	  7500	  7501	  7527	  7528	  7536	  7537
	  7563	  7564	  7572	  7573	  7599	  7600	  7608	  7609	  7635	  7636	  7644	  7645	  7671	  7672
	  7680	  7681	  7707	  7708	  7716	  7717	  7743	  7744	  7752	  7753	  7779	  7780	  7788	  7789
	  7815	  7816	  7824	  7825	  7851	  7852	  7860	  7861	  7887	  7888	  7896	  7897	  7923	  7924
	  7932	  7933	  7959	  7960	  7968	  7969	  7995	  7996	  8004	  8005	  8031	  8032	  8040	  8041
	  8067	  8068	  8076	  8077	  8103	  8104	  8112	  8113	  8139	  8140	  8148	  8149	  8175	  8176
	  8184	  8185	  8188#	  8235	  8236	  8244	  8245	  8271	  8272	  8280	  8281	  8307	  8308	  8316
	  8317	  8343	  8344	  8352	  8353	  8379	  8380	  8388	  8389	  8415	  8416	  8424	  8425	  8451
	  8452	  8460	  8461	  8487	  8488	  8496	  8497	  8523	  8524	  8532	  8533	  8559	  8560	  8568
	  8569	  8595	  8596	  8604	  8605	  8631	  8632	  8640	  8641	  8667	  8668	  8676	  8677	  8703
	  8704	  8712	  8713	  8739	  8740	  8748	  8749	  8775	  8776	  8784	  8785	  8811	  8812	  8820
	  8821	  8847	  8848	  8856	  8857	  8883	  8884	  8892	  8893	  8919	  8920	  8928	  8929	  8955
	  8956	  8964	  8965	  8991	  8992	  9000	  9001	  9027	  9028	  9036	  9037	  9063	  9064	  9072
	  9073	  9099	  9100	  9108	  9109	  9135	  9136	  9144	  9145	  9171	  9172	  9180	  9181	  9207
	  9208	  9216	  9217	  9243	  9244	  9252	  9253	  9279	  9280	  9288	  9289	  9315	  9316	  9324
	  9325	  9351	  9352	  9360	  9361	  9387	  9388	  9396	  9397	  9423	  9424	  9432	  9433	  9459
	  9460	  9468	  9469	  9495	  9496	  9504	  9505
END	 16961#
ENDFIX	   682#
ENDSLD	 16951#
ERDIAG	    64#	 16446
ERMORE	   462#	 16519
ERRELB	 16516
ERRLOP	   718#	   718	  1964#	  1964	  3211#	  3211	  4457#	  4457	  5628#	  5628	  6873#	  6873	  8193#	  8193
	  9515#	  9515	  9576#	  9576	  9636#	  9636	  9690#	  9690	  9741#	  9741	  9797#	  9797	  9856#	  9856
	  9923#	  9923	  9976#	  9976	 10031#	 10031	 10097#	 10097	 10173#	 10173	 10192#	 10192	 10217#	 10217
	 10357#	 10357	 10463#	 10463	 10511#	 10511	 10784#	 10784	 10850#	 10850	 10915#	 10915	 10998#	 10998
	 11045#	 11045	 11100#	 11100	 11150#	 11150	 11232#	 11232	 11275#	 11275	 11347#	 11347	 11411#	 11411
	 11476#	 11476	 11526#	 11526	 11585#	 11585	 11641#	 11641	 11695#	 11695	 11791#	 11791	 11836#	 11836
	 11892#	 11892	 11993#	 11993	 12042#	 12042	 12097#	 12097	 12152#	 12152	 12207#	 12207	 12264#	 12264
	 12343#	 12343	 12366#	 12366	 12391#	 12391	 12448#	 12448	 12505#	 12505	 12551#	 12551	 12610#	 12610
	 12683#	 12683	 12734#	 12734	 12794#	 12794	 12879#	 12879	 12943#	 12943	 13026#	 13026	 13090#	 13090
	 13175#	 13175	 13195#	 13195	 13216#	 13216	 13280#	 13280	 13361#	 13361	 13567#	 13567	 13675#	 13675
	 13759#	 13759	 13885#	 13885	 14012#	 14012	 14120#	 14120	 14204#	 14204	 14324#	 14324	 14422#	 14422
	 14926#	 14926	 15539#	 15539	 15701#	 15701	 15834#	 15834	 15948#	 15948	 16068#	 16068	 16163#	 16163
	 16283#	 16283	 16426	 16538	 16541	 16542
ERRMES	    45	    46	    47	    48	    49	    50	    51	    52	    53	    54	    55	 16397#
ERRPC	   433#	 16409	 16443
ERRTLS	   434#	 16407	 16545
ERSTOP	   140#	 16529
EXCASB	    59#	   411	 16398	 16550
EXCMEM	   360#
EXCPFW	   360#
EXIOT	   360#
EXIT	   685#	   686
F00	   706	   710#
F1000	  9696#                                                                                                            SEQ 0387
F10000	 11590#
F10300	 11646#
F10400	 11700#
F10500	 11740#
F1100	  9747#
F11300	 11796#
F11400	 11842#
F12000	 11898#
F12300	 11949#
F12600	 11998#
F13000	 12047#
F13200	 12102#
F13300	 12157#
F13500	 12212#
F1400	  9803#
F14000	 12270#
F14100	 12316#
F14200	 12398#
F14300	 12454#
F14400	 12510#	 12520
F14410	 12523#	 12539
F14500	 12559#
F14600	 12615#
F14700	 12689#
F15000	 12740#
F15100	 12801#
F15200	 12887#
F15600	 12950#
F15700	 13032#
F16100	 13095#
F16200	 13151#
F16300	 13224#
F16400	 13286#
F16410	 13328#	 13344
F17100	 13367#
F17200	 13573#
F17300	 13680#
F17400	 13765#
F17500	 13891#
F17600	 14018#
F17700	 14126#
F2000	  9863#
F20000	 14210#
F20100	 14329#
F20200	 14427#
F20300	 14677#
F20400	 14931#
F20500	 15238#
F20600	 15545#
F20700	 15707#
F21000	 15840#
F21100	 15954#
F21200	 16073#                                                                                                            SEQ 0388
F21300	 16169#
F21400	 16289#
F2200	  9929#
F2400	  9981#
F300	  9522#
F30010	   751#	   767
F30020	   785#	   801
F30030	   819#	   835
F30040	   853#	   869
F30050	   887#	   903
F30060	   921#	   937
F30070	   955#	   971
F30100	   989#	  1005
F30110	  1023#	  1039
F30120	  1057#	  1073
F30130	  1091#	  1107
F30140	  1125#	  1141
F30150	  1159#	  1175
F30160	  1193#	  1209
F30170	  1227#	  1243
F30200	  1261#	  1277
F30210	  1295#	  1311
F30220	  1329#	  1345
F30230	  1363#	  1379
F30240	  1397#	  1413
F30250	  1431#	  1447
F30260	  1465#	  1481
F30270	  1499#	  1515
F30300	  1533#	  1549
F30310	  1567#	  1583
F30320	  1601#	  1617
F30330	  1635#	  1651
F30340	  1669#	  1685
F30350	  1703#	  1719
F30360	  1737#	  1753
F30370	  1771#	  1787
F30400	  1805#	  1821
F30410	  1839#	  1855
F30420	  1873#	  1889
F30430	  1907#	  1923
F30440	  1941#	  1957
F30450	  1998#	  2014
F30460	  2032#	  2048
F30470	  2066#	  2082
F30500	  2100#	  2116
F30510	  2134#	  2150
F30520	  2168#	  2184
F30530	  2202#	  2218
F30540	  2236#	  2252
F30550	  2270#	  2286
F30560	  2304#	  2320
F30570	  2338#	  2354
F30600	  2372#	  2388                                                                                                     SEQ 0389
F30610	  2406#	  2422
F30620	  2440#	  2456
F30630	  2474#	  2490
F30640	  2508#	  2524
F30650	  2542#	  2558
F30660	  2576#	  2592
F30670	  2610#	  2626
F30700	  2644#	  2660
F30710	  2678#	  2694
F30720	  2712#	  2728
F30730	  2746#	  2762
F30740	  2780#	  2796
F30750	  2814#	  2830
F30760	  2848#	  2864
F30770	  2882#	  2898
F31000	  2916#	  2932
F31010	  2950#	  2966
F31020	  2984#	  3000
F31030	  3018#	  3034
F31040	  3052#	  3068
F31050	  3086#	  3102
F31060	  3120#	  3136
F31070	  3154#	  3170
F31100	  3188#	  3204
F31110	  3244#	  3260
F31120	  3278#	  3294
F31130	  3312#	  3328
F31140	  3346#	  3362
F31150	  3380#	  3396
F31160	  3414#	  3430
F31170	  3448#	  3464
F31200	  3482#	  3498
F31210	  3516#	  3532
F31220	  3550#	  3566
F31230	  3584#	  3600
F31240	  3618#	  3634
F31250	  3652#	  3668
F31260	  3686#	  3702
F31270	  3720#	  3736
F31300	  3754#	  3770
F31310	  3788#	  3804
F31320	  3822#	  3838
F31330	  3856#	  3872
F31340	  3890#	  3906
F31350	  3924#	  3940
F31360	  3958#	  3974
F31370	  3992#	  4008
F31400	  4026#	  4042
F31410	  4060#	  4076
F31420	  4094#	  4110
F31430	  4128#	  4144
F31440	  4162#	  4178
F31450	  4196#	  4212                                                                                                     SEQ 0390
F31460	  4230#	  4246
F31470	  4264#	  4280
F31500	  4298#	  4314
F31510	  4332#	  4348
F31520	  4366#	  4382
F31530	  4400#	  4416
F31540	  4434#	  4450
F31550	  4485#	  4501
F31560	  4517#	  4533
F31570	  4549#	  4565
F31600	  4581#	  4597
F31610	  4613#	  4629
F31620	  4645#	  4661
F31630	  4677#	  4693
F31640	  4709#	  4725
F31650	  4741#	  4757
F31660	  4773#	  4789
F31670	  4805#	  4821
F31700	  4837#	  4853
F31710	  4869#	  4885
F31720	  4901#	  4917
F31730	  4933#	  4949
F31740	  4965#	  4981
F31750	  4997#	  5013
F31760	  5029#	  5045
F31770	  5061#	  5077
F32000	  5093#	  5109
F32010	  5125#	  5141
F32020	  5157#	  5173
F32030	  5189#	  5205
F32040	  5221#	  5237
F32050	  5253#	  5269
F32060	  5285#	  5301
F32070	  5317#	  5333
F32100	  5349#	  5365
F32110	  5381#	  5397
F32120	  5413#	  5429
F32130	  5445#	  5461
F32140	  5477#	  5493
F32150	  5509#	  5525
F32160	  5541#	  5557
F32170	  5573#	  5589
F32200	  5605#	  5621
F32210	  5660#	  5676
F32220	  5694#	  5710
F32230	  5728#	  5744
F32240	  5762#	  5778
F32250	  5796#	  5812
F32260	  5830#	  5846
F32270	  5864#	  5880
F32300	  5898#	  5914
F32310	  5932#	  5948
F32320	  5966#	  5982                                                                                                     SEQ 0391
F32330	  6000#	  6016
F32340	  6034#	  6050
F32350	  6068#	  6084
F32360	  6102#	  6118
F32370	  6136#	  6152
F32400	  6170#	  6186
F32410	  6204#	  6220
F32420	  6238#	  6254
F32430	  6272#	  6288
F32440	  6306#	  6322
F32450	  6340#	  6356
F32460	  6374#	  6390
F32470	  6408#	  6424
F32500	  6442#	  6458
F32510	  6476#	  6492
F32520	  6510#	  6526
F32530	  6544#	  6560
F32540	  6578#	  6594
F32550	  6612#	  6628
F32560	  6646#	  6662
F32570	  6680#	  6696
F32600	  6714#	  6730
F32610	  6748#	  6764
F32620	  6782#	  6798
F32630	  6816#	  6832
F32640	  6850#	  6866
F32650	  6910#	  6926
F32660	  6946#	  6962
F32670	  6982#	  6998
F32700	  7018#	  7034
F32710	  7054#	  7070
F32720	  7090#	  7106
F32730	  7126#	  7142
F32740	  7162#	  7178
F32750	  7198#	  7214
F32760	  7234#	  7250
F32770	  7270#	  7286
F3300	 10037#
F33000	  7306#	  7322
F33010	  7342#	  7358
F33020	  7378#	  7394
F33030	  7414#	  7430
F33040	  7450#	  7466
F33050	  7486#	  7502
F33060	  7522#	  7538
F33070	  7558#	  7574
F33100	  7594#	  7610
F33110	  7630#	  7646
F33120	  7666#	  7682
F33130	  7702#	  7718
F33140	  7738#	  7754
F33150	  7774#	  7790
F33160	  7810#	  7826                                                                                                     SEQ 0392
F33170	  7846#	  7862
F33200	  7882#	  7898
F33210	  7918#	  7934
F33220	  7954#	  7970
F33230	  7990#	  8006
F33240	  8026#	  8042
F33250	  8062#	  8078
F33260	  8098#	  8114
F33270	  8134#	  8150
F33300	  8170#	  8186
F33310	  8230#	  8246
F33320	  8266#	  8282
F33330	  8302#	  8318
F33340	  8338#	  8354
F33350	  8374#	  8390
F33360	  8410#	  8426
F33370	  8446#	  8462
F33400	  8482#	  8498
F33410	  8518#	  8534
F33420	  8554#	  8570
F33430	  8590#	  8606
F33440	  8626#	  8642
F33450	  8662#	  8678
F33460	  8698#	  8714
F33470	  8734#	  8750
F33500	  8770#	  8786
F33510	  8806#	  8822
F33520	  8842#	  8858
F33530	  8878#	  8894
F33540	  8914#	  8930
F33550	  8950#	  8966
F33560	  8986#	  9002
F33570	  9022#	  9038
F33600	  9058#	  9074
F33610	  9094#	  9110
F33620	  9130#	  9146
F33630	  9166#	  9182
F33640	  9202#	  9218
F33650	  9238#	  9254
F33660	  9274#	  9290
F33670	  9310#	  9326
F33700	  9346#	  9362
F33710	  9382#	  9398
F33720	  9418#	  9434
F33730	  9454#	  9470
F33740	  9490#	  9506
F4000	 10103#
F4200	 10152#
F4300	 10223#
F4400	 10276#
F4500	 10311#
F4600	 10363#
F4710	 10420#	 10431                                                                                                     SEQ 0393
F4720	 10439#	 10452
F500	  9583#
F5000	 10469#
F5100	 10518#
F5200	 10572#
F5300	 10625#
F5400	 10678#
F5500	 10725#
F5600	 10790#
F5700	 10856#
F6000	 10921#
F6010	 10973#	 10984
F6100	 11005#
F6300	 11050#
F6500	 11104#
F6600	 11156#
F6700	 11215#	 11221
F700	  9643#
F7000	 11236#
F7100	 11281#
F7400	 11352#
F7500	 11416#
F7600	 11482#
F7700	 11532#
FOV	   360#
FOVU	   360#
FRDLNK	   163#
FSELNK	   162#
FXU	   360#
HYPEN	   559#
IADBRK	   360#
IADEXC	   360#
IADSTP	   360#
IADUSR	   360#
IAPRC1	   360#
IAPRE1	   360#
IASRTC	   360#
IASRTE	   360#
IASRTS	   360#
ICNSLL	   360#
ICNSLR	   360#
IDATAF	   360#
IEVNPR	   360#
IFMMAN	   360#
IINSTF	   360#
IIOPFC	   360#
IIOPFL	   360#
IMAINT	   360#
IMGINM	   360#
IMGNLO	   360#
IMGNOF	   360#	 16404
IMGNON	   360#
IMIPGD	   360#                                                                                                            SEQ 0394
IMLAPD	   360#
INHCSH	   148#
INHPAG	   145#
INXCLR	   360#
INXM	   360#
INXSTP	   360#
IOCLR	   360#
IP50HZ	   360#
IPAREN	   360#
IPARER	   360#
IPRSTP	   360#
IPWRFL	   360#
IPWRLO	   360#
IRQCLR	   360#
ISPDOF	   360#	 16404
ISPDON	   360#
ITERAT	    89#	   406
ITMDIS	   360#
ITMENB	   360#
ITMOEN	   360#
ITMOUT	   360#
ITMSET	   360#
ITRCH1	   466#
ITRCNT	   406#
IWRITE	   360#
JOB41	   360#
JOBAPR	   360#
JOBCNI	   360#
JOBDDT	   360#
JOBFF	   360#
JOBOPC	   360#	 16526
JOBREL	   360#
JOBREN	   360#
JOBSA	   360#
JOBSYM	   360#
JOBTPC	   360#
JOBUSY	   360#
JOBUUO	   360#
JOBVER	   360#
KA10	   360
KAHZ50	   153#
KAIFLG	   423#	 16399	 16551
KI10	    61#	   360	 16398	 16550
KL10	   360
KLFLG	   424#	 16413
KLOLD	    62#	   360
KLTYP	   640#
KNTRP	   360#
KTRP	   360#
LAST1	 16392#
LDEXCB	   360#
LDLNK	   164#	   376	   378
LDUSRB	   360#                                                                                                            SEQ 0395
LFP	   563#
LIP	   360#
LOOPER	   139#	 16531
LUUO	   360#
LUUO1	    45#	   493	   494
LUUO10	    52#	   493	   498
LUUO11	    53#	   493	   498
LUUO12	    54#	   493	   499
LUUO13	    55#	   493	   499
LUUO14	   493	   500
LUUO15	   493	   500
LUUO16	   493	   501
LUUO17	   493	   501
LUUO2	    46#	   493	   495
LUUO20	   493	   502
LUUO21	   493	   502
LUUO22	   493	   503
LUUO23	   493	   503
LUUO24	   493	   504
LUUO25	   493	   504
LUUO26	   493	   505
LUUO27	   493	   505
LUUO3	    47#	   493	   495
LUUO30	   493	   506
LUUO31	   493	   506
LUUO32	   493	   507
LUUO33	   493	   507
LUUO4	    48#	   493	   496
LUUO5	    49#	   493	   496
LUUO6	    50#	   493	   497
LUUO7	    51#	   493	   497
LUUOI	   360#
MAPNEW	   514#
MARGIN	   436#	 16403	 16555	 16556
MCNVER	     3#	    11	    25	   408
MEMLOW	   516#
MEMMAP	   414
MEMSIZ	   517#
MEMTOT	   515#
MICNT	 16410#	 16410	 16411	 16428
MINUS	   558#
MODDVC	   147#
MODDVL	   345	   345#	   409
MODDVU	   346	   346#	   410
MODLNK	   166#	   373
MONCTL	   426#	 16429	 16543
MONFLG	   425#
MONTEN	   427#
MPVU	   360#
MUUO	   360#
MUUOPC	   360#
N1	   712#	   741	   742	   744	   775	   776	   778	   809	   810	   812	   843	   844	   846	   877
	   878	   880	   911	   912	   914	   945	   946	   948	   979	   980	   982	  1013	  1014	  1016     SEQ 0396
	  1047	  1048	  1050	  1081	  1082	  1084	  1115	  1116	  1118	  1149	  1150	  1152	  1183	  1184
	  1186	  1217	  1218	  1220	  1251	  1252	  1254	  1285	  1286	  1288	  1319	  1320	  1322	  1353
	  1354	  1356	  1387	  1388	  1390	  1421	  1422	  1424	  1455	  1456	  1458	  1489	  1490	  1492
	  1523	  1524	  1526	  1557	  1558	  1560	  1591	  1592	  1594	  1625	  1626	  1628	  1659	  1660
	  1662	  1693	  1694	  1696	  1727	  1728	  1730	  1761	  1762	  1764	  1795	  1796	  1798	  1829
	  1830	  1832	  1863	  1864	  1866	  1897	  1898	  1900	  1931	  1932	  3181	  4427
N2	   713#	  1933	  1988	  1989	  1990	  2022	  2023	  2024	  2056	  2057	  2058	  2090	  2091	  2092
	  2124	  2125	  2126	  2158	  2159	  2160	  2192	  2193	  2194	  2226	  2227	  2228	  2260	  2261
	  2262	  2294	  2295	  2296	  2328	  2329	  2330	  2362	  2363	  2364	  2396	  2397	  2398	  2430
	  2431	  2432	  2464	  2465	  2466	  2498	  2499	  2500	  2532	  2533	  2534	  2566	  2567	  2568
	  2600	  2601	  2602	  2634	  2635	  2636	  2668	  2669	  2670	  2702	  2703	  2704	  2736	  2737
	  2738	  2770	  2771	  2772	  2804	  2805	  2806	  2838	  2839	  2840	  2872	  2873	  2874	  2906
	  2907	  2908	  2940	  2941	  2942	  2974	  2975	  2976	  3008	  3009	  3010	  3042	  3043	  3044
	  3076	  3077	  3078	  3110	  3111	  3112	  3144	  3145	  3146	  3178	  3179	  3234	  3235	  3236
	  3268	  3269	  3270	  3302	  3303	  3304	  3336	  3337	  3338	  3370	  3371	  3372	  3404	  3405
	  3406	  3438	  3439	  3440	  3472	  3473	  3474	  3506	  3507	  3508	  3540	  3541	  3542	  3574
	  3575	  3576	  3608	  3609	  3610	  3642	  3643	  3644	  3676	  3677	  3678	  3710	  3711	  3712
	  3744	  3745	  3746	  3778	  3779	  3780	  3812	  3813	  3814	  3846	  3847	  3848	  3880	  3881
	  3882	  3914	  3915	  3916	  3948	  3949	  3950	  3982	  3983	  3984	  4016	  4017	  4018	  4050
	  4051	  4052	  4084	  4085	  4086	  4118	  4119	  4120	  4152	  4153	  4154	  4186	  4187	  4188
	  4220	  4221	  4222	  4254	  4255	  4256	  4288	  4289	  4290	  4322	  4323	  4324	  4356	  4357
	  4358	  4390	  4391	  4392	  4424	  4425
NOPNT	   135#	 16419
NXMU	   360#
OPRSEL	   149#
OPTIME	   528#
P	   192	   193	   194	   195	   360#	   448
PAG	   360#
PALERS	   141#	 16560
PARCLR	   360#
PARDIS	   360#
PAREA0	    82#
PAREA1	    83#	   404
PAREA2	    84#	   405
PAREA3	    85#	   402
PAREA4	    86#	   403
PAREA5	    87#	   415
PAREA6	    88#	   416
PAREA7	   415#
PAREA8	   416#
PARENB	   360#
PARU	   360#
PASCNT	   430#	 16434	 16438
PATCH	 16954#
PDISF	   525#
PDLOVU	   360#
PDOVTP	   360#
PERIOD	   555#
PFSTRT	   382#
PGFTRP	   360#
PGMEND	    63#	 16960
PGMNAM	   407	   688#
PI	 16416                                                                                                             SEQ 0397
PICHN1	   360#
PICHN2	   360#
PICHN3	   360#
PICHN4	   360#
PICHN5	   360#
PICHN6	   360#
PICHN7	   360#
PICHNA	   360#
PICLR	   360#
PIOFF	   360#
PION	   360#
PLIST	   594#	   594
PLISTE	   594	   596#	   680
PLISTS	   595#
PLUS	   560#
PNTENB	   524#
PNTEXT	   403#
PNTFLG	   523#
PNTINH	   526#
PNTLPT	   136#
PNTNAM	   402#
PNTRP	   360#
PNTSPC	   527#
PROCED	 16417#	 16417	 16532	 16539
PTRP	   360#
PVPAGI	   621#
PWFCLR	   360#
QUEST	   566#
RADIX	   569#
RADLSC	   571#
RADLSP	   570#
RANDBS	   404#
REENTR	   384#
RELIAB	   143#
REPT	   360#
REPT1	   360#
REPTU	   482#
REQSET	   360#
RESRT1	   459#
RESRT2	   460#
RETURN	   391#
RSTART	   132#
RTP	   564#
RUNFLG	   431#
SADR1	    68#	   380
SADR10	    77#	   396
SADR11	    78#	   397
SADR2	    69#	   382
SADR3	    70#	   384
SADR4	    71#
SADR5	    72#	   445
SADR6	    73#	   446
SADR7	    74#	   393                                                                                                     SEQ 0398
SADR8	    75#	   394
SADR9	    76#	   395
SBINIT	   205	   390#
SCOPE	   483#
SENSE1	   360#
SENSE2	   360#
SENSE3	   360#
SENSE4	   360#
SENSE5	   360#
SENSE6	   360#
SFSTRT	   380#
SLASH	   567#
SMLUSR	   360#
SN	  9517#	  9538	  9538#	  9547	  9549	  9553	  9553#	  9562	  9564	  9578#	  9599	  9599#	  9607	  9610
	  9614	  9614#	  9622	  9625	  9638#	  9657	  9657#	  9664	  9666	  9670	  9670#	  9677	  9679	  9692#
	  9709	  9709#	  9715	  9717	  9721	  9721#	  9727	  9729	  9743#	  9762	  9762#	  9770	  9772	  9776
	  9776#	  9784	  9786	  9799#	  9819	  9819#	  9827	  9830	  9834	  9834#	  9842	  9845	  9858#	  9881
	  9881#	  9891	  9894	  9898	  9898#	  9908	  9911	  9925#	  9943	  9943#	  9950	  9952	  9956	  9956#
	  9963	  9965	  9978#	  9996	  9996#	 10004	 10006	 10010	 10010#	 10018	 10020	 10033#	 10055	 10055#
	 10066	 10068	 10072	 10072#	 10083	 10085	 10099#	 10117	 10117#	 10124	 10126	 10130	 10130#	 10137
	 10139	 10148#	 10167	 10167#	 10180	 10182	 10186	 10186#	 10199	 10201	 10219#	 10240	 10240#	 10248
	 10250	 10252	 10256	 10256#	 10264	 10266	 10268	 10272#	 10287	 10287#	 10293	 10297	 10297#	 10303
	 10307#	 10323	 10323#	 10330	 10334	 10334#	 10341	 10359#	 10381	 10381#	 10390	 10392	 10394	 10398
	 10398#	 10407	 10409	 10411	 10466#	 10480	 10480#	 10486	 10490	 10490#	 10496	 10513#	 10535	 10535#
	 10544	 10547	 10551	 10551#	 10560	 10563	 10567#	 10589	 10589#	 10599	 10601	 10605	 10605#	 10615
	 10617	 10620#	 10642	 10642#	 10651	 10654	 10658	 10658#	 10667	 10670	 10674#	 10693	 10693#	 10701
	 10703	 10707	 10707#	 10715	 10717	 10720#	 10743	 10743#	 10753	 10756	 10760	 10760#	 10770	 10773
	 10786#	 10808	 10808#	 10818	 10821	 10825	 10825#	 10835	 10838	 10852#	 10874	 10874#	 10884	 10887
	 10891	 10891#	 10901	 10904	 10917#	 10939	 10939#	 10949	 10952	 10956	 10956#	 10966	 10969	 11001#
	 11017	 11017#	 11024	 11028	 11028#	 11035	 11047#	 11064	 11064#	 11071	 11073	 11077	 11077#	 11084
	 11086	 11101#	 11115	 11115#	 11121	 11125	 11125#	 11131	 11152#	 11176	 11176#	 11186	 11188	 11190
	 11195	 11195#	 11205	 11207	 11209	 11234#	 11247	 11247#	 11253	 11257	 11257#	 11263	 11277#	 11301
	 11301#	 11310	 11312	 11316	 11320	 11320#	 11329	 11331	 11335	 11349#	 11370	 11370#	 11378	 11380
	 11383	 11387	 11387#	 11395	 11397	 11400	 11413#	 11434	 11434#	 11442	 11444	 11447	 11451	 11451#
	 11459	 11461	 11464	 11479#	 11495	 11495#	 11501	 11503	 11507	 11507#	 11513	 11515	 11528#	 11548
	 11548#	 11557	 11559	 11563	 11563#	 11572	 11574	 11587#	 11604	 11604#	 11611	 11613	 11617	 11617#
	 11624	 11626	 11643#	 11660	 11660#	 11667	 11669	 11673	 11673#	 11680	 11682	 11697#	 11713	 11713#
	 11719	 11721	 11725	 11725#	 11731	 11733	 11737#	 11755	 11755#	 11763	 11765	 11769	 11769#	 11777
	 11779	 11793#	 11807	 11807#	 11813	 11817	 11817#	 11823	 11838#	 11857	 11857#	 11865	 11867	 11871
	 11871#	 11879	 11881	 11894#	 11914	 11914#	 11923	 11925	 11929	 11929#	 11938	 11940	 11946#	 11962
	 11962#	 11968	 11970	 11974	 11974#	 11980	 11982	 11995#	 12011	 12011#	 12017	 12019	 12023	 12023#
	 12029	 12031	 12044#	 12061	 12061#	 12068	 12070	 12074	 12074#	 12081	 12083	 12099#	 12117	 12117#
	 12124	 12127	 12131	 12131#	 12138	 12141	 12154#	 12172	 12172#	 12179	 12186	 12186#	 12193	 12209#
	 12226	 12226#	 12233	 12235	 12239	 12239#	 12246	 12248	 12266#	 12283	 12283#	 12289	 12291	 12295
	 12295#	 12301	 12303	 12311#	 12336	 12336#	 12350	 12352	 12355	 12359	 12359#	 12373	 12375	 12378
	 12394#	 12412	 12412#	 12419	 12421	 12425	 12425#	 12432	 12434	 12450#	 12468	 12468#	 12475	 12477
	 12481	 12481#	 12488	 12490	 12554#	 12574	 12574#	 12582	 12584	 12588	 12588#	 12596	 12598	 12612#
	 12635	 12635#	 12644	 12646	 12648	 12650	 12654	 12654#	 12663	 12665	 12667	 12669	 12686#	 12702
	 12702#	 12710	 12714	 12714#	 12722	 12736#	 12756	 12756#	 12765	 12767	 12771	 12771#	 12780	 12782
	 12796#	 12825	 12825#	 12837	 12839	 12842	 12844	 12848	 12848#	 12860	 12862	 12865	 12867	 12882#
	 12903	 12903#	 12912	 12914	 12918	 12918#	 12927	 12929	 12945#	 12973	 12973#	 12985	 12987	 12989
	 12991	 12995	 12995#	 13007	 13009	 13011	 13013	 13028#	 13049	 13049#	 13059	 13061	 13065	 13065#
	 13075	 13077	 13092#	 13111	 13111#	 13122	 13126	 13126#	 13137	 13146#	 13168	 13168#	 13184	 13188     SEQ 0399
	 13188#	 13204	 13219#	 13240	 13240#	 13249	 13251	 13255	 13255#	 13264	 13266	 13282#	 13300	 13300#
	 13307	 13309	 13313	 13313#	 13320	 13322	 13363#	 13385	 13385#	 13394	 13396	 13398	 13402	 13402#
	 13411	 13413	 13415	 13419	 13419#	 13428	 13430	 13432	 13436	 13436#	 13445	 13447	 13449	 13453
	 13453#	 13462	 13464	 13466	 13470	 13470#	 13479	 13481	 13483	 13487	 13487#	 13496	 13498	 13500
	 13504	 13504#	 13513	 13515	 13517	 13521	 13521#	 13530	 13532	 13534	 13538	 13538#	 13547	 13549
	 13551	 13569#	 13589	 13589#	 13597	 13600	 13604	 13604#	 13612	 13615	 13619	 13619#	 13627	 13630
	 13634	 13634#	 13642	 13645	 13649	 13649#	 13657	 13660	 13677#	 13692	 13692#	 13699	 13703	 13703#
	 13710	 13714	 13714#	 13721	 13725	 13725#	 13732	 13736	 13736#	 13743	 13761#	 13784	 13784#	 13794
	 13796	 13798	 13802	 13802#	 13812	 13814	 13816	 13820	 13820#	 13830	 13832	 13834	 13838	 13838#
	 13848	 13850	 13852	 13856	 13856#	 13866	 13868	 13870	 13887#	 13910	 13910#	 13920	 13922	 13924
	 13928	 13928#	 13938	 13940	 13942	 13946	 13946#	 13956	 13958	 13960	 13964	 13964#	 13974	 13976
	 13978	 13982	 13982#	 13992	 13994	 13996	 14014#	 14034	 14034#	 14043	 14045	 14049	 14049#	 14058
	 14060	 14064	 14064#	 14073	 14075	 14079	 14079#	 14088	 14090	 14094	 14094#	 14103	 14105	 14122#
	 14138	 14138#	 14145	 14149	 14149#	 14156	 14160	 14160#	 14167	 14171	 14171#	 14178	 14182	 14182#
	 14189	 14206#	 14228	 14228#	 14237	 14239	 14241	 14245	 14245#	 14254	 14256	 14258	 14262	 14262#
	 14271	 14273	 14275	 14279	 14279#	 14288	 14290	 14292	 14296	 14296#	 14305	 14307	 14309	 14326#
	 14343	 14343#	 14350	 14352	 14356	 14356#	 14363	 14365	 14369	 14369#	 14376	 14378	 14382	 14382#
	 14389	 14391	 14395	 14395#	 14402	 14404	 14424#	 14441	 14441#	 14448	 14450	 14454	 14454#	 14461
	 14463	 14467	 14467#	 14474	 14476	 14480	 14480#	 14487	 14489	 14493	 14493#	 14500	 14502	 14506
	 14506#	 14513	 14515	 14519	 14519#	 14526	 14528	 14532	 14532#	 14539	 14541	 14545	 14545#	 14552
	 14554	 14558	 14558#	 14565	 14567	 14571	 14571#	 14578	 14580	 14584	 14584#	 14591	 14593	 14597
	 14597#	 14604	 14606	 14610	 14610#	 14617	 14619	 14623	 14623#	 14630	 14632	 14636	 14636#	 14643
	 14645	 14649	 14649#	 14656	 14658	 14662	 14662#	 14669	 14671	 14674#	 14691	 14691#	 14698	 14700
	 14704	 14704#	 14711	 14713	 14717	 14717#	 14724	 14726	 14730	 14730#	 14737	 14739	 14743	 14743#
	 14750	 14752	 14756	 14756#	 14763	 14765	 14769	 14769#	 14776	 14778	 14782	 14782#	 14789	 14791
	 14795	 14795#	 14802	 14804	 14808	 14808#	 14815	 14817	 14821	 14821#	 14828	 14830	 14834	 14834#
	 14841	 14843	 14847	 14847#	 14854	 14856	 14860	 14860#	 14867	 14869	 14873	 14873#	 14880	 14882
	 14886	 14886#	 14893	 14895	 14899	 14899#	 14906	 14908	 14928#	 14948	 14948#	 14956	 14958	 14960
	 14964	 14964#	 14972	 14974	 14976	 14980	 14980#	 14988	 14990	 14992	 14996	 14996#	 15004	 15006
	 15008	 15012	 15012#	 15020	 15022	 15024	 15028	 15028#	 15036	 15038	 15040	 15044	 15044#	 15052
	 15054	 15056	 15060	 15060#	 15068	 15070	 15072	 15076	 15076#	 15084	 15086	 15088	 15092	 15092#
	 15100	 15102	 15104	 15108	 15108#	 15116	 15118	 15120	 15124	 15124#	 15132	 15134	 15136	 15140
	 15140#	 15148	 15150	 15152	 15156	 15156#	 15164	 15166	 15168	 15172	 15172#	 15180	 15182	 15184
	 15188	 15188#	 15196	 15198	 15200	 15204	 15204#	 15212	 15214	 15216	 15220	 15220#	 15228	 15230
	 15232	 15235#	 15255	 15255#	 15263	 15265	 15267	 15271	 15271#	 15279	 15281	 15283	 15287	 15287#
	 15295	 15297	 15299	 15303	 15303#	 15311	 15313	 15315	 15319	 15319#	 15327	 15329	 15331	 15335
	 15335#	 15343	 15345	 15347	 15351	 15351#	 15359	 15361	 15363	 15367	 15367#	 15375	 15377	 15379
	 15383	 15383#	 15391	 15393	 15395	 15399	 15399#	 15407	 15409	 15411	 15415	 15415#	 15423	 15425
	 15427	 15431	 15431#	 15439	 15441	 15443	 15447	 15447#	 15455	 15457	 15459	 15463	 15463#	 15471
	 15473	 15475	 15479	 15479#	 15487	 15489	 15491	 15495	 15495#	 15503	 15505	 15507	 15511	 15511#
	 15519	 15521	 15523	 15541#	 15559	 15559#	 15566	 15568	 15572	 15572#	 15579	 15581	 15585	 15585#
	 15592	 15594	 15598	 15598#	 15605	 15607	 15611	 15611#	 15618	 15620	 15624	 15624#	 15631	 15633
	 15637	 15637#	 15644	 15646	 15650	 15650#	 15657	 15659	 15663	 15663#	 15670	 15672	 15676	 15676#
	 15683	 15685	 15703#	 15727	 15727#	 15738	 15740	 15742	 15746	 15746#	 15757	 15759	 15761	 15765
	 15765#	 15776	 15778	 15780	 15784	 15784#	 15795	 15797	 15799	 15803	 15803#	 15814	 15816	 15818
	 15836#	 15857	 15857#	 15865	 15867	 15869	 15873	 15873#	 15881	 15883	 15885	 15889	 15889#	 15897
	 15899	 15901	 15905	 15905#	 15913	 15915	 15917	 15921	 15921#	 15929	 15931	 15933	 15950#	 15972
	 15972#	 15981	 15983	 15985	 15989	 15989#	 15998	 16000	 16002	 16006	 16006#	 16015	 16017	 16019
	 16023	 16023#	 16032	 16034	 16036	 16040	 16040#	 16049	 16051	 16053	 16070#	 16087	 16087#	 16094
	 16096	 16100	 16100#	 16107	 16109	 16113	 16113#	 16120	 16122	 16126	 16126#	 16133	 16135	 16139
	 16139#	 16146	 16148	 16165#	 16187	 16187#	 16196	 16198	 16200	 16204	 16204#	 16213	 16215	 16217
	 16221	 16221#	 16230	 16232	 16234	 16238	 16238#	 16247	 16249	 16251	 16255	 16255#	 16264	 16266
	 16268	 16285#	 16307	 16307#	 16316	 16318	 16320	 16324	 16324#	 16333	 16335	 16337	 16341	 16341#    SEQ 0400
	 16350	 16352	 16354	 16358	 16358#	 16367	 16369	 16371	 16375	 16375#	 16384	 16386	 16388
SNTRP	   360#
SPACE	   556#
SPDES	 16504#
SRTDDT	   386#
START	   374	   702#
START1	   393#
START2	   394#
START3	   395#
START4	   396#
START5	   397#
STARTA	   389	   706#
STRP	   360#
SUBLNK	   167#	   390
SWTEXR	   405#
SYSEXR	   378#
TAB	   557#
TESTPC	   432#	   716	  1962	  3209	  4455	  5626	  6871	  8191	  9513	  9574	  9634	  9688	  9739	  9795
	  9854	  9921	  9974	 10029	 10095	 10171	 10190	 10215	 10355	 10461	 10509	 10782	 10848	 10913
	 10996	 11043	 11098	 11148	 11230	 11273	 11345	 11409	 11474	 11524	 11583	 11639	 11693	 11789
	 11834	 11890	 11991	 12040	 12095	 12150	 12205	 12262	 12341	 12364	 12389	 12446	 12503	 12549
	 12608	 12681	 12732	 12792	 12877	 12941	 13024	 13088	 13173	 13193	 13214	 13278	 13359	 13565
	 13673	 13757	 13883	 14010	 14118	 14202	 14322	 14420	 14924	 15537	 15699	 15832	 15946	 16066
	 16161	 16281
TICKS	   435#
TLET	   704	 16478	 16501#
TN0	   360#
TN1	   360#
TOTALS	   133#
TRP3TP	   360#
TRPENB	   360#
TTNBRF	   615#
TTYFIL	   531#
TTYSPD	   532#
TXTINH	   144#	 16462
UOLIP	   360#
UOUSR	   360#
USER	   422#	 16401	 16414	 16553
USERF	   360#
USRASB	    60#	   412
USRCMP	   360#
USRCRF	   541#
USRLFF	   540#
USRPFW	   360#
UUODIS	   494#
UUOEXT	   450#	 16557
UUORTN	   451#
UUOSKP	   448#
V1	   741#	   751	   752	   775#	   785	   786	   809#	   819	   820	   843#	   853	   854	   877#	   887
	   888	   911#	   921	   922	   945#	   955	   956	   979#	   989	   990	  1013#	  1023	  1024	  1047#
	  1057	  1058	  1081#	  1091	  1092	  1115#	  1125	  1126	  1149#	  1159	  1160	  1183#	  1193	  1194
	  1217#	  1227	  1228	  1251#	  1261	  1262	  1285#	  1295	  1296	  1319#	  1329	  1330	  1353#	  1363
	  1364	  1387#	  1397	  1398	  1421#	  1431	  1432	  1455#	  1465	  1466	  1489#	  1499	  1500	  1523#    SEQ 0401
	  1533	  1534	  1557#	  1567	  1568	  1591#	  1601	  1602	  1625#	  1635	  1636	  1659#	  1669	  1670
	  1693#	  1703	  1704	  1727#	  1737	  1738	  1761#	  1771	  1772	  1795#	  1805	  1806	  1829#	  1839
	  1840	  1863#	  1873	  1874	  1897#	  1907	  1908	  1931#	  1941	  1942	  1988#	  2002	  2003	  2011
	  2012	  2022#	  2036	  2037	  2045	  2046	  2056#	  2070	  2071	  2079	  2080	  2090#	  2104	  2105
	  2113	  2114	  2124#	  2138	  2139	  2147	  2148	  2158#	  2172	  2173	  2181	  2182	  2192#	  2206
	  2207	  2215	  2216	  2226#	  2240	  2241	  2249	  2250	  2260#	  2274	  2275	  2283	  2284	  2294#
	  2308	  2309	  2317	  2318	  2328#	  2342	  2343	  2351	  2352	  2362#	  2376	  2377	  2385	  2386
	  2396#	  2410	  2411	  2419	  2420	  2430#	  2444	  2445	  2453	  2454	  2464#	  2478	  2479	  2487
	  2488	  2498#	  2512	  2513	  2521	  2522	  2532#	  2546	  2547	  2555	  2556	  2566#	  2580	  2581
	  2589	  2590	  2600#	  2614	  2615	  2623	  2624	  2634#	  2648	  2649	  2657	  2658	  2668#	  2682
	  2683	  2691	  2692	  2702#	  2716	  2717	  2725	  2726	  2736#	  2750	  2751	  2759	  2760	  2770#
	  2784	  2785	  2793	  2794	  2804#	  2818	  2819	  2827	  2828	  2838#	  2852	  2853	  2861	  2862
	  2872#	  2886	  2887	  2895	  2896	  2906#	  2920	  2921	  2929	  2930	  2940#	  2954	  2955	  2963
	  2964	  2974#	  2988	  2989	  2997	  2998	  3008#	  3022	  3023	  3031	  3032	  3042#	  3056	  3057
	  3065	  3066	  3076#	  3090	  3091	  3099	  3100	  3110#	  3124	  3125	  3133	  3134	  3144#	  3158
	  3159	  3167	  3168	  3178#	  3192	  3193	  3201	  3202	  3234#	  3244	  3245	  3268#	  3278	  3279
	  3302#	  3312	  3313	  3336#	  3346	  3347	  3370#	  3380	  3381	  3404#	  3414	  3415	  3438#	  3448
	  3449	  3472#	  3482	  3483	  3506#	  3516	  3517	  3540#	  3550	  3551	  3574#	  3584	  3585	  3608#
	  3618	  3619	  3642#	  3652	  3653	  3676#	  3686	  3687	  3710#	  3720	  3721	  3744#	  3754	  3755
	  3778#	  3788	  3789	  3812#	  3822	  3823	  3846#	  3856	  3857	  3880#	  3890	  3891	  3914#	  3924
	  3925	  3948#	  3958	  3959	  3982#	  3992	  3993	  4016#	  4026	  4027	  4050#	  4060	  4061	  4084#
	  4094	  4095	  4118#	  4128	  4129	  4152#	  4162	  4163	  4186#	  4196	  4197	  4220#	  4230	  4231
	  4254#	  4264	  4265	  4288#	  4298	  4299	  4322#	  4332	  4333	  4356#	  4366	  4367	  4390#	  4400
	  4401	  4424#	  4434	  4435	  4476#	  4495	  4496	  4508#	  4527	  4528	  4540#	  4559	  4560	  4572#
	  4591	  4592	  4604#	  4623	  4624	  4636#	  4655	  4656	  4668#	  4687	  4688	  4700#	  4719	  4720
	  4732#	  4751	  4752	  4764#	  4783	  4784	  4796#	  4815	  4816	  4828#	  4847	  4848	  4860#	  4879
	  4880	  4892#	  4911	  4912	  4924#	  4943	  4944	  4956#	  4975	  4976	  4988#	  5007	  5008	  5020#
	  5039	  5040	  5052#	  5071	  5072	  5084#	  5103	  5104	  5116#	  5135	  5136	  5148#	  5167	  5168
	  5180#	  5199	  5200	  5212#	  5231	  5232	  5244#	  5263	  5264	  5276#	  5295	  5296	  5308#	  5327
	  5328	  5340#	  5359	  5360	  5372#	  5391	  5392	  5404#	  5423	  5424	  5436#	  5455	  5456	  5468#
	  5487	  5488	  5500#	  5519	  5520	  5532#	  5551	  5552	  5564#	  5583	  5584	  5596#	  5615	  5616
	  5649#	  5670	  5671	  5683#	  5704	  5705	  5717#	  5738	  5739	  5751#	  5772	  5773	  5785#	  5806
	  5807	  5819#	  5840	  5841	  5853#	  5874	  5875	  5887#	  5908	  5909	  5921#	  5942	  5943	  5955#
	  5976	  5977	  5989#	  6010	  6011	  6023#	  6044	  6045	  6057#	  6078	  6079	  6091#	  6112	  6113
	  6125#	  6146	  6147	  6159#	  6180	  6181	  6193#	  6214	  6215	  6227#	  6248	  6249	  6261#	  6282
	  6283	  6295#	  6316	  6317	  6329#	  6350	  6351	  6363#	  6384	  6385	  6397#	  6418	  6419	  6431#
	  6452	  6453	  6465#	  6486	  6487	  6499#	  6520	  6521	  6533#	  6554	  6555	  6567#	  6588	  6589
	  6601#	  6622	  6623	  6635#	  6656	  6657	  6669#	  6690	  6691	  6703#	  6724	  6725	  6737#	  6758
	  6759	  6771#	  6792	  6793	  6805#	  6826	  6827	  6839#	  6860	  6861	  6899#	  6920	  6921	  6935#
	  6956	  6957	  6971#	  6992	  6993	  7007#	  7028	  7029	  7043#	  7064	  7065	  7079#	  7100	  7101
	  7115#	  7136	  7137	  7151#	  7172	  7173	  7187#	  7208	  7209	  7223#	  7244	  7245	  7259#	  7280
	  7281	  7295#	  7316	  7317	  7331#	  7352	  7353	  7367#	  7388	  7389	  7403#	  7424	  7425	  7439#
	  7460	  7461	  7475#	  7496	  7497	  7511#	  7532	  7533	  7547#	  7568	  7569	  7583#	  7604	  7605
	  7619#	  7640	  7641	  7655#	  7676	  7677	  7691#	  7712	  7713	  7727#	  7748	  7749	  7763#	  7784
	  7785	  7799#	  7820	  7821	  7835#	  7856	  7857	  7871#	  7892	  7893	  7907#	  7928	  7929	  7943#
	  7964	  7965	  7979#	  8000	  8001	  8015#	  8036	  8037	  8051#	  8072	  8073	  8087#	  8108	  8109
	  8123#	  8144	  8145	  8159#	  8180	  8181	  8219#	  8240	  8241	  8255#	  8276	  8277	  8291#	  8312
	  8313	  8327#	  8348	  8349	  8363#	  8384	  8385	  8399#	  8420	  8421	  8435#	  8456	  8457	  8471#
	  8492	  8493	  8507#	  8528	  8529	  8543#	  8564	  8565	  8579#	  8600	  8601	  8615#	  8636	  8637
	  8651#	  8672	  8673	  8687#	  8708	  8709	  8723#	  8744	  8745	  8759#	  8780	  8781	  8795#	  8816
	  8817	  8831#	  8852	  8853	  8867#	  8888	  8889	  8903#	  8924	  8925	  8939#	  8960	  8961	  8975#
	  8996	  8997	  9011#	  9032	  9033	  9047#	  9068	  9069	  9083#	  9104	  9105	  9119#	  9140	  9141
	  9155#	  9176	  9177	  9191#	  9212	  9213	  9227#	  9248	  9249	  9263#	  9284	  9285	  9299#	  9320     SEQ 0402
	  9321	  9335#	  9356	  9357	  9371#	  9392	  9393	  9407#	  9428	  9429	  9443#	  9464	  9465	  9479#
	  9500	  9501
V2	   742#	   761	   762	   776#	   795	   796	   810#	   829	   830	   844#	   863	   864	   878#	   897
	   898	   912#	   931	   932	   946#	   965	   966	   980#	   999	  1000	  1014#	  1033	  1034	  1048#
	  1067	  1068	  1082#	  1101	  1102	  1116#	  1135	  1136	  1150#	  1169	  1170	  1184#	  1203	  1204
	  1218#	  1237	  1238	  1252#	  1271	  1272	  1286#	  1305	  1306	  1320#	  1339	  1340	  1354#	  1373
	  1374	  1388#	  1407	  1408	  1422#	  1441	  1442	  1456#	  1475	  1476	  1490#	  1509	  1510	  1524#
	  1543	  1544	  1558#	  1577	  1578	  1592#	  1611	  1612	  1626#	  1645	  1646	  1660#	  1679	  1680
	  1694#	  1713	  1714	  1728#	  1747	  1748	  1762#	  1781	  1782	  1796#	  1815	  1816	  1830#	  1849
	  1850	  1864#	  1883	  1884	  1898#	  1917	  1918	  1932#	  1951	  1952	  1989#	  2008	  2009	  2023#
	  2042	  2043	  2057#	  2076	  2077	  2091#	  2110	  2111	  2125#	  2144	  2145	  2159#	  2178	  2179
	  2193#	  2212	  2213	  2227#	  2246	  2247	  2261#	  2280	  2281	  2295#	  2314	  2315	  2329#	  2348
	  2349	  2363#	  2382	  2383	  2397#	  2416	  2417	  2431#	  2450	  2451	  2465#	  2484	  2485	  2499#
	  2518	  2519	  2533#	  2552	  2553	  2567#	  2586	  2587	  2601#	  2620	  2621	  2635#	  2654	  2655
	  2669#	  2688	  2689	  2703#	  2722	  2723	  2737#	  2756	  2757	  2771#	  2790	  2791	  2805#	  2824
	  2825	  2839#	  2858	  2859	  2873#	  2892	  2893	  2907#	  2926	  2927	  2941#	  2960	  2961	  2975#
	  2994	  2995	  3009#	  3028	  3029	  3043#	  3062	  3063	  3077#	  3096	  3097	  3111#	  3130	  3131
	  3145#	  3164	  3165	  3179#	  3198	  3199	  3235#	  3254	  3255	  3269#	  3288	  3289	  3303#	  3322
	  3323	  3337#	  3356	  3357	  3371#	  3390	  3391	  3405#	  3424	  3425	  3439#	  3458	  3459	  3473#
	  3492	  3493	  3507#	  3526	  3527	  3541#	  3560	  3561	  3575#	  3594	  3595	  3609#	  3628	  3629
	  3643#	  3662	  3663	  3677#	  3696	  3697	  3711#	  3730	  3731	  3745#	  3764	  3765	  3779#	  3798
	  3799	  3813#	  3832	  3833	  3847#	  3866	  3867	  3881#	  3900	  3901	  3915#	  3934	  3935	  3949#
	  3968	  3969	  3983#	  4002	  4003	  4017#	  4036	  4037	  4051#	  4070	  4071	  4085#	  4104	  4105
	  4119#	  4138	  4139	  4153#	  4172	  4173	  4187#	  4206	  4207	  4221#	  4240	  4241	  4255#	  4274
	  4275	  4289#	  4308	  4309	  4323#	  4342	  4343	  4357#	  4376	  4377	  4391#	  4410	  4411	  4425#
	  4444	  4445	  4477#	  4492	  4493	  4509#	  4524	  4525	  4541#	  4556	  4557	  4573#	  4588	  4589
	  4605#	  4620	  4621	  4637#	  4652	  4653	  4669#	  4684	  4685	  4701#	  4716	  4717	  4733#	  4748
	  4749	  4765#	  4780	  4781	  4797#	  4812	  4813	  4829#	  4844	  4845	  4861#	  4876	  4877	  4893#
	  4908	  4909	  4925#	  4940	  4941	  4957#	  4972	  4973	  4989#	  5004	  5005	  5021#	  5036	  5037
	  5053#	  5068	  5069	  5085#	  5100	  5101	  5117#	  5132	  5133	  5149#	  5164	  5165	  5181#	  5196
	  5197	  5213#	  5228	  5229	  5245#	  5260	  5261	  5277#	  5292	  5293	  5309#	  5324	  5325	  5341#
	  5356	  5357	  5373#	  5388	  5389	  5405#	  5420	  5421	  5437#	  5452	  5453	  5469#	  5484	  5485
	  5501#	  5516	  5517	  5533#	  5548	  5549	  5565#	  5580	  5581	  5598#	  5612	  5613	  5652#	  5667
	  5668	  5686#	  5701	  5702	  5720#	  5735	  5736	  5754#	  5769	  5770	  5788#	  5803	  5804	  5822#
	  5837	  5838	  5856#	  5871	  5872	  5890#	  5905	  5906	  5924#	  5939	  5940	  5958#	  5973	  5974
	  5992#	  6007	  6008	  6026#	  6041	  6042	  6060#	  6075	  6076	  6094#	  6109	  6110	  6128#	  6143
	  6144	  6162#	  6177	  6178	  6196#	  6211	  6212	  6230#	  6245	  6246	  6264#	  6279	  6280	  6298#
	  6313	  6314	  6332#	  6347	  6348	  6366#	  6381	  6382	  6400#	  6415	  6416	  6434#	  6449	  6450
	  6468#	  6483	  6484	  6502#	  6517	  6518	  6536#	  6551	  6552	  6570#	  6585	  6586	  6604#	  6619
	  6620	  6638#	  6653	  6654	  6672#	  6687	  6688	  6706#	  6721	  6722	  6740#	  6755	  6756	  6774#
	  6789	  6790	  6808#	  6823	  6824	  6843#	  6857	  6858	  6902#	  6917	  6918	  6938#	  6953	  6954
	  6974#	  6989	  6990	  7010#	  7025	  7026	  7046#	  7061	  7062	  7082#	  7097	  7098	  7118#	  7133
	  7134	  7154#	  7169	  7170	  7190#	  7205	  7206	  7226#	  7241	  7242	  7262#	  7277	  7278	  7298#
	  7313	  7314	  7334#	  7349	  7350	  7370#	  7385	  7386	  7406#	  7421	  7422	  7442#	  7457	  7458
	  7478#	  7493	  7494	  7514#	  7529	  7530	  7550#	  7565	  7566	  7586#	  7601	  7602	  7622#	  7637
	  7638	  7658#	  7673	  7674	  7694#	  7709	  7710	  7730#	  7745	  7746	  7766#	  7781	  7782	  7802#
	  7817	  7818	  7838#	  7853	  7854	  7874#	  7889	  7890	  7910#	  7925	  7926	  7946#	  7961	  7962
	  7982#	  7997	  7998	  8018#	  8033	  8034	  8054#	  8069	  8070	  8090#	  8105	  8106	  8126#	  8141
	  8142	  8163#	  8177	  8178	  8222#	  8237	  8238	  8258#	  8273	  8274	  8294#	  8309	  8310	  8330#
	  8345	  8346	  8366#	  8381	  8382	  8402#	  8417	  8418	  8438#	  8453	  8454	  8474#	  8489	  8490
	  8510#	  8525	  8526	  8546#	  8561	  8562	  8582#	  8597	  8598	  8618#	  8633	  8634	  8654#	  8669
	  8670	  8690#	  8705	  8706	  8726#	  8741	  8742	  8762#	  8777	  8778	  8798#	  8813	  8814	  8834#
	  8849	  8850	  8870#	  8885	  8886	  8906#	  8921	  8922	  8942#	  8957	  8958	  8978#	  8993	  8994     SEQ 0403
	  9014#	  9029	  9030	  9050#	  9065	  9066	  9086#	  9101	  9102	  9122#	  9137	  9138	  9158#	  9173
	  9174	  9194#	  9209	  9210	  9230#	  9245	  9246	  9266#	  9281	  9282	  9302#	  9317	  9318	  9338#
	  9353	  9354	  9374#	  9389	  9390	  9410#	  9425	  9426	  9446#	  9461	  9462	  9483#	  9497	  9498
V2A	  5651#	  5652	  5685#	  5686	  5719#	  5720	  5753#	  5754	  5787#	  5788	  5821#	  5822	  5855#	  5856
	  5889#	  5890	  5923#	  5924	  5957#	  5958	  5991#	  5992	  6025#	  6026	  6059#	  6060	  6093#	  6094
	  6127#	  6128	  6161#	  6162	  6195#	  6196	  6229#	  6230	  6263#	  6264	  6297#	  6298	  6331#	  6332
	  6365#	  6366	  6399#	  6400	  6433#	  6434	  6467#	  6468	  6501#	  6502	  6535#	  6536	  6569#	  6570
	  6603#	  6604	  6637#	  6638	  6671#	  6672	  6705#	  6706	  6739#	  6740	  6773#	  6774	  6806#	  6808
	  6841#	  6900#	  6902	  6936#	  6938	  6972#	  6974	  7008#	  7010	  7044#	  7046	  7080#	  7082	  7116#
	  7118	  7152#	  7154	  7188#	  7190	  7224#	  7226	  7260#	  7262	  7296#	  7298	  7332#	  7334	  7368#
	  7370	  7404#	  7406	  7440#	  7442	  7476#	  7478	  7512#	  7514	  7549#	  7550	  7585#	  7586	  7621#
	  7622	  7657#	  7658	  7693#	  7694	  7729#	  7730	  7765#	  7766	  7801#	  7802	  7837#	  7838	  7873#
	  7874	  7909#	  7910	  7945#	  7946	  7981#	  7982	  8017#	  8018	  8053#	  8054	  8089#	  8090	  8125#
	  8126	  8161#	  8220#	  8222	  8256#	  8258	  8292#	  8294	  8328#	  8330	  8364#	  8366	  8400#	  8402
	  8436#	  8438	  8472#	  8474	  8508#	  8510	  8544#	  8546	  8580#	  8582	  8616#	  8618	  8652#	  8654
	  8688#	  8690	  8724#	  8726	  8760#	  8762	  8796#	  8798	  8832#	  8834	  8869#	  8870	  8905#	  8906
	  8941#	  8942	  8977#	  8978	  9013#	  9014	  9049#	  9050	  9085#	  9086	  9121#	  9122	  9157#	  9158
	  9193#	  9194	  9229#	  9230	  9265#	  9266	  9301#	  9302	  9337#	  9338	  9373#	  9374	  9409#	  9410
	  9445#	  9446	  9481#
V3	   744#	   758	   759	   778#	   792	   793	   812#	   826	   827	   846#	   860	   861	   880#	   894
	   895	   914#	   928	   929	   948#	   962	   963	   982#	   996	   997	  1016#	  1030	  1031	  1050#
	  1064	  1065	  1084#	  1098	  1099	  1118#	  1132	  1133	  1152#	  1166	  1167	  1186#	  1200	  1201
	  1220#	  1234	  1235	  1254#	  1268	  1269	  1288#	  1302	  1303	  1322#	  1336	  1337	  1356#	  1370
	  1371	  1390#	  1404	  1405	  1424#	  1438	  1439	  1458#	  1472	  1473	  1492#	  1506	  1507	  1526#
	  1540	  1541	  1560#	  1574	  1575	  1594#	  1608	  1609	  1628#	  1642	  1643	  1662#	  1676	  1677
	  1696#	  1710	  1711	  1730#	  1744	  1745	  1764#	  1778	  1779	  1798#	  1812	  1813	  1832#	  1846
	  1847	  1866#	  1880	  1881	  1900#	  1914	  1915	  1933#	  1948	  1949	  1990#	  2005	  2006	  2024#
	  2039	  2040	  2058#	  2073	  2074	  2092#	  2107	  2108	  2126#	  2141	  2142	  2160#	  2175	  2176
	  2194#	  2209	  2210	  2228#	  2243	  2244	  2262#	  2277	  2278	  2296#	  2311	  2312	  2330#	  2345
	  2346	  2364#	  2379	  2380	  2398#	  2413	  2414	  2432#	  2447	  2448	  2466#	  2481	  2482	  2500#
	  2515	  2516	  2534#	  2549	  2550	  2568#	  2583	  2584	  2602#	  2617	  2618	  2636#	  2651	  2652
	  2670#	  2685	  2686	  2704#	  2719	  2720	  2738#	  2753	  2754	  2772#	  2787	  2788	  2806#	  2821
	  2822	  2840#	  2855	  2856	  2874#	  2889	  2890	  2908#	  2923	  2924	  2942#	  2957	  2958	  2976#
	  2991	  2992	  3010#	  3025	  3026	  3044#	  3059	  3060	  3078#	  3093	  3094	  3112#	  3127	  3128
	  3146#	  3161	  3162	  3181#	  3195	  3196	  3236#	  3251	  3252	  3270#	  3285	  3286	  3304#	  3319
	  3320	  3338#	  3353	  3354	  3372#	  3387	  3388	  3406#	  3421	  3422	  3440#	  3455	  3456	  3474#
	  3489	  3490	  3508#	  3523	  3524	  3542#	  3557	  3558	  3576#	  3591	  3592	  3610#	  3625	  3626
	  3644#	  3659	  3660	  3678#	  3693	  3694	  3712#	  3727	  3728	  3746#	  3761	  3762	  3780#	  3795
	  3796	  3814#	  3829	  3830	  3848#	  3863	  3864	  3882#	  3897	  3898	  3916#	  3931	  3932	  3950#
	  3965	  3966	  3984#	  3999	  4000	  4018#	  4033	  4034	  4052#	  4067	  4068	  4086#	  4101	  4102
	  4120#	  4135	  4136	  4154#	  4169	  4170	  4188#	  4203	  4204	  4222#	  4237	  4238	  4256#	  4271
	  4272	  4290#	  4305	  4306	  4324#	  4339	  4340	  4358#	  4373	  4374	  4392#	  4407	  4408	  4427#
	  4441	  4442
WW	   719#	   736	   736#	   744	   770	   770#	   778	   804	   804#	   812	   838	   838#	   846	   872
	   872#	   880	   906	   906#	   914	   940	   940#	   948	   974	   974#	   982	  1008	  1008#	  1016
	  1042	  1042#	  1050	  1076	  1076#	  1084	  1110	  1110#	  1118	  1144	  1144#	  1152	  1178	  1178#
	  1186	  1212	  1212#	  1220	  1246	  1246#	  1254	  1280	  1280#	  1288	  1314	  1314#	  1322	  1348
	  1348#	  1356	  1382	  1382#	  1390	  1416	  1416#	  1424	  1450	  1450#	  1458	  1484	  1484#	  1492
	  1518	  1518#	  1526	  1552	  1552#	  1560	  1586	  1586#	  1594	  1620	  1620#	  1628	  1654	  1654#
	  1662	  1688	  1688#	  1696	  1722	  1722#	  1730	  1756	  1756#	  1764	  1790	  1790#	  1798	  1824
	  1824#	  1832	  1858	  1858#	  1866	  1892	  1892#	  1900	  1926	  1926#	  1966#	  1983	  1983#	  1990
	  2017	  2017#	  2024	  2051	  2051#	  2058	  2085	  2085#	  2092	  2119	  2119#	  2126	  2153	  2153#
	  2160	  2187	  2187#	  2194	  2221	  2221#	  2228	  2255	  2255#	  2262	  2289	  2289#	  2296	  2323     SEQ 0404
	  2323#	  2330	  2357	  2357#	  2364	  2391	  2391#	  2398	  2425	  2425#	  2432	  2459	  2459#	  2466
	  2493	  2493#	  2500	  2527	  2527#	  2534	  2561	  2561#	  2568	  2595	  2595#	  2602	  2629	  2629#
	  2636	  2663	  2663#	  2670	  2697	  2697#	  2704	  2731	  2731#	  2738	  2765	  2765#	  2772	  2799
	  2799#	  2806	  2833	  2833#	  2840	  2867	  2867#	  2874	  2901	  2901#	  2908	  2935	  2935#	  2942
	  2969	  2969#	  2976	  3003	  3003#	  3010	  3037	  3037#	  3044	  3071	  3071#	  3078	  3105	  3105#
	  3112	  3139	  3139#	  3146	  3173	  3173#	  3212#	  3229	  3229#	  3236	  3263	  3263#	  3270	  3297
	  3297#	  3304	  3331	  3331#	  3338	  3365	  3365#	  3372	  3399	  3399#	  3406	  3433	  3433#	  3440
	  3467	  3467#	  3474	  3501	  3501#	  3508	  3535	  3535#	  3542	  3569	  3569#	  3576	  3603	  3603#
	  3610	  3637	  3637#	  3644	  3671	  3671#	  3678	  3705	  3705#	  3712	  3739	  3739#	  3746	  3773
	  3773#	  3780	  3807	  3807#	  3814	  3841	  3841#	  3848	  3875	  3875#	  3882	  3909	  3909#	  3916
	  3943	  3943#	  3950	  3977	  3977#	  3984	  4011	  4011#	  4018	  4045	  4045#	  4052	  4079	  4079#
	  4086	  4113	  4113#	  4120	  4147	  4147#	  4154	  4181	  4181#	  4188	  4215	  4215#	  4222	  4249
	  4249#	  4256	  4283	  4283#	  4290	  4317	  4317#	  4324	  4351	  4351#	  4358	  4385	  4385#	  4392
	  4419	  4419#	 12946#	 12974	 12974#	 12978	 12996	 12996#	 13000
XX	   720#	   737	   737#	   738	   738#	   742	   743	   744	   755	   756	   764	   765	   771	   771#
	   772	   776	   777	   778	   789	   790	   798	   799	   805	   805#	   806	   810	   811	   812
	   823	   824	   832	   833	   839	   839#	   840	   844	   845	   846	   857	   858	   866	   867
	   873	   873#	   874	   878	   879	   880	   891	   892	   900	   901	   907	   907#	   908	   912
	   913	   914	   925	   926	   934	   935	   941	   941#	   942	   946	   947	   948	   959	   960
	   968	   969	   975	   975#	   976	   980	   981	   982	   993	   994	  1002	  1003	  1009	  1009#
	  1010	  1014	  1015	  1016	  1027	  1028	  1036	  1037	  1043	  1043#	  1044	  1048	  1049	  1050
	  1061	  1062	  1070	  1071	  1077	  1077#	  1078	  1082	  1083	  1084	  1095	  1096	  1104	  1105
	  1111	  1111#	  1112	  1116	  1117	  1118	  1129	  1130	  1138	  1139	  1145	  1145#	  1146	  1150
	  1151	  1152	  1163	  1164	  1172	  1173	  1179	  1179#	  1180	  1184	  1185	  1186	  1197	  1198
	  1206	  1207	  1213	  1213#	  1214	  1218	  1219	  1220	  1231	  1232	  1240	  1241	  1247	  1247#
	  1248	  1252	  1253	  1254	  1265	  1266	  1274	  1275	  1281	  1281#	  1282	  1286	  1287	  1288
	  1299	  1300	  1308	  1309	  1315	  1315#	  1316	  1320	  1321	  1322	  1333	  1334	  1342	  1343
	  1349	  1349#	  1350	  1354	  1355	  1356	  1367	  1368	  1376	  1377	  1383	  1383#	  1384	  1388
	  1389	  1390	  1401	  1402	  1410	  1411	  1417	  1417#	  1418	  1422	  1423	  1424	  1435	  1436
	  1444	  1445	  1451	  1451#	  1452	  1456	  1457	  1458	  1469	  1470	  1478	  1479	  1485	  1485#
	  1486	  1490	  1491	  1492	  1503	  1504	  1512	  1513	  1519	  1519#	  1520	  1524	  1525	  1526
	  1537	  1538	  1546	  1547	  1553	  1553#	  1554	  1558	  1559	  1560	  1571	  1572	  1580	  1581
	  1587	  1587#	  1588	  1592	  1593	  1594	  1605	  1606	  1614	  1615	  1621	  1621#	  1622	  1626
	  1627	  1628	  1639	  1640	  1648	  1649	  1655	  1655#	  1656	  1660	  1661	  1662	  1673	  1674
	  1682	  1683	  1689	  1689#	  1690	  1694	  1695	  1696	  1707	  1708	  1716	  1717	  1723	  1723#
	  1724	  1728	  1729	  1730	  1741	  1742	  1750	  1751	  1757	  1757#	  1758	  1762	  1763	  1764
	  1775	  1776	  1784	  1785	  1791	  1791#	  1792	  1796	  1797	  1798	  1809	  1810	  1818	  1819
	  1825	  1825#	  1826	  1830	  1831	  1832	  1843	  1844	  1852	  1853	  1859	  1859#	  1860	  1864
	  1865	  1866	  1877	  1878	  1886	  1887	  1893	  1893#	  1894	  1898	  1899	  1900	  1911	  1912
	  1920	  1921	  1927	  1927#	  1928	  1932	  1933	  1934	  1945	  1946	  1954	  1955	  1967#	  1984
	  1984#	  1985	  1985#	  1989	  1990	  1991	  1998	  1999	  2018	  2018#	  2019	  2023	  2024	  2025
	  2032	  2033	  2052	  2052#	  2053	  2057	  2058	  2059	  2066	  2067	  2086	  2086#	  2087	  2091
	  2092	  2093	  2100	  2101	  2120	  2120#	  2121	  2125	  2126	  2127	  2134	  2135	  2154	  2154#
	  2155	  2159	  2160	  2161	  2168	  2169	  2188	  2188#	  2189	  2193	  2194	  2195	  2202	  2203
	  2222	  2222#	  2223	  2227	  2228	  2229	  2236	  2237	  2256	  2256#	  2257	  2261	  2262	  2263
	  2270	  2271	  2290	  2290#	  2291	  2295	  2296	  2297	  2304	  2305	  2324	  2324#	  2325	  2329
	  2330	  2331	  2338	  2339	  2358	  2358#	  2359	  2363	  2364	  2365	  2372	  2373	  2392	  2392#
	  2393	  2397	  2398	  2399	  2406	  2407	  2426	  2426#	  2427	  2431	  2432	  2433	  2440	  2441
	  2460	  2460#	  2461	  2465	  2466	  2467	  2474	  2475	  2494	  2494#	  2495	  2499	  2500	  2501
	  2508	  2509	  2528	  2528#	  2529	  2533	  2534	  2535	  2542	  2543	  2562	  2562#	  2563	  2567
	  2568	  2569	  2576	  2577	  2596	  2596#	  2597	  2601	  2602	  2603	  2610	  2611	  2630	  2630#
	  2631	  2635	  2636	  2637	  2644	  2645	  2664	  2664#	  2665	  2669	  2670	  2671	  2678	  2679
	  2698	  2698#	  2699	  2703	  2704	  2705	  2712	  2713	  2732	  2732#	  2733	  2737	  2738	  2739     SEQ 0405
	  2746	  2747	  2766	  2766#	  2767	  2771	  2772	  2773	  2780	  2781	  2800	  2800#	  2801	  2805
	  2806	  2807	  2814	  2815	  2834	  2834#	  2835	  2839	  2840	  2841	  2848	  2849	  2868	  2868#
	  2869	  2873	  2874	  2875	  2882	  2883	  2902	  2902#	  2903	  2907	  2908	  2909	  2916	  2917
	  2936	  2936#	  2937	  2941	  2942	  2943	  2950	  2951	  2970	  2970#	  2971	  2975	  2976	  2977
	  2984	  2985	  3004	  3004#	  3005	  3009	  3010	  3011	  3018	  3019	  3038	  3038#	  3039	  3043
	  3044	  3045	  3052	  3053	  3072	  3072#	  3073	  3077	  3078	  3079	  3086	  3087	  3106	  3106#
	  3107	  3111	  3112	  3113	  3120	  3121	  3140	  3140#	  3141	  3145	  3146	  3147	  3154	  3155
	  3174	  3174#	  3175	  3179	  3180	  3181	  3188	  3189	  3213#	  3230	  3230#	  3231	  3231#	  3235
	  3236	  3237	  3248	  3249	  3257	  3258	  3264	  3264#	  3265	  3269	  3270	  3271	  3282	  3283
	  3291	  3292	  3298	  3298#	  3299	  3303	  3304	  3305	  3316	  3317	  3325	  3326	  3332	  3332#
	  3333	  3337	  3338	  3339	  3350	  3351	  3359	  3360	  3366	  3366#	  3367	  3371	  3372	  3373
	  3384	  3385	  3393	  3394	  3400	  3400#	  3401	  3405	  3406	  3407	  3418	  3419	  3427	  3428
	  3434	  3434#	  3435	  3439	  3440	  3441	  3452	  3453	  3461	  3462	  3468	  3468#	  3469	  3473
	  3474	  3475	  3486	  3487	  3495	  3496	  3502	  3502#	  3503	  3507	  3508	  3509	  3520	  3521
	  3529	  3530	  3536	  3536#	  3537	  3541	  3542	  3543	  3554	  3555	  3563	  3564	  3570	  3570#
	  3571	  3575	  3576	  3577	  3588	  3589	  3597	  3598	  3604	  3604#	  3605	  3609	  3610	  3611
	  3622	  3623	  3631	  3632	  3638	  3638#	  3639	  3643	  3644	  3645	  3656	  3657	  3665	  3666
	  3672	  3672#	  3673	  3677	  3678	  3679	  3690	  3691	  3699	  3700	  3706	  3706#	  3707	  3711
	  3712	  3713	  3724	  3725	  3733	  3734	  3740	  3740#	  3741	  3745	  3746	  3747	  3758	  3759
	  3767	  3768	  3774	  3774#	  3775	  3779	  3780	  3781	  3792	  3793	  3801	  3802	  3808	  3808#
	  3809	  3813	  3814	  3815	  3826	  3827	  3835	  3836	  3842	  3842#	  3843	  3847	  3848	  3849
	  3860	  3861	  3869	  3870	  3876	  3876#	  3877	  3881	  3882	  3883	  3894	  3895	  3903	  3904
	  3910	  3910#	  3911	  3915	  3916	  3917	  3928	  3929	  3937	  3938	  3944	  3944#	  3945	  3949
	  3950	  3951	  3962	  3963	  3971	  3972	  3978	  3978#	  3979	  3983	  3984	  3985	  3996	  3997
	  4005	  4006	  4012	  4012#	  4013	  4017	  4018	  4019	  4030	  4031	  4039	  4040	  4046	  4046#
	  4047	  4051	  4052	  4053	  4064	  4065	  4073	  4074	  4080	  4080#	  4081	  4085	  4086	  4087
	  4098	  4099	  4107	  4108	  4114	  4114#	  4115	  4119	  4120	  4121	  4132	  4133	  4141	  4142
	  4148	  4148#	  4149	  4153	  4154	  4155	  4166	  4167	  4175	  4176	  4182	  4182#	  4183	  4187
	  4188	  4189	  4200	  4201	  4209	  4210	  4216	  4216#	  4217	  4221	  4222	  4223	  4234	  4235
	  4243	  4244	  4250	  4250#	  4251	  4255	  4256	  4257	  4268	  4269	  4277	  4278	  4284	  4284#
	  4285	  4289	  4290	  4291	  4302	  4303	  4311	  4312	  4318	  4318#	  4319	  4323	  4324	  4325
	  4336	  4337	  4345	  4346	  4352	  4352#	  4353	  4357	  4358	  4359	  4370	  4371	  4379	  4380
	  4386	  4386#	  4387	  4391	  4392	  4393	  4404	  4405	  4413	  4414	  4420	  4420#	  4421	  4425
	  4426	  4427	  4438	  4439	  4447	  4448	  4458#	  4472	  4472#	  4473	  4473#	  4476	  4477	  4478
	  4485	  4486	  4489	  4490	  4498	  4499	  4504	  4504#	  4505	  4508	  4509	  4510	  4517	  4518
	  4521	  4522	  4530	  4531	  4536	  4536#	  4537	  4540	  4541	  4542	  4549	  4550	  4553	  4554
	  4562	  4563	  4568	  4568#	  4569	  4572	  4573	  4574	  4581	  4582	  4585	  4586	  4594	  4595
	  4600	  4600#	  4601	  4604	  4605	  4606	  4613	  4614	  4617	  4618	  4626	  4627	  4632	  4632#
	  4633	  4636	  4637	  4638	  4645	  4646	  4649	  4650	  4658	  4659	  4664	  4664#	  4665	  4668
	  4669	  4670	  4677	  4678	  4681	  4682	  4690	  4691	  4696	  4696#	  4697	  4700	  4701	  4702
	  4709	  4710	  4713	  4714	  4722	  4723	  4728	  4728#	  4729	  4732	  4733	  4734	  4741	  4742
	  4745	  4746	  4754	  4755	  4760	  4760#	  4761	  4764	  4765	  4766	  4773	  4774	  4777	  4778
	  4786	  4787	  4792	  4792#	  4793	  4796	  4797	  4798	  4805	  4806	  4809	  4810	  4818	  4819
	  4824	  4824#	  4825	  4828	  4829	  4830	  4837	  4838	  4841	  4842	  4850	  4851	  4856	  4856#
	  4857	  4860	  4861	  4862	  4869	  4870	  4873	  4874	  4882	  4883	  4888	  4888#	  4889	  4892
	  4893	  4894	  4901	  4902	  4905	  4906	  4914	  4915	  4920	  4920#	  4921	  4924	  4925	  4926
	  4933	  4934	  4937	  4938	  4946	  4947	  4952	  4952#	  4953	  4956	  4957	  4958	  4965	  4966
	  4969	  4970	  4978	  4979	  4984	  4984#	  4985	  4988	  4989	  4990	  4997	  4998	  5001	  5002
	  5010	  5011	  5016	  5016#	  5017	  5020	  5021	  5022	  5029	  5030	  5033	  5034	  5042	  5043
	  5048	  5048#	  5049	  5052	  5053	  5054	  5061	  5062	  5065	  5066	  5074	  5075	  5080	  5080#
	  5081	  5084	  5085	  5086	  5093	  5094	  5097	  5098	  5106	  5107	  5112	  5112#	  5113	  5116
	  5117	  5118	  5125	  5126	  5129	  5130	  5138	  5139	  5144	  5144#	  5145	  5148	  5149	  5150
	  5157	  5158	  5161	  5162	  5170	  5171	  5176	  5176#	  5177	  5180	  5181	  5182	  5189	  5190     SEQ 0406
	  5193	  5194	  5202	  5203	  5208	  5208#	  5209	  5212	  5213	  5214	  5221	  5222	  5225	  5226
	  5234	  5235	  5240	  5240#	  5241	  5244	  5245	  5246	  5253	  5254	  5257	  5258	  5266	  5267
	  5272	  5272#	  5273	  5276	  5277	  5278	  5285	  5286	  5289	  5290	  5298	  5299	  5304	  5304#
	  5305	  5308	  5309	  5310	  5317	  5318	  5321	  5322	  5330	  5331	  5336	  5336#	  5337	  5340
	  5341	  5342	  5349	  5350	  5353	  5354	  5362	  5363	  5368	  5368#	  5369	  5372	  5373	  5374
	  5381	  5382	  5385	  5386	  5394	  5395	  5400	  5400#	  5401	  5404	  5405	  5406	  5413	  5414
	  5417	  5418	  5426	  5427	  5432	  5432#	  5433	  5436	  5437	  5438	  5445	  5446	  5449	  5450
	  5458	  5459	  5464	  5464#	  5465	  5468	  5469	  5470	  5477	  5478	  5481	  5482	  5490	  5491
	  5496	  5496#	  5497	  5500	  5501	  5502	  5509	  5510	  5513	  5514	  5522	  5523	  5528	  5528#
	  5529	  5532	  5533	  5534	  5541	  5542	  5545	  5546	  5554	  5555	  5560	  5560#	  5561	  5564
	  5565	  5566	  5573	  5574	  5577	  5578	  5586	  5587	  5592	  5592#	  5593	  5596	  5597	  5598
	  5605	  5606	  5609	  5610	  5618	  5619	  5629#	  5645	  5645#	  5646	  5646#	  5649	  5650	  5651
	  5652	  5653	  5660	  5661	  5664	  5665	  5673	  5674	  5679	  5679#	  5680	  5683	  5684	  5685
	  5686	  5687	  5694	  5695	  5698	  5699	  5707	  5708	  5713	  5713#	  5714	  5717	  5718	  5719
	  5720	  5721	  5728	  5729	  5732	  5733	  5741	  5742	  5747	  5747#	  5748	  5751	  5752	  5753
	  5754	  5755	  5762	  5763	  5766	  5767	  5775	  5776	  5781	  5781#	  5782	  5785	  5786	  5787
	  5788	  5789	  5796	  5797	  5800	  5801	  5809	  5810	  5815	  5815#	  5816	  5819	  5820	  5821
	  5822	  5823	  5830	  5831	  5834	  5835	  5843	  5844	  5849	  5849#	  5850	  5853	  5854	  5855
	  5856	  5857	  5864	  5865	  5868	  5869	  5877	  5878	  5883	  5883#	  5884	  5887	  5888	  5889
	  5890	  5891	  5898	  5899	  5902	  5903	  5911	  5912	  5917	  5917#	  5918	  5921	  5922	  5923
	  5924	  5925	  5932	  5933	  5936	  5937	  5945	  5946	  5951	  5951#	  5952	  5955	  5956	  5957
	  5958	  5959	  5966	  5967	  5970	  5971	  5979	  5980	  5985	  5985#	  5986	  5989	  5990	  5991
	  5992	  5993	  6000	  6001	  6004	  6005	  6013	  6014	  6019	  6019#	  6020	  6023	  6024	  6025
	  6026	  6027	  6034	  6035	  6038	  6039	  6047	  6048	  6053	  6053#	  6054	  6057	  6058	  6059
	  6060	  6061	  6068	  6069	  6072	  6073	  6081	  6082	  6087	  6087#	  6088	  6091	  6092	  6093
	  6094	  6095	  6102	  6103	  6106	  6107	  6115	  6116	  6121	  6121#	  6122	  6125	  6126	  6127
	  6128	  6129	  6136	  6137	  6140	  6141	  6149	  6150	  6155	  6155#	  6156	  6159	  6160	  6161
	  6162	  6163	  6170	  6171	  6174	  6175	  6183	  6184	  6189	  6189#	  6190	  6193	  6194	  6195
	  6196	  6197	  6204	  6205	  6208	  6209	  6217	  6218	  6223	  6223#	  6224	  6227	  6228	  6229
	  6230	  6231	  6238	  6239	  6242	  6243	  6251	  6252	  6257	  6257#	  6258	  6261	  6262	  6263
	  6264	  6265	  6272	  6273	  6276	  6277	  6285	  6286	  6291	  6291#	  6292	  6295	  6296	  6297
	  6298	  6299	  6306	  6307	  6310	  6311	  6319	  6320	  6325	  6325#	  6326	  6329	  6330	  6331
	  6332	  6333	  6340	  6341	  6344	  6345	  6353	  6354	  6359	  6359#	  6360	  6363	  6364	  6365
	  6366	  6367	  6374	  6375	  6378	  6379	  6387	  6388	  6393	  6393#	  6394	  6397	  6398	  6399
	  6400	  6401	  6408	  6409	  6412	  6413	  6421	  6422	  6427	  6427#	  6428	  6431	  6432	  6433
	  6434	  6435	  6442	  6443	  6446	  6447	  6455	  6456	  6461	  6461#	  6462	  6465	  6466	  6467
	  6468	  6469	  6476	  6477	  6480	  6481	  6489	  6490	  6495	  6495#	  6496	  6499	  6500	  6501
	  6502	  6503	  6510	  6511	  6514	  6515	  6523	  6524	  6529	  6529#	  6530	  6533	  6534	  6535
	  6536	  6537	  6544	  6545	  6548	  6549	  6557	  6558	  6563	  6563#	  6564	  6567	  6568	  6569
	  6570	  6571	  6578	  6579	  6582	  6583	  6591	  6592	  6597	  6597#	  6598	  6601	  6602	  6603
	  6604	  6605	  6612	  6613	  6616	  6617	  6625	  6626	  6631	  6631#	  6632	  6635	  6636	  6637
	  6638	  6639	  6646	  6647	  6650	  6651	  6659	  6660	  6665	  6665#	  6666	  6669	  6670	  6671
	  6672	  6673	  6680	  6681	  6684	  6685	  6693	  6694	  6699	  6699#	  6700	  6703	  6704	  6705
	  6706	  6707	  6714	  6715	  6718	  6719	  6727	  6728	  6733	  6733#	  6734	  6737	  6738	  6739
	  6740	  6741	  6748	  6749	  6752	  6753	  6761	  6762	  6767	  6767#	  6768	  6771	  6772	  6773
	  6774	  6775	  6782	  6783	  6786	  6787	  6795	  6796	  6801	  6801#	  6802	  6805	  6806	  6807
	  6808	  6809	  6816	  6817	  6820	  6821	  6829	  6830	  6835	  6835#	  6836	  6839	  6840	  6841
	  6842	  6843	  6850	  6851	  6854	  6855	  6863	  6864	  6874#	  6893	  6893#	  6895	  6895#	  6899
	  6900	  6901	  6902	  6903	  6914	  6915	  6923	  6924	  6929	  6929#	  6931	  6935	  6936	  6937
	  6938	  6939	  6950	  6951	  6959	  6960	  6965	  6965#	  6967	  6971	  6972	  6973	  6974	  6975
	  6986	  6987	  6995	  6996	  7001	  7001#	  7003	  7007	  7008	  7009	  7010	  7011	  7022	  7023
	  7031	  7032	  7037	  7037#	  7039	  7043	  7044	  7045	  7046	  7047	  7058	  7059	  7067	  7068
	  7073	  7073#	  7075	  7079	  7080	  7081	  7082	  7083	  7094	  7095	  7103	  7104	  7109	  7109#    SEQ 0407
	  7111	  7115	  7116	  7117	  7118	  7119	  7130	  7131	  7139	  7140	  7145	  7145#	  7147	  7151
	  7152	  7153	  7154	  7155	  7166	  7167	  7175	  7176	  7181	  7181#	  7183	  7187	  7188	  7189
	  7190	  7191	  7202	  7203	  7211	  7212	  7217	  7217#	  7219	  7223	  7224	  7225	  7226	  7227
	  7238	  7239	  7247	  7248	  7253	  7253#	  7255	  7259	  7260	  7261	  7262	  7263	  7274	  7275
	  7283	  7284	  7289	  7289#	  7291	  7295	  7296	  7297	  7298	  7299	  7310	  7311	  7319	  7320
	  7325	  7325#	  7327	  7331	  7332	  7333	  7334	  7335	  7346	  7347	  7355	  7356	  7361	  7361#
	  7363	  7367	  7368	  7369	  7370	  7371	  7382	  7383	  7391	  7392	  7397	  7397#	  7399	  7403
	  7404	  7405	  7406	  7407	  7418	  7419	  7427	  7428	  7433	  7433#	  7435	  7439	  7440	  7441
	  7442	  7443	  7454	  7455	  7463	  7464	  7469	  7469#	  7471	  7475	  7476	  7477	  7478	  7479
	  7490	  7491	  7499	  7500	  7505	  7505#	  7507	  7511	  7512	  7513	  7514	  7515	  7526	  7527
	  7535	  7536	  7541	  7541#	  7543	  7547	  7548	  7549	  7550	  7551	  7562	  7563	  7571	  7572
	  7577	  7577#	  7579	  7583	  7584	  7585	  7586	  7587	  7598	  7599	  7607	  7608	  7613	  7613#
	  7615	  7619	  7620	  7621	  7622	  7623	  7634	  7635	  7643	  7644	  7649	  7649#	  7651	  7655
	  7656	  7657	  7658	  7659	  7670	  7671	  7679	  7680	  7685	  7685#	  7687	  7691	  7692	  7693
	  7694	  7695	  7706	  7707	  7715	  7716	  7721	  7721#	  7723	  7727	  7728	  7729	  7730	  7731
	  7742	  7743	  7751	  7752	  7757	  7757#	  7759	  7763	  7764	  7765	  7766	  7767	  7778	  7779
	  7787	  7788	  7793	  7793#	  7795	  7799	  7800	  7801	  7802	  7803	  7814	  7815	  7823	  7824
	  7829	  7829#	  7831	  7835	  7836	  7837	  7838	  7839	  7850	  7851	  7859	  7860	  7865	  7865#
	  7867	  7871	  7872	  7873	  7874	  7875	  7886	  7887	  7895	  7896	  7901	  7901#	  7903	  7907
	  7908	  7909	  7910	  7911	  7922	  7923	  7931	  7932	  7937	  7937#	  7939	  7943	  7944	  794