Google
 

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





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

	PRODUCT CODE:	MAINDEC-10-DAKAL-B-D

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

	FUNCTION:	MULTIPY & DIVIDE

	VERSION:	0.2

	DATE RELEASED:	JANUARY 1977

	MAINTAINED BY:	DIAGNOSTIC ENGINEERING GROUP

	AUTHOR:		JOHN R. KIRCHOFF

COPYRIGHT(C) 1976,1977
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-DAKAL.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-DAKAL.TXT
							PAGE 3                                                             SEQ 0003

1.0	ABSTRACT

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

2.0	REQUIREMENTS

2.1	EQUIPMENT

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

	PAPER TAPE READER 
	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-DAKAL.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-DAKAL.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-DAKAL.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-DAKAL.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-DAKAL.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 'DAKAL.TMP'

	    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-DAKAL.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-DAKAL
                                                                                                                           SEQ 0010
************************************************************************

PRODUCT CODE:		MAINDEC-10-DAKAL

PRODUCT NAME:		BASIC INSTRUCTION DIAGNOSTIC #12

DATE RELEASED:		JANUARY 1977

VERSION:		0.2

UPDATE AUTHOR:		JOHN R. KIRCHOFF

CHANGES MADE:

	1. UPGRADE TO ALLOW COMPATABILITY WITH THE SUBROUTINE PACKAGE.

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

ORIGINAL VERSION:	0.1

ORIGINAL AUTHOR:	RICHARD MALISKA

ORIGINAL RELEASE:	16-MAR-72

************************************************************************
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 1
DAKALT	MAC	20-JAN-77 11:19		DIAGNOSTIC PARAMETERS                                                              SEQ 0011

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

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

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

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

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

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

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

   231					;*TERMINAL OUTPUT UUO'S.
   232
   233		037000	000000		OPDEF	PNTA	[37B8!0B12!0]	;PRINT ASCII WORD
   234		037000	000001		OPDEF	PNTAF	[37B8!0B12!1]	;PRINT ASCII WORD FORCED
   235		037740	000000		OPDEF	PNTAL	[37B8!17B12!0]	;PRINT ASCIZ LINE
   236		037740	000001		OPDEF	PNTALF	[37B8!17B12!1]	;PRINT ASCIZ LINE FORCED
   237		037600	000003		OPDEF	PSIXL	[37B8!14B12!3]	;PRINT SIXBIT'Z LINE
   238		037640	000003		OPDEF	PSIXLF	[37B8!15B12!3]	;PRINT SIXBIT'Z LINE FORCED
   239		037000	000000		OPDEF	PNTMSG	[37B8!0B12!0]	;PRINT MESSAGE IMMEDIATE
   240		037040	000000		OPDEF	PNTMSF	[37B8!1B12!0]	;PRINT MESSAGE IMMEDIATE FORCED
   241		037100	000000		OPDEF	PSIXM	[37B8!2B12!0]	;PRINT SIXBIT'Z MSG IMMEDIATE
   242		037200	000000		OPDEF	PSIXMF	[37B8!4B12!0]	;PRINT SIXBIT'Z MSG IMM FORCED
   243		037000	000000		OPDEF	PNTCI	[37B8!0B12!0]	;PRINT CHARACTER IMMEDIATE
   244		037040	000000		OPDEF	PNTCIF	[37B8!1B12!0]	;PRINT CHARACTER IMMEDIATE FORCED
   245		037500	000000		OPDEF	PNTCHR	[37B8!12B12!0]	;PRINT CHARACTER
   246		037500	000001		OPDEF	PNTCHF	[37B8!12B12!1]	;PRINT CHARACTER FORCED
   247		037040	000000		OPDEF	PNT1	[37B8!1B12!0]	;PRINT ONE OCTAL DIGIT
   248		037040	000001		OPDEF	PNT1F	[37B8!1B12!1]	;PRINT 1 OCTAL DIGIT FORCED	
   249		037100	000000		OPDEF	PNT2	[37B8!2B12!0]	;PRINT TWO OCTAL DIGITS
   250		037100	000001		OPDEF	PNT2F	[37B8!2B12!1]	;PRINT 2 OCTAL DIGITS FORCED	
   251		037140	000000		OPDEF	PNT3	[37B8!3B12!0]	;PRINT THREE OCTAL DIGITS
   252		037140	000001		OPDEF	PNT3F	[37B8!3B12!1]	;PRINT THREE OCTAL DIGITS FORCED	
   253		037200	000000		OPDEF	PNT4	[37B8!4B12!0]	;PRINT FOUR OCTAL DIGITS
   254		037200	000001		OPDEF	PNT4F	[37B8!4B12!1]	;PRINT FOUR OCTAL DIGITS FORCED
   255		037240	000000		OPDEF	PNT5	[37B8!5B12!0]	;PRINT FIVE OCTAL DIGITS
   256		037240	000001		OPDEF	PNT5F	[37B8!5B12!1]	;PRINT FIVE OCTAL DIGITS FORCED
   257		037300	000000		OPDEF	PNT6	[37B8!6B12!0]	;PRINT SIX OCTAL DIGITS
   258		037300	000001		OPDEF	PNT6F	[37B8!6B12!1]	;PRINT SIX OCTAL DIGITS FORCED
   259		037340	000000		OPDEF	PNT7	[37B8!7B12!0]	;PRINT 7 OCTAL DIGITS
   260		037340	000001		OPDEF	PNT7F	[37B8!7B12!1]	;PRINT 7 OCTAL DIGITS FORCED
   261		037440	000000		OPDEF	PNT11	[37B8!11B12!0]	;PRINT 11 OCTAL DIGITS
   262		037440	000001		OPDEF	PNT11F	[37B8!11B12!1]	;PRINT 11 OCTAL DIGITS FORCED.
   263		037400	000000		OPDEF	PNTADR	[37B8!10B12!0]	;PRINT PHYSICAL ADDRESS
   264		037400	000001		OPDEF	PNTADF	[37B8!10B12!1]	;PRINT PHYSICAL ADDRESS FORCED
   265		037600	000000		OPDEF	PNTOCT  [37B8!14B12!0]	;PRINT FULL WORD OCTAL
   266		037600	000001		OPDEF	PNTOTF	[37B8!14B12!1]	;PRINT FULL WORD OCTAL FORCED
   267		037540	000000		OPDEF	PNTHW	[37B8!13B12!0]	;PRINT OCTAL HALF WORDS, 6 SP 6
   268		037540	000001		OPDEF	PNTHWF	[37B8!13B12!1]	;PRINT OCTAL HALF WORDS, 6 SP 6 FORCED
   269		037700	000003		OPDEF	PNTOCS	[37B8!16B12!3]	;PRINT OCTAL, SUPPRESS LEADING 0'S
   270		037740	000003		OPDEF	PNTOCF	[37B8!17B12!3]	;PRINT OCTAL, SUPPRESS LEADING 0'S FORCED
   271		037640	000000		OPDEF	PNTDEC	[37B8!15B12!0]	;PRINT DECIMAL, SUPRESS LEADING 0'S
   272		037640	000001		OPDEF	PNTDCF	[37B8!15B12!1]	;PRINT DECIMAL, SUPRESS LEADING 0'S FORCED
   273		037700	000000		OPDEF	PNTDS	[37B8!16B12!0]	;PRINT DECIMAL, SPACES FOR LD 0'S
   274		037700	000001		OPDEF	PNTDSF	[37B8!16B12!1]	;PRINT DECIMAL, SPACES FOR LD 0'S FORCED
   275		037200	000002		OPDEF	PNTNM	[37B8!4B12!2]	;PRINT PROGRAM NAME
   276		037000	000002		OPDEF	PNTSIX	[37B8!0B12!2]	;PRINT SIXBIT WORD
   277		037040	000002		OPDEF	PNTSXF	[37B8!1B12!2]	;PRINT SIXBIT WORD FORCED
   278		037240	000002		OPDEF	DROPDV	[37B8!5B12!2]	;CLOSE LOGICAL FILE, USER MODE
   279		037100	000002		OPDEF	PNTCW	[37B8!2B12!2]	;PRINT DF10 CONTROL WORD
   280		037140	000002		OPDEF	PNTCWF	[37B8!3B12!2]	;PRINT DF10 CONTROL WORD FORCED
   281		037000	030242		OPDEF	PCRL	[37B8!0B12!CRLF] ;PRINT CARRIAGE RETURN/LINE FEED
   282		037040	030242		OPDEF	PCRLF	[37B8!1B12!CRLF] ;PRINT CARRIAGE RETURN/LINE FEED FORCED
   283		037000	000040		OPDEF	PSP	[37B8!0B12!40]	;PRINT SPACE
   284		037040	000040		OPDEF	PSPF	[37B8!1B12!40]	;PRINT SPACE FORCED
   285		037000	030243		OPDEF	PCRL2	[37B8!0B12!CRLF2] ;PRINT CARRIAGE RETURN/LINE FEED (TWICE)
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 4-1
PARAM	KLM	18-JAN-77 11:38		*PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977                                 SEQ 0019

   286		037040	030243		OPDEF	PCRL2F	[37B8!1B12!CRLF2] ;PRINT CARRIAGE RETURN/LINE FEED (TWICE) FORCED
   287		037040	000007		OPDEF	PBELL	[37B8!1B12!7]	;PRINT TTY BELL
   288
   289		037040	000026		OPDEF	PFORCE	[37B8!1B12!26]	;PRINT FORCE, CONTROL O OVERRIDE
   290
   291					DEFINE	PMSG	(ARG),<
   292						PSIXM	[SIXBIT\ARG'_\]>
   293
   294					DEFINE	PMSGF	(ARG),<
   295						PSIXMF	[SIXBIT\ARG'_\]>
   296
   297					;*SIXBTZ -- MACRO TO GENERATE SIXBIT DATA FOR PRINTING
   298					;*	CONSERVES CORE OVER ASCIZ
   299
   300					DEFINE	SIXBTZ	(ARG),<	[SIXBIT\ARG'_\]>
   301
   302					;*CONSOLE SWITCH INPUT UUO.
   303					;*READS CONSOLE SWITCHES IF IN EXEC MODE OR ASKS FOR THEM IF
   304					;* USER MODE.
   305
   306		037400	000002		OPDEF	SWITCH	[37B8!10B12!2]	;INPUT CONSOLE SWITCHES
   307
   308					;*CLOCK INITIALIZATION UUO - TO SET DESIRED CLOCK OPERATION
   309					;*EITHER IGNORE CLOCK, ONLY LET IT TICK OR CAUSE INTERRUPT TO OCCUR.
   310
   311		037540	000004		OPDEF	CLOKOP	[37B8!13B12!4]	;CLOCK OPERATION UUO - PDP-11 CLOCK
   312		037200	000004		OPDEF	MTROP	[37B8!4B12!4]	;CLOCK OPERATION UUO - DK20 METER
   313
   314					;*KL10 ONLY CACHE OPERATION UUO'S
   315
   316		037040	000004		OPDEF	CINVAL	[37B8!1B12!4]	;CACHE INVALIDATE
   317		037100	000004		OPDEF	CFLUSH	[37B8!2B12!4]	;CACHE FLUSH
   318		037140	000004		OPDEF	CWRTBI	[37B8!3B12!4]	;CACHE WRITE-BACK & INVALIDATE
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 5
PARAM	KLM	18-JAN-77 11:38		*PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977                                 SEQ 0020

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  3169		252525	252525			AEE=V1				;INITIAL C(E)
  3170	032244	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  3171	032245	005 12 0 00 031073 		ER5	E,31073			;C(E) WAS CLOBBERED
  3172	032246	321 16 0 00 032234 		JUMPL	AC+2,F31070		;LOOP ON ERROR SWITCH^
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 4
DAKALM	MAC	20-JAN-77 11:20		MAIN TESTING                                                                       SEQ 0075

  3173			003110			ADR=ADR+1
  3174					;MULTIPLY A 1010...1010 BY A 400000,,0
  3175		400000	000000			XX=400000000000
  3176		252525	252525			V1=252525252525
  3177
  3178						MOP1	(\ADR,XX,0,V1,V1,0)^
  3179					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  3180					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3181					;AND E AGAINST [V1], [0] AND [V1] RESPECTIVELY.
  3182					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3183
  3184		400000	000000		F31100:	AA1=XX				;INITIAL C(AC)
  3185	032247	200 14 0 00 044765 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  3186			000000			AA2=0				;INITIAL C(AC+1)
  3187	032250	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3188		252525	252525			AEE=V1				;INITIAL C(E)
  3189	032251	200 12 0 00 044767 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  3190	032252	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3191		252525	252525			AR1=V1				;EXPECTED RESULT IN AC
  3192	032253	312 14 0 00 044767 		CAME	AC,[V1]			;IS HIGH PRODUCT CORRECT?
  3193	032254	003 14 0 00 031101 		ER3	AC,31101		;HIGH PRODUCT FAILED
  3194			000000			AR2=0				;EXPECTED RESULT IN AC+1
  3195	032255	312 15 0 00 044615 		CAME	AC+1,[0]		;IS LOW PRODUCT CORRECT?
  3196	032256	004 15 0 00 031102 		ER4	AC+1,31102		;LOW PRODUCT FAILED
  3197		252525	252525			AEE=V1				;INITIAL C(E)
  3198	032257	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  3199	032260	005 12 0 00 031103 		ER5	E,31103			;C(E) WAS CLOBBERED
  3200	032261	321 16 0 00 032247 		JUMPL	AC+2,F31100		;LOOP ON ERROR SWITCH^
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 5
DAKALM	MAC	20-JAN-77 11:20		MAIN TESTING                                                                       SEQ 0076

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  5602	033707	200 12 0 00 044765 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5603		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5604	033710	200 13 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5605		400000	000000			AEE=XX				;INITIAL C(E)
  5606	033711	200 10 0 00 044765 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5607	033712	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5608		400000	000000			AR1=V2				;EXPECTED RESULT IN AC
  5609	033713	312 12 0 00 044765 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5610	033714	003 12 0 00 032201 		ER3	AC,32201		;HIGH PRODUCT FAILED
  5611		400000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5612	033715	312 13 0 00 044765 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5613	033716	004 13 0 00 032202 		ER4	AC+1,32202		;LOW PRODUCT FAILED
  5614		400000	000000			AEE=XX				;INITIAL C(E)
  5615	033717	312 10 0 00 044765 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5616	033720	005 10 0 00 032203 		ER5	E,32203			;C(E) WAS CLOBBERED
  5617	033721	321 14 0 00 033707 		JUMPL	AC+2,F32200		;LOOP ON ERROR SWITCH^
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 7
DAKALM	MAC	20-JAN-77 11:20		MAIN TESTING                                                                       SEQ 0121

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  9448					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  9449
  9450		200000	000000		F33730:	AA1=XX				;INITIAL C(AC)
  9451	036154	200 07 0 00 044763 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  9452			000000			AA2=0				;INITIAL C(AC+1)
  9453	036155	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  9454		577777	777777			AEE=YY				;INITIAL C(E)
  9455	036156	200 05 0 00 045171 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  9456	036157	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  9457		677777	777777			AR1=V2				;EXPECTED RESULT IN AC
  9458	036160	312 07 0 00 045167 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  9459	036161	003 07 0 00 033731 		ER3	AC,33731		;HIGH PRODUCT FAILED
  9460		600000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  9461	036162	312 10 0 00 044762 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  9462	036163	004 10 0 00 033732 		ER4	AC+1,33732		;LOW PRODUCT FAILED
  9463		577777	777777			AEE=YY				;INITIAL C(E)
  9464	036164	312 05 0 00 045171 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  9465	036165	005 05 0 00 033733 		ER5	E,33733			;C(E) WAS CLOBBERED
  9466	036166	321 11 0 00 036154 		JUMPL	AC+2,F33730		;LOOP ON ERROR SWITCH^
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 10
DAKALM	MAC	20-JAN-77 11:20		MAIN TESTING                                                                       SEQ 0192

  9467			003374			ADR=ADR+1
  9468					;MULTIPLY A 400000,,0 BY A 377777,,-1
  9469		377777	777777			YY=377777777777
  9470		400000	000000			XX=400000000000
  9471
  9472						MOP1	(\ADR,XX,0,YY,YY,0)^
  9473					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  9474					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  9475					;AND E AGAINST [YY], [0] AND [YY] RESPECTIVELY.
  9476					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  9477
  9478		400000	000000		F33740:	AA1=XX				;INITIAL C(AC)
  9479	036167	200 07 0 00 044765 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  9480			000000			AA2=0				;INITIAL C(AC+1)
  9481	036170	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  9482		377777	777777			AEE=YY				;INITIAL C(E)
  9483	036171	200 05 0 00 045172 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  9484	036172	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  9485		377777	777777			AR1=YY				;EXPECTED RESULT IN AC
  9486	036173	312 07 0 00 045172 		CAME	AC,[YY]			;IS HIGH PRODUCT CORRECT?
  9487	036174	003 07 0 00 033741 		ER3	AC,33741		;HIGH PRODUCT FAILED
  9488			000000			AR2=0				;EXPECTED RESULT IN AC+1
  9489	036175	312 10 0 00 044615 		CAME	AC+1,[0]		;IS LOW PRODUCT CORRECT?
  9490	036176	004 10 0 00 033742 		ER4	AC+1,33742		;LOW PRODUCT FAILED
  9491		377777	777777			AEE=YY				;INITIAL C(E)
  9492	036177	312 05 0 00 045172 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  9493	036200	005 05 0 00 033743 		ER5	E,33743			;C(E) WAS CLOBBERED
  9494	036201	321 11 0 00 036167 		JUMPL	AC+2,F33740		;LOOP ON ERROR SWITCH^
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 11
DAKALM	MAC	20-JAN-77 11:20		MAIN TESTING                                                                       SEQ 0193

  9495					;MULTIPLIER = 2,4
  9496					;MULTIPLICAND = 377777 777777
  9497
  9498			000014			AC=14
  9499						SAVEAC	(1,1)^
  9500	036202	201 16 0 00 036202 		MOVEI	AC+2,.		;SAVE TEST PC
  9501	036203	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
  9502	036204	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  9503	036205	202 16 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  9504
  9505			000300		SN=300
  9506		777777	777777			XX=-1
  9507			000002			YY=2
  9508			000001			ZZ=1
  9509
  9510					F300:	REPEAT	^D2,<
  9511					SN=SN+1
  9512						XX=XX+2
  9513						YY=YY-2
  9514						IFE	YY,<YY=377777777776>
  9515						ZZ=ZZ+ZZ
  9516						MOVEI	AC,ZZ		;SETUP MULTIPLIER
  9517						HRLOI	AC-1,377777	;SETUP MULTIPLICAND
  9518						MUL	AC,AC-1		;MULTIPLY ZZ X 377777777777
  9519						CAME	AC,[XX]		;TEST HIGH PROD
  9520						ER3	AC,SN
  9521						CAME	AC+1,[YY]	;TEST LOW PROD
  9522						ER4	AC+1,SN
  9523						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
  9524					>
  9525
  9526			000301		SN=SN+1
  9527			000001			XX=XX+2
  9528			000000			YY=YY-2
  9529		377777	777776			IFE	YY,<YY=377777777776>
  9530			000002			ZZ=ZZ+ZZ
  9531	036206	201 14 0 00 000002 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
  9532	036207	525 13 0 00 377777 		HRLOI	AC-1,377777	;SETUP MULTIPLICAND
  9533	036210	224 14 0 00 000013 		MUL	AC,AC-1		;MULTIPLY ZZ X 377777777777
  9534	036211	312 14 0 00 044616 		CAME	AC,[XX]		;TEST HIGH PROD
  9535	036212	003 14 0 00 000301 		ER3	AC,SN
  9536	036213	312 15 0 00 045173 		CAME	AC+1,[YY]	;TEST LOW PROD
  9537	036214	004 15 0 00 000301 		ER4	AC+1,SN
  9538	036215	321 16 0 00 036206 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
  9539
  9540
  9541			000302		SN=SN+1
  9542			000003			XX=XX+2
  9543		377777	777774			YY=YY-2
  9544						IFE	YY,<YY=377777777776>
  9545			000004			ZZ=ZZ+ZZ
  9546	036216	201 14 0 00 000004 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
  9547	036217	525 13 0 00 377777 		HRLOI	AC-1,377777	;SETUP MULTIPLICAND
  9548	036220	224 14 0 00 000013 		MUL	AC,AC-1		;MULTIPLY ZZ X 377777777777
  9549	036221	312 14 0 00 045235 		CAME	AC,[XX]		;TEST HIGH PROD
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 11-1
DAKALM	MAC	20-JAN-77 11:20		MAIN TESTING                                                                       SEQ 0194

  9550	036222	003 14 0 00 000302 		ER3	AC,SN
  9551	036223	312 15 0 00 045236 		CAME	AC+1,[YY]	;TEST LOW PROD
  9552	036224	004 15 0 00 000302 		ER4	AC+1,SN
  9553	036225	321 16 0 00 036216 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
  9554
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 12
DAKALM	MAC	20-JAN-77 11:20		MAIN TESTING                                                                       SEQ 0195

  9555					;TEST MQ FINAL SHIFT
  9556					;MULTIPLIER = 200000 000000
  9557					;MULTIPLICAND = 5,7
  9558
  9559			000007			AC=7
  9560						SAVEAC	(1,1)^
  9561	036226	201 11 0 00 036226 		MOVEI	AC+2,.		;SAVE TEST PC
  9562	036227	202 11 0 00 030051 		MOVEM	AC+2,TESTPC
  9563	036230	201 11 0 00 000011 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  9564	036231	202 11 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  9565
  9566			000500		SN=500
  9567			000001			XX=1
  9568			000003			ZZ=3
  9569
  9570							;TEST MQSHRT FAILING
  9571					F500:	REPEAT	^D2,<
  9572					SN=SN+1
  9573						XX=XX+1
  9574						ZZ=ZZ+2
  9575						MOVSI	AC-2,200000	;SETUP FOR COMPARISON
  9576						MOVSI	AC,200000	;SETUP MULTIPLIER
  9577						MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
  9578						MUL	AC,AC-1		;MUL 200000 000000 X ZZ
  9579						CAME	AC+1,AC-2	;TEST LOW PROD
  9580						ER4	AC+1,SN
  9581						MOVEI	AC-2,XX		;SETUP FOR COMPARISON
  9582						CAME	AC,AC-2		;TEST HIGH PROD
  9583						ER3	AC,SN
  9584						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
  9585					>
  9586
  9587			000501		SN=SN+1
  9588			000002			XX=XX+1
  9589			000005			ZZ=ZZ+2
  9590	036232	205 05 0 00 200000 		MOVSI	AC-2,200000	;SETUP FOR COMPARISON
  9591	036233	205 07 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
  9592	036234	201 06 0 00 000005 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
  9593	036235	224 07 0 00 000006 		MUL	AC,AC-1		;MUL 200000 000000 X ZZ
  9594	036236	312 10 0 00 000005 		CAME	AC+1,AC-2	;TEST LOW PROD
  9595	036237	004 10 0 00 000501 		ER4	AC+1,SN
  9596	036240	201 05 0 00 000002 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
  9597	036241	312 07 0 00 000005 		CAME	AC,AC-2		;TEST HIGH PROD
  9598	036242	003 07 0 00 000501 		ER3	AC,SN
  9599	036243	321 11 0 00 036232 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
  9600
  9601
  9602			000502		SN=SN+1
  9603			000003			XX=XX+1
  9604			000007			ZZ=ZZ+2
  9605	036244	205 05 0 00 200000 		MOVSI	AC-2,200000	;SETUP FOR COMPARISON
  9606	036245	205 07 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
  9607	036246	201 06 0 00 000007 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
  9608	036247	224 07 0 00 000006 		MUL	AC,AC-1		;MUL 200000 000000 X ZZ
  9609	036250	312 10 0 00 000005 		CAME	AC+1,AC-2	;TEST LOW PROD
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 12-1
DAKALM	MAC	20-JAN-77 11:20		MAIN TESTING                                                                       SEQ 0196

  9610	036251	004 10 0 00 000502 		ER4	AC+1,SN
  9611	036252	201 05 0 00 000003 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
  9612	036253	312 07 0 00 000005 		CAME	AC,AC-2		;TEST HIGH PROD
  9613	036254	003 07 0 00 000502 		ER3	AC,SN
  9614	036255	321 11 0 00 036244 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
  9615
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 13
DAKALM	MAC	20-JAN-77 11:20		MAIN TESTING                                                                       SEQ 0197

  9616					;MULTIPLIER = 10,20
  9617					;MULTIPLICAND = 377777 777777
  9618
  9619			000011			AC=11
  9620						SAVEAC	(1,1)^
  9621	036256	201 13 0 00 036256 		MOVEI	AC+2,.		;SAVE TEST PC
  9622	036257	202 13 0 00 030051 		MOVEM	AC+2,TESTPC
  9623	036260	201 13 0 00 000013 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  9624	036261	202 13 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  9625
  9626			000700		SN=700
  9627		777777	777777			XX=-1
  9628			000004			ZZ=4
  9629
  9630							;TEST ARSHRT FAILING
  9631					F700:	REPEAT	^D2,<
  9632					SN=SN+1
  9633						XX=XX+10
  9634						ZZ=ZZ+ZZ
  9635						MOVEI	AC,ZZ		;SETUP MULTIPLIER
  9636						HRLOI	AC-1,377777	;SETUP MULTIPLICAND
  9637						MUL	AC,AC-1		;MUL. ZZ X 377777 777777
  9638						CAME	AC+1,[ZZ*377777777777]		;TEST LOW PROD
  9639						ER4	AC+1,SN		;ARSHRT ASSERTED
  9640						CAME	AC,[XX]		;TEST HIGH PROD = PLIER
  9641						ER3	AC,SN
  9642						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
  9643					>
  9644
  9645			000701		SN=SN+1
  9646			000007			XX=XX+10
  9647			000010			ZZ=ZZ+ZZ
  9648	036262	201 11 0 00 000010 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
  9649	036263	525 10 0 00 377777 		HRLOI	AC-1,377777	;SETUP MULTIPLICAND
  9650	036264	224 11 0 00 000010 		MUL	AC,AC-1		;MUL. ZZ X 377777 777777
  9651	036265	312 12 0 00 045237 		CAME	AC+1,[ZZ*377777777777]		;TEST LOW PROD
  9652	036266	004 12 0 00 000701 		ER4	AC+1,SN		;ARSHRT ASSERTED
  9653	036267	312 11 0 00 045240 		CAME	AC,[XX]		;TEST HIGH PROD = PLIER
  9654	036270	003 11 0 00 000701 		ER3	AC,SN
  9655	036271	321 13 0 00 036261 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
  9656
  9657
  9658			000702		SN=SN+1
  9659			000017			XX=XX+10
  9660			000020			ZZ=ZZ+ZZ
  9661	036272	201 11 0 00 000020 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
  9662	036273	525 10 0 00 377777 		HRLOI	AC-1,377777	;SETUP MULTIPLICAND
  9663	036274	224 11 0 00 000010 		MUL	AC,AC-1		;MUL. ZZ X 377777 777777
  9664	036275	312 12 0 00 045241 		CAME	AC+1,[ZZ*377777777777]		;TEST LOW PROD
  9665	036276	004 12 0 00 000702 		ER4	AC+1,SN		;ARSHRT ASSERTED
  9666	036277	312 11 0 00 045242 		CAME	AC,[XX]		;TEST HIGH PROD = PLIER
  9667	036300	003 11 0 00 000702 		ER3	AC,SN
  9668	036301	321 13 0 00 036271 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
  9669
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 14
DAKALM	MAC	20-JAN-77 11:20		MAIN TESTING                                                                       SEQ 0198

  9670					;MULTIPLIER = 0
  9671					;MULTIPLICAND = -15,-13
  9672
  9673			000010			AC=10
  9674						SAVEAC	(1,1)^
  9675	036302	201 12 0 00 036302 		MOVEI	AC+2,.		;SAVE TEST PC
  9676	036303	202 12 0 00 030051 		MOVEM	AC+2,TESTPC
  9677	036304	201 12 0 00 000012 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  9678	036305	202 12 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  9679
  9680			001000		SN=1000
  9681		777777	777761			ZZ=-17
  9682
  9683							;TEST MQSHRT FAILING
  9684					F1000:	REPEAT	^D2,<
  9685					SN=SN+1
  9686						ZZ=ZZ+2
  9687						SETZ	AC,		;SETUP MULTIPLIER
  9688						HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
  9689						MUL	AC,AC-1		;MULTIPLY 0 X -ZZ
  9690						SKIPE	AC+1		;TEST LOW PROD
  9691						ER4	AC+1,SN
  9692						SKIPE	AC		;TEST HIGH PROD
  9693						ER3	AC,SN
  9694						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
  9695					>
  9696
  9697			001001		SN=SN+1
  9698		777777	777763			ZZ=ZZ+2
  9699	036306	400 10 0 00 000000 		SETZ	AC,		;SETUP MULTIPLIER
  9700	036307	561 07 0 00 777763 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
  9701	036310	224 10 0 00 000007 		MUL	AC,AC-1		;MULTIPLY 0 X -ZZ
  9702	036311	332 00 0 00 000011 		SKIPE	AC+1		;TEST LOW PROD
  9703	036312	004 11 0 00 001001 		ER4	AC+1,SN
  9704	036313	332 00 0 00 000010 		SKIPE	AC		;TEST HIGH PROD
  9705	036314	003 10 0 00 001001 		ER3	AC,SN
  9706	036315	321 12 0 00 036305 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
  9707
  9708
  9709			001002		SN=SN+1
  9710		777777	777765			ZZ=ZZ+2
  9711	036316	400 10 0 00 000000 		SETZ	AC,		;SETUP MULTIPLIER
  9712	036317	561 07 0 00 777765 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
  9713	036320	224 10 0 00 000007 		MUL	AC,AC-1		;MULTIPLY 0 X -ZZ
  9714	036321	332 00 0 00 000011 		SKIPE	AC+1		;TEST LOW PROD
  9715	036322	004 11 0 00 001002 		ER4	AC+1,SN
  9716	036323	332 00 0 00 000010 		SKIPE	AC		;TEST HIGH PROD
  9717	036324	003 10 0 00 001002 		ER3	AC,SN
  9718	036325	321 12 0 00 036315 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
  9719
  9720					PAGE
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 14-1
DAKALM	MAC	20-JAN-77 11:20		MAIN TESTING                                                                       SEQ 0199

  9721					;MULTIPLIER = -2,-4
  9722					;MULTIPLICAND = 0
  9723
  9724			000007			AC=7
  9725						SAVEAC	(1,1)^
  9726	036326	201 11 0 00 036326 		MOVEI	AC+2,.		;SAVE TEST PC
  9727	036327	202 11 0 00 030051 		MOVEM	AC+2,TESTPC
  9728	036330	201 11 0 00 000011 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  9729	036331	202 11 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  9730
  9731			001100		SN=1100
  9732			000000			XX=0
  9733		777777	777777			ZZ=-1
  9734
  9735					F1100:	REPEAT	^D2,<
  9736					SN=SN+1
  9737						XX=XX+XX
  9738						ZZ=ZZ+ZZ
  9739						IFE	XX,<XX=-1>
  9740						HRROI	AC,ZZ		;SETUP MULTIPLIER
  9741						SETZ	AC-1,		;SETUP MULTIPLICAND
  9742						MUL	AC,AC-1		;MULTIPLY ZZ X 0
  9743						SKIPE	AC+1		;TEST LOW PROD
  9744						ER4	AC+1,SN
  9745						SKIPE	AC		;TEST HIGH PROD
  9746						ER3	AC,SN
  9747						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
  9748					>
  9749
  9750			001101		SN=SN+1
  9751			000000			XX=XX+XX
  9752		777777	777776			ZZ=ZZ+ZZ
  9753		777777	777777			IFE	XX,<XX=-1>
  9754	036332	561 07 0 00 777776 		HRROI	AC,ZZ		;SETUP MULTIPLIER
  9755	036333	400 06 0 00 000000 		SETZ	AC-1,		;SETUP MULTIPLICAND
  9756	036334	224 07 0 00 000006 		MUL	AC,AC-1		;MULTIPLY ZZ X 0
  9757	036335	332 00 0 00 000010 		SKIPE	AC+1		;TEST LOW PROD
  9758	036336	004 10 0 00 001101 		ER4	AC+1,SN
  9759	036337	332 00 0 00 000007 		SKIPE	AC		;TEST HIGH PROD
  9760	036340	003 07 0 00 001101 		ER3	AC,SN
  9761	036341	321 11 0 00 036330 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
  9762
  9763
  9764			001102		SN=SN+1
  9765		777777	777776			XX=XX+XX
  9766		777777	777774			ZZ=ZZ+ZZ
  9767						IFE	XX,<XX=-1>
  9768	036342	561 07 0 00 777774 		HRROI	AC,ZZ		;SETUP MULTIPLIER
  9769	036343	400 06 0 00 000000 		SETZ	AC-1,		;SETUP MULTIPLICAND
  9770	036344	224 07 0 00 000006 		MUL	AC,AC-1		;MULTIPLY ZZ X 0
  9771	036345	332 00 0 00 000010 		SKIPE	AC+1		;TEST LOW PROD
  9772	036346	004 10 0 00 001102 		ER4	AC+1,SN
  9773	036347	332 00 0 00 000007 		SKIPE	AC		;TEST HIGH PROD
  9774	036350	003 07 0 00 001102 		ER3	AC,SN
  9775	036351	321 11 0 00 036340 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 14-2
DAKALM	MAC	20-JAN-77 11:20		MAIN TESTING                                                                       SEQ 0200

  9776
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 15
DAKALM	MAC	20-JAN-77 11:20		MAIN TESTING                                                                       SEQ 0201

  9777					;MULTIPLIER = 2,4
  9778					;MULTIPLICAND = 5
  9779
  9780			000014			AC=14
  9781						SAVEAC	(1,1)^
  9782	036352	201 16 0 00 036352 		MOVEI	AC+2,.		;SAVE TEST PC
  9783	036353	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
  9784	036354	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  9785	036355	202 16 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  9786
  9787			001400		SN=1400
  9788			000005			XX=5
  9789			000001			ZZ=1
  9790
  9791						F1400:	REPEAT	^D2,<
  9792					SN=SN+1
  9793						XX=XX+XX
  9794						ZZ=ZZ+ZZ
  9795						HRRZI	AC-2,XX		;SETUP FOR COMPARISON
  9796						MOVEI	AC,ZZ		;SETUP MULTIPLIER
  9797						MOVEI	AC-1,5		;SETUP MULTIPLICAND
  9798						MUL	AC,AC-1		;MULTIPLY ZZ X 5
  9799						CAME	AC+1,AC-2	;TEST LOW PROD
  9800						ER4	AC+1,SN
  9801						SETO	AC-2,		;SET FOR COMPARISON
  9802						SKIPE	AC				;TEST HIGH PROD
  9803						ER3	AC,SN
  9804						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
  9805					>
  9806
  9807			001401		SN=SN+1
  9808			000012			XX=XX+XX
  9809			000002			ZZ=ZZ+ZZ
  9810	036356	551 12 0 00 000012 		HRRZI	AC-2,XX		;SETUP FOR COMPARISON
  9811	036357	201 14 0 00 000002 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
  9812	036360	201 13 0 00 000005 		MOVEI	AC-1,5		;SETUP MULTIPLICAND
  9813	036361	224 14 0 00 000013 		MUL	AC,AC-1		;MULTIPLY ZZ X 5
  9814	036362	312 15 0 00 000012 		CAME	AC+1,AC-2	;TEST LOW PROD
  9815	036363	004 15 0 00 001401 		ER4	AC+1,SN
  9816	036364	474 12 0 00 000000 		SETO	AC-2,		;SET FOR COMPARISON
  9817	036365	332 00 0 00 000014 		SKIPE	AC				;TEST HIGH PROD
  9818	036366	003 14 0 00 001401 		ER3	AC,SN
  9819	036367	321 16 0 00 036356 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
  9820
  9821
  9822			001402		SN=SN+1
  9823			000024			XX=XX+XX
  9824			000004			ZZ=ZZ+ZZ
  9825	036370	551 12 0 00 000024 		HRRZI	AC-2,XX		;SETUP FOR COMPARISON
  9826	036371	201 14 0 00 000004 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
  9827	036372	201 13 0 00 000005 		MOVEI	AC-1,5		;SETUP MULTIPLICAND
  9828	036373	224 14 0 00 000013 		MUL	AC,AC-1		;MULTIPLY ZZ X 5
  9829	036374	312 15 0 00 000012 		CAME	AC+1,AC-2	;TEST LOW PROD
  9830	036375	004 15 0 00 001402 		ER4	AC+1,SN
  9831	036376	474 12 0 00 000000 		SETO	AC-2,		;SET FOR COMPARISON
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 15-1
DAKALM	MAC	20-JAN-77 11:20		MAIN TESTING                                                                       SEQ 0202

  9832	036377	332 00 0 00 000014 		SKIPE	AC				;TEST HIGH PROD
  9833	036400	003 14 0 00 001402 		ER3	AC,SN
  9834	036401	321 16 0 00 036370 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
  9835
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 16
DAKALM	MAC	20-JAN-77 11:20		MAIN TESTING                                                                       SEQ 0203

  9836					;MULTIPLIER = 200000 000000,100000 000000
  9837					;MULTIPLICAND = 25
  9838
  9839			000011			AC=11
  9840						SAVEAC	(1,1)^
  9841	036402	201 13 0 00 036402 		MOVEI	AC+2,.		;SAVE TEST PC
  9842	036403	202 13 0 00 030051 		MOVEM	AC+2,TESTPC
  9843	036404	201 13 0 00 000013 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  9844	036405	202 13 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  9845
  9846			002000		SN=2000
  9847			377777			XX=377777
  9848			000024			YY=24
  9849			000000			ZZ=0
  9850
  9851					F2000:	REPEAT	^D2,<
  9852					SN=SN+1
  9853						XX=XX/2
  9854						YY=YY/2
  9855						ZZ=ZZ/2
  9856						IFE	ZZ,<ZZ=200000>
  9857						MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
  9858						MOVSI	AC,ZZ		;SETUP MULTIPLIER
  9859						MOVEI	AC-1,25		;SETUP MULTIPLICAND
  9860						MUL	AC,AC-1		;MULTIPLY ZZ X 25
  9861						CAME	AC+1,AC-2	;TEST LOW PROD
  9862						ER4	AC+1,SN
  9863						MOVEI	AC-2,YY		;SET FOR COMPARISON
  9864						CAME	AC,AC-2		;TEST HIGH PROD
  9865						ER3	AC,SN
  9866						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
  9867					>
  9868
  9869			002001		SN=SN+1
  9870			177777			XX=XX/2
  9871			000012			YY=YY/2
  9872			000000			ZZ=ZZ/2
  9873			200000			IFE	ZZ,<ZZ=200000>
  9874	036406	205 07 0 00 200000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
  9875	036407	205 11 0 00 200000 		MOVSI	AC,ZZ		;SETUP MULTIPLIER
  9876	036410	201 10 0 00 000025 		MOVEI	AC-1,25		;SETUP MULTIPLICAND
  9877	036411	224 11 0 00 000010 		MUL	AC,AC-1		;MULTIPLY ZZ X 25
  9878	036412	312 12 0 00 000007 		CAME	AC+1,AC-2	;TEST LOW PROD
  9879	036413	004 12 0 00 002001 		ER4	AC+1,SN
  9880	036414	201 07 0 00 000012 		MOVEI	AC-2,YY		;SET FOR COMPARISON
  9881	036415	312 11 0 00 000007 		CAME	AC,AC-2		;TEST HIGH PROD
  9882	036416	003 11 0 00 002001 		ER3	AC,SN
  9883	036417	321 13 0 00 036406 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
  9884
  9885
  9886			002002		SN=SN+1
  9887			077777			XX=XX/2
  9888			000005			YY=YY/2
  9889			100000			ZZ=ZZ/2
  9890						IFE	ZZ,<ZZ=200000>
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 16-1
DAKALM	MAC	20-JAN-77 11:20		MAIN TESTING                                                                       SEQ 0204

  9891	036420	205 07 0 00 100000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
  9892	036421	205 11 0 00 100000 		MOVSI	AC,ZZ		;SETUP MULTIPLIER
  9893	036422	201 10 0 00 000025 		MOVEI	AC-1,25		;SETUP MULTIPLICAND
  9894	036423	224 11 0 00 000010 		MUL	AC,AC-1		;MULTIPLY ZZ X 25
  9895	036424	312 12 0 00 000007 		CAME	AC+1,AC-2	;TEST LOW PROD
  9896	036425	004 12 0 00 002002 		ER4	AC+1,SN
  9897	036426	201 07 0 00 000005 		MOVEI	AC-2,YY		;SET FOR COMPARISON
  9898	036427	312 11 0 00 000007 		CAME	AC,AC-2		;TEST HIGH PROD
  9899	036430	003 11 0 00 002002 		ER3	AC,SN
  9900	036431	321 13 0 00 036420 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
  9901
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 17
DAKALM	MAC	20-JAN-77 11:20		MAIN TESTING                                                                       SEQ 0205

  9902					;INPUT ONE'S-
  9903					;MULTIPLIER = 400000 000000
  9904					;MULTIPLICAND = -20,-40
  9905
  9906			000006			AC=6
  9907						SAVEAC	(1,1)^
  9908	036432	201 10 0 00 036432 		MOVEI	AC+2,.		;SAVE TEST PC
  9909	036433	202 10 0 00 030051 		MOVEM	AC+2,TESTPC
  9910	036434	201 10 0 00 000010 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  9911	036435	202 10 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  9912
  9913			002200		SN=2200
  9914		777777	777770			ZZ=-10
  9915			000010			XX=10
  9916
  9917					F2200:	REPEAT	^D2,<
  9918					SN=SN+1
  9919						ZZ=ZZ+ZZ
  9920						XX=XX+XX
  9921						MOVSI	AC,400000	;SETUP MULTIPLIER
  9922						HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
  9923						MUL	AC,AC-1		;MUL.400000 000000 X ZZ
  9924						CAME	AC,[ZZ]		;TEST HI PRODUCT
  9925						ER3	AC,SN
  9926						CAME	<AC+1>&17,[1B0]	;TEST LO PROD
  9927						ER4	AC+1,SN
  9928						JUMPL	AC+2,.-^D7	;LOOP ON ERROR SWITCH
  9929					>
  9930
  9931			002201		SN=SN+1
  9932		777777	777760			ZZ=ZZ+ZZ
  9933			000020			XX=XX+XX
  9934	036436	205 06 0 00 400000 		MOVSI	AC,400000	;SETUP MULTIPLIER
  9935	036437	561 05 0 00 777760 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
  9936	036440	224 06 0 00 000005 		MUL	AC,AC-1		;MUL.400000 000000 X ZZ
  9937	036441	312 06 0 00 045243 		CAME	AC,[ZZ]		;TEST HI PRODUCT
  9938	036442	003 06 0 00 002201 		ER3	AC,SN
  9939	036443	312 07 0 00 044765 		CAME	<AC+1>&17,[1B0]	;TEST LO PROD
  9940	036444	004 07 0 00 002201 		ER4	AC+1,SN
  9941	036445	321 10 0 00 036436 		JUMPL	AC+2,.-^D7	;LOOP ON ERROR SWITCH
  9942
  9943
  9944			002202		SN=SN+1
  9945		777777	777740			ZZ=ZZ+ZZ
  9946			000040			XX=XX+XX
  9947	036446	205 06 0 00 400000 		MOVSI	AC,400000	;SETUP MULTIPLIER
  9948	036447	561 05 0 00 777740 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
  9949	036450	224 06 0 00 000005 		MUL	AC,AC-1		;MUL.400000 000000 X ZZ
  9950	036451	312 06 0 00 045244 		CAME	AC,[ZZ]		;TEST HI PRODUCT
  9951	036452	003 06 0 00 002202 		ER3	AC,SN
  9952	036453	312 07 0 00 044765 		CAME	<AC+1>&17,[1B0]	;TEST LO PROD
  9953	036454	004 07 0 00 002202 		ER4	AC+1,SN
  9954	036455	321 10 0 00 036446 		JUMPL	AC+2,.-^D7	;LOOP ON ERROR SWITCH
  9955
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 18
DAKALM	MAC	20-JAN-77 11:20		MAIN TESTING                                                                       SEQ 0206

  9956					;MULTIPLIER = 10,20
  9957					;MULTIPLICAND = 4
  9958
  9959			000005			AC=5
  9960						SAVEAC	(1,1)^
  9961	036456	201 07 0 00 036456 		MOVEI	AC+2,.		;SAVE TEST PC
  9962	036457	202 07 0 00 030051 		MOVEM	AC+2,TESTPC
  9963	036460	201 07 0 00 000007 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  9964	036461	202 07 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  9965
  9966			002400		SN=2400
  9967			000020			XX=20
  9968			000004			ZZ=4
  9969					F2400:	REPEAT	^D2,<
  9970					SN=SN+1
  9971						XX=XX+XX
  9972						ZZ=ZZ+ZZ
  9973						MOVEI	AC-2,XX		;SETUP FOR COMPARISON
  9974						MOVEI	AC,ZZ		;SETUP MULTIPLIER
  9975						MOVEI	AC-1,4		;SETUP MULTIPLICAND
  9976						MUL	AC,AC-1		;MULTIPLY ZZ X 4
  9977						CAME	AC+1,AC-2	;TEST LOW PROD
  9978						ER4	AC+1,SN
  9979						SKIPE	AC		;TEST HIGH PRODUCT
  9980						ER3	AC,SN
  9981						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
  9982					>
  9983
  9984			002401		SN=SN+1
  9985			000040			XX=XX+XX
  9986			000010			ZZ=ZZ+ZZ
  9987	036462	201 03 0 00 000040 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
  9988	036463	201 05 0 00 000010 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
  9989	036464	201 04 0 00 000004 		MOVEI	AC-1,4		;SETUP MULTIPLICAND
  9990	036465	224 05 0 00 000004 		MUL	AC,AC-1		;MULTIPLY ZZ X 4
  9991	036466	312 06 0 00 000003 		CAME	AC+1,AC-2	;TEST LOW PROD
  9992	036467	004 06 0 00 002401 		ER4	AC+1,SN
  9993	036470	332 00 0 00 000005 		SKIPE	AC		;TEST HIGH PRODUCT
  9994	036471	003 05 0 00 002401 		ER3	AC,SN
  9995	036472	321 07 0 00 036462 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
  9996
  9997
  9998			002402		SN=SN+1
  9999			000100			XX=XX+XX
 10000			000020			ZZ=ZZ+ZZ
 10001	036473	201 03 0 00 000100 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 10002	036474	201 05 0 00 000020 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
 10003	036475	201 04 0 00 000004 		MOVEI	AC-1,4		;SETUP MULTIPLICAND
 10004	036476	224 05 0 00 000004 		MUL	AC,AC-1		;MULTIPLY ZZ X 4
 10005	036477	312 06 0 00 000003 		CAME	AC+1,AC-2	;TEST LOW PROD
 10006	036500	004 06 0 00 002402 		ER4	AC+1,SN
 10007	036501	332 00 0 00 000005 		SKIPE	AC		;TEST HIGH PRODUCT
 10008	036502	003 05 0 00 002402 		ER3	AC,SN
 10009	036503	321 07 0 00 036473 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 10010
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 19
DAKALM	MAC	20-JAN-77 11:20		MAIN TESTING                                                                       SEQ 0207

 10011					;MULTIPLIER = 1,2
 10012					;MULTIPLICAND = 200000 000000,100000 000000
 10013
 10014			000014			AC=14
 10015						SAVEAC	(1,1)^
 10016	036504	201 16 0 00 036504 		MOVEI	AC+2,.		;SAVE TEST PC
 10017	036505	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
 10018	036506	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 10019	036507	202 16 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 10020
 10021			003300		SN=3300
 10022			000000			XX=0
 10023			000000			ZZ=0
 10024
 10025					F3300:	REPEAT	^D2,<
 10026					SN=SN+1
 10027						XX=XX+XX
 10028						ZZ=ZZ/2
 10029						IFE	XX,<XX=1>
 10030						IFE	ZZ,<ZZ=200000>
 10031						MOVSI	AC-2,200000	;SETUP FOR COMPARISON
 10032						SETO	AC+1,		;INITIALIZE AC+1
 10033						MOVEI	AC,XX		;SETUP MULTIPLIER
 10034						MOVSI	AC-1,ZZ		;SETUP MULTIPLICAND
 10035						MUL	AC,AC-1		;MULTIPLY TWO VARIABLES
 10036						SKIPE	AC		;TEST HIGH PROD
 10037						ER3	AC,SN
 10038						CAME	AC+1,AC-2	;TEST LOW PRODUCT
 10039						ER4	AC+1,SN
 10040						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 10041					>
 10042
 10043			003301		SN=SN+1
 10044			000000			XX=XX+XX
 10045			000000			ZZ=ZZ/2
 10046			000001			IFE	XX,<XX=1>
 10047			200000			IFE	ZZ,<ZZ=200000>
 10048	036510	205 12 0 00 200000 		MOVSI	AC-2,200000	;SETUP FOR COMPARISON
 10049	036511	474 15 0 00 000000 		SETO	AC+1,		;INITIALIZE AC+1
 10050	036512	201 14 0 00 000001 		MOVEI	AC,XX		;SETUP MULTIPLIER
 10051	036513	205 13 0 00 200000 		MOVSI	AC-1,ZZ		;SETUP MULTIPLICAND
 10052	036514	224 14 0 00 000013 		MUL	AC,AC-1		;MULTIPLY TWO VARIABLES
 10053	036515	332 00 0 00 000014 		SKIPE	AC		;TEST HIGH PROD
 10054	036516	003 14 0 00 003301 		ER3	AC,SN
 10055	036517	312 15 0 00 000012 		CAME	AC+1,AC-2	;TEST LOW PRODUCT
 10056	036520	004 15 0 00 003301 		ER4	AC+1,SN
 10057	036521	321 16 0 00 036511 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 10058
 10059
 10060			003302		SN=SN+1
 10061			000002			XX=XX+XX
 10062			100000			ZZ=ZZ/2
 10063						IFE	XX,<XX=1>
 10064						IFE	ZZ,<ZZ=200000>
 10065	036522	205 12 0 00 200000 		MOVSI	AC-2,200000	;SETUP FOR COMPARISON
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 19-1
DAKALM	MAC	20-JAN-77 11:20		MAIN TESTING                                                                       SEQ 0208

 10066	036523	474 15 0 00 000000 		SETO	AC+1,		;INITIALIZE AC+1
 10067	036524	201 14 0 00 000002 		MOVEI	AC,XX		;SETUP MULTIPLIER
 10068	036525	205 13 0 00 100000 		MOVSI	AC-1,ZZ		;SETUP MULTIPLICAND
 10069	036526	224 14 0 00 000013 		MUL	AC,AC-1		;MULTIPLY TWO VARIABLES
 10070	036527	332 00 0 00 000014 		SKIPE	AC		;TEST HIGH PROD
 10071	036530	003 14 0 00 003302 		ER3	AC,SN
 10072	036531	312 15 0 00 000012 		CAME	AC+1,AC-2	;TEST LOW PRODUCT
 10073	036532	004 15 0 00 003302 		ER4	AC+1,SN
 10074	036533	321 16 0 00 036523 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 10075
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 20
DAKALM	MAC	20-JAN-77 11:20		MAIN TESTING                                                                       SEQ 0209

 10076					;MUL
 10077					;MULTIPLIER = 400000 000000
 10078					;MULTIPLICAND = -1,-2
 10079
 10080			000012			AC=12
 10081						SAVEAC^
 10082	036534	201 14 0 00 036534 		MOVEI	AC+2,.		;SAVE TEST PC
 10083	036535	202 14 0 00 030051 		MOVEM	AC+2,TESTPC
 10084	036536	201 14 0 00 000014 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 10085	036537	202 14 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 10086
 10087			004000		SN=4000
 10088			000000			XX=0
 10089			000000			ZZ=0
 10090
 10091					F4000:	REPEAT	^D2,<
 10092					SN=SN+1
 10093						XX=XX+1
 10094						ZZ=ZZ-1
 10095						MOVSI	AC,400000	;SETUP MULTIPLIER
 10096						HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10097						MUL	AC,AC-1		;MULTIPLY TWO NEGATIVES
 10098						CAME	AC,[ZZ]		;TEST HI PROD
 10099						ER3	AC,SN
 10100						CAME	<AC+1>&17,[1B0]	;TEST LO PROD
 10101						ER4	AC+1,SN
 10102						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 10103					>
 10104
 10105			004001		SN=SN+1
 10106			000001			XX=XX+1
 10107		777777	777777			ZZ=ZZ-1
 10108	036540	205 12 0 00 400000 		MOVSI	AC,400000	;SETUP MULTIPLIER
 10109	036541	561 11 0 00 777777 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10110	036542	224 12 0 00 000011 		MUL	AC,AC-1		;MULTIPLY TWO NEGATIVES
 10111	036543	312 12 0 00 044617 		CAME	AC,[ZZ]		;TEST HI PROD
 10112	036544	003 12 0 00 004001 		ER3	AC,SN
 10113	036545	312 13 0 00 044765 		CAME	<AC+1>&17,[1B0]	;TEST LO PROD
 10114	036546	004 13 0 00 004001 		ER4	AC+1,SN
 10115	036547	321 14 0 00 036540 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 10116
 10117
 10118			004002		SN=SN+1
 10119			000002			XX=XX+1
 10120		777777	777776			ZZ=ZZ-1
 10121	036550	205 12 0 00 400000 		MOVSI	AC,400000	;SETUP MULTIPLIER
 10122	036551	561 11 0 00 777776 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10123	036552	224 12 0 00 000011 		MUL	AC,AC-1		;MULTIPLY TWO NEGATIVES
 10124	036553	312 12 0 00 044621 		CAME	AC,[ZZ]		;TEST HI PROD
 10125	036554	003 12 0 00 004002 		ER3	AC,SN
 10126	036555	312 13 0 00 044765 		CAME	<AC+1>&17,[1B0]	;TEST LO PROD
 10127	036556	004 13 0 00 004002 		ER4	AC+1,SN
 10128	036557	321 14 0 00 036550 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 10129
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 21
DAKALM	MAC	20-JAN-77 11:20		MAIN TESTING                                                                       SEQ 0210

 10130					;TEST MUL-IMMEDIATE MODE
 10131					;TEST THE ABILITY TO MULTIPLY WITH
 10132					;EFFECTIVE ADDRESS AS MULTIPLICAND
 10133					;MULTIPLIER = 1
 10134					;MULTIPLICAND = E
 10135
 10136			004200		SN=4200
 10137			000011			AC=11
 10138
 10139							;TEST IMMEDIATE MODE
 10140					F4200:	REPEAT	^D2,<
 10141					SN=SN+1
 10142						AC=AC-1
 10143						SAVEAC	(1,1)		;SAVE AC FOR ITERATION
 10144						MOVEI	AC-2,AC-1	;SETUP FOR COMPARISON
 10145						MOVEI	AC,1		;SETUP MULTIPLIER
 10146						HRROI	AC-1,-1		;SETUP AC-1
 10147						MULI	AC,AC-1		;MULTIPLY 1 X E
 10148						CAME	AC+1,AC-2	;TEST LOW PROD
 10149						ER4	AC+1,SN		;MULTIPLIED BY C(E) VICE E
 10150						SKIPE	AC		;TEST HIGH PROD
 10151						ER3	AC,SN
 10152						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 10153					>
 10154
 10155			004201		SN=SN+1
 10156			000010			AC=AC-1
 10157						SAVEAC	(1,1)^
 10158	036560	201 12 0 00 036560 		MOVEI	AC+2,.		;SAVE TEST PC
 10159	036561	202 12 0 00 030051 		MOVEM	AC+2,TESTPC
 10160	036562	201 12 0 00 000012 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 10161						MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^		;SAVE AC FOR ITERAT
 10162	036563	202 12 0 00 045447 	ION
 10163	036564	201 06 0 00 000007 		MOVEI	AC-2,AC-1	;SETUP FOR COMPARISON
 10164	036565	201 10 0 00 000001 		MOVEI	AC,1		;SETUP MULTIPLIER
 10165	036566	561 07 0 00 777777 		HRROI	AC-1,-1		;SETUP AC-1
 10166	036567	225 10 0 00 000007 		MULI	AC,AC-1		;MULTIPLY 1 X E
 10167	036570	312 11 0 00 000006 		CAME	AC+1,AC-2	;TEST LOW PROD
 10168	036571	004 11 0 00 004201 		ER4	AC+1,SN		;MULTIPLIED BY C(E) VICE E
 10169	036572	332 00 0 00 000010 		SKIPE	AC		;TEST HIGH PROD
 10170	036573	003 10 0 00 004201 		ER3	AC,SN
 10171	036574	321 12 0 00 036564 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 10172
 10173
 10174			004202		SN=SN+1
 10175			000007			AC=AC-1
 10176						SAVEAC	(1,1)^
 10177	036575	201 11 0 00 036575 		MOVEI	AC+2,.		;SAVE TEST PC
 10178	036576	202 11 0 00 030051 		MOVEM	AC+2,TESTPC
 10179	036577	201 11 0 00 000011 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 10180						MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^		;SAVE AC FOR ITERAT
 10181	036600	202 11 0 00 045447 	ION
 10182	036601	201 05 0 00 000006 		MOVEI	AC-2,AC-1	;SETUP FOR COMPARISON
 10183	036602	201 07 0 00 000001 		MOVEI	AC,1		;SETUP MULTIPLIER
 10184	036603	561 06 0 00 777777 		HRROI	AC-1,-1		;SETUP AC-1
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 21-1
DAKALM	MAC	20-JAN-77 11:20		MAIN TESTING                                                                       SEQ 0211

 10185	036604	225 07 0 00 000006 		MULI	AC,AC-1		;MULTIPLY 1 X E
 10186	036605	312 10 0 00 000005 		CAME	AC+1,AC-2	;TEST LOW PROD
 10187	036606	004 10 0 00 004202 		ER4	AC+1,SN		;MULTIPLIED BY C(E) VICE E
 10188	036607	332 00 0 00 000007 		SKIPE	AC		;TEST HIGH PROD
 10189	036610	003 07 0 00 004202 		ER3	AC,SN
 10190	036611	321 11 0 00 036601 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 10191
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 22
DAKALM	MAC	20-JAN-77 11:20		MAIN TESTING                                                                       SEQ 0212

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

 10247	036633	402 00 0 00 000010 		SETZM	AC+1		;SETUP AC+1
 10248	036634	205 07 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
 10249	036635	201 06 0 00 000004 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10250	036636	226 07 0 00 000006 		MULM	AC,AC-1		;MUL 200000 000000 X ZZ
 10251	036637	312 07 0 00 000005 		CAME	AC,AC-2		;TEST AC
 10252	036640	003 07 0 00 004302 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 10253	036641	332 00 0 00 000010 		SKIPE	AC+1		;TEST AC+1
 10254	036642	004 10 0 00 004302 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 10255	036643	302 06 0 00 000002 		CAIE	AC-1,ZZ/2	;TEST PRODUCT
 10256	036644	005 06 0 00 004302 		ER5	AC-1,SN
 10257	036645	321 11 0 00 036634 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 10258
 10259					PAGE
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 22-2
DAKALM	MAC	20-JAN-77 11:20		MAIN TESTING                                                                       SEQ 0214

 10260			004400		SN=4400
 10261			000001			ZZ=1
 10262
 10263							;TEST SAC INH
 10264					F4400:	REPEAT	^D2,<
 10265					SN=SN+1
 10266						ZZ=ZZ+ZZ
 10267						MOVSI	AC,200000	;SETUP MULTIPLIER
 10268						MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10269						MULM	AC,AC-1		;MUL 200000 000000 X ZZ
 10270						TLNN	AC,200000	;TEST FOR ORIGINAL CONTENTS
 10271						ER3	AC,SN
 10272						JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 10273					>
 10274
 10275			004401		SN=SN+1
 10276			000002			ZZ=ZZ+ZZ
 10277	036646	205 07 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
 10278	036647	201 06 0 00 000002 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10279	036650	226 07 0 00 000006 		MULM	AC,AC-1		;MUL 200000 000000 X ZZ
 10280	036651	607 07 0 00 200000 		TLNN	AC,200000	;TEST FOR ORIGINAL CONTENTS
 10281	036652	003 07 0 00 004401 		ER3	AC,SN
 10282	036653	321 11 0 00 036646 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 10283
 10284
 10285			004402		SN=SN+1
 10286			000004			ZZ=ZZ+ZZ
 10287	036654	205 07 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
 10288	036655	201 06 0 00 000004 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10289	036656	226 07 0 00 000006 		MULM	AC,AC-1		;MUL 200000 000000 X ZZ
 10290	036657	607 07 0 00 200000 		TLNN	AC,200000	;TEST FOR ORIGINAL CONTENTS
 10291	036660	003 07 0 00 004402 		ER3	AC,SN
 10292	036661	321 11 0 00 036654 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 10293
 10294					PAGE
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 22-3
DAKALM	MAC	20-JAN-77 11:20		MAIN TESTING                                                                       SEQ 0215

 10295			004500		SN=4500
 10296			000001			ZZ=1
 10297
 10298							;TEST SAC2 ASSERTED
 10299					F4500:	REPEAT	^D2,<
 10300					SN=SN+1
 10301						ZZ=ZZ+ZZ
 10302						SETZ	AC+1,		;CLEAR AC+1
 10303						MOVSI	AC,200000	;SETUP MULTIPLIER
 10304						MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10305						MULM	AC,AC-1		;MUL 200000 000000 X ZZ
 10306						SKIPE	AC+1		;TEST FOR ORIGINAL CONTENTS
 10307						ER4	AC+1,SN
 10308						JUMPL	AC+2,.-6	;LOOP ON ERROR SWITCH
 10309					>
 10310
 10311			004501		SN=SN+1
 10312			000002			ZZ=ZZ+ZZ
 10313	036662	400 10 0 00 000000 		SETZ	AC+1,		;CLEAR AC+1
 10314	036663	205 07 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
 10315	036664	201 06 0 00 000002 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10316	036665	226 07 0 00 000006 		MULM	AC,AC-1		;MUL 200000 000000 X ZZ
 10317	036666	332 00 0 00 000010 		SKIPE	AC+1		;TEST FOR ORIGINAL CONTENTS
 10318	036667	004 10 0 00 004501 		ER4	AC+1,SN
 10319	036670	321 11 0 00 036662 		JUMPL	AC+2,.-6	;LOOP ON ERROR SWITCH
 10320
 10321
 10322			004502		SN=SN+1
 10323			000004			ZZ=ZZ+ZZ
 10324	036671	400 10 0 00 000000 		SETZ	AC+1,		;CLEAR AC+1
 10325	036672	205 07 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
 10326	036673	201 06 0 00 000004 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10327	036674	226 07 0 00 000006 		MULM	AC,AC-1		;MUL 200000 000000 X ZZ
 10328	036675	332 00 0 00 000010 		SKIPE	AC+1		;TEST FOR ORIGINAL CONTENTS
 10329	036676	004 10 0 00 004502 		ER4	AC+1,SN
 10330	036677	321 11 0 00 036671 		JUMPL	AC+2,.-6	;LOOP ON ERROR SWITCH
 10331
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 23
DAKALM	MAC	20-JAN-77 11:20		MAIN TESTING                                                                       SEQ 0216

 10332					;TEST MUL-BOTH MODE
 10333					;TEST ABILITY TO STORE PRODUCT HIGH ORDER
 10334					;PART IN AC,E
 10335					;TEST ABILITY TO STORE PRODUCT LOW ORDER
 10336					;PART IN AC+1
 10337					;MULTIPLIER = 200000 000000
 10338					;MULTIPLICAND = 5,7
 10339
 10340			000006			AC=6
 10341						SAVEAC	(1,1)^
 10342	036700	201 10 0 00 036700 		MOVEI	AC+2,.		;SAVE TEST PC
 10343	036701	202 10 0 00 030051 		MOVEM	AC+2,TESTPC
 10344	036702	201 10 0 00 000010 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 10345	036703	202 10 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 10346
 10347			004600		SN=4600
 10348			000001			XX=1
 10349			000003			ZZ=3
 10350
 10351					F4600:	REPEAT	^D2,<
 10352					SN=SN+1
 10353						XX=XX+1
 10354						ZZ=ZZ+2
 10355						MOVSI	AC-2,200000	;SETUP FOR COMPARISON
 10356						SETZM	AC+1		;SETUP FOR COMPARISON
 10357						MOVSI	AC,200000	;SETUP MULTIPLIER
 10358						MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10359						MULB	AC,AC-1		;MUL 200000 000000 X ZZ
 10360						CAME	AC,AC-1		;TEST C(AC) = C (E)
 10361						ER3	AC,SN		;SCE FAILED
 10362						CAME	AC+1,AC-2	;TEST LOW PROD
 10363						ER4	AC+1,SN
 10364						CAIE	AC-1,XX		;TEST LOW PROD
 10365						ER5	AC-1,SN
 10366						JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 10367					>
 10368
 10369			004601		SN=SN+1
 10370			000002			XX=XX+1
 10371			000005			ZZ=ZZ+2
 10372	036704	205 04 0 00 200000 		MOVSI	AC-2,200000	;SETUP FOR COMPARISON
 10373	036705	402 00 0 00 000007 		SETZM	AC+1		;SETUP FOR COMPARISON
 10374	036706	205 06 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
 10375	036707	201 05 0 00 000005 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10376	036710	227 06 0 00 000005 		MULB	AC,AC-1		;MUL 200000 000000 X ZZ
 10377	036711	312 06 0 00 000005 		CAME	AC,AC-1		;TEST C(AC) = C (E)
 10378	036712	003 06 0 00 004601 		ER3	AC,SN		;SCE FAILED
 10379	036713	312 07 0 00 000004 		CAME	AC+1,AC-2	;TEST LOW PROD
 10380	036714	004 07 0 00 004601 		ER4	AC+1,SN
 10381	036715	302 05 0 00 000002 		CAIE	AC-1,XX		;TEST LOW PROD
 10382	036716	005 05 0 00 004601 		ER5	AC-1,SN
 10383	036717	321 10 0 00 036704 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 10384
 10385
 10386			004602		SN=SN+1
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 23-1
DAKALM	MAC	20-JAN-77 11:20		MAIN TESTING                                                                       SEQ 0217

 10387			000003			XX=XX+1
 10388			000007			ZZ=ZZ+2
 10389	036720	205 04 0 00 200000 		MOVSI	AC-2,200000	;SETUP FOR COMPARISON
 10390	036721	402 00 0 00 000007 		SETZM	AC+1		;SETUP FOR COMPARISON
 10391	036722	205 06 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
 10392	036723	201 05 0 00 000007 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10393	036724	227 06 0 00 000005 		MULB	AC,AC-1		;MUL 200000 000000 X ZZ
 10394	036725	312 06 0 00 000005 		CAME	AC,AC-1		;TEST C(AC) = C (E)
 10395	036726	003 06 0 00 004602 		ER3	AC,SN		;SCE FAILED
 10396	036727	312 07 0 00 000004 		CAME	AC+1,AC-2	;TEST LOW PROD
 10397	036730	004 07 0 00 004602 		ER4	AC+1,SN
 10398	036731	302 05 0 00 000003 		CAIE	AC-1,XX		;TEST LOW PROD
 10399	036732	005 05 0 00 004602 		ER5	AC-1,SN
 10400	036733	321 10 0 00 036720 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 10401
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 24
DAKALM	MAC	20-JAN-77 11:20		MAIN TESTING                                                                       SEQ 0218

 10402					;TEST AROV SET-MUL
 10403					;MULTIPLIER = 400000 000000
 10404					;MULTIPLICAND = 400000 000000
 10405					;PRODUCT = 400000 000000 400000 000000
 10406					;AROV IS SET
 10407
 10408	036734	254 02 1 00 045245 	F4710:	JRSTF	@[.+1]		;CLEAR ALL FLAGS
 10409	036735	205 06 0 00 400000 		MOVSI	AC,400000	;SETUP MULTIPLIER
 10410	036736	205 04 0 00 400000 		MOVSI	AC-2,400000	;SETUP MULTIPLICAND
 10411	036737	224 06 0 00 000004 		MUL	AC,AC-2
 10412	036740	265 03 0 00 036741 		JSP	AC-3,.+1	;SAVE FLAGS
 10413	036741	312 06 0 00 044765 		CAME	AC,[1B0]	;TEST HIGH PRODUCT
 10414	036742	003 06 0 00 004711 		ER3	AC,4711
 10415	036743	312 07 0 00 044765 		CAME	AC+1,[1B0]	;TEST LOW PRODUCT
 10416	036744	004 07 0 00 004711 		ER4	AC+1,4711
 10417	036745	255 10 0 00 036747 		JOV	.+2		;TEST AROV
 10418	036746	013 03 0 00 004711 		ER13	AC-3,4711	;FAIL IF AROV NOT SET
 10419	036747	321 10 0 00 036734 		JUMPL	AC+2,F4710	;LOOP ON ERROR SWITCH
 10420
 10421					;TEST AROV SET-MULB
 10422					;MULTIPLIER = 400000 000000
 10423					;MULTIPLICAND = 400000 000000
 10424					;PRODUCT = 400000 000000 400000 000000
 10425					;AROV IS SET
 10426
 10427	036750	254 02 1 00 045246 	F4720:	JRSTF	@[.+1]		;CLEAR ALL FLAGS
 10428	036751	205 06 0 00 400000 		MOVSI	AC,400000	;SETUP MULTIPLIER
 10429	036752	205 04 0 00 400000 		MOVSI	AC-2,400000	;SETUP MULTIPLICAND
 10430	036753	227 06 0 00 000004 		MULB	AC,AC-2
 10431	036754	265 03 0 00 036755 		JSP	AC-3,.+1	;SAVE FLAGS
 10432	036755	312 06 0 00 044765 		CAME	AC,[1B0]	;TEST HIGH PRODUCT
 10433	036756	003 06 0 00 004721 		ER3	AC,4721
 10434	036757	312 07 0 00 044765 		CAME	AC+1,[1B0]	;TEST LOW PRODUCT
 10435	036760	004 07 0 00 004721 		ER4	AC+1,4721
 10436	036761	312 04 0 00 044765 		CAME	AC-2,[1B0]	;TEST HIGH PRODUCT
 10437	036762	005 04 0 00 004721 		ER5	AC-2,4721
 10438	036763	255 10 0 00 036765 		JOV	.+2		;TEST AROV
 10439	036764	013 03 0 00 004721 		ER13	AC-3,4721	;FAIL IF AROV NOT SET
 10440	036765	321 10 0 00 036750 		JUMPL	AC+2,F4720	;LOOP ON ERROR SWITCH
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 25
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0219

 10441					SUBTTL	DIAGNOSTIC SECTION - INTEGER MPY TEST
 10442
 10443					;MULTIPLIER =400000 000000
 10444					;MULTIPLICAND = 2,4
 10445
 10446			000010			AC=10
 10447						SAVEAC	(1,1)^
 10448	036766	201 12 0 00 036766 		MOVEI	AC+2,.		;SAVE TEST PC
 10449	036767	202 12 0 00 030051 		MOVEM	AC+2,TESTPC
 10450	036770	201 12 0 00 000012 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 10451	036771	202 12 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 10452	036772	254 02 1 00 045247 		JRSTF	@[.+1]		;CLEAR ALL FLAGS
 10453
 10454			005000		SN=5000
 10455			000001			ZZ=1
 10456
 10457						F5000:	REPEAT	^D2,<
 10458					SN=SN+1
 10459						ZZ=ZZ+ZZ
 10460						MOVSI	AC,400000	;SETUP MULTIPLIER
 10461						MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10462						IMUL	AC,AC-1		;MUL 400000 000000 X ZZ
 10463						SKIPE	AC		;TEST PROD = 0
 10464						ER3	AC,SN
 10465						JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 10466					>
 10467
 10468			005001		SN=SN+1
 10469			000002			ZZ=ZZ+ZZ
 10470	036773	205 10 0 00 400000 		MOVSI	AC,400000	;SETUP MULTIPLIER
 10471	036774	201 07 0 00 000002 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10472	036775	220 10 0 00 000007 		IMUL	AC,AC-1		;MUL 400000 000000 X ZZ
 10473	036776	332 00 0 00 000010 		SKIPE	AC		;TEST PROD = 0
 10474	036777	003 10 0 00 005001 		ER3	AC,SN
 10475	037000	321 12 0 00 036773 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 10476
 10477
 10478			005002		SN=SN+1
 10479			000004			ZZ=ZZ+ZZ
 10480	037001	205 10 0 00 400000 		MOVSI	AC,400000	;SETUP MULTIPLIER
 10481	037002	201 07 0 00 000004 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10482	037003	220 10 0 00 000007 		IMUL	AC,AC-1		;MUL 400000 000000 X ZZ
 10483	037004	332 00 0 00 000010 		SKIPE	AC		;TEST PROD = 0
 10484	037005	003 10 0 00 005002 		ER3	AC,SN
 10485	037006	321 12 0 00 037001 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 10486
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 26
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0220

 10487					;TEST AROV SET
 10488					;TEST ABILITY TO SET AROV FLAG
 10489					;NUMBERS OF LIKE SIGNS ARE MULTIPLIED
 10490					;AND TESTED FOR OVERFLOW/OVERFLOW NOT
 10491					;NUMBERS OF UNLIKE SIGNS ARE MULTIPLIED
 10492					;AND TESTED FOR OVERFLOW NOT
 10493
 10494			000014			AC=14
 10495						SAVEAC	(1,1)^
 10496	037007	201 16 0 00 037007 		MOVEI	AC+2,.		;SAVE TEST PC
 10497	037010	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
 10498	037011	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 10499	037012	202 16 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 10500
 10501			005100		SN=5100
 10502			200000			XX=200000
 10503			000001			ZZ=1
 10504
 10505							;TEST 2 POSITS-OVERFLOW NOT
 10506					F5100:	REPEAT	^D2,<
 10507					SN=SN+1
 10508						XX=XX+200000
 10509						ZZ=ZZ+1
 10510						JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 10511						MOVEI	AC,200000	;SETUP MULTIPLIER
 10512						MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10513						IMUL	AC,AC-1		;MUL 000000 200000 X ZZ
 10514						JSP	AC+1,.+1
 10515						CAIE	AC,XX
 10516						ER3	AC,SN
 10517						JOV	.+2		;TEST FOR SET COND
 10518						JRST	.+2		;FLAG IS NOT SET
 10519						ER13	AC+1,SN		;FLAG IS SET
 10520						JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 10521					>
 10522
 10523			005101		SN=SN+1
 10524			400000			XX=XX+200000
 10525			000002			ZZ=ZZ+1
 10526	037013	254 02 1 00 045250 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 10527	037014	201 14 0 00 200000 		MOVEI	AC,200000	;SETUP MULTIPLIER
 10528	037015	201 13 0 00 000002 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10529	037016	220 14 0 00 000013 		IMUL	AC,AC-1		;MUL 000000 200000 X ZZ
 10530	037017	265 15 0 00 037020 		JSP	AC+1,.+1
 10531	037020	302 14 0 00 400000 		CAIE	AC,XX
 10532	037021	003 14 0 00 005101 		ER3	AC,SN
 10533	037022	255 10 0 00 037024 		JOV	.+2		;TEST FOR SET COND
 10534	037023	254 00 0 00 037025 		JRST	.+2		;FLAG IS NOT SET
 10535	037024	013 15 0 00 005101 		ER13	AC+1,SN		;FLAG IS SET
 10536	037025	321 16 0 00 037013 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 10537
 10538
 10539			005102		SN=SN+1
 10540			600000			XX=XX+200000
 10541			000003			ZZ=ZZ+1
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 26-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0221

 10542	037026	254 02 1 00 045251 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 10543	037027	201 14 0 00 200000 		MOVEI	AC,200000	;SETUP MULTIPLIER
 10544	037030	201 13 0 00 000003 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10545	037031	220 14 0 00 000013 		IMUL	AC,AC-1		;MUL 000000 200000 X ZZ
 10546	037032	265 15 0 00 037033 		JSP	AC+1,.+1
 10547	037033	302 14 0 00 600000 		CAIE	AC,XX
 10548	037034	003 14 0 00 005102 		ER3	AC,SN
 10549	037035	255 10 0 00 037037 		JOV	.+2		;TEST FOR SET COND
 10550	037036	254 00 0 00 037040 		JRST	.+2		;FLAG IS NOT SET
 10551	037037	013 15 0 00 005102 		ER13	AC+1,SN		;FLAG IS SET
 10552	037040	321 16 0 00 037026 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 10553
 10554					PAGE
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 26-2
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0222

 10555			005200		SN=5200
 10556			040000			XX=40000
 10557			000001			ZZ=1
 10558
 10559							;TEST 2 POSITS-OVERFLOW
 10560					F5200:	REPEAT	^D2,<
 10561					SN=SN+1
 10562						XX=XX+XX
 10563						ZZ=ZZ+1
 10564						JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 10565						MOVSI	AC,200000	;SETUP MULTIPLIER
 10566						MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10567						MOVSI	AC-2,XX&200000
 10568						IMUL	AC,AC-1		;MUL 200000 000000 X ZZ
 10569						JSP	AC+1,.+1
 10570						CAME	AC,AC-2
 10571						ER3	AC,SN		;C(AC) FAILED
 10572						JOV	.+2		;TEST FOR SET CONDITION
 10573						ER13	AC+1,SN		;FLAG DID NOT SET
 10574						JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 10575					>
 10576
 10577			005201		SN=SN+1
 10578			100000			XX=XX+XX
 10579			000002			ZZ=ZZ+1
 10580	037041	254 02 1 00 045252 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 10581	037042	205 14 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
 10582	037043	201 13 0 00 000002 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10583	037044	205 12 0 00 000000 		MOVSI	AC-2,XX&200000
 10584	037045	220 14 0 00 000013 		IMUL	AC,AC-1		;MUL 200000 000000 X ZZ
 10585	037046	265 15 0 00 037047 		JSP	AC+1,.+1
 10586	037047	312 14 0 00 000012 		CAME	AC,AC-2
 10587	037050	003 14 0 00 005201 		ER3	AC,SN		;C(AC) FAILED
 10588	037051	255 10 0 00 037053 		JOV	.+2		;TEST FOR SET CONDITION
 10589	037052	013 15 0 00 005201 		ER13	AC+1,SN		;FLAG DID NOT SET
 10590	037053	321 16 0 00 037041 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 10591
 10592
 10593			005202		SN=SN+1
 10594			200000			XX=XX+XX
 10595			000003			ZZ=ZZ+1
 10596	037054	254 02 1 00 045253 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 10597	037055	205 14 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
 10598	037056	201 13 0 00 000003 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10599	037057	205 12 0 00 200000 		MOVSI	AC-2,XX&200000
 10600	037060	220 14 0 00 000013 		IMUL	AC,AC-1		;MUL 200000 000000 X ZZ
 10601	037061	265 15 0 00 037062 		JSP	AC+1,.+1
 10602	037062	312 14 0 00 000012 		CAME	AC,AC-2
 10603	037063	003 14 0 00 005202 		ER3	AC,SN		;C(AC) FAILED
 10604	037064	255 10 0 00 037066 		JOV	.+2		;TEST FOR SET CONDITION
 10605	037065	013 15 0 00 005202 		ER13	AC+1,SN		;FLAG DID NOT SET
 10606	037066	321 16 0 00 037054 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 10607
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 27
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0223

 10608			005300		SN=5300
 10609			000001			XX=1
 10610			000000			ZZ=0
 10611
 10612							;TEST 2 NEGATS-OVERFLOW NOT
 10613					F5300:	REPEAT	^D2,<
 10614					SN=SN+1
 10615						XX=XX+XX
 10616						ZZ=ZZ-1
 10617						JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 10618						HRROI	AC,-2		;SETUP MULTIPLIER
 10619						HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10620						IMUL	AC,AC-1		;MULTIPLY -2 X ZZ
 10621						JSP	AC+1,.+1
 10622						CAIE	AC,XX
 10623						ER3	AC,SN		;C(AC) FAILED
 10624						JOV	.+2		;TEST FOR SET NOT CONDITION
 10625						JRST	,.+2		;FLAG NOT SET
 10626						ER13	AC+1,SN		;FLAG IS SET
 10627						JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 10628					>
 10629
 10630			005301		SN=SN+1
 10631			000002			XX=XX+XX
 10632		777777	777777			ZZ=ZZ-1
 10633	037067	254 02 1 00 045254 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 10634	037070	561 14 0 00 777776 		HRROI	AC,-2		;SETUP MULTIPLIER
 10635	037071	561 13 0 00 777777 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10636	037072	220 14 0 00 000013 		IMUL	AC,AC-1		;MULTIPLY -2 X ZZ
 10637	037073	265 15 0 00 037074 		JSP	AC+1,.+1
 10638	037074	302 14 0 00 000002 		CAIE	AC,XX
 10639	037075	003 14 0 00 005301 		ER3	AC,SN		;C(AC) FAILED
 10640	037076	255 10 0 00 037100 		JOV	.+2		;TEST FOR SET NOT CONDITION
 10641	037077	254 00 0 00 037101 		JRST	,.+2		;FLAG NOT SET
 10642	037100	013 15 0 00 005301 		ER13	AC+1,SN		;FLAG IS SET
 10643	037101	321 16 0 00 037067 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 10644
 10645
 10646			005302		SN=SN+1
 10647			000004			XX=XX+XX
 10648		777777	777776			ZZ=ZZ-1
 10649	037102	254 02 1 00 045255 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 10650	037103	561 14 0 00 777776 		HRROI	AC,-2		;SETUP MULTIPLIER
 10651	037104	561 13 0 00 777776 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10652	037105	220 14 0 00 000013 		IMUL	AC,AC-1		;MULTIPLY -2 X ZZ
 10653	037106	265 15 0 00 037107 		JSP	AC+1,.+1
 10654	037107	302 14 0 00 000004 		CAIE	AC,XX
 10655	037110	003 14 0 00 005302 		ER3	AC,SN		;C(AC) FAILED
 10656	037111	255 10 0 00 037113 		JOV	.+2		;TEST FOR SET NOT CONDITION
 10657	037112	254 00 0 00 037114 		JRST	,.+2		;FLAG NOT SET
 10658	037113	013 15 0 00 005302 		ER13	AC+1,SN		;FLAG IS SET
 10659	037114	321 16 0 00 037102 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 10660
 10661					PAGE
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 27-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0224

 10662			005400		SN=5400
 10663		777777	777777			ZZ=-1
 10664
 10665							;TEST 2 NEGATS-OVERFLOW
 10666					F5400:	REPEAT	^D2,<
 10667					SN=SN+1
 10668						ZZ=ZZ-1
 10669						JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 10670						MOVSI	AC,400000	;SETUP MULTIPLIER
 10671						HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10672						IMUL	AC,AC-1		;MUL 400000 000000 X ZZ
 10673						JSP	AC+1,.+1
 10674						CAME	AC,[1B0]	;TEST PROD
 10675						ER3	AC,SN		;C(AC) FAILED
 10676						JOV	.+2		;TEST FOR SET CONDITION
 10677						ER13	AC+1,SN		;FLAG DID NOT SET
 10678						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 10679					>
 10680
 10681			005401		SN=SN+1
 10682		777777	777776			ZZ=ZZ-1
 10683	037115	254 02 1 00 045256 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 10684	037116	205 14 0 00 400000 		MOVSI	AC,400000	;SETUP MULTIPLIER
 10685	037117	561 13 0 00 777776 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10686	037120	220 14 0 00 000013 		IMUL	AC,AC-1		;MUL 400000 000000 X ZZ
 10687	037121	265 15 0 00 037122 		JSP	AC+1,.+1
 10688	037122	312 14 0 00 044765 		CAME	AC,[1B0]	;TEST PROD
 10689	037123	003 14 0 00 005401 		ER3	AC,SN		;C(AC) FAILED
 10690	037124	255 10 0 00 037126 		JOV	.+2		;TEST FOR SET CONDITION
 10691	037125	013 15 0 00 005401 		ER13	AC+1,SN		;FLAG DID NOT SET
 10692	037126	321 16 0 00 037115 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 10693
 10694
 10695			005402		SN=SN+1
 10696		777777	777775			ZZ=ZZ-1
 10697	037127	254 02 1 00 045257 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 10698	037130	205 14 0 00 400000 		MOVSI	AC,400000	;SETUP MULTIPLIER
 10699	037131	561 13 0 00 777775 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10700	037132	220 14 0 00 000013 		IMUL	AC,AC-1		;MUL 400000 000000 X ZZ
 10701	037133	265 15 0 00 037134 		JSP	AC+1,.+1
 10702	037134	312 14 0 00 044765 		CAME	AC,[1B0]	;TEST PROD
 10703	037135	003 14 0 00 005402 		ER3	AC,SN		;C(AC) FAILED
 10704	037136	255 10 0 00 037140 		JOV	.+2		;TEST FOR SET CONDITION
 10705	037137	013 15 0 00 005402 		ER13	AC+1,SN		;FLAG DID NOT SET
 10706	037140	321 16 0 00 037127 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 10707
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 28
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0225

 10708			005500		SN=5500
 10709		000001	000000			XX=1000000
 10710		777777	777777			ZZ=-1
 10711
 10712							;TEST UNLIKE,OVERFLOW NOT
 10713					F5500:	REPEAT	^D2,<
 10714					SN=SN+1
 10715						XX=XX/2
 10716						ZZ=ZZ-1
 10717						JRSTF	@[.+1]		;CLR ALL FLAGS,EXEC NEXT INST
 10718						MOVEI	AC,200000	;SETUP MULTIPLIER
 10719						HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10720						HRROI	AC-2,XX
 10721						IMUL	AC,AC-1		;MUL 000000 200000 X ZZ
 10722						JSP	AC+1,.+1
 10723						CAME	AC,AC-2
 10724						ER3	AC,SN		;C(AC) FAILED
 10725						JOV	.+2		;TEST FOR SET NOT COND
 10726						JRST	,.+2		;FLAG NOT SET
 10727						ER13	AC+1,SN		;FLAG IS SET
 10728						JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 10729					>
 10730
 10731			005501		SN=SN+1
 10732			400000			XX=XX/2
 10733		777777	777776			ZZ=ZZ-1
 10734	037141	254 02 1 00 045260 		JRSTF	@[.+1]		;CLR ALL FLAGS,EXEC NEXT INST
 10735	037142	201 14 0 00 200000 		MOVEI	AC,200000	;SETUP MULTIPLIER
 10736	037143	561 13 0 00 777776 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10737	037144	561 12 0 00 400000 		HRROI	AC-2,XX
 10738	037145	220 14 0 00 000013 		IMUL	AC,AC-1		;MUL 000000 200000 X ZZ
 10739	037146	265 15 0 00 037147 		JSP	AC+1,.+1
 10740	037147	312 14 0 00 000012 		CAME	AC,AC-2
 10741	037150	003 14 0 00 005501 		ER3	AC,SN		;C(AC) FAILED
 10742	037151	255 10 0 00 037153 		JOV	.+2		;TEST FOR SET NOT COND
 10743	037152	254 00 0 00 037154 		JRST	,.+2		;FLAG NOT SET
 10744	037153	013 15 0 00 005501 		ER13	AC+1,SN		;FLAG IS SET
 10745	037154	321 16 0 00 037141 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 10746
 10747
 10748			005502		SN=SN+1
 10749			200000			XX=XX/2
 10750		777777	777775			ZZ=ZZ-1
 10751	037155	254 02 1 00 045261 		JRSTF	@[.+1]		;CLR ALL FLAGS,EXEC NEXT INST
 10752	037156	201 14 0 00 200000 		MOVEI	AC,200000	;SETUP MULTIPLIER
 10753	037157	561 13 0 00 777775 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10754	037160	561 12 0 00 200000 		HRROI	AC-2,XX
 10755	037161	220 14 0 00 000013 		IMUL	AC,AC-1		;MUL 000000 200000 X ZZ
 10756	037162	265 15 0 00 037163 		JSP	AC+1,.+1
 10757	037163	312 14 0 00 000012 		CAME	AC,AC-2
 10758	037164	003 14 0 00 005502 		ER3	AC,SN		;C(AC) FAILED
 10759	037165	255 10 0 00 037167 		JOV	.+2		;TEST FOR SET NOT COND
 10760	037166	254 00 0 00 037170 		JRST	,.+2		;FLAG NOT SET
 10761	037167	013 15 0 00 005502 		ER13	AC+1,SN		;FLAG IS SET
 10762	037170	321 16 0 00 037155 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 28-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0226

 10763
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 29
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0227

 10764					;PLIER = -1
 10765					;PLICAND = 1,2
 10766
 10767			000011			AC=11
 10768						SAVEAC	(1,1)^
 10769	037171	201 13 0 00 037171 		MOVEI	AC+2,.		;SAVE TEST PC
 10770	037172	202 13 0 00 030051 		MOVEM	AC+2,TESTPC
 10771	037173	201 13 0 00 000013 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 10772	037174	202 13 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 10773
 10774			005600		SN=5600
 10775		000001	000000			XX=1000000
 10776			000000			ZZ=0
 10777
 10778					F5600:	REPEAT	^D2,<
 10779					SN=SN+1
 10780						XX=XX-1
 10781						ZZ=ZZ+ZZ
 10782						IFE	ZZ,<ZZ=1>
 10783						JRSTF	@[.+1]		;CLR ALL FLAGS,EXEC NEXT INST
 10784						SETO	AC,		;SETUP MULTIPLIER
 10785						HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10786						IMUL	AC,AC-1		;MULTIPLY -1 X ZZ
 10787						JSP	AC+1,.+1
 10788						CAIE	AC,XX
 10789						ER3	AC,SN		;C(AC) FAILED
 10790						JOV	.+2
 10791						JRST	,.+2
 10792						ER13	AC+1,SN
 10793						JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 10794					>
 10795
 10796			005601		SN=SN+1
 10797			777777			XX=XX-1
 10798			000000			ZZ=ZZ+ZZ
 10799			000001			IFE	ZZ,<ZZ=1>
 10800	037175	254 02 1 00 045262 		JRSTF	@[.+1]		;CLR ALL FLAGS,EXEC NEXT INST
 10801	037176	474 11 0 00 000000 		SETO	AC,		;SETUP MULTIPLIER
 10802	037177	561 10 0 00 000001 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10803	037200	220 11 0 00 000010 		IMUL	AC,AC-1		;MULTIPLY -1 X ZZ
 10804	037201	265 12 0 00 037202 		JSP	AC+1,.+1
 10805	037202	302 11 0 00 777777 		CAIE	AC,XX
 10806	037203	003 11 0 00 005601 		ER3	AC,SN		;C(AC) FAILED
 10807	037204	255 10 0 00 037206 		JOV	.+2
 10808	037205	254 00 0 00 037207 		JRST	,.+2
 10809	037206	013 12 0 00 005601 		ER13	AC+1,SN
 10810	037207	321 13 0 00 037175 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 10811
 10812
 10813			005602		SN=SN+1
 10814			777776			XX=XX-1
 10815			000002			ZZ=ZZ+ZZ
 10816						IFE	ZZ,<ZZ=1>
 10817	037210	254 02 1 00 045263 		JRSTF	@[.+1]		;CLR ALL FLAGS,EXEC NEXT INST
 10818	037211	474 11 0 00 000000 		SETO	AC,		;SETUP MULTIPLIER
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 29-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0228

 10819	037212	561 10 0 00 000002 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10820	037213	220 11 0 00 000010 		IMUL	AC,AC-1		;MULTIPLY -1 X ZZ
 10821	037214	265 12 0 00 037215 		JSP	AC+1,.+1
 10822	037215	302 11 0 00 777776 		CAIE	AC,XX
 10823	037216	003 11 0 00 005602 		ER3	AC,SN		;C(AC) FAILED
 10824	037217	255 10 0 00 037221 		JOV	.+2
 10825	037220	254 00 0 00 037222 		JRST	,.+2
 10826	037221	013 12 0 00 005602 		ER13	AC+1,SN
 10827	037222	321 13 0 00 037210 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 10828
 10829					PAGE
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 29-2
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0229

 10830					;MULTIPLIER = -1
 10831					;PLICAND = 200000 000000,200000 000010
 10832
 10833			000013			AC=13
 10834						SAVEAC	(1,1)^
 10835	037223	201 15 0 00 037223 		MOVEI	AC+2,.		;SAVE TEST PC
 10836	037224	202 15 0 00 030051 		MOVEM	AC+2,TESTPC
 10837	037225	201 15 0 00 000015 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 10838	037226	202 15 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 10839
 10840			005700		SN=5700
 10841			600010			XX=600010
 10842			177770			ZZ=177770
 10843
 10844					F5700:	REPEAT	^D2,<
 10845					SN=SN+1
 10846						XX=XX-10
 10847						ZZ=ZZ+10
 10848						JRSTF	@[.+1]		;CLR ALL FLAGS,EXEC NEXT INST
 10849						SETO	AC,		;SETUP MULTIPLIER
 10850						MOVSI	AC-1,ZZ		;SETUP MULTIPLICAND
 10851						MOVSI	AC-2,XX
 10852						IMUL	AC,AC-1		;MULTIPLY -1 X ZZ
 10853						JSP	AC+1,.+1
 10854						CAME	AC,AC-2
 10855						ER3	AC,SN		;C(AC) FAILED
 10856						JOV	.+2		;TEST FOR OVERFLOW
 10857						JRST	,.+2
 10858						ER13	AC+1,SN
 10859						JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 10860					>
 10861
 10862			005701		SN=SN+1
 10863			600000			XX=XX-10
 10864			200000			ZZ=ZZ+10
 10865	037227	254 02 1 00 045264 		JRSTF	@[.+1]		;CLR ALL FLAGS,EXEC NEXT INST
 10866	037230	474 13 0 00 000000 		SETO	AC,		;SETUP MULTIPLIER
 10867	037231	205 12 0 00 200000 		MOVSI	AC-1,ZZ		;SETUP MULTIPLICAND
 10868	037232	205 11 0 00 600000 		MOVSI	AC-2,XX
 10869	037233	220 13 0 00 000012 		IMUL	AC,AC-1		;MULTIPLY -1 X ZZ
 10870	037234	265 14 0 00 037235 		JSP	AC+1,.+1
 10871	037235	312 13 0 00 000011 		CAME	AC,AC-2
 10872	037236	003 13 0 00 005701 		ER3	AC,SN		;C(AC) FAILED
 10873	037237	255 10 0 00 037241 		JOV	.+2		;TEST FOR OVERFLOW
 10874	037240	254 00 0 00 037242 		JRST	,.+2
 10875	037241	013 14 0 00 005701 		ER13	AC+1,SN
 10876	037242	321 15 0 00 037227 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 10877
 10878
 10879			005702		SN=SN+1
 10880			577770			XX=XX-10
 10881			200010			ZZ=ZZ+10
 10882	037243	254 02 1 00 045265 		JRSTF	@[.+1]		;CLR ALL FLAGS,EXEC NEXT INST
 10883	037244	474 13 0 00 000000 		SETO	AC,		;SETUP MULTIPLIER
 10884	037245	205 12 0 00 200010 		MOVSI	AC-1,ZZ		;SETUP MULTIPLICAND
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 29-3
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0230

 10885	037246	205 11 0 00 577770 		MOVSI	AC-2,XX
 10886	037247	220 13 0 00 000012 		IMUL	AC,AC-1		;MULTIPLY -1 X ZZ
 10887	037250	265 14 0 00 037251 		JSP	AC+1,.+1
 10888	037251	312 13 0 00 000011 		CAME	AC,AC-2
 10889	037252	003 13 0 00 005702 		ER3	AC,SN		;C(AC) FAILED
 10890	037253	255 10 0 00 037255 		JOV	.+2		;TEST FOR OVERFLOW
 10891	037254	254 00 0 00 037256 		JRST	,.+2
 10892	037255	013 14 0 00 005702 		ER13	AC+1,SN
 10893	037256	321 15 0 00 037243 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 10894
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 30
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0231

 10895					;MULTIPLIER = 0,1
 10896					;MULTIPLICAND = 400000 000000
 10897
 10898			000012			AC=12
 10899						SAVEAC	(1,1)^
 10900	037257	201 14 0 00 037257 		MOVEI	AC+2,.		;SAVE TEST PC
 10901	037260	202 14 0 00 030051 		MOVEM	AC+2,TESTPC
 10902	037261	201 14 0 00 000014 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 10903	037262	202 14 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 10904
 10905			006000		SN=6000
 10906			100000			XX=100000
 10907		777777	777777			ZZ=-1
 10908
 10909					F6000:	REPEAT	^D2,<
 10910					SN=SN+1
 10911						XX=XX+XX
 10912						ZZ=ZZ+1
 10913						JRSTF	@[.+1]		;CLR ALL FLAGS,EXEC NEXT INST
 10914						MOVEI	AC,ZZ		;SETUP MULTIPLIER
 10915						MOVSI	AC-1,400000	;SETUP MULTIPLICAND
 10916						MOVSI	AC-2,XX&400000
 10917						IMUL	AC,AC-1		;MUL ZZ X 400000 000000
 10918						JSP	AC+1,.+1
 10919						CAME	AC,AC-2
 10920						ER3	AC,SN		;C(AC) FAILED
 10921						JOV	.+2		;TEST FOR OVERFLOW
 10922						JRST	,.+2		;BOTH CLEARS ASSERTED
 10923						ER13	AC+1,SN		;EITHER CLEAR FAILED
 10924						JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 10925					>
 10926
 10927			006001		SN=SN+1
 10928			200000			XX=XX+XX
 10929			000000			ZZ=ZZ+1
 10930	037263	254 02 1 00 045266 		JRSTF	@[.+1]		;CLR ALL FLAGS,EXEC NEXT INST
 10931	037264	201 12 0 00 000000 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
 10932	037265	205 11 0 00 400000 		MOVSI	AC-1,400000	;SETUP MULTIPLICAND
 10933	037266	205 10 0 00 000000 		MOVSI	AC-2,XX&400000
 10934	037267	220 12 0 00 000011 		IMUL	AC,AC-1		;MUL ZZ X 400000 000000
 10935	037270	265 13 0 00 037271 		JSP	AC+1,.+1
 10936	037271	312 12 0 00 000010 		CAME	AC,AC-2
 10937	037272	003 12 0 00 006001 		ER3	AC,SN		;C(AC) FAILED
 10938	037273	255 10 0 00 037275 		JOV	.+2		;TEST FOR OVERFLOW
 10939	037274	254 00 0 00 037276 		JRST	,.+2		;BOTH CLEARS ASSERTED
 10940	037275	013 13 0 00 006001 		ER13	AC+1,SN		;EITHER CLEAR FAILED
 10941	037276	321 14 0 00 037263 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 10942
 10943
 10944			006002		SN=SN+1
 10945			400000			XX=XX+XX
 10946			000001			ZZ=ZZ+1
 10947	037277	254 02 1 00 045267 		JRSTF	@[.+1]		;CLR ALL FLAGS,EXEC NEXT INST
 10948	037300	201 12 0 00 000001 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
 10949	037301	205 11 0 00 400000 		MOVSI	AC-1,400000	;SETUP MULTIPLICAND
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 30-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0232

 10950	037302	205 10 0 00 400000 		MOVSI	AC-2,XX&400000
 10951	037303	220 12 0 00 000011 		IMUL	AC,AC-1		;MUL ZZ X 400000 000000
 10952	037304	265 13 0 00 037305 		JSP	AC+1,.+1
 10953	037305	312 12 0 00 000010 		CAME	AC,AC-2
 10954	037306	003 12 0 00 006002 		ER3	AC,SN		;C(AC) FAILED
 10955	037307	255 10 0 00 037311 		JOV	.+2		;TEST FOR OVERFLOW
 10956	037310	254 00 0 00 037312 		JRST	,.+2		;BOTH CLEARS ASSERTED
 10957	037311	013 13 0 00 006002 		ER13	AC+1,SN		;EITHER CLEAR FAILED
 10958	037312	321 14 0 00 037277 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 10959
 10960					PAGE
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 30-2
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0233

 10961	037313	254 02 1 00 045270 	F6010:	JRSTF	@[.+1]		;CLEAR ALL FLAGS
 10962	037314	205 12 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
 10963	037315	201 11 0 00 000002 		MOVEI	AC-1,2		;SETUP MULTIPLICAND
 10964	037316	223 12 0 00 000011 		IMULB	AC,AC-1	
 10965	037317	265 13 0 00 037320 		JSP	AC+1,.+1	;SAVE FLAGS
 10966	037320	302 12 0 00 000000 		CAIE	AC,0
 10967	037321	003 12 0 00 006011 		ER3	AC,6011		;C(AC) FAILED
 10968	037322	302 11 0 00 000000 		CAIE	AC-1,0
 10969	037323	005 11 0 00 006011 		ER5	AC-1,6011	;C(E) FAILED
 10970	037324	255 10 0 00 037326 		JOV	.+2
 10971	037325	013 13 0 00 006011 		ER13	AC+1,6011	;AROV DID NOT SET
 10972	037326	321 14 0 00 037313 		JUMPL	AC+2,F6010	;LOOP ON ERROR SWITCH
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 31
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0234

 10973					;TEST IMUL-IMMEDIATE MODE
 10974					;TEST ABILITY TO MULTIPLY WITH THE
 10975					;EFFECTIVE ADDRESS AS THE MULTIPLICAND
 10976					;THE PROD WILL EQUAL THE EFFECTIVE
 10977					;ADDRESS
 10978					;A FAILURE INDICATES MULTIPLYING
 10979					;BY C(E) VICE E
 10980
 10981			000010			AC=10
 10982						SAVEAC	(1,1)^
 10983	037327	201 12 0 00 037327 		MOVEI	AC+2,.		;SAVE TEST PC
 10984	037330	202 12 0 00 030051 		MOVEM	AC+2,TESTPC
 10985	037331	201 12 0 00 000012 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 10986	037332	202 12 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 10987	037333	254 02 1 00 045271 		JRSTF	@[.+1]		;CLEAR ALL FLAGS
 10988
 10989			006100		SN=6100
 10990			000001			ZZ=1
 10991
 10992							;TEST IMMEDIATE MODE
 10993					F6100:	REPEAT	^D2,<
 10994					SN=SN+1
 10995						ZZ=ZZ+ZZ
 10996						MOVEI	AC-2,AC-1	;SETUP FOR COMPARISON
 10997						MOVEI	AC,1		;SETUP MULTIPLIER
 10998						MOVEI	AC-1,ZZ		;SETUP AC-1
 10999						IMULI	AC,AC-1		;EFFECTIVE ADDRESS=7
 11000						CAME	AC,AC-2		;TEST PROD = ZZ
 11001						ER3	AC,SN		;MULTIPLIED BY C(E) VICE E
 11002						JUMPL	AC+2,.-6	;LOOP ON ERROR SWITCH
 11003					>
 11004
 11005			006101		SN=SN+1
 11006			000002			ZZ=ZZ+ZZ
 11007	037334	201 06 0 00 000007 		MOVEI	AC-2,AC-1	;SETUP FOR COMPARISON
 11008	037335	201 10 0 00 000001 		MOVEI	AC,1		;SETUP MULTIPLIER
 11009	037336	201 07 0 00 000002 		MOVEI	AC-1,ZZ		;SETUP AC-1
 11010	037337	221 10 0 00 000007 		IMULI	AC,AC-1		;EFFECTIVE ADDRESS=7
 11011	037340	312 10 0 00 000006 		CAME	AC,AC-2		;TEST PROD = ZZ
 11012	037341	003 10 0 00 006101 		ER3	AC,SN		;MULTIPLIED BY C(E) VICE E
 11013	037342	321 12 0 00 037334 		JUMPL	AC+2,.-6	;LOOP ON ERROR SWITCH
 11014
 11015
 11016			006102		SN=SN+1
 11017			000004			ZZ=ZZ+ZZ
 11018	037343	201 06 0 00 000007 		MOVEI	AC-2,AC-1	;SETUP FOR COMPARISON
 11019	037344	201 10 0 00 000001 		MOVEI	AC,1		;SETUP MULTIPLIER
 11020	037345	201 07 0 00 000004 		MOVEI	AC-1,ZZ		;SETUP AC-1
 11021	037346	221 10 0 00 000007 		IMULI	AC,AC-1		;EFFECTIVE ADDRESS=7
 11022	037347	312 10 0 00 000006 		CAME	AC,AC-2		;TEST PROD = ZZ
 11023	037350	003 10 0 00 006102 		ER3	AC,SN		;MULTIPLIED BY C(E) VICE E
 11024	037351	321 12 0 00 037343 		JUMPL	AC+2,.-6	;LOOP ON ERROR SWITCH
 11025
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 32
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0235

 11026					;TEST IMUL-MEMORY MODE
 11027
 11028			000007			AC=7
 11029						SAVEAC	(1,1)^
 11030	037352	201 11 0 00 037352 		MOVEI	AC+2,.		;SAVE TEST PC
 11031	037353	202 11 0 00 030051 		MOVEM	AC+2,TESTPC
 11032	037354	201 11 0 00 000011 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11033	037355	202 11 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11034
 11035			006300		SN=6300
 11036			000001			ZZ=1
 11037
 11038					F6300:	REPEAT	^D2,<
 11039					SN=SN+1
 11040						ZZ=ZZ+ZZ
 11041						MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 11042						MOVEI	AC,ZZ		;SETUP MULTIPLIER
 11043						MOVEI	AC-1,7		;SETUP MULTIPLICAND
 11044						IMULM	AC,AC-1		;MULTIPLY ZZ X 7
 11045						CAME	AC,AC-2		;TEST FOR PRODUCT IN AC
 11046						ER3	AC,SN
 11047						CAIE	AC-1,ZZ*7	;TEST FOR PROD IN E
 11048						ER5	AC-1,SN
 11049						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11050					>
 11051
 11052			006301		SN=SN+1
 11053			000002			ZZ=ZZ+ZZ
 11054	037356	201 05 0 00 000002 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 11055	037357	201 07 0 00 000002 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
 11056	037360	201 06 0 00 000007 		MOVEI	AC-1,7		;SETUP MULTIPLICAND
 11057	037361	222 07 0 00 000006 		IMULM	AC,AC-1		;MULTIPLY ZZ X 7
 11058	037362	312 07 0 00 000005 		CAME	AC,AC-2		;TEST FOR PRODUCT IN AC
 11059	037363	003 07 0 00 006301 		ER3	AC,SN
 11060	037364	302 06 0 00 000016 		CAIE	AC-1,ZZ*7	;TEST FOR PROD IN E
 11061	037365	005 06 0 00 006301 		ER5	AC-1,SN
 11062	037366	321 11 0 00 037356 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11063
 11064
 11065			006302		SN=SN+1
 11066			000004			ZZ=ZZ+ZZ
 11067	037367	201 05 0 00 000004 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 11068	037370	201 07 0 00 000004 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
 11069	037371	201 06 0 00 000007 		MOVEI	AC-1,7		;SETUP MULTIPLICAND
 11070	037372	222 07 0 00 000006 		IMULM	AC,AC-1		;MULTIPLY ZZ X 7
 11071	037373	312 07 0 00 000005 		CAME	AC,AC-2		;TEST FOR PRODUCT IN AC
 11072	037374	003 07 0 00 006302 		ER3	AC,SN
 11073	037375	302 06 0 00 000034 		CAIE	AC-1,ZZ*7	;TEST FOR PROD IN E
 11074	037376	005 06 0 00 006302 		ER5	AC-1,SN
 11075	037377	321 11 0 00 037367 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11076
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 33
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0236

 11077					;TEST IMUL-BOTH MODE
 11078					;TEST ABILITY TO STORE PRODUCT IN AC,E
 11079					;AC, AC-1 ARE COMPARED FOLLOWING
 11080					;MULTIPLY
 11081					;AN ERROR WILL OCCUR IF AC DIFFERS FROM
 11082					;AC-1
 11083			000006			AC=6
 11084						SAVEAC	(1,1)^
 11085	037400	201 10 0 00 037400 		MOVEI	AC+2,.		;SAVE TEST PC
 11086	037401	202 10 0 00 030051 		MOVEM	AC+2,TESTPC
 11087	037402	201 10 0 00 000010 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11088	037403	202 10 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11089			006500		SN=6500
 11090			000004			ZZ=4
 11091							;TEST STORING AC,E
 11092					F6500:	REPEAT	^D2,<
 11093					SN=SN+1
 11094						ZZ=ZZ+ZZ
 11095						MOVEI	AC,ZZ		;SETUP MULTIPLIER
 11096						MOVEI	AC-1,2		;SETUP MULTIPLICAND
 11097						IMULB	AC,AC-1		;MULTIPLY ZZ X 2
 11098						CAME	AC,AC-1		;COMPARE AC,AC-1
 11099						ER3	AC,SN
 11100						JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 11101					>
 11102
 11103			006501		SN=SN+1
 11104			000010			ZZ=ZZ+ZZ
 11105	037404	201 06 0 00 000010 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
 11106	037405	201 05 0 00 000002 		MOVEI	AC-1,2		;SETUP MULTIPLICAND
 11107	037406	223 06 0 00 000005 		IMULB	AC,AC-1		;MULTIPLY ZZ X 2
 11108	037407	312 06 0 00 000005 		CAME	AC,AC-1		;COMPARE AC,AC-1
 11109	037410	003 06 0 00 006501 		ER3	AC,SN
 11110	037411	321 10 0 00 037404 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 11111
 11112
 11113			006502		SN=SN+1
 11114			000020			ZZ=ZZ+ZZ
 11115	037412	201 06 0 00 000020 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
 11116	037413	201 05 0 00 000002 		MOVEI	AC-1,2		;SETUP MULTIPLICAND
 11117	037414	223 06 0 00 000005 		IMULB	AC,AC-1		;MULTIPLY ZZ X 2
 11118	037415	312 06 0 00 000005 		CAME	AC,AC-1		;COMPARE AC,AC-1
 11119	037416	003 06 0 00 006502 		ER3	AC,SN
 11120	037417	321 10 0 00 037412 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 11121
 11122
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 34
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0237

 11123					SUBTTL	DIAGNOSTIC SECTION - INTEGER DIVIDE TEST
 11124
 11125					;TEST FETCH,STORE AND DECODE
 11126					;TEST ABILITY TO FETCH CONTENTS OF E
 11127					;TEST ABILITY TO STORE AC,AC+1
 11128					;DVND = 000000 777777,000000 777776
 11129					;DVSR = 000000 777777,000000 777776
 11130					;DVND = 000000 3400000
 11131					;DVSR = 2
 11132
 11133			000007			AC=7
 11134						SAVEAC	(1,1)^
 11135	037420	201 11 0 00 037420 		MOVEI	AC+2,.		;SAVE TEST PC
 11136	037421	202 11 0 00 030051 		MOVEM	AC+2,TESTPC
 11137	037422	201 11 0 00 000011 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11138	037423	202 11 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11139
 11140			006600		SN=6600
 11141			000000			ZZ=0
 11142
 11143							;TEST SAC,SAC2 FAILING
 11144					F6600:	REPEAT	^D2,<
 11145					SN=SN+1
 11146						ZZ=<ZZ+ZZ>&777777
 11147						IFE	ZZ,<ZZ=777777>
 11148						JRSTF	@[.+1]		;CLR ALL FLGS,EXEC NEXT INST
 11149						MOVEI	AC,ZZ		;SETUP DVND
 11150						MOVEI	AC+1,ZZ		;SETUP DVSR
 11151						IDIV	AC,AC+1		;DIVIDE ZZ BY ZZ
 11152						JSP	AC-3,.+1
 11153						JOV	.+2		;TEST FOR OVFL
 11154						JRST	.+2
 11155						ER13	AC-3,SN
 11156						CAIE	AC,1		;TEST AC FOR QUOTIENT = 1
 11157						ER3	AC,SN
 11158						CAIE	AC+1,0		;TEST AC+1 FOR REMAINDER = 0
 11159						ER4	AC+1,SN
 11160						JUMPL	AC+2,.-^D13	;LOOP ON ERROR SWITCH
 11161						JRSTF	@[.+1]		;CLEAR ALL FLAGS
 11162					>
 11163
 11164			006601		SN=SN+1
 11165			000000			ZZ=<ZZ+ZZ>&777777
 11166			777777			IFE	ZZ,<ZZ=777777>
 11167	037424	254 02 1 00 045272 		JRSTF	@[.+1]		;CLR ALL FLGS,EXEC NEXT INST
 11168	037425	201 07 0 00 777777 		MOVEI	AC,ZZ		;SETUP DVND
 11169	037426	201 10 0 00 777777 		MOVEI	AC+1,ZZ		;SETUP DVSR
 11170	037427	230 07 0 00 000010 		IDIV	AC,AC+1		;DIVIDE ZZ BY ZZ
 11171	037430	265 04 0 00 037431 		JSP	AC-3,.+1
 11172	037431	255 10 0 00 037433 		JOV	.+2		;TEST FOR OVFL
 11173	037432	254 00 0 00 037434 		JRST	.+2
 11174	037433	013 04 0 00 006601 		ER13	AC-3,SN
 11175	037434	302 07 0 00 000001 		CAIE	AC,1		;TEST AC FOR QUOTIENT = 1
 11176	037435	003 07 0 00 006601 		ER3	AC,SN
 11177	037436	302 10 0 00 000000 		CAIE	AC+1,0		;TEST AC+1 FOR REMAINDER = 0
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 34-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0238

 11178	037437	004 10 0 00 006601 		ER4	AC+1,SN
 11179	037440	321 11 0 00 037423 		JUMPL	AC+2,.-^D13	;LOOP ON ERROR SWITCH
 11180	037441	254 02 1 00 045273 		JRSTF	@[.+1]		;CLEAR ALL FLAGS
 11181
 11182
 11183			006602		SN=SN+1
 11184			777776			ZZ=<ZZ+ZZ>&777777
 11185						IFE	ZZ,<ZZ=777777>
 11186	037442	254 02 1 00 045274 		JRSTF	@[.+1]		;CLR ALL FLGS,EXEC NEXT INST
 11187	037443	201 07 0 00 777776 		MOVEI	AC,ZZ		;SETUP DVND
 11188	037444	201 10 0 00 777776 		MOVEI	AC+1,ZZ		;SETUP DVSR
 11189	037445	230 07 0 00 000010 		IDIV	AC,AC+1		;DIVIDE ZZ BY ZZ
 11190	037446	265 04 0 00 037447 		JSP	AC-3,.+1
 11191	037447	255 10 0 00 037451 		JOV	.+2		;TEST FOR OVFL
 11192	037450	254 00 0 00 037452 		JRST	.+2
 11193	037451	013 04 0 00 006602 		ER13	AC-3,SN
 11194	037452	302 07 0 00 000001 		CAIE	AC,1		;TEST AC FOR QUOTIENT = 1
 11195	037453	003 07 0 00 006602 		ER3	AC,SN
 11196	037454	302 10 0 00 000000 		CAIE	AC+1,0		;TEST AC+1 FOR REMAINDER = 0
 11197	037455	004 10 0 00 006602 		ER4	AC+1,SN
 11198	037456	321 11 0 00 037441 		JUMPL	AC+2,.-^D13	;LOOP ON ERROR SWITCH
 11199	037457	254 02 1 00 045275 		JRSTF	@[.+1]		;CLEAR ALL FLAGS
 11200
 11201					PAGE
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 34-2
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0239

 11202									;TEST FCE FAILING
 11203	037460	201 05 0 00 160000 	F6700:	MOVEI	AC-2,160000	;SETUP FOR COMPARISON
 11204	037461	201 07 0 00 340000 		MOVEI	AC,340000	;SETUP DVND
 11205	037462	201 10 0 00 000002 		MOVEI	AC+1,2		;SETUP DVSR
 11206	037463	230 07 0 00 000010 		IDIV	AC,AC+1		;DIV 000000 340000 BY 2
 11207	037464	312 07 0 00 000005 		CAME	AC,AC-2		;TEST QUOT = 000000 020000
 11208	037465	003 07 0 00 006701 		ER3	AC,6701
 11209	037466	321 11 0 00 037460 		JUMPL	AC+2,F6700	;LOOP ON ERROR SWITCH
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 35
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0240

 11210					;DVND = 4,10
 11211					;DVSR = 2
 11212					;FAILURE RESULTS IN A QUOT = 0,
 11213					;A REMD = DVND (SIGN IS NEGATIVE)
 11214
 11215			000007			AC=7
 11216						SAVEAC	(1,1)^
 11217	037467	201 11 0 00 037467 		MOVEI	AC+2,.		;SAVE TEST PC
 11218	037470	202 11 0 00 030051 		MOVEM	AC+2,TESTPC
 11219	037471	201 11 0 00 000011 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11220	037472	202 11 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11221
 11222			007000		SN=7000
 11223			000002			ZZ=2
 11224					F7000:	REPEAT	^D2,<
 11225					SN=SN+1
 11226						ZZ=ZZ+ZZ
 11227						MOVEI	AC,ZZ		;SETUP DVND
 11228						MOVEI	AC-1,2		;SETUP DVSR
 11229						IDIV	AC,AC-1		;DIVIDE ZZ BY 2
 11230						SKIPE	AC+1		;TEST REMD
 11231						ER4	AC+1,SN
 11232						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 11233					>
 11234
 11235			007001		SN=SN+1
 11236			000004			ZZ=ZZ+ZZ
 11237	037473	201 07 0 00 000004 		MOVEI	AC,ZZ		;SETUP DVND
 11238	037474	201 06 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 11239	037475	230 07 0 00 000006 		IDIV	AC,AC-1		;DIVIDE ZZ BY 2
 11240	037476	332 00 0 00 000010 		SKIPE	AC+1		;TEST REMD
 11241	037477	004 10 0 00 007001 		ER4	AC+1,SN
 11242	037500	321 11 0 00 037471 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 11243
 11244
 11245			007002		SN=SN+1
 11246			000010			ZZ=ZZ+ZZ
 11247	037501	201 07 0 00 000010 		MOVEI	AC,ZZ		;SETUP DVND
 11248	037502	201 06 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 11249	037503	230 07 0 00 000006 		IDIV	AC,AC-1		;DIVIDE ZZ BY 2
 11250	037504	332 00 0 00 000010 		SKIPE	AC+1		;TEST REMD
 11251	037505	004 10 0 00 007002 		ER4	AC+1,SN
 11252	037506	321 11 0 00 037477 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 11253
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 36
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0241

 11254					;TEST AROV SET
 11255					;DVND = 4,10
 11256					;DVSR = 0 (DIVIDE CHECK CONDITION)
 11257
 11258			000014			AC=14
 11259						SAVEAC	(1,1)^
 11260	037507	201 16 0 00 037507 		MOVEI	AC+2,.		;SAVE TEST PC
 11261	037510	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
 11262	037511	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11263	037512	202 16 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11264
 11265			007100		SN=7100
 11266			000002			ZZ=2
 11267
 11268							;TEST OVERFLOW COND
 11269					F7100:	REPEAT	^D2,<
 11270					SN=SN+1
 11271						ZZ=ZZ+ZZ
 11272						JRSTF	@[.+1]		;CLR ALL FLGS,EXEC NEXT INST
 11273						MOVEI	AC,ZZ		;SETUP DVND
 11274						MOVEI	AC+1,ZZ
 11275						SETZ	AC-1,		;SETUP DVSR
 11276						IDIV	AC,AC-1		;DIVIDE (ZZ) BY 0
 11277						JSP	AC-3,.+1
 11278						CAIE	AC,ZZ
 11279						ER3	AC,SN		;C(AC) WAS CLOBBERED
 11280						CAIE	AC+1,ZZ
 11281						ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 11282						JOV	.+2		;TEST FOR OVERFLOW
 11283						ER13	AC-3,.+1	;AROV FAILED TO SET
 11284						TLNN	AC-3,DCK
 11285						ER13	AC-3,SN		;DCK NOT SET
 11286						JUMPL	AC+2,.-^D14	;LOOP ON ERROR SWITCH
 11287					>
 11288
 11289			007101		SN=SN+1
 11290			000004			ZZ=ZZ+ZZ
 11291	037513	254 02 1 00 045276 		JRSTF	@[.+1]		;CLR ALL FLGS,EXEC NEXT INST
 11292	037514	201 14 0 00 000004 		MOVEI	AC,ZZ		;SETUP DVND
 11293	037515	201 15 0 00 000004 		MOVEI	AC+1,ZZ
 11294	037516	400 13 0 00 000000 		SETZ	AC-1,		;SETUP DVSR
 11295	037517	230 14 0 00 000013 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY 0
 11296	037520	265 11 0 00 037521 		JSP	AC-3,.+1
 11297	037521	302 14 0 00 000004 		CAIE	AC,ZZ
 11298	037522	003 14 0 00 007101 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 11299	037523	302 15 0 00 000004 		CAIE	AC+1,ZZ
 11300	037524	004 15 0 00 007101 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 11301	037525	255 10 0 00 037527 		JOV	.+2		;TEST FOR OVERFLOW
 11302	037526	013 11 0 00 037527 		ER13	AC-3,.+1	;AROV FAILED TO SET
 11303	037527	607 11 0 00 000040 		TLNN	AC-3,DCK
 11304	037530	013 11 0 00 007101 		ER13	AC-3,SN		;DCK NOT SET
 11305	037531	321 16 0 00 037513 		JUMPL	AC+2,.-^D14	;LOOP ON ERROR SWITCH
 11306
 11307
 11308			007102		SN=SN+1
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 36-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0242

 11309			000010			ZZ=ZZ+ZZ
 11310	037532	254 02 1 00 045277 		JRSTF	@[.+1]		;CLR ALL FLGS,EXEC NEXT INST
 11311	037533	201 14 0 00 000010 		MOVEI	AC,ZZ		;SETUP DVND
 11312	037534	201 15 0 00 000010 		MOVEI	AC+1,ZZ
 11313	037535	400 13 0 00 000000 		SETZ	AC-1,		;SETUP DVSR
 11314	037536	230 14 0 00 000013 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY 0
 11315	037537	265 11 0 00 037540 		JSP	AC-3,.+1
 11316	037540	302 14 0 00 000010 		CAIE	AC,ZZ
 11317	037541	003 14 0 00 007102 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 11318	037542	302 15 0 00 000010 		CAIE	AC+1,ZZ
 11319	037543	004 15 0 00 007102 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 11320	037544	255 10 0 00 037546 		JOV	.+2		;TEST FOR OVERFLOW
 11321	037545	013 11 0 00 037546 		ER13	AC-3,.+1	;AROV FAILED TO SET
 11322	037546	607 11 0 00 000040 		TLNN	AC-3,DCK
 11323	037547	013 11 0 00 007102 		ER13	AC-3,SN		;DCK NOT SET
 11324	037550	321 16 0 00 037532 		JUMPL	AC+2,.-^D14	;LOOP ON ERROR SWITCH
 11325
 11326					PAGE
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 36-2
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0243

 11327					;DVND = 4,10
 11328					;DVSR = 4,10
 11329
 11330			000011			AC=11
 11331						SAVEAC	(1,1)^
 11332	037551	201 13 0 00 037551 		MOVEI	AC+2,.		;SAVE TEST PC
 11333	037552	202 13 0 00 030051 		MOVEM	AC+2,TESTPC
 11334	037553	201 13 0 00 000013 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11335	037554	202 13 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11336
 11337			007400		SN=7400
 11338			000002			ZZ=2
 11339
 11340					F7400:	REPEAT	^D2,<
 11341					SN=SN+1
 11342						ZZ=ZZ+ZZ
 11343						JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 11344						MOVEI	AC,ZZ		;SETUP DVND
 11345						MOVEI	AC-1,ZZ		;SETUP DVSR
 11346						IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 11347						JSP	AC-2,.+1
 11348						CAIE	AC,1
 11349						ER3	AC,SN		;C(AC) FAILED
 11350						CAIE	AC+1,0
 11351						ER4	AC+1,SN		;C(AC+1) FAILED
 11352						JOV	.+2		;TEST FOR OVERFLOW
 11353						JRST	,.+2
 11354						ER13	AC-2,SN
 11355						JUMPL	AC+2,.-^D12
 11356					>
 11357
 11358			007401		SN=SN+1
 11359			000004			ZZ=ZZ+ZZ
 11360	037555	254 02 1 00 045300 		JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 11361	037556	201 11 0 00 000004 		MOVEI	AC,ZZ		;SETUP DVND
 11362	037557	201 10 0 00 000004 		MOVEI	AC-1,ZZ		;SETUP DVSR
 11363	037560	230 11 0 00 000010 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 11364	037561	265 07 0 00 037562 		JSP	AC-2,.+1
 11365	037562	302 11 0 00 000001 		CAIE	AC,1
 11366	037563	003 11 0 00 007401 		ER3	AC,SN		;C(AC) FAILED
 11367	037564	302 12 0 00 000000 		CAIE	AC+1,0
 11368	037565	004 12 0 00 007401 		ER4	AC+1,SN		;C(AC+1) FAILED
 11369	037566	255 10 0 00 037570 		JOV	.+2		;TEST FOR OVERFLOW
 11370	037567	254 00 0 00 037571 		JRST	,.+2
 11371	037570	013 07 0 00 007401 		ER13	AC-2,SN
 11372	037571	321 13 0 00 037555 		JUMPL	AC+2,.-^D12
 11373
 11374
 11375			007402		SN=SN+1
 11376			000010			ZZ=ZZ+ZZ
 11377	037572	254 02 1 00 045301 		JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 11378	037573	201 11 0 00 000010 		MOVEI	AC,ZZ		;SETUP DVND
 11379	037574	201 10 0 00 000010 		MOVEI	AC-1,ZZ		;SETUP DVSR
 11380	037575	230 11 0 00 000010 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 11381	037576	265 07 0 00 037577 		JSP	AC-2,.+1
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 36-3
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0244

 11382	037577	302 11 0 00 000001 		CAIE	AC,1
 11383	037600	003 11 0 00 007402 		ER3	AC,SN		;C(AC) FAILED
 11384	037601	302 12 0 00 000000 		CAIE	AC+1,0
 11385	037602	004 12 0 00 007402 		ER4	AC+1,SN		;C(AC+1) FAILED
 11386	037603	255 10 0 00 037605 		JOV	.+2		;TEST FOR OVERFLOW
 11387	037604	254 00 0 00 037606 		JRST	,.+2
 11388	037605	013 07 0 00 007402 		ER13	AC-2,SN
 11389	037606	321 13 0 00 037572 		JUMPL	AC+2,.-^D12
 11390
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 37
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0245

 11391					;DVND = 2,4
 11392					;DVSR = 400000 000000
 11393
 11394			000007			AC=7
 11395						SAVEAC	(1,1)^
 11396	037607	201 11 0 00 037607 		MOVEI	AC+2,.		;SAVE TEST PC
 11397	037610	202 11 0 00 030051 		MOVEM	AC+2,TESTPC
 11398	037611	201 11 0 00 000011 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11399	037612	202 11 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11400
 11401			007500		SN=7500
 11402			000001			ZZ=1
 11403
 11404					F7500:	REPEAT	^D2,<
 11405					SN=SN+1
 11406						ZZ=ZZ+ZZ
 11407						JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 11408						MOVEI	AC,ZZ		;SETUP DVND
 11409						MOVSI	AC-1,400000	;SETUP DVSR
 11410						IDIV	AC,AC-1		;DIVIDE (ZZ) BY (-N)
 11411						JSP	AC-2,.+1
 11412						CAIE	AC,0
 11413						ER3	AC,SN		;C(AC) WAS CLOBBERED
 11414						CAIE	AC+1,ZZ
 11415						ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 11416						JOV	.+2		;TEST FOR OVERFLOW
 11417						JRST	,.+2
 11418						ER13	AC-2,SN
 11419						JUMPL	AC+2,.-^D12
 11420					>
 11421
 11422			007501		SN=SN+1
 11423			000002			ZZ=ZZ+ZZ
 11424	037613	254 02 1 00 045302 		JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 11425	037614	201 07 0 00 000002 		MOVEI	AC,ZZ		;SETUP DVND
 11426	037615	205 06 0 00 400000 		MOVSI	AC-1,400000	;SETUP DVSR
 11427	037616	230 07 0 00 000006 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY (-N)
 11428	037617	265 05 0 00 037620 		JSP	AC-2,.+1
 11429	037620	302 07 0 00 000000 		CAIE	AC,0
 11430	037621	003 07 0 00 007501 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 11431	037622	302 10 0 00 000002 		CAIE	AC+1,ZZ
 11432	037623	004 10 0 00 007501 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 11433	037624	255 10 0 00 037626 		JOV	.+2		;TEST FOR OVERFLOW
 11434	037625	254 00 0 00 037627 		JRST	,.+2
 11435	037626	013 05 0 00 007501 		ER13	AC-2,SN
 11436	037627	321 11 0 00 037613 		JUMPL	AC+2,.-^D12
 11437
 11438
 11439			007502		SN=SN+1
 11440			000004			ZZ=ZZ+ZZ
 11441	037630	254 02 1 00 045303 		JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 11442	037631	201 07 0 00 000004 		MOVEI	AC,ZZ		;SETUP DVND
 11443	037632	205 06 0 00 400000 		MOVSI	AC-1,400000	;SETUP DVSR
 11444	037633	230 07 0 00 000006 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY (-N)
 11445	037634	265 05 0 00 037635 		JSP	AC-2,.+1
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 37-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0246

 11446	037635	302 07 0 00 000000 		CAIE	AC,0
 11447	037636	003 07 0 00 007502 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 11448	037637	302 10 0 00 000004 		CAIE	AC+1,ZZ
 11449	037640	004 10 0 00 007502 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 11450	037641	255 10 0 00 037643 		JOV	.+2		;TEST FOR OVERFLOW
 11451	037642	254 00 0 00 037644 		JRST	,.+2
 11452	037643	013 05 0 00 007502 		ER13	AC-2,SN
 11453	037644	321 11 0 00 037630 		JUMPL	AC+2,.-^D12
 11454
 11455					PAGE
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 37-2
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0247

 11456					;DVND = 7,13
 11457					;DVSR = 2
 11458
 11459			000006			AC=6
 11460						SAVEAC	(1,1)^
 11461	037645	201 10 0 00 037645 		MOVEI	AC+2,.		;SAVE TEST PC
 11462	037646	202 10 0 00 030051 		MOVEM	AC+2,TESTPC
 11463	037647	201 10 0 00 000010 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11464	037650	202 10 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11465	037651	254 02 1 00 045304 		JRSTF	@[.+1]		;CLEAR ALL FLAGS
 11466
 11467			007600		SN=7600
 11468			000003			ZZ=3
 11469
 11470					F7600:	REPEAT	^D2,<
 11471					SN=SN+1
 11472						ZZ=ZZ+4
 11473						MOVEI	AC,ZZ		;SETUP DVND
 11474						MOVEI	AC-1,2		;SETUP DVSR
 11475						IDIV	AC,AC-1		;DIVIDE (ZZ) BY 2
 11476						CAIE	AC,ZZ/2		;TEST QUOT
 11477						ER3	AC,SN
 11478						CAIE	AC+1,1		;TEST REMD
 11479						ER4	AC+1,SN
 11480						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 11481					>
 11482
 11483			007601		SN=SN+1
 11484			000007			ZZ=ZZ+4
 11485	037652	201 06 0 00 000007 		MOVEI	AC,ZZ		;SETUP DVND
 11486	037653	201 05 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 11487	037654	230 06 0 00 000005 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY 2
 11488	037655	302 06 0 00 000003 		CAIE	AC,ZZ/2		;TEST QUOT
 11489	037656	003 06 0 00 007601 		ER3	AC,SN
 11490	037657	302 07 0 00 000001 		CAIE	AC+1,1		;TEST REMD
 11491	037660	004 07 0 00 007601 		ER4	AC+1,SN
 11492	037661	321 10 0 00 037652 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 11493
 11494
 11495			007602		SN=SN+1
 11496			000013			ZZ=ZZ+4
 11497	037662	201 06 0 00 000013 		MOVEI	AC,ZZ		;SETUP DVND
 11498	037663	201 05 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 11499	037664	230 06 0 00 000005 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY 2
 11500	037665	302 06 0 00 000005 		CAIE	AC,ZZ/2		;TEST QUOT
 11501	037666	003 06 0 00 007602 		ER3	AC,SN
 11502	037667	302 07 0 00 000001 		CAIE	AC+1,1		;TEST REMD
 11503	037670	004 07 0 00 007602 		ER4	AC+1,SN
 11504	037671	321 10 0 00 037662 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 11505
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 38
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0248

 11506					;DVND = 2,4
 11507					;DVSR = 2,4
 11508
 11509			000005			AC=5
 11510						SAVEAC	(1,1)^
 11511	037672	201 07 0 00 037672 		MOVEI	AC+2,.		;SAVE TEST PC
 11512	037673	202 07 0 00 030051 		MOVEM	AC+2,TESTPC
 11513	037674	201 07 0 00 000007 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11514	037675	202 07 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11515
 11516			007700		SN=7700
 11517			000000			XX=0
 11518			000001			ZZ=1
 11519
 11520					F7700:	REPEAT	^D2,<
 11521					SN=SN+1
 11522						XX=XX+XX
 11523						ZZ=ZZ+ZZ
 11524						IFE	XX,<XX=1>
 11525						SETOM	AC+1		;INITIALIZE REMAINDER
 11526						MOVEI	AC,ZZ		;SETUP DVND
 11527						MOVEI	AC-1,ZZ		;SETUP DVSR
 11528						IDIV	AC,AC-1		;DIVIDE (ZZ) BY (ZZ)
 11529						CAIE	AC,1		;TEST QUOT
 11530						ER3	AC,SN
 11531						SKIPE	AC+1		;TEST REMD
 11532						ER4	AC+1,SN
 11533						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11534					>
 11535
 11536			007701		SN=SN+1
 11537			000000			XX=XX+XX
 11538			000002			ZZ=ZZ+ZZ
 11539			000001			IFE	XX,<XX=1>
 11540	037676	476 00 0 00 000006 		SETOM	AC+1		;INITIALIZE REMAINDER
 11541	037677	201 05 0 00 000002 		MOVEI	AC,ZZ		;SETUP DVND
 11542	037700	201 04 0 00 000002 		MOVEI	AC-1,ZZ		;SETUP DVSR
 11543	037701	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY (ZZ)
 11544	037702	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT
 11545	037703	003 05 0 00 007701 		ER3	AC,SN
 11546	037704	332 00 0 00 000006 		SKIPE	AC+1		;TEST REMD
 11547	037705	004 06 0 00 007701 		ER4	AC+1,SN
 11548	037706	321 07 0 00 037676 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11549
 11550
 11551			007702		SN=SN+1
 11552			000002			XX=XX+XX
 11553			000004			ZZ=ZZ+ZZ
 11554						IFE	XX,<XX=1>
 11555	037707	476 00 0 00 000006 		SETOM	AC+1		;INITIALIZE REMAINDER
 11556	037710	201 05 0 00 000004 		MOVEI	AC,ZZ		;SETUP DVND
 11557	037711	201 04 0 00 000004 		MOVEI	AC-1,ZZ		;SETUP DVSR
 11558	037712	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY (ZZ)
 11559	037713	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT
 11560	037714	003 05 0 00 007702 		ER3	AC,SN
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 38-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0249

 11561	037715	332 00 0 00 000006 		SKIPE	AC+1		;TEST REMD
 11562	037716	004 06 0 00 007702 		ER4	AC+1,SN
 11563	037717	321 07 0 00 037707 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11564
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 39
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0250

 11565					;DVND = 177777 777777,0777777 777777
 11566					;DVSR = 1
 11567
 11568			000004			AC=4
 11569						SAVEAC	(1,1)^
 11570	037720	201 06 0 00 037720 		MOVEI	AC+2,.		;SAVE TEST PC
 11571	037721	202 06 0 00 030051 		MOVEM	AC+2,TESTPC
 11572	037722	201 06 0 00 000006 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11573	037723	202 06 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11574
 11575			010000		SN=10000
 11576			377777			ZZ=377777
 11577
 11578					F10000:	REPEAT	^D2,<
 11579					SN=SN+1
 11580						ZZ=ZZ/2
 11581						HRLOI	AC-2,ZZ		;SETUP FOR COMPARISON
 11582						HRLOI	AC,ZZ		;SETUP DVND
 11583						MOVEI	AC-1,1		;SETUP DVSR
 11584						IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 11585						CAME	AC,AC-2		;TEST QUOTIENT
 11586						ER3	AC,SN
 11587						SKIPE	AC+1		;TEST REMAINDER
 11588						ER4	AC+1,SN
 11589						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11590					>
 11591
 11592			010001		SN=SN+1
 11593			177777			ZZ=ZZ/2
 11594	037724	525 02 0 00 177777 		HRLOI	AC-2,ZZ		;SETUP FOR COMPARISON
 11595	037725	525 04 0 00 177777 		HRLOI	AC,ZZ		;SETUP DVND
 11596	037726	201 03 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 11597	037727	230 04 0 00 000003 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 11598	037730	312 04 0 00 000002 		CAME	AC,AC-2		;TEST QUOTIENT
 11599	037731	003 04 0 00 010001 		ER3	AC,SN
 11600	037732	332 00 0 00 000005 		SKIPE	AC+1		;TEST REMAINDER
 11601	037733	004 05 0 00 010001 		ER4	AC+1,SN
 11602	037734	321 06 0 00 037724 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11603
 11604
 11605			010002		SN=SN+1
 11606			077777			ZZ=ZZ/2
 11607	037735	525 02 0 00 077777 		HRLOI	AC-2,ZZ		;SETUP FOR COMPARISON
 11608	037736	525 04 0 00 077777 		HRLOI	AC,ZZ		;SETUP DVND
 11609	037737	201 03 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 11610	037740	230 04 0 00 000003 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 11611	037741	312 04 0 00 000002 		CAME	AC,AC-2		;TEST QUOTIENT
 11612	037742	003 04 0 00 010002 		ER3	AC,SN
 11613	037743	332 00 0 00 000005 		SKIPE	AC+1		;TEST REMAINDER
 11614	037744	004 05 0 00 010002 		ER4	AC+1,SN
 11615	037745	321 06 0 00 037735 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11616
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 40
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0251

 11617					;TEST ABILITY TO SWAP REMD
 11618					;AND QUOT
 11619					;DVND = 5,13
 11620					;DVSR - 3
 11621					;FAILURE RESULTS IN A QUOT
 11622					;EQUAL TO THE REMD
 11623
 11624			000014			AC=14
 11625						SAVEAC	(1,1)^
 11626	037746	201 16 0 00 037746 		MOVEI	AC+2,.		;SAVE TEST PC
 11627	037747	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
 11628	037750	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11629	037751	202 16 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11630
 11631			010300		SN=10300
 11632		777777	777777			ZZ=-1
 11633
 11634					F10300:	REPEAT	^D2,<
 11635					SN=SN+1
 11636						ZZ=ZZ+6
 11637						MOVEI	AC-2,2
 11638						MOVEI	AC,ZZ		;SETUP DVND
 11639						MOVEI	AC-1,3		;SETUP DVSR
 11640						IDIV	AC,AC-1		;DIVIDE ZZ BY 3
 11641						CAIE	AC,ZZ/3		;TEST QUOT
 11642						ER3	AC,SN
 11643						CAME	AC+1,AC-2	;TEST REMD
 11644						ER4	AC+1,SN
 11645						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11646					>
 11647
 11648			010301		SN=SN+1
 11649			000005			ZZ=ZZ+6
 11650	037752	201 12 0 00 000002 		MOVEI	AC-2,2
 11651	037753	201 14 0 00 000005 		MOVEI	AC,ZZ		;SETUP DVND
 11652	037754	201 13 0 00 000003 		MOVEI	AC-1,3		;SETUP DVSR
 11653	037755	230 14 0 00 000013 		IDIV	AC,AC-1		;DIVIDE ZZ BY 3
 11654	037756	302 14 0 00 000001 		CAIE	AC,ZZ/3		;TEST QUOT
 11655	037757	003 14 0 00 010301 		ER3	AC,SN
 11656	037760	312 15 0 00 000012 		CAME	AC+1,AC-2	;TEST REMD
 11657	037761	004 15 0 00 010301 		ER4	AC+1,SN
 11658	037762	321 16 0 00 037752 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11659
 11660
 11661			010302		SN=SN+1
 11662			000013			ZZ=ZZ+6
 11663	037763	201 12 0 00 000002 		MOVEI	AC-2,2
 11664	037764	201 14 0 00 000013 		MOVEI	AC,ZZ		;SETUP DVND
 11665	037765	201 13 0 00 000003 		MOVEI	AC-1,3		;SETUP DVSR
 11666	037766	230 14 0 00 000013 		IDIV	AC,AC-1		;DIVIDE ZZ BY 3
 11667	037767	302 14 0 00 000003 		CAIE	AC,ZZ/3		;TEST QUOT
 11668	037770	003 14 0 00 010302 		ER3	AC,SN
 11669	037771	312 15 0 00 000012 		CAME	AC+1,AC-2	;TEST REMD
 11670	037772	004 15 0 00 010302 		ER4	AC+1,SN
 11671	037773	321 16 0 00 037763 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 40-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0252

 11672
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 41
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0253

 11673					;DVND = 2,4
 11674					;DVSR = 1
 11675					;DVND = 377777 777777,177777 777777
 11676					;DVSR = 1
 11677
 11678			000013			AC=13
 11679						SAVEAC	(1,1)^
 11680	037774	201 15 0 00 037774 		MOVEI	AC+2,.		;SAVE TEST PC
 11681	037775	202 15 0 00 030051 		MOVEM	AC+2,TESTPC
 11682	037776	201 15 0 00 000015 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11683	037777	202 15 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11684
 11685			010400		SN=10400
 11686			000001			ZZ=1
 11687
 11688					F10400:	REPEAT	^D2,<
 11689					SN=SN+1
 11690						ZZ=ZZ+ZZ
 11691						MOVEI	AC,ZZ		;SETUP DVND
 11692						MOVEI	AC-1,1		;SETUP DVSR
 11693						IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 11694						CAIE	AC,ZZ		;TEST QUOT
 11695						ER3	AC,SN
 11696						SKIPE	AC+1		;TEST REMD
 11697						ER4	AC+1,SN
 11698						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11699					>
 11700
 11701			010401		SN=SN+1
 11702			000002			ZZ=ZZ+ZZ
 11703	040000	201 13 0 00 000002 		MOVEI	AC,ZZ		;SETUP DVND
 11704	040001	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 11705	040002	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 11706	040003	302 13 0 00 000002 		CAIE	AC,ZZ		;TEST QUOT
 11707	040004	003 13 0 00 010401 		ER3	AC,SN
 11708	040005	332 00 0 00 000014 		SKIPE	AC+1		;TEST REMD
 11709	040006	004 14 0 00 010401 		ER4	AC+1,SN
 11710	040007	321 15 0 00 037777 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11711
 11712
 11713			010402		SN=SN+1
 11714			000004			ZZ=ZZ+ZZ
 11715	040010	201 13 0 00 000004 		MOVEI	AC,ZZ		;SETUP DVND
 11716	040011	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 11717	040012	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 11718	040013	302 13 0 00 000004 		CAIE	AC,ZZ		;TEST QUOT
 11719	040014	003 13 0 00 010402 		ER3	AC,SN
 11720	040015	332 00 0 00 000014 		SKIPE	AC+1		;TEST REMD
 11721	040016	004 14 0 00 010402 		ER4	AC+1,SN
 11722	040017	321 15 0 00 040007 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11723
 11724					PAGE
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 41-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0254

 11725			010500		SN=10500
 11726			000000			ZZ=0
 11727
 11728					F10500:	REPEAT	^D2,<
 11729					SN=SN+1
 11730						ZZ=ZZ/2
 11731						IFE	ZZ,<ZZ=377777>
 11732						HRLOI	AC-2,ZZ		;SETUP FOR COMPARISON
 11733						HRLOI	AC,ZZ		;SETUP DVND
 11734						MOVEI	AC-1,1		;SETUP DVSR
 11735						IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 11736						CAME	AC,AC-2		;TEST QUOT
 11737						ER3	AC,SN
 11738						SKIPE	AC+1		;TEST REMD
 11739						ER4	AC+1,SN
 11740						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11741					>
 11742
 11743			010501		SN=SN+1
 11744			000000			ZZ=ZZ/2
 11745			377777			IFE	ZZ,<ZZ=377777>
 11746	040020	525 11 0 00 377777 		HRLOI	AC-2,ZZ		;SETUP FOR COMPARISON
 11747	040021	525 13 0 00 377777 		HRLOI	AC,ZZ		;SETUP DVND
 11748	040022	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 11749	040023	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 11750	040024	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT
 11751	040025	003 13 0 00 010501 		ER3	AC,SN
 11752	040026	332 00 0 00 000014 		SKIPE	AC+1		;TEST REMD
 11753	040027	004 14 0 00 010501 		ER4	AC+1,SN
 11754	040030	321 15 0 00 040020 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11755
 11756
 11757			010502		SN=SN+1
 11758			177777			ZZ=ZZ/2
 11759						IFE	ZZ,<ZZ=377777>
 11760	040031	525 11 0 00 177777 		HRLOI	AC-2,ZZ		;SETUP FOR COMPARISON
 11761	040032	525 13 0 00 177777 		HRLOI	AC,ZZ		;SETUP DVND
 11762	040033	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 11763	040034	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 11764	040035	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT
 11765	040036	003 13 0 00 010502 		ER3	AC,SN
 11766	040037	332 00 0 00 000014 		SKIPE	AC+1		;TEST REMD
 11767	040040	004 14 0 00 010502 		ER4	AC+1,SN
 11768	040041	321 15 0 00 040031 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11769
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 42
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0255

 11770					;DVND = 100
 11771					;DVSR = 2,4
 11772					;FAILURE RESULTS IN A QUOT = 252525 252525
 11773
 11774			000004			AC=4
 11775						SAVEAC	(1,1)^
 11776	040042	201 06 0 00 040042 		MOVEI	AC+2,.		;SAVE TEST PC
 11777	040043	202 06 0 00 030051 		MOVEM	AC+2,TESTPC
 11778	040044	201 06 0 00 000006 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11779	040045	202 06 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11780
 11781			011300		SN=11300
 11782			000001			ZZ=1
 11783
 11784					F11300:	REPEAT	^D2,<
 11785					SN=SN+1
 11786						ZZ=ZZ+ZZ
 11787						MOVEI	AC,100		;SETUP DVND
 11788						MOVEI	AC-1,ZZ		;SETUP DVSR
 11789						IDIV	AC,AC-1		;DIVIDE 100 BY (ZZ)
 11790						CAIE	AC,100/ZZ	;TEST QUOT
 11791						ER3	AC,SN
 11792						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 11793					>
 11794
 11795			011301		SN=SN+1
 11796			000002			ZZ=ZZ+ZZ
 11797	040046	201 04 0 00 000100 		MOVEI	AC,100		;SETUP DVND
 11798	040047	201 03 0 00 000002 		MOVEI	AC-1,ZZ		;SETUP DVSR
 11799	040050	230 04 0 00 000003 		IDIV	AC,AC-1		;DIVIDE 100 BY (ZZ)
 11800	040051	302 04 0 00 000040 		CAIE	AC,100/ZZ	;TEST QUOT
 11801	040052	003 04 0 00 011301 		ER3	AC,SN
 11802	040053	321 06 0 00 040044 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 11803
 11804
 11805			011302		SN=SN+1
 11806			000004			ZZ=ZZ+ZZ
 11807	040054	201 04 0 00 000100 		MOVEI	AC,100		;SETUP DVND
 11808	040055	201 03 0 00 000004 		MOVEI	AC-1,ZZ		;SETUP DVSR
 11809	040056	230 04 0 00 000003 		IDIV	AC,AC-1		;DIVIDE 100 BY (ZZ)
 11810	040057	302 04 0 00 000020 		CAIE	AC,100/ZZ	;TEST QUOT
 11811	040060	003 04 0 00 011302 		ER3	AC,SN
 11812	040061	321 06 0 00 040052 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 11813
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 43
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0256

 11814					;DVND = 4,10
 11815					;DVSR = -2
 11816					;FAILURE OF EITHER RESULTS IN A QUOT
 11817					;= 2'S COMP ACTUAL,A REMD = 0
 11818
 11819			000011			AC=11
 11820						SAVEAC	(1,1)^
 11821	040062	201 13 0 00 040062 		MOVEI	AC+2,.		;SAVE TEST PC
 11822	040063	202 13 0 00 030051 		MOVEM	AC+2,TESTPC
 11823	040064	201 13 0 00 000013 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11824	040065	202 13 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11825
 11826			011400		SN=11400
 11827		777777	777777			XX=-1
 11828			000002			ZZ=2
 11829
 11830					F11400:	REPEAT	^D2,<
 11831					SN=SN+1
 11832						XX=XX+XX
 11833						ZZ=ZZ+ZZ
 11834						HRROI	AC-2,XX		;SETUP FOR COMPARISON
 11835						MOVEI	AC,ZZ		;SETUP DVND
 11836						HRROI	AC-1,-2		;SETUP DVSR
 11837						IDIV	AC,AC-1		;DIVIDE (ZZ) BY -2
 11838						SKIPE	AC+1		;TEST REMD = 0
 11839						ER4	AC+1,SN
 11840						CAME	AC,AC-2		;TEST QUOTIENT
 11841						ER3	AC,SN
 11842						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11843					>
 11844
 11845			011401		SN=SN+1
 11846		777777	777776			XX=XX+XX
 11847			000004			ZZ=ZZ+ZZ
 11848	040066	561 07 0 00 777776 		HRROI	AC-2,XX		;SETUP FOR COMPARISON
 11849	040067	201 11 0 00 000004 		MOVEI	AC,ZZ		;SETUP DVND
 11850	040070	561 10 0 00 777776 		HRROI	AC-1,-2		;SETUP DVSR
 11851	040071	230 11 0 00 000010 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY -2
 11852	040072	332 00 0 00 000012 		SKIPE	AC+1		;TEST REMD = 0
 11853	040073	004 12 0 00 011401 		ER4	AC+1,SN
 11854	040074	312 11 0 00 000007 		CAME	AC,AC-2		;TEST QUOTIENT
 11855	040075	003 11 0 00 011401 		ER3	AC,SN
 11856	040076	321 13 0 00 040066 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11857
 11858
 11859			011402		SN=SN+1
 11860		777777	777774			XX=XX+XX
 11861			000010			ZZ=ZZ+ZZ
 11862	040077	561 07 0 00 777774 		HRROI	AC-2,XX		;SETUP FOR COMPARISON
 11863	040100	201 11 0 00 000010 		MOVEI	AC,ZZ		;SETUP DVND
 11864	040101	561 10 0 00 777776 		HRROI	AC-1,-2		;SETUP DVSR
 11865	040102	230 11 0 00 000010 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY -2
 11866	040103	332 00 0 00 000012 		SKIPE	AC+1		;TEST REMD = 0
 11867	040104	004 12 0 00 011402 		ER4	AC+1,SN
 11868	040105	312 11 0 00 000007 		CAME	AC,AC-2		;TEST QUOTIENT
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 43-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0257

 11869	040106	003 11 0 00 011402 		ER3	AC,SN
 11870	040107	321 13 0 00 040077 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11871
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 45
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0258

 11872					;DVND = 377777 777777,177777 777777
 11873					;DVSR = 2
 11874
 11875			000012			AC=12
 11876						SAVEAC	(1,1)^
 11877	040110	201 14 0 00 040110 		MOVEI	AC+2,.		;SAVE TEST PC
 11878	040111	202 14 0 00 030051 		MOVEM	AC+2,TESTPC
 11879	040112	201 14 0 00 000014 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11880	040113	202 14 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11881
 11882			012000		SN=12000
 11883			377777			XX=377777
 11884			000000			ZZ=0
 11885
 11886					F12000:	REPEAT	^D2,<
 11887					SN=SN+1
 11888						XX=XX/2
 11889						ZZ=ZZ/2
 11890						IFE	ZZ,<ZZ=377777>
 11891						HRLOI	AC-2,XX		;SETUP FOR COMPARISON
 11892						HRLOI	AC,ZZ		;SETUP DVND
 11893						MOVEI	AC-1,2		;SETUP DVSR
 11894						IDIV	AC,AC-1		;DIVIDE (ZZ) BY 2
 11895						CAIE	AC+1,1
 11896						ER4	AC+1,SN
 11897						CAME	AC,AC-2		;TEST QUOT = 1/2 DVND
 11898						ER3	AC,SN
 11899						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11900					>
 11901
 11902			012001		SN=SN+1
 11903			177777			XX=XX/2
 11904			000000			ZZ=ZZ/2
 11905			377777			IFE	ZZ,<ZZ=377777>
 11906	040114	525 10 0 00 177777 		HRLOI	AC-2,XX		;SETUP FOR COMPARISON
 11907	040115	525 12 0 00 377777 		HRLOI	AC,ZZ		;SETUP DVND
 11908	040116	201 11 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 11909	040117	230 12 0 00 000011 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY 2
 11910	040120	302 13 0 00 000001 		CAIE	AC+1,1
 11911	040121	004 13 0 00 012001 		ER4	AC+1,SN
 11912	040122	312 12 0 00 000010 		CAME	AC,AC-2		;TEST QUOT = 1/2 DVND
 11913	040123	003 12 0 00 012001 		ER3	AC,SN
 11914	040124	321 14 0 00 040114 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11915
 11916
 11917			012002		SN=SN+1
 11918			077777			XX=XX/2
 11919			177777			ZZ=ZZ/2
 11920						IFE	ZZ,<ZZ=377777>
 11921	040125	525 10 0 00 077777 		HRLOI	AC-2,XX		;SETUP FOR COMPARISON
 11922	040126	525 12 0 00 177777 		HRLOI	AC,ZZ		;SETUP DVND
 11923	040127	201 11 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 11924	040130	230 12 0 00 000011 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY 2
 11925	040131	302 13 0 00 000001 		CAIE	AC+1,1
 11926	040132	004 13 0 00 012002 		ER4	AC+1,SN
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 45-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0259

 11927	040133	312 12 0 00 000010 		CAME	AC,AC-2		;TEST QUOT = 1/2 DVND
 11928	040134	003 12 0 00 012002 		ER3	AC,SN
 11929	040135	321 14 0 00 040125 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11930
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 46
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0260

 11931					;DVND = 4,10
 11932					;DVSR = 400000 000000
 11933
 11934			012300		SN=12300
 11935			000002			ZZ=2
 11936
 11937					F12300:	REPEAT	^D2,<
 11938					SN=SN+1
 11939						ZZ=ZZ+ZZ
 11940						MOVEI	AC,ZZ		;SETUP DVND
 11941						MOVSI	AC-1,400000	;SETUP DVSR
 11942						IDIV	AC,AC-1		;DIVIDE (ZZ) BY (-N)
 11943						SKIPE	AC		;TEST QUOT
 11944						ER3	AC,SN
 11945						CAIE	AC+1,ZZ		;TEST REMD
 11946						ER4	AC+1,SN
 11947						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11948					>
 11949
 11950			012301		SN=SN+1
 11951			000004			ZZ=ZZ+ZZ
 11952	040136	201 12 0 00 000004 		MOVEI	AC,ZZ		;SETUP DVND
 11953	040137	205 11 0 00 400000 		MOVSI	AC-1,400000	;SETUP DVSR
 11954	040140	230 12 0 00 000011 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY (-N)
 11955	040141	332 00 0 00 000012 		SKIPE	AC		;TEST QUOT
 11956	040142	003 12 0 00 012301 		ER3	AC,SN
 11957	040143	302 13 0 00 000004 		CAIE	AC+1,ZZ		;TEST REMD
 11958	040144	004 13 0 00 012301 		ER4	AC+1,SN
 11959	040145	321 14 0 00 040135 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11960
 11961
 11962			012302		SN=SN+1
 11963			000010			ZZ=ZZ+ZZ
 11964	040146	201 12 0 00 000010 		MOVEI	AC,ZZ		;SETUP DVND
 11965	040147	205 11 0 00 400000 		MOVSI	AC-1,400000	;SETUP DVSR
 11966	040150	230 12 0 00 000011 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY (-N)
 11967	040151	332 00 0 00 000012 		SKIPE	AC		;TEST QUOT
 11968	040152	003 12 0 00 012302 		ER3	AC,SN
 11969	040153	302 13 0 00 000010 		CAIE	AC+1,ZZ		;TEST REMD
 11970	040154	004 13 0 00 012302 		ER4	AC+1,SN
 11971	040155	321 14 0 00 040145 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11972
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 47
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0261

 11973					;DVND = -40,-20
 11974					;DVSR = 2
 11975
 11976			000006			AC=6
 11977						SAVEAC	(1,1)^
 11978	040156	201 10 0 00 040156 		MOVEI	AC+2,.		;SAVE TEST PC
 11979	040157	202 10 0 00 030051 		MOVEM	AC+2,TESTPC
 11980	040160	201 10 0 00 000010 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11981	040161	202 10 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11982
 11983			012600		SN=12600
 11984		777777	777700			ZZ=-100
 11985
 11986					F12600:	REPEAT	^D2,<
 11987					SN=SN+1
 11988						ZZ=ZZ/2
 11989						HRROI	AC,ZZ		;SETUP DVND
 11990						MOVEI	AC-1,2		;SETUP DVSR
 11991						IDIV	AC,AC-1		;DIVIDE ZZ BY 2
 11992						CAME	AC,[ZZ/2]	;TEST QUOT = 0
 11993						ER3	AC,SN
 11994						SKIPE	AC+1		;TEST REMD
 11995						ER4	AC+1,SN
 11996						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 11997					>
 11998
 11999			012601		SN=SN+1
 12000		777777	777740			ZZ=ZZ/2
 12001	040162	561 06 0 00 777740 		HRROI	AC,ZZ		;SETUP DVND
 12002	040163	201 05 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12003	040164	230 06 0 00 000005 		IDIV	AC,AC-1		;DIVIDE ZZ BY 2
 12004	040165	312 06 0 00 045243 		CAME	AC,[ZZ/2]	;TEST QUOT = 0
 12005	040166	003 06 0 00 012601 		ER3	AC,SN
 12006	040167	332 00 0 00 000007 		SKIPE	AC+1		;TEST REMD
 12007	040170	004 07 0 00 012601 		ER4	AC+1,SN
 12008	040171	321 10 0 00 040162 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 12009
 12010
 12011			012602		SN=SN+1
 12012		777777	777760			ZZ=ZZ/2
 12013	040172	561 06 0 00 777760 		HRROI	AC,ZZ		;SETUP DVND
 12014	040173	201 05 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12015	040174	230 06 0 00 000005 		IDIV	AC,AC-1		;DIVIDE ZZ BY 2
 12016	040175	312 06 0 00 045305 		CAME	AC,[ZZ/2]	;TEST QUOT = 0
 12017	040176	003 06 0 00 012602 		ER3	AC,SN
 12018	040177	332 00 0 00 000007 		SKIPE	AC+1		;TEST REMD
 12019	040200	004 07 0 00 012602 		ER4	AC+1,SN
 12020	040201	321 10 0 00 040172 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 12021
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 48
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0262

 12022					;DVND = -100,-40
 12023					;DVSR = 2
 12024
 12025			000004			AC=4
 12026						SAVEAC	(1,1)^
 12027	040202	201 06 0 00 040202 		MOVEI	AC+2,.		;SAVE TEST PC
 12028	040203	202 06 0 00 030051 		MOVEM	AC+2,TESTPC
 12029	040204	201 06 0 00 000006 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12030	040205	202 06 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12031
 12032			013000		SN=13000
 12033		777777	777600			ZZ=-200
 12034
 12035					F13000:	REPEAT	^D2,<
 12036					SN=SN+1
 12037						ZZ=ZZ/2
 12038						HRROI	AC-2,ZZ/2	;SETUP FOR COMPARISON
 12039						HRROI	AC,ZZ		;SETUP DVND
 12040						MOVEI	AC-1,2		;SETUP DVSR
 12041						IDIV	AC,AC-1		;DIVIDE (-ZZ) BY 2
 12042						CAME	AC,AC-2		;TEST QUOT
 12043						ER3	AC,SN
 12044						SKIPE	AC+1		;TEST REMD
 12045						ER4	AC+1,SN
 12046						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 12047					>
 12048
 12049			013001		SN=SN+1
 12050		777777	777700			ZZ=ZZ/2
 12051	040206	561 02 0 00 777740 		HRROI	AC-2,ZZ/2	;SETUP FOR COMPARISON
 12052	040207	561 04 0 00 777700 		HRROI	AC,ZZ		;SETUP DVND
 12053	040210	201 03 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12054	040211	230 04 0 00 000003 		IDIV	AC,AC-1		;DIVIDE (-ZZ) BY 2
 12055	040212	312 04 0 00 000002 		CAME	AC,AC-2		;TEST QUOT
 12056	040213	003 04 0 00 013001 		ER3	AC,SN
 12057	040214	332 00 0 00 000005 		SKIPE	AC+1		;TEST REMD
 12058	040215	004 05 0 00 013001 		ER4	AC+1,SN
 12059	040216	321 06 0 00 040205 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 12060
 12061
 12062			013002		SN=SN+1
 12063		777777	777740			ZZ=ZZ/2
 12064	040217	561 02 0 00 777760 		HRROI	AC-2,ZZ/2	;SETUP FOR COMPARISON
 12065	040220	561 04 0 00 777740 		HRROI	AC,ZZ		;SETUP DVND
 12066	040221	201 03 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12067	040222	230 04 0 00 000003 		IDIV	AC,AC-1		;DIVIDE (-ZZ) BY 2
 12068	040223	312 04 0 00 000002 		CAME	AC,AC-2		;TEST QUOT
 12069	040224	003 04 0 00 013002 		ER3	AC,SN
 12070	040225	332 00 0 00 000005 		SKIPE	AC+1		;TEST REMD
 12071	040226	004 05 0 00 013002 		ER4	AC+1,SN
 12072	040227	321 06 0 00 040216 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 12073
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 49
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0263

 12074					;FAILURE RESULTS IN A QUOT AND
 12075					;REMD WHICH ARE THE TWO'S
 12076					;COMPLEMENT OF ACTUAL
 12077					;DVND = -7,-17
 12078					;DVSR = 4
 12079
 12080			000014			AC=14
 12081						SAVEAC	(1,1)^
 12082	040230	201 16 0 00 040230 		MOVEI	AC+2,.		;SAVE TEST PC
 12083	040231	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
 12084	040232	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12085	040233	202 16 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12086
 12087			013200		SN=13200
 12088			000001			ZZ=1
 12089
 12090					F13200:	REPEAT	^D2,<
 12091					SN=SN+1
 12092						ZZ=ZZ-10
 12093						HRROI	AC-2,ZZ/4	;SETUP FOR COMPARISON
 12094						HRROI	AC,ZZ		;SETUP DVND
 12095						MOVEI	AC-1,4		;SETUP DVSR
 12096						IDIV	AC,AC-1		;DIVIDE (-ZZ) BY 4
 12097						CAME	AC,AC-2		;TEST QUOT
 12098						ER3	AC,SN
 12099						HRROI	AC-2,-3		;SETUP FOR COMPARISON
 12100						CAME	AC+1,AC-2	;TEST REMD
 12101						ER4	AC+1,SN
 12102						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 12103					>
 12104
 12105			013201		SN=SN+1
 12106		777777	777771			ZZ=ZZ-10
 12107	040234	561 12 0 00 777777 		HRROI	AC-2,ZZ/4	;SETUP FOR COMPARISON
 12108	040235	561 14 0 00 777771 		HRROI	AC,ZZ		;SETUP DVND
 12109	040236	201 13 0 00 000004 		MOVEI	AC-1,4		;SETUP DVSR
 12110	040237	230 14 0 00 000013 		IDIV	AC,AC-1		;DIVIDE (-ZZ) BY 4
 12111	040240	312 14 0 00 000012 		CAME	AC,AC-2		;TEST QUOT
 12112	040241	003 14 0 00 013201 		ER3	AC,SN
 12113	040242	561 12 0 00 777775 		HRROI	AC-2,-3		;SETUP FOR COMPARISON
 12114	040243	312 15 0 00 000012 		CAME	AC+1,AC-2	;TEST REMD
 12115	040244	004 15 0 00 013201 		ER4	AC+1,SN
 12116	040245	321 16 0 00 040234 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 12117
 12118
 12119			013202		SN=SN+1
 12120		777777	777761			ZZ=ZZ-10
 12121	040246	561 12 0 00 777775 		HRROI	AC-2,ZZ/4	;SETUP FOR COMPARISON
 12122	040247	561 14 0 00 777761 		HRROI	AC,ZZ		;SETUP DVND
 12123	040250	201 13 0 00 000004 		MOVEI	AC-1,4		;SETUP DVSR
 12124	040251	230 14 0 00 000013 		IDIV	AC,AC-1		;DIVIDE (-ZZ) BY 4
 12125	040252	312 14 0 00 000012 		CAME	AC,AC-2		;TEST QUOT
 12126	040253	003 14 0 00 013202 		ER3	AC,SN
 12127	040254	561 12 0 00 777775 		HRROI	AC-2,-3		;SETUP FOR COMPARISON
 12128	040255	312 15 0 00 000012 		CAME	AC+1,AC-2	;TEST REMD
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 49-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0264

 12129	040256	004 15 0 00 013202 		ER4	AC+1,SN
 12130	040257	321 16 0 00 040246 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 12131
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 50
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0265

 12132					;DVND = -77,-37
 12133					;DVSR = 2
 12134
 12135			000013			AC=13
 12136						SAVEAC	(1,1)^
 12137	040260	201 15 0 00 040260 		MOVEI	AC+2,.		;SAVE TEST PC
 12138	040261	202 15 0 00 030051 		MOVEM	AC+2,TESTPC
 12139	040262	201 15 0 00 000015 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12140	040263	202 15 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12141
 12142			013300		SN=13300
 12143		777777	777601			ZZ=-177
 12144
 12145					F13300:	REPEAT	^D2,<
 12146					SN=SN+1
 12147						ZZ=ZZ/2
 12148						HRROI	AC-2,-1		;SETUP FOR COMPARISON
 12149						HRROI	AC,ZZ		;SETUP DVND
 12150						MOVEI	AC-1,2		;SETUP DVSR
 12151						IDIV	AC,AC-1		;DIVIDE (-ZZ) BY 2
 12152						CAME	AC+1,AC-2	;TEST REMD
 12153						ER4	AC+1,SN
 12154						HRROI	AC-2,ZZ/2	;SETUP FOR COMPARISON
 12155						CAME	AC,AC-2		;TEST QUOTIENT
 12156						ER3	AC,AC-2
 12157						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 12158					>
 12159
 12160			013301		SN=SN+1
 12161		777777	777701			ZZ=ZZ/2
 12162	040264	561 11 0 00 777777 		HRROI	AC-2,-1		;SETUP FOR COMPARISON
 12163	040265	561 13 0 00 777701 		HRROI	AC,ZZ		;SETUP DVND
 12164	040266	201 12 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12165	040267	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE (-ZZ) BY 2
 12166	040270	312 14 0 00 000011 		CAME	AC+1,AC-2	;TEST REMD
 12167	040271	004 14 0 00 013301 		ER4	AC+1,SN
 12168	040272	561 11 0 00 777741 		HRROI	AC-2,ZZ/2	;SETUP FOR COMPARISON
 12169	040273	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOTIENT
 12170	040274	003 13 0 00 000011 		ER3	AC,AC-2
 12171	040275	321 15 0 00 040264 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 12172
 12173
 12174			013302		SN=SN+1
 12175		777777	777741			ZZ=ZZ/2
 12176	040276	561 11 0 00 777777 		HRROI	AC-2,-1		;SETUP FOR COMPARISON
 12177	040277	561 13 0 00 777741 		HRROI	AC,ZZ		;SETUP DVND
 12178	040300	201 12 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12179	040301	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE (-ZZ) BY 2
 12180	040302	312 14 0 00 000011 		CAME	AC+1,AC-2	;TEST REMD
 12181	040303	004 14 0 00 013302 		ER4	AC+1,SN
 12182	040304	561 11 0 00 777761 		HRROI	AC-2,ZZ/2	;SETUP FOR COMPARISON
 12183	040305	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOTIENT
 12184	040306	003 13 0 00 000011 		ER3	AC,AC-2
 12185	040307	321 15 0 00 040276 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 12186
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 51
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0266

 12187					;DVND = -4,-10
 12188					;DVSR = 2
 12189
 12190			000012			AC=12
 12191						SAVEAC	(1,1)^
 12192	040310	201 14 0 00 040310 		MOVEI	AC+2,.		;SAVE TEST PC
 12193	040311	202 14 0 00 030051 		MOVEM	AC+2,TESTPC
 12194	040312	201 14 0 00 000014 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12195	040313	202 14 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12196
 12197			013500		SN=13500
 12198		777777	777776			ZZ=-2
 12199
 12200					F13500:	REPEAT	^D2,<
 12201					SN=SN+1
 12202						ZZ=ZZ+ZZ
 12203						HRROI	AC-2,ZZ/2	;SETUP FOR COMPARISON
 12204						HRROI	AC,ZZ		;SETUP DVND
 12205						MOVEI	AC-1,2		;SETUP DVSR
 12206						IDIV	AC,AC-1		;DIVIDE (-ZZ) BY 2
 12207						CAME	AC,AC-2		;TEST QUOTIENT
 12208						ER3	AC,SN
 12209						SKIPE	AC+1		;TEST REMAINDER
 12210						ER4	AC+1,SN
 12211						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12212					>
 12213
 12214			013501		SN=SN+1
 12215		777777	777774			ZZ=ZZ+ZZ
 12216	040314	561 10 0 00 777776 		HRROI	AC-2,ZZ/2	;SETUP FOR COMPARISON
 12217	040315	561 12 0 00 777774 		HRROI	AC,ZZ		;SETUP DVND
 12218	040316	201 11 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12219	040317	230 12 0 00 000011 		IDIV	AC,AC-1		;DIVIDE (-ZZ) BY 2
 12220	040320	312 12 0 00 000010 		CAME	AC,AC-2		;TEST QUOTIENT
 12221	040321	003 12 0 00 013501 		ER3	AC,SN
 12222	040322	332 00 0 00 000013 		SKIPE	AC+1		;TEST REMAINDER
 12223	040323	004 13 0 00 013501 		ER4	AC+1,SN
 12224	040324	321 14 0 00 040314 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12225
 12226
 12227			013502		SN=SN+1
 12228		777777	777770			ZZ=ZZ+ZZ
 12229	040325	561 10 0 00 777774 		HRROI	AC-2,ZZ/2	;SETUP FOR COMPARISON
 12230	040326	561 12 0 00 777770 		HRROI	AC,ZZ		;SETUP DVND
 12231	040327	201 11 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12232	040330	230 12 0 00 000011 		IDIV	AC,AC-1		;DIVIDE (-ZZ) BY 2
 12233	040331	312 12 0 00 000010 		CAME	AC,AC-2		;TEST QUOTIENT
 12234	040332	003 12 0 00 013502 		ER3	AC,SN
 12235	040333	332 00 0 00 000013 		SKIPE	AC+1		;TEST REMAINDER
 12236	040334	004 13 0 00 013502 		ER4	AC+1,SN
 12237	040335	321 14 0 00 040325 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12238
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 52
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0267

 12239					;TEST IDIV- TWO NEGATIVES
 12240					;TEST ABILITY TO DIVIDE TWO
 12241					;NEGATIVE NUMBERS
 12242					;TEST EXERCISES MAJORITY
 12243					;OF IDIV LOGIC GATES
 12244					;DVND = -2,-4
 12245					;DVSR = -2,-4
 12246
 12247			000007			AC=7
 12248						SAVEAC	(1,1)^
 12249	040336	201 11 0 00 040336 		MOVEI	AC+2,.		;SAVE TEST PC
 12250	040337	202 11 0 00 030051 		MOVEM	AC+2,TESTPC
 12251	040340	201 11 0 00 000011 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12252	040341	202 11 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12253
 12254			014000		SN=14000
 12255		777777	777777			ZZ=-1
 12256
 12257							;DIVIDE TWO NEGATIVES
 12258					F14000:	REPEAT	^D2,<
 12259					SN=SN+1
 12260						ZZ=ZZ+ZZ
 12261						HRROI	AC,ZZ		;SETUP DVND
 12262						HRROI	AC-1,ZZ		;SETUP DVSR
 12263						IDIV	AC,AC-1		;DIVIDE (-ZZ) BY (-ZZ)
 12264						CAIE	AC,1		;TEST QUOT (POSITIVE)
 12265						ER3	AC,SN		;INCORRECT SIGN
 12266						SKIPE	AC+1		;TEST REMAINDER
 12267						ER4	AC+1,SN
 12268						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 12269					>
 12270
 12271			014001		SN=SN+1
 12272		777777	777776			ZZ=ZZ+ZZ
 12273	040342	561 07 0 00 777776 		HRROI	AC,ZZ		;SETUP DVND
 12274	040343	561 06 0 00 777776 		HRROI	AC-1,ZZ		;SETUP DVSR
 12275	040344	230 07 0 00 000006 		IDIV	AC,AC-1		;DIVIDE (-ZZ) BY (-ZZ)
 12276	040345	302 07 0 00 000001 		CAIE	AC,1		;TEST QUOT (POSITIVE)
 12277	040346	003 07 0 00 014001 		ER3	AC,SN		;INCORRECT SIGN
 12278	040347	332 00 0 00 000010 		SKIPE	AC+1		;TEST REMAINDER
 12279	040350	004 10 0 00 014001 		ER4	AC+1,SN
 12280	040351	321 11 0 00 040342 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 12281
 12282
 12283			014002		SN=SN+1
 12284		777777	777774			ZZ=ZZ+ZZ
 12285	040352	561 07 0 00 777774 		HRROI	AC,ZZ		;SETUP DVND
 12286	040353	561 06 0 00 777774 		HRROI	AC-1,ZZ		;SETUP DVSR
 12287	040354	230 07 0 00 000006 		IDIV	AC,AC-1		;DIVIDE (-ZZ) BY (-ZZ)
 12288	040355	302 07 0 00 000001 		CAIE	AC,1		;TEST QUOT (POSITIVE)
 12289	040356	003 07 0 00 014002 		ER3	AC,SN		;INCORRECT SIGN
 12290	040357	332 00 0 00 000010 		SKIPE	AC+1		;TEST REMAINDER
 12291	040360	004 10 0 00 014002 		ER4	AC+1,SN
 12292	040361	321 11 0 00 040352 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 12293
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 53
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0268

 12294					;TEST IDIV -IMMEDIATE MODE
 12295					;TEST ABILITY TO DIVIDE BY E VICE C(E)
 12296					;DVND = 2,4
 12297					;DVSR = E (C(E)=0)
 12298
 12299			014100		SN=14100
 12300			000012			AC=12
 12301			000001			ZZ=1
 12302
 12303							;TEST IDIV-IMM MODE
 12304					F14100:	REPEAT	^D2,<
 12305					SN=SN+1
 12306						ZZ=ZZ+ZZ
 12307						AC=AC-1
 12308						SAVEAC	(1,1)		;SAVE ERROR AC
 12309						JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 12310						MOVEI	AC,ZZ		;SETUP DVND
 12311						SETZ	AC-1,		;SETUP OVFL CONDITION
 12312						IDIVI	AC,AC-1		;DIVIDE (ZZ) BY E
 12313						JSP	AC-1,.+1
 12314						CAIE	AC,0
 12315						ER3	AC,SN		;C(AC) FAILED
 12316						CAIE	AC+1,ZZ
 12317						ER4	AC+1,SN		;C(AC+1) FAILED
 12318						JOV	.+2		;TEST FOR OVERFLOW
 12319						JRST	,.+2		;DIVIDED (ZZ) BY E
 12320						ER13	AC-1,SN		;DIVIDED (ZZ) BY C(E)
 12321						JUMPL	AC+2,.-^D14	;LOOP ON ERROR SWITCH
 12322					>
 12323
 12324			014101		SN=SN+1
 12325			000002			ZZ=ZZ+ZZ
 12326			000011			AC=AC-1
 12327						SAVEAC	(1,1)^
 12328	040362	201 13 0 00 040362 		MOVEI	AC+2,.		;SAVE TEST PC
 12329	040363	202 13 0 00 030051 		MOVEM	AC+2,TESTPC
 12330	040364	201 13 0 00 000013 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12331	040365	202 13 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^		;SAVE ERROR AC
 12332	040366	254 02 1 00 045306 		JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 12333	040367	201 11 0 00 000002 		MOVEI	AC,ZZ		;SETUP DVND
 12334	040370	400 10 0 00 000000 		SETZ	AC-1,		;SETUP OVFL CONDITION
 12335	040371	231 11 0 00 000010 		IDIVI	AC,AC-1		;DIVIDE (ZZ) BY E
 12336	040372	265 10 0 00 040373 		JSP	AC-1,.+1
 12337	040373	302 11 0 00 000000 		CAIE	AC,0
 12338	040374	003 11 0 00 014101 		ER3	AC,SN		;C(AC) FAILED
 12339	040375	302 12 0 00 000002 		CAIE	AC+1,ZZ
 12340	040376	004 12 0 00 014101 		ER4	AC+1,SN		;C(AC+1) FAILED
 12341	040377	255 10 0 00 040401 		JOV	.+2		;TEST FOR OVERFLOW
 12342	040400	254 00 0 00 040402 		JRST	,.+2		;DIVIDED (ZZ) BY E
 12343	040401	013 10 0 00 014101 		ER13	AC-1,SN		;DIVIDED (ZZ) BY C(E)
 12344	040402	321 13 0 00 040364 		JUMPL	AC+2,.-^D14	;LOOP ON ERROR SWITCH
 12345
 12346
 12347			014102		SN=SN+1
 12348			000004			ZZ=ZZ+ZZ
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 53-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0269

 12349			000010			AC=AC-1
 12350						SAVEAC	(1,1)^
 12351	040403	201 12 0 00 040403 		MOVEI	AC+2,.		;SAVE TEST PC
 12352	040404	202 12 0 00 030051 		MOVEM	AC+2,TESTPC
 12353	040405	201 12 0 00 000012 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12354	040406	202 12 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^		;SAVE ERROR AC
 12355	040407	254 02 1 00 045307 		JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 12356	040410	201 10 0 00 000004 		MOVEI	AC,ZZ		;SETUP DVND
 12357	040411	400 07 0 00 000000 		SETZ	AC-1,		;SETUP OVFL CONDITION
 12358	040412	231 10 0 00 000007 		IDIVI	AC,AC-1		;DIVIDE (ZZ) BY E
 12359	040413	265 07 0 00 040414 		JSP	AC-1,.+1
 12360	040414	302 10 0 00 000000 		CAIE	AC,0
 12361	040415	003 10 0 00 014102 		ER3	AC,SN		;C(AC) FAILED
 12362	040416	302 11 0 00 000004 		CAIE	AC+1,ZZ
 12363	040417	004 11 0 00 014102 		ER4	AC+1,SN		;C(AC+1) FAILED
 12364	040420	255 10 0 00 040422 		JOV	.+2		;TEST FOR OVERFLOW
 12365	040421	254 00 0 00 040423 		JRST	,.+2		;DIVIDED (ZZ) BY E
 12366	040422	013 07 0 00 014102 		ER13	AC-1,SN		;DIVIDED (ZZ) BY C(E)
 12367	040423	321 12 0 00 040405 		JUMPL	AC+2,.-^D14	;LOOP ON ERROR SWITCH
 12368
 12369					PAGE
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 53-2
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0270

 12370					;TEST IDIV-MEMORY MODE
 12371					;DVND = 10,20
 12372					;DVSR = 2
 12373
 12374			000014			AC=14
 12375						SAVEAC	(1,1)^
 12376	040424	201 16 0 00 040424 		MOVEI	AC+2,.		;SAVE TEST PC
 12377	040425	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
 12378	040426	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12379	040427	202 16 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12380	040430	254 02 1 00 045310 		JRSTF	@[.+1]		;CLEAR ALL FLAGS
 12381
 12382			014200		SN=14200
 12383			000004			ZZ=4
 12384
 12385							;TEST IDIV-MEMORY MODE
 12386					F14200:	REPEAT	^D2,<
 12387					SN=SN+1
 12388						ZZ=ZZ+ZZ
 12389						MOVEI	AC+1,ZZ		;SETUP FOR COMPARISON
 12390						MOVEI	AC,ZZ		;SETUP DVND
 12391						MOVEI	AC-1,2		;SETUP DVSR
 12392						IDIVM	AC,AC-1		;DIVIDE (ZZ) BY 2
 12393						CAME	AC,AC+1
 12394						ER3	AC,SN
 12395						CAIE	AC-1,ZZ/2	;TEST SCE
 12396						ER5	AC-1,SN
 12397						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12398					>
 12399
 12400			014201		SN=SN+1
 12401			000010			ZZ=ZZ+ZZ
 12402	040431	201 15 0 00 000010 		MOVEI	AC+1,ZZ		;SETUP FOR COMPARISON
 12403	040432	201 14 0 00 000010 		MOVEI	AC,ZZ		;SETUP DVND
 12404	040433	201 13 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12405	040434	232 14 0 00 000013 		IDIVM	AC,AC-1		;DIVIDE (ZZ) BY 2
 12406	040435	312 14 0 00 000015 		CAME	AC,AC+1
 12407	040436	003 14 0 00 014201 		ER3	AC,SN
 12408	040437	302 13 0 00 000004 		CAIE	AC-1,ZZ/2	;TEST SCE
 12409	040440	005 13 0 00 014201 		ER5	AC-1,SN
 12410	040441	321 16 0 00 040431 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12411
 12412
 12413			014202		SN=SN+1
 12414			000020			ZZ=ZZ+ZZ
 12415	040442	201 15 0 00 000020 		MOVEI	AC+1,ZZ		;SETUP FOR COMPARISON
 12416	040443	201 14 0 00 000020 		MOVEI	AC,ZZ		;SETUP DVND
 12417	040444	201 13 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12418	040445	232 14 0 00 000013 		IDIVM	AC,AC-1		;DIVIDE (ZZ) BY 2
 12419	040446	312 14 0 00 000015 		CAME	AC,AC+1
 12420	040447	003 14 0 00 014202 		ER3	AC,SN
 12421	040450	302 13 0 00 000010 		CAIE	AC-1,ZZ/2	;TEST SCE
 12422	040451	005 13 0 00 014202 		ER5	AC-1,SN
 12423	040452	321 16 0 00 040442 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12424
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 54
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0271

 12425					;TEST IDIV-BOTH MODE
 12426					;TEST ABILITY TO STORE QUOT
 12427					;IN AC AND E
 12428					;TEST ABILITY TO STORE REMD
 12429					;IN AC+1
 12430
 12431			000013			AC=13
 12432						SAVEAC	(1,1)^
 12433	040453	201 15 0 00 040453 		MOVEI	AC+2,.		;SAVE TEST PC
 12434	040454	202 15 0 00 030051 		MOVEM	AC+2,TESTPC
 12435	040455	201 15 0 00 000015 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12436	040456	202 15 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12437
 12438			014300		SN=14300
 12439			000001			ZZ=1
 12440
 12441							;TEST IDIV-BOTH MODE
 12442					F14300:	REPEAT	^D2,<
 12443					SN=SN+1
 12444						ZZ=ZZ+2
 12445						SETZ	AC+1,		;CLEAR AC+1
 12446						MOVEI	AC,ZZ		;SETUP DVND
 12447						MOVEI	AC-1,2		;SETUP DVSR
 12448						IDIVB	AC,AC-1		;DIVIDE (ZZ) BY 2
 12449						CAME	AC,AC-1		;TEST QUOT (C(AC)=C(E))
 12450						ER3	AC,SN		;STORE QUOTIENT FAILED
 12451						CAIE	AC+1,1		;TEST REMD(=1)
 12452						ER4	AC+1,SN		;STORE REMAINDER FAILED
 12453						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12454					>
 12455
 12456			014301		SN=SN+1
 12457			000003			ZZ=ZZ+2
 12458	040457	400 14 0 00 000000 		SETZ	AC+1,		;CLEAR AC+1
 12459	040460	201 13 0 00 000003 		MOVEI	AC,ZZ		;SETUP DVND
 12460	040461	201 12 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12461	040462	233 13 0 00 000012 		IDIVB	AC,AC-1		;DIVIDE (ZZ) BY 2
 12462	040463	312 13 0 00 000012 		CAME	AC,AC-1		;TEST QUOT (C(AC)=C(E))
 12463	040464	003 13 0 00 014301 		ER3	AC,SN		;STORE QUOTIENT FAILED
 12464	040465	302 14 0 00 000001 		CAIE	AC+1,1		;TEST REMD(=1)
 12465	040466	004 14 0 00 014301 		ER4	AC+1,SN		;STORE REMAINDER FAILED
 12466	040467	321 15 0 00 040457 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12467
 12468
 12469			014302		SN=SN+1
 12470			000005			ZZ=ZZ+2
 12471	040470	400 14 0 00 000000 		SETZ	AC+1,		;CLEAR AC+1
 12472	040471	201 13 0 00 000005 		MOVEI	AC,ZZ		;SETUP DVND
 12473	040472	201 12 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12474	040473	233 13 0 00 000012 		IDIVB	AC,AC-1		;DIVIDE (ZZ) BY 2
 12475	040474	312 13 0 00 000012 		CAME	AC,AC-1		;TEST QUOT (C(AC)=C(E))
 12476	040475	003 13 0 00 014302 		ER3	AC,SN		;STORE QUOTIENT FAILED
 12477	040476	302 14 0 00 000001 		CAIE	AC+1,1		;TEST REMD(=1)
 12478	040477	004 14 0 00 014302 		ER4	AC+1,SN		;STORE REMAINDER FAILED
 12479	040500	321 15 0 00 040470 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 54-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0272

 12480
 12481					PAGE
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 54-2
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0273

 12482					;TEST IDIV
 12483					;DVND = 400000000000
 12484					;DVSR = 2
 12485					;QUOT = 600000000000
 12486					;REMND = 0
 12487
 12488			000013			AC=13
 12489						SAVEAC	(1,1)^
 12490	040501	201 15 0 00 040501 		MOVEI	AC+2,.		;SAVE TEST PC
 12491	040502	202 15 0 00 030051 		MOVEM	AC+2,TESTPC
 12492	040503	201 15 0 00 000015 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12493	040504	202 15 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12494
 12495			400000			ZZ=400000
 12496			600000			XX=600000
 12497
 12498	040505	474 14 0 00 000000 	F14400:	SETO	AC+1,		;INITIALIZE REMAINDER STORAGE
 12499	040506	205 11 0 00 600000 		MOVSI	AC-2,XX		;SET UP COMPARISON FOR QUOTIENT
 12500	040507	400 10 0 00 000000 		SETZ	AC-3,		;SET UP COMPARISON FOR REMAINDER
 12501	040510	205 13 0 00 400000 		MOVSI	AC,ZZ		;SET UP DIVIDEND
 12502	040511	201 12 0 00 000002 		MOVEI	AC-1,2		;SET UP DIVISOR
 12503	040512	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE 400000000000 BY 2
 12504	040513	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOTIENT
 12505	040514	003 13 0 00 014401 		ER3	AC,14401	;STORE QUOTIENT FAILED
 12506	040515	312 14 0 00 000010 		CAME	AC+1,AC-3	;TEST REMAINDER
 12507	040516	004 14 0 00 014401 		ER4	AC+1,14401	;STORE REMAINDER FAILED
 12508	040517	321 15 0 00 040505 		JUMPL	AC+2,F14400	;LOOP ON ERROR SWITCH
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 55
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0274

 12509					;TEST IDIVB (DIVIDE CHECK)
 12510
 12511	040520	254 02 1 00 045311 	F14410:	JRSTF	@[.+1]		;CLEAR ALL FLAGS
 12512	040521	201 13 0 00 000004 		MOVEI	AC,4		;SETUP DIVIDEND
 12513	040522	201 14 0 00 000004 		MOVEI	AC+1,4		;SETUP REMAINDER
 12514	040523	400 12 0 00 000000 		SETZ	AC-1,		;SETUP DIVISOR
 12515	040524	233 13 0 00 000012 		IDIVB	AC,AC-1
 12516	040525	265 11 0 00 040526 		JSP	AC-2,.+1	;SAVE FLAGS
 12517	040526	302 13 0 00 000004 		CAIE	AC,4
 12518	040527	003 13 0 00 014411 		ER3	AC,14411	;C(AC) WAS CLOBBERED
 12519	040530	302 14 0 00 000004 		CAIE	AC+1,4
 12520	040531	004 14 0 00 014411 		ER4	AC+1,14411	;C(AC+1) WAS CLOBBERED
 12521	040532	302 12 0 00 000000 		CAIE	AC-1,0	
 12522	040533	005 12 0 00 014411 		ER5	AC-1,14411	;C(E) WAS CLOBBERED
 12523	040534	255 10 0 00 040536 		JOV	.+2
 12524	040535	013 11 0 00 014411 		ER13	AC-2,14411	;ARCV FAILED TO SET
 12525	040536	607 11 0 00 000040 		TLNN	AC-2,DCK
 12526	040537	013 11 0 00 014411 		ER13	AC-2,14411	;'DCK' FAILED TO SET
 12527	040540	321 15 0 00 040520 		JUMPL	AC+2,F14410	;LOOP ON ERROR SWITCH
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 56
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0275

 12528					SUBTTL	DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST
 12529
 12530					;TEST FAC2 AND DECODE
 12531					;TEST OF ABILITY TO ASSERT IRDIV
 12532					;TEST ABILITY TO FETCH C(AC+1)
 12533
 12534			000013			AC=13
 12535						SAVEAC	(1,1)^
 12536	040541	201 15 0 00 040541 		MOVEI	AC+2,.		;SAVE TEST PC
 12537	040542	202 15 0 00 030051 		MOVEM	AC+2,TESTPC
 12538	040543	201 15 0 00 000015 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12539	040544	202 15 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12540	040545	254 02 1 00 045312 		JRSTF	@[.+1]		;CLEAR ALL FLAGS
 12541
 12542			014500		SN=14500
 12543		004000	000001			XX=4000000001
 12544			000002			ZZ=2
 12545
 12546							;TEST FAC2 FAILING(IRDIV)
 12547					F14500:	REPEAT	^D2,<
 12548					SN=SN+1
 12549						XX=XX+XX-1
 12550						ZZ=ZZ+ZZ
 12551						MOVEI	AC,ZZ		;SETUP HIGH DVND
 12552						MOVEI	AC+1,200	;SETUP LOW DVND
 12553						MOVEI	AC-1,200	;SETUP DVSR
 12554						DIV	AC,AC-1		;DIVIDE (N) BY 200
 12555						CAME	AC,[XX]		;TEST BIT 35(1) (ODD QUOT)
 12556						ER3	AC,SN
 12557						SKIPE	<AC+1>&17	;TEST REMD = 0
 12558						ER4	AC+1,SN
 12559						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12560					>
 12561
 12562			014501		SN=SN+1
 12563		010000	000001			XX=XX+XX-1
 12564			000004			ZZ=ZZ+ZZ
 12565	040546	201 13 0 00 000004 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 12566	040547	201 14 0 00 000200 		MOVEI	AC+1,200	;SETUP LOW DVND
 12567	040550	201 12 0 00 000200 		MOVEI	AC-1,200	;SETUP DVSR
 12568	040551	234 13 0 00 000012 		DIV	AC,AC-1		;DIVIDE (N) BY 200
 12569	040552	312 13 0 00 045160 		CAME	AC,[XX]		;TEST BIT 35(1) (ODD QUOT)
 12570	040553	003 13 0 00 014501 		ER3	AC,SN
 12571	040554	332 00 0 00 000014 		SKIPE	<AC+1>&17	;TEST REMD = 0
 12572	040555	004 14 0 00 014501 		ER4	AC+1,SN
 12573	040556	321 15 0 00 040546 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12574
 12575
 12576			014502		SN=SN+1
 12577		020000	000001			XX=XX+XX-1
 12578			000010			ZZ=ZZ+ZZ
 12579	040557	201 13 0 00 000010 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 12580	040560	201 14 0 00 000200 		MOVEI	AC+1,200	;SETUP LOW DVND
 12581	040561	201 12 0 00 000200 		MOVEI	AC-1,200	;SETUP DVSR
 12582	040562	234 13 0 00 000012 		DIV	AC,AC-1		;DIVIDE (N) BY 200
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 56-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0276

 12583	040563	312 13 0 00 045162 		CAME	AC,[XX]		;TEST BIT 35(1) (ODD QUOT)
 12584	040564	003 13 0 00 014502 		ER3	AC,SN
 12585	040565	332 00 0 00 000014 		SKIPE	<AC+1>&17	;TEST REMD = 0
 12586	040566	004 14 0 00 014502 		ER4	AC+1,SN
 12587	040567	321 15 0 00 040557 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12588
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 57
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0277

 12589					;HIGH DVND = 2,4
 12590					;LOW DVND = 0
 12591					;DVSR = 2,4
 12592
 12593			000006			AC=6
 12594						SAVEAC	(1,1)^
 12595	040570	201 10 0 00 040570 		MOVEI	AC+2,.		;SAVE TEST PC
 12596	040571	202 10 0 00 030051 		MOVEM	AC+2,TESTPC
 12597	040572	201 10 0 00 000010 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12598	040573	202 10 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12599
 12600			014600		SN=14600
 12601			000001			ZZ=1
 12602
 12603					F14600:	REPEAT	^D2,<
 12604					SN=SN+1
 12605						ZZ=ZZ+ZZ
 12606						JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 12607						MOVEI	AC,ZZ		;SETUP HIGH DVND
 12608						SETZ	AC+1,		;SETUP LOW DVND
 12609						MOVEI	AC-1,ZZ		;SETUP DVSR
 12610						DIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 12611						JSP	AC-2,.+1
 12612						JOV	.+2		;TEST AROV FLAG
 12613						ER13	AC-2,SN
 12614						TLNN	AC-2,DCK
 12615						ER13	AC-2,SN		;DCK FAILED TO SET
 12616						CAIE	AC,ZZ		;EXAMINE QUOTIENT
 12617						ER3	AC,SN		;C(AC) WAS CLOBBERED
 12618						SKIPE	<AC+1>&17	;EXAMINE REMAINDER
 12619						ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 12620						JUMPL	AC+2,.-^D14	;LOOP ON ERROR SWITCH
 12621					>
 12622
 12623			014601		SN=SN+1
 12624			000002			ZZ=ZZ+ZZ
 12625	040574	254 02 1 00 045313 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 12626	040575	201 06 0 00 000002 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 12627	040576	400 07 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 12628	040577	201 05 0 00 000002 		MOVEI	AC-1,ZZ		;SETUP DVSR
 12629	040600	234 06 0 00 000005 		DIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 12630	040601	265 04 0 00 040602 		JSP	AC-2,.+1
 12631	040602	255 10 0 00 040604 		JOV	.+2		;TEST AROV FLAG
 12632	040603	013 04 0 00 014601 		ER13	AC-2,SN
 12633	040604	607 04 0 00 000040 		TLNN	AC-2,DCK
 12634	040605	013 04 0 00 014601 		ER13	AC-2,SN		;DCK FAILED TO SET
 12635	040606	302 06 0 00 000002 		CAIE	AC,ZZ		;EXAMINE QUOTIENT
 12636	040607	003 06 0 00 014601 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 12637	040610	332 00 0 00 000007 		SKIPE	<AC+1>&17	;EXAMINE REMAINDER
 12638	040611	004 07 0 00 014601 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 12639	040612	321 10 0 00 040574 		JUMPL	AC+2,.-^D14	;LOOP ON ERROR SWITCH
 12640
 12641
 12642			014602		SN=SN+1
 12643			000004			ZZ=ZZ+ZZ
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 57-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0278

 12644	040613	254 02 1 00 045314 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 12645	040614	201 06 0 00 000004 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 12646	040615	400 07 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 12647	040616	201 05 0 00 000004 		MOVEI	AC-1,ZZ		;SETUP DVSR
 12648	040617	234 06 0 00 000005 		DIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 12649	040620	265 04 0 00 040621 		JSP	AC-2,.+1
 12650	040621	255 10 0 00 040623 		JOV	.+2		;TEST AROV FLAG
 12651	040622	013 04 0 00 014602 		ER13	AC-2,SN
 12652	040623	607 04 0 00 000040 		TLNN	AC-2,DCK
 12653	040624	013 04 0 00 014602 		ER13	AC-2,SN		;DCK FAILED TO SET
 12654	040625	302 06 0 00 000004 		CAIE	AC,ZZ		;EXAMINE QUOTIENT
 12655	040626	003 06 0 00 014602 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 12656	040627	332 00 0 00 000007 		SKIPE	<AC+1>&17	;EXAMINE REMAINDER
 12657	040630	004 07 0 00 014602 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 12658	040631	321 10 0 00 040613 		JUMPL	AC+2,.-^D14	;LOOP ON ERROR SWITCH
 12659
 12660					PAGE
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 57-2
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0279

 12661					;=2
 12662					;HIGH DVND = 4
 12663					;LOW DVND = 4
 12664					;DVSR = 10,20
 12665
 12666			000005			AC=5
 12667						SAVEAC	(1,1)^
 12668	040632	201 07 0 00 040632 		MOVEI	AC+2,.		;SAVE TEST PC
 12669	040633	202 07 0 00 030051 		MOVEM	AC+2,TESTPC
 12670	040634	201 07 0 00 000007 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12671	040635	202 07 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12672	040636	254 02 1 00 045315 		JRSTF	@[.+1]		;CLEAR ALL FLAGS
 12673
 12674			014700		SN=14700
 12675			000004			ZZ=4
 12676
 12677					F14700:	REPEAT	^D2,<
 12678					SN=SN+1
 12679						ZZ=ZZ+ZZ
 12680						MOVEI	AC-2,4		;SETUP FOR COMPARISON
 12681						MOVEI	AC,4		;SETUP HIGH DVND
 12682						MOVEI	AC+1,4		;SETUP LOW DVND
 12683						MOVEI	AC-1,ZZ		;SETUP DVSR
 12684						DIV	AC,AC-1		;DIVIDE (N) BY ZZ
 12685						CAME	AC+1,AC-2	;TEST REMD = 2
 12686						ER4	AC+1,SN
 12687						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 12688					>
 12689
 12690			014701		SN=SN+1
 12691			000010			ZZ=ZZ+ZZ
 12692	040637	201 03 0 00 000004 		MOVEI	AC-2,4		;SETUP FOR COMPARISON
 12693	040640	201 05 0 00 000004 		MOVEI	AC,4		;SETUP HIGH DVND
 12694	040641	201 06 0 00 000004 		MOVEI	AC+1,4		;SETUP LOW DVND
 12695	040642	201 04 0 00 000010 		MOVEI	AC-1,ZZ		;SETUP DVSR
 12696	040643	234 05 0 00 000004 		DIV	AC,AC-1		;DIVIDE (N) BY ZZ
 12697	040644	312 06 0 00 000003 		CAME	AC+1,AC-2	;TEST REMD = 2
 12698	040645	004 06 0 00 014701 		ER4	AC+1,SN
 12699	040646	321 07 0 00 040637 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 12700
 12701
 12702			014702		SN=SN+1
 12703			000020			ZZ=ZZ+ZZ
 12704	040647	201 03 0 00 000004 		MOVEI	AC-2,4		;SETUP FOR COMPARISON
 12705	040650	201 05 0 00 000004 		MOVEI	AC,4		;SETUP HIGH DVND
 12706	040651	201 06 0 00 000004 		MOVEI	AC+1,4		;SETUP LOW DVND
 12707	040652	201 04 0 00 000020 		MOVEI	AC-1,ZZ		;SETUP DVSR
 12708	040653	234 05 0 00 000004 		DIV	AC,AC-1		;DIVIDE (N) BY ZZ
 12709	040654	312 06 0 00 000003 		CAME	AC+1,AC-2	;TEST REMD = 2
 12710	040655	004 06 0 00 014702 		ER4	AC+1,SN
 12711	040656	321 07 0 00 040647 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 12712
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 58
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0280

 12713					;HIGH DVND = -1
 12714					;LOW DVND = -4,-10
 12715					;DVSR = 2
 12716
 12717			000013			AC=13
 12718						SAVEAC	(1,1)^
 12719	040657	201 15 0 00 040657 		MOVEI	AC+2,.		;SAVE TEST PC
 12720	040660	202 15 0 00 030051 		MOVEM	AC+2,TESTPC
 12721	040661	201 15 0 00 000015 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12722	040662	202 15 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12723
 12724			015000		SN=15000
 12725		777777	777777			XX=-1
 12726		777777	777776			ZZ=-2
 12727
 12728					F15000:	REPEAT	^D2,<
 12729					SN=SN+1
 12730						XX=XX+XX
 12731						ZZ=ZZ+ZZ
 12732						HRROI	AC-2,XX		;SETUP FOR COMPARISON
 12733						SETO	AC,		;SETUP HIGH DVND
 12734						HRROI	AC+1,ZZ		;SETUP LOW DVND
 12735						MOVEI	AC-1,2		;SETUP DVSR
 12736						DIV	AC,AC-1		;DIVIDE ZZ BY 2
 12737						SKIPE	AC+1		;TEST REMD = 0
 12738						ER4	AC+1,SN
 12739						CAME	AC,AC-2		;TEST QUOT
 12740						ER3	AC,SN
 12741						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 12742					>
 12743
 12744			015001		SN=SN+1
 12745		777777	777776			XX=XX+XX
 12746		777777	777774			ZZ=ZZ+ZZ
 12747	040663	561 11 0 00 777776 		HRROI	AC-2,XX		;SETUP FOR COMPARISON
 12748	040664	474 13 0 00 000000 		SETO	AC,		;SETUP HIGH DVND
 12749	040665	561 14 0 00 777774 		HRROI	AC+1,ZZ		;SETUP LOW DVND
 12750	040666	201 12 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12751	040667	234 13 0 00 000012 		DIV	AC,AC-1		;DIVIDE ZZ BY 2
 12752	040670	332 00 0 00 000014 		SKIPE	AC+1		;TEST REMD = 0
 12753	040671	004 14 0 00 015001 		ER4	AC+1,SN
 12754	040672	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT
 12755	040673	003 13 0 00 015001 		ER3	AC,SN
 12756	040674	321 15 0 00 040663 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 12757
 12758
 12759			015002		SN=SN+1
 12760		777777	777774			XX=XX+XX
 12761		777777	777770			ZZ=ZZ+ZZ
 12762	040675	561 11 0 00 777774 		HRROI	AC-2,XX		;SETUP FOR COMPARISON
 12763	040676	474 13 0 00 000000 		SETO	AC,		;SETUP HIGH DVND
 12764	040677	561 14 0 00 777770 		HRROI	AC+1,ZZ		;SETUP LOW DVND
 12765	040700	201 12 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12766	040701	234 13 0 00 000012 		DIV	AC,AC-1		;DIVIDE ZZ BY 2
 12767	040702	332 00 0 00 000014 		SKIPE	AC+1		;TEST REMD = 0
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 58-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0281

 12768	040703	004 14 0 00 015002 		ER4	AC+1,SN
 12769	040704	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT
 12770	040705	003 13 0 00 015002 		ER3	AC,SN
 12771	040706	321 15 0 00 040675 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 12772
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 59
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0282

 12773					;HIGH DVND = -1
 12774					;LOW DVND = 2,4
 12775					;DVSR = -2,-4
 12776
 12777			000014			AC=14
 12778						SAVEAC	(1,1)^
 12779	040707	201 16 0 00 040707 		MOVEI	AC+2,.		;SAVE TEST PC
 12780	040710	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
 12781	040711	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12782	040712	202 16 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12783
 12784			015100		SN=15100
 12785		777777	777777			XX=-1
 12786			377777			YY=377777
 12787			000001			ZZ=1
 12788
 12789					F15100:	REPEAT	^D2,<
 12790					SN=SN+1
 12791						XX=XX+XX
 12792						YY=YY/2
 12793						ZZ=ZZ+ZZ
 12794						JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 12795						SETO	AC,		;SETUP HIGH DVND
 12796						MOVEI	AC+1,ZZ		;SETUP LOW DVND
 12797						HRROI	AC-1,XX		;SETUP DVSR
 12798						HRLOI	AC-3,YY
 12799						DIV	AC,AC-1		;DIVIDE (-N) BY (XX)
 12800						JSP	AC-2,.+1
 12801						CAME	AC,<AC-3>&17
 12802						ER3	AC,SN		;C(AC) FAILED
 12803						CAIE	AC+1,0
 12804						ER4	AC+1,SN		;C(AC+1) FAILED
 12805						JOV	.+2		;TEST AROV FLAG
 12806						JRST	,.+2
 12807						ER13	AC-2,SN		;AROV SET
 12808						TLNE	AC-2,DCK
 12809						ER13	AC-2,SN		;DCK SET
 12810						JUMPL	AC+2,.-^D16	;LOOP ON ERROR SWITCH
 12811					>
 12812
 12813			015101		SN=SN+1
 12814		777777	777776			XX=XX+XX
 12815			177777			YY=YY/2
 12816			000002			ZZ=ZZ+ZZ
 12817	040713	254 02 1 00 045316 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 12818	040714	474 14 0 00 000000 		SETO	AC,		;SETUP HIGH DVND
 12819	040715	201 15 0 00 000002 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 12820	040716	561 13 0 00 777776 		HRROI	AC-1,XX		;SETUP DVSR
 12821	040717	525 11 0 00 177777 		HRLOI	AC-3,YY
 12822	040720	234 14 0 00 000013 		DIV	AC,AC-1		;DIVIDE (-N) BY (XX)
 12823	040721	265 12 0 00 040722 		JSP	AC-2,.+1
 12824	040722	312 14 0 00 000011 		CAME	AC,<AC-3>&17
 12825	040723	003 14 0 00 015101 		ER3	AC,SN		;C(AC) FAILED
 12826	040724	302 15 0 00 000000 		CAIE	AC+1,0
 12827	040725	004 15 0 00 015101 		ER4	AC+1,SN		;C(AC+1) FAILED
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 59-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0283

 12828	040726	255 10 0 00 040730 		JOV	.+2		;TEST AROV FLAG
 12829	040727	254 00 0 00 040731 		JRST	,.+2
 12830	040730	013 12 0 00 015101 		ER13	AC-2,SN		;AROV SET
 12831	040731	603 12 0 00 000040 		TLNE	AC-2,DCK
 12832	040732	013 12 0 00 015101 		ER13	AC-2,SN		;DCK SET
 12833	040733	321 16 0 00 040713 		JUMPL	AC+2,.-^D16	;LOOP ON ERROR SWITCH
 12834
 12835
 12836			015102		SN=SN+1
 12837		777777	777774			XX=XX+XX
 12838			077777			YY=YY/2
 12839			000004			ZZ=ZZ+ZZ
 12840	040734	254 02 1 00 045317 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 12841	040735	474 14 0 00 000000 		SETO	AC,		;SETUP HIGH DVND
 12842	040736	201 15 0 00 000004 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 12843	040737	561 13 0 00 777774 		HRROI	AC-1,XX		;SETUP DVSR
 12844	040740	525 11 0 00 077777 		HRLOI	AC-3,YY
 12845	040741	234 14 0 00 000013 		DIV	AC,AC-1		;DIVIDE (-N) BY (XX)
 12846	040742	265 12 0 00 040743 		JSP	AC-2,.+1
 12847	040743	312 14 0 00 000011 		CAME	AC,<AC-3>&17
 12848	040744	003 14 0 00 015102 		ER3	AC,SN		;C(AC) FAILED
 12849	040745	302 15 0 00 000000 		CAIE	AC+1,0
 12850	040746	004 15 0 00 015102 		ER4	AC+1,SN		;C(AC+1) FAILED
 12851	040747	255 10 0 00 040751 		JOV	.+2		;TEST AROV FLAG
 12852	040750	254 00 0 00 040752 		JRST	,.+2
 12853	040751	013 12 0 00 015102 		ER13	AC-2,SN		;AROV SET
 12854	040752	603 12 0 00 000040 		TLNE	AC-2,DCK
 12855	040753	013 12 0 00 015102 		ER13	AC-2,SN		;DCK SET
 12856	040754	321 16 0 00 040734 		JUMPL	AC+2,.-^D16	;LOOP ON ERROR SWITCH
 12857
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 60
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0284

 12858					;HIGH  DVND = -2,-4
 12859					;LOW DVND = -1
 12860					;DVSR = 2,4
 12861
 12862			000012			AC=12
 12863						SAVEAC	(1,1)^
 12864	040755	201 14 0 00 040755 		MOVEI	AC+2,.		;SAVE TEST PC
 12865	040756	202 14 0 00 030051 		MOVEM	AC+2,TESTPC
 12866	040757	201 14 0 00 000014 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12867	040760	202 14 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12868	040761	254 02 1 00 045320 		JRSTF	@[.+1]		;CLEAR ALL FLAGS
 12869
 12870			015200		SN=15200
 12871			000001			XX=1
 12872		400000	000000			YY=1B0
 12873		777777	777777			ZZ=-1
 12874
 12875					F15200:	REPEAT	^D2,<
 12876					SN=SN+1
 12877						XX=XX+XX
 12878						YY=YY_-1
 12879						ZZ=ZZ+ZZ
 12880						HRROI	AC,ZZ		;SETUP HIGH DVND
 12881						SETO	AC+1,		;SETUP LOW DVND
 12882						MOVEI	AC-1,XX		;SETUP DVSR
 12883						DIV	AC,AC-1		;DIVIDE (-N) BY (XX)
 12884						CAME	AC,[1B0+YY]	;TEST FOR ODD NUMBER QUOTIENT
 12885						ER3	AC,SN
 12886						CAME	AC+1,[-1]	;TEST REMD
 12887						ER4	AC+1,SN
 12888						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12889					>
 12890
 12891			015201		SN=SN+1
 12892			000002			XX=XX+XX
 12893		200000	000000			YY=YY_-1
 12894		777777	777776			ZZ=ZZ+ZZ
 12895	040762	561 12 0 00 777776 		HRROI	AC,ZZ		;SETUP HIGH DVND
 12896	040763	474 13 0 00 000000 		SETO	AC+1,		;SETUP LOW DVND
 12897	040764	201 11 0 00 000002 		MOVEI	AC-1,XX		;SETUP DVSR
 12898	040765	234 12 0 00 000011 		DIV	AC,AC-1		;DIVIDE (-N) BY (XX)
 12899	040766	312 12 0 00 044762 		CAME	AC,[1B0+YY]	;TEST FOR ODD NUMBER QUOTIENT
 12900	040767	003 12 0 00 015201 		ER3	AC,SN
 12901	040770	312 13 0 00 044617 		CAME	AC+1,[-1]	;TEST REMD
 12902	040771	004 13 0 00 015201 		ER4	AC+1,SN
 12903	040772	321 14 0 00 040762 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12904
 12905
 12906			015202		SN=SN+1
 12907			000004			XX=XX+XX
 12908		100000	000000			YY=YY_-1
 12909		777777	777774			ZZ=ZZ+ZZ
 12910	040773	561 12 0 00 777774 		HRROI	AC,ZZ		;SETUP HIGH DVND
 12911	040774	474 13 0 00 000000 		SETO	AC+1,		;SETUP LOW DVND
 12912	040775	201 11 0 00 000004 		MOVEI	AC-1,XX		;SETUP DVSR
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 60-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0285

 12913	040776	234 12 0 00 000011 		DIV	AC,AC-1		;DIVIDE (-N) BY (XX)
 12914	040777	312 12 0 00 044757 		CAME	AC,[1B0+YY]	;TEST FOR ODD NUMBER QUOTIENT
 12915	041000	003 12 0 00 015202 		ER3	AC,SN
 12916	041001	312 13 0 00 044617 		CAME	AC+1,[-1]	;TEST REMD
 12917	041002	004 13 0 00 015202 		ER4	AC+1,SN
 12918	041003	321 14 0 00 040773 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12919
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 63
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0286

 12920					;OPERANDS SELECTED SHOULD RESULT
 12921					;IN OVERFLOW
 12922					;HIGH DVND = -100,-40
 12923					;LOW DVND = 0
 12924					;DVSR = 100,40
 12925
 12926			000006			AC=6
 12927						SAVEAC	(1,1)^
 12928	041004	201 10 0 00 041004 		MOVEI	AC+2,.		;SAVE TEST PC
 12929	041005	202 10 0 00 030051 		MOVEM	AC+2,TESTPC
 12930	041006	201 10 0 00 000010 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12931	041007	202 10 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12932
 12933			015600		SN=15600
 12934		777777	777600			WW=-200
 12935			000200			XX=200
 12936		777777	777600			ZZ=-200
 12937
 12938					F15600:	REPEAT	^D2,<
 12939					SN=SN+1
 12940						WW=WW/2
 12941						XX=XX/2
 12942						ZZ=ZZ/2
 12943						JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 12944						HRROI	AC-2,WW		;SETUP AC-2 FOR COMPARISON
 12945						HRROI	AC,ZZ		;SETUP HIGH DVND
 12946						SETZ	AC+1,		;SETUP LOW DVND
 12947						MOVEI	AC-1,XX		;SETUP DVSR
 12948						DIV	AC,AC-1		;DIVIDE (-N) BY (N)
 12949						JSP	AC-3,.+1
 12950						JOV	.+2		;TEST FOR OVERFLOW
 12951						ER13	AC-3,SN
 12952						TLNN	AC-3,DCK
 12953						ER13	AC-3,SN		;DCK NOT SET
 12954						CAME	AC,AC-2		;TEST FOR UNIQUE QUOTIENT
 12955						ER3	AC,SN
 12956						CAIE	AC+1,0
 12957						ER4	AC+1,SN		;C(AC+1) FAILED
 12958						JUMPL	AC+2,.-^D16	;LOOP ON ERROR SWITCH
 12959					>
 12960
 12961			015601		SN=SN+1
 12962		777777	777700			WW=WW/2
 12963			000100			XX=XX/2
 12964		777777	777700			ZZ=ZZ/2
 12965	041010	254 02 1 00 045321 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 12966	041011	561 04 0 00 777700 		HRROI	AC-2,WW		;SETUP AC-2 FOR COMPARISON
 12967	041012	561 06 0 00 777700 		HRROI	AC,ZZ		;SETUP HIGH DVND
 12968	041013	400 07 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 12969	041014	201 05 0 00 000100 		MOVEI	AC-1,XX		;SETUP DVSR
 12970	041015	234 06 0 00 000005 		DIV	AC,AC-1		;DIVIDE (-N) BY (N)
 12971	041016	265 03 0 00 041017 		JSP	AC-3,.+1
 12972	041017	255 10 0 00 041021 		JOV	.+2		;TEST FOR OVERFLOW
 12973	041020	013 03 0 00 015601 		ER13	AC-3,SN
 12974	041021	607 03 0 00 000040 		TLNN	AC-3,DCK
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 63-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0287

 12975	041022	013 03 0 00 015601 		ER13	AC-3,SN		;DCK NOT SET
 12976	041023	312 06 0 00 000004 		CAME	AC,AC-2		;TEST FOR UNIQUE QUOTIENT
 12977	041024	003 06 0 00 015601 		ER3	AC,SN
 12978	041025	302 07 0 00 000000 		CAIE	AC+1,0
 12979	041026	004 07 0 00 015601 		ER4	AC+1,SN		;C(AC+1) FAILED
 12980	041027	321 10 0 00 041007 		JUMPL	AC+2,.-^D16	;LOOP ON ERROR SWITCH
 12981
 12982
 12983			015602		SN=SN+1
 12984		777777	777740			WW=WW/2
 12985			000040			XX=XX/2
 12986		777777	777740			ZZ=ZZ/2
 12987	041030	254 02 1 00 045322 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 12988	041031	561 04 0 00 777740 		HRROI	AC-2,WW		;SETUP AC-2 FOR COMPARISON
 12989	041032	561 06 0 00 777740 		HRROI	AC,ZZ		;SETUP HIGH DVND
 12990	041033	400 07 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 12991	041034	201 05 0 00 000040 		MOVEI	AC-1,XX		;SETUP DVSR
 12992	041035	234 06 0 00 000005 		DIV	AC,AC-1		;DIVIDE (-N) BY (N)
 12993	041036	265 03 0 00 041037 		JSP	AC-3,.+1
 12994	041037	255 10 0 00 041041 		JOV	.+2		;TEST FOR OVERFLOW
 12995	041040	013 03 0 00 015602 		ER13	AC-3,SN
 12996	041041	607 03 0 00 000040 		TLNN	AC-3,DCK
 12997	041042	013 03 0 00 015602 		ER13	AC-3,SN		;DCK NOT SET
 12998	041043	312 06 0 00 000004 		CAME	AC,AC-2		;TEST FOR UNIQUE QUOTIENT
 12999	041044	003 06 0 00 015602 		ER3	AC,SN
 13000	041045	302 07 0 00 000000 		CAIE	AC+1,0
 13001	041046	004 07 0 00 015602 		ER4	AC+1,SN		;C(AC+1) FAILED
 13002	041047	321 10 0 00 041027 		JUMPL	AC+2,.-^D16	;LOOP ON ERROR SWITCH
 13003
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 64
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0288

 13004					;OPERANDS SELECTED SHOULD RESULT IN OVERFLOW
 13005					;HIGH DVND = -2,-4
 13006					;LOW DVND = 0
 13007					;DVSR = 2
 13008
 13009			000005			AC=5
 13010						SAVEAC	(1,1)^
 13011	041050	201 07 0 00 041050 		MOVEI	AC+2,.		;SAVE TEST PC
 13012	041051	202 07 0 00 030051 		MOVEM	AC+2,TESTPC
 13013	041052	201 07 0 00 000007 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 13014	041053	202 07 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 13015
 13016			015700		SN=15700
 13017		777777	777777			XX=-1
 13018		777777	777777			ZZ=-1
 13019
 13020					F15700:	REPEAT	^D2,<
 13021					SN=SN+1
 13022						XX=XX+XX
 13023						ZZ=ZZ+ZZ
 13024						JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 13025						HRROI	AC,ZZ		;SETUP HIGH DVND
 13026						SETZ	AC+1,		;SETUP LOW DVND
 13027						MOVEI	AC-1,2		;SETUP DVSR
 13028						DIV	AC,AC-1		;DIVIDE (-N) BY 2
 13029						JSP	AC-2,.+1
 13030						JOV	.+2		;TEST FOR OVERFLOW
 13031						ER13	AC-2,SN
 13032						CAME	AC,[XX]		;TEST QUOT
 13033						ER3	AC,SN
 13034						JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13035					>
 13036
 13037			015701		SN=SN+1
 13038		777777	777776			XX=XX+XX
 13039		777777	777776			ZZ=ZZ+ZZ
 13040	041054	254 02 1 00 045323 		JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 13041	041055	561 05 0 00 777776 		HRROI	AC,ZZ		;SETUP HIGH DVND
 13042	041056	400 06 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 13043	041057	201 04 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 13044	041060	234 05 0 00 000004 		DIV	AC,AC-1		;DIVIDE (-N) BY 2
 13045	041061	265 03 0 00 041062 		JSP	AC-2,.+1
 13046	041062	255 10 0 00 041064 		JOV	.+2		;TEST FOR OVERFLOW
 13047	041063	013 03 0 00 015701 		ER13	AC-2,SN
 13048	041064	312 05 0 00 044621 		CAME	AC,[XX]		;TEST QUOT
 13049	041065	003 05 0 00 015701 		ER3	AC,SN
 13050	041066	321 07 0 00 041054 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13051
 13052
 13053			015702		SN=SN+1
 13054		777777	777774			XX=XX+XX
 13055		777777	777774			ZZ=ZZ+ZZ
 13056	041067	254 02 1 00 045324 		JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 13057	041070	561 05 0 00 777774 		HRROI	AC,ZZ		;SETUP HIGH DVND
 13058	041071	400 06 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 64-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0289

 13059	041072	201 04 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 13060	041073	234 05 0 00 000004 		DIV	AC,AC-1		;DIVIDE (-N) BY 2
 13061	041074	265 03 0 00 041075 		JSP	AC-2,.+1
 13062	041075	255 10 0 00 041077 		JOV	.+2		;TEST FOR OVERFLOW
 13063	041076	013 03 0 00 015702 		ER13	AC-2,SN
 13064	041077	312 05 0 00 045325 		CAME	AC,[XX]		;TEST QUOT
 13065	041100	003 05 0 00 015702 		ER3	AC,SN
 13066	041101	321 07 0 00 041067 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13067
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 66
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0290

 13068					;OPERANDS SELECTED WILL NOT OVERFLOW
 13069					;HIGH DVND = -1,-2
 13070					;LOW DVND = -1
 13071					;DVSR = -1,-2
 13072
 13073			000014			AC=14
 13074						SAVEAC	(1,1)^
 13075	041102	201 16 0 00 041102 		MOVEI	AC+2,.		;SAVE TEST PC
 13076	041103	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
 13077	041104	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 13078	041105	202 16 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 13079
 13080			016100		SN=16100
 13081			000000			ZZ=0
 13082
 13083					F16100:	REPEAT	^D2,<
 13084					SN=SN+1
 13085						ZZ=ZZ+ZZ
 13086						IFE	ZZ,<ZZ=-1>
 13087						JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 13088						HRROI	AC,ZZ		;SETUP HIGH DVND
 13089						SETO	AC+1,		;SETUP LOW DVND
 13090						HRROI	AC-1,ZZ		;SETUP DVSR
 13091						DIV	AC,AC-1		;DIVIDE (-N) BY (-N)
 13092						JSP	AC-3,.+1
 13093						JOV	.+2		;TEST FOR OVERFLOW
 13094						JRST	,.+2
 13095						ER13	AC-3,SN
 13096						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 13097					>
 13098
 13099			016101		SN=SN+1
 13100			000000			ZZ=ZZ+ZZ
 13101		777777	777777			IFE	ZZ,<ZZ=-1>
 13102	041106	254 02 1 00 045326 		JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 13103	041107	561 14 0 00 777777 		HRROI	AC,ZZ		;SETUP HIGH DVND
 13104	041110	474 15 0 00 000000 		SETO	AC+1,		;SETUP LOW DVND
 13105	041111	561 13 0 00 777777 		HRROI	AC-1,ZZ		;SETUP DVSR
 13106	041112	234 14 0 00 000013 		DIV	AC,AC-1		;DIVIDE (-N) BY (-N)
 13107	041113	265 11 0 00 041114 		JSP	AC-3,.+1
 13108	041114	255 10 0 00 041116 		JOV	.+2		;TEST FOR OVERFLOW
 13109	041115	254 00 0 00 041117 		JRST	,.+2
 13110	041116	013 11 0 00 016101 		ER13	AC-3,SN
 13111	041117	321 16 0 00 041106 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 13112
 13113
 13114			016102		SN=SN+1
 13115		777777	777776			ZZ=ZZ+ZZ
 13116						IFE	ZZ,<ZZ=-1>
 13117	041120	254 02 1 00 045327 		JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 13118	041121	561 14 0 00 777776 		HRROI	AC,ZZ		;SETUP HIGH DVND
 13119	041122	474 15 0 00 000000 		SETO	AC+1,		;SETUP LOW DVND
 13120	041123	561 13 0 00 777776 		HRROI	AC-1,ZZ		;SETUP DVSR
 13121	041124	234 14 0 00 000013 		DIV	AC,AC-1		;DIVIDE (-N) BY (-N)
 13122	041125	265 11 0 00 041126 		JSP	AC-3,.+1
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 66-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0291

 13123	041126	255 10 0 00 041130 		JOV	.+2		;TEST FOR OVERFLOW
 13124	041127	254 00 0 00 041131 		JRST	,.+2
 13125	041130	013 11 0 00 016102 		ER13	AC-3,SN
 13126	041131	321 16 0 00 041120 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 13127
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 67
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0292

 13128					;TEST DIV-IMMEDIATE MODE
 13129					;TEST ABILITY TO DIVIDE BY E
 13130					;VICE C(E)
 13131					;TEST ABILITY TO INHIBIT ASSERTION
 13132					;OF IRMDFCE
 13133
 13134			016200		SN=16200
 13135			000007			AC=7
 13136			000017			ZZ=17
 13137
 13138							;TEST DIV-IMM MODE
 13139					F16200:	REPEAT	^D2,<
 13140					SN=SN+1
 13141						AC=AC-1
 13142						ZZ=ZZ-1
 13143						SAVEAC	(1,1)		;SAVE ERROR AC
 13144						JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 13145						MOVEI	AC,4		;SETUP HIGH DVND
 13146						SETZ	AC+1,		;SETUP LOW DVND
 13147						MOVEI	AC-1,2		;SETUP OVERFLOW CONDITION
 13148						DIVI	AC,ZZ		;DIVIDE (N) BY E
 13149						JSP	AC-3,.+1
 13150						JOV	.+2		;TEST FOR OVERFLOW
 13151						JRST	,.+2		;DIVIDED BY E
 13152						ER13	AC-3,SN		;DIVIDED BY C(E)
 13153						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 13154					>
 13155
 13156			016201		SN=SN+1
 13157			000006			AC=AC-1
 13158			000016			ZZ=ZZ-1
 13159						SAVEAC	(1,1)^
 13160	041132	201 10 0 00 041132 		MOVEI	AC+2,.		;SAVE TEST PC
 13161	041133	202 10 0 00 030051 		MOVEM	AC+2,TESTPC
 13162	041134	201 10 0 00 000010 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 13163	041135	202 10 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^		;SAVE ERROR AC
 13164	041136	254 02 1 00 045330 		JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 13165	041137	201 06 0 00 000004 		MOVEI	AC,4		;SETUP HIGH DVND
 13166	041140	400 07 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 13167	041141	201 05 0 00 000002 		MOVEI	AC-1,2		;SETUP OVERFLOW CONDITION
 13168	041142	235 06 0 00 000016 		DIVI	AC,ZZ		;DIVIDE (N) BY E
 13169	041143	265 03 0 00 041144 		JSP	AC-3,.+1
 13170	041144	255 10 0 00 041146 		JOV	.+2		;TEST FOR OVERFLOW
 13171	041145	254 00 0 00 041147 		JRST	,.+2		;DIVIDED BY E
 13172	041146	013 03 0 00 016201 		ER13	AC-3,SN		;DIVIDED BY C(E)
 13173	041147	321 10 0 00 041136 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 13174
 13175
 13176			016202		SN=SN+1
 13177			000005			AC=AC-1
 13178			000015			ZZ=ZZ-1
 13179						SAVEAC	(1,1)^
 13180	041150	201 07 0 00 041150 		MOVEI	AC+2,.		;SAVE TEST PC
 13181	041151	202 07 0 00 030051 		MOVEM	AC+2,TESTPC
 13182	041152	201 07 0 00 000007 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 67-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0293

 13183	041153	202 07 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^		;SAVE ERROR AC
 13184	041154	254 02 1 00 045331 		JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 13185	041155	201 05 0 00 000004 		MOVEI	AC,4		;SETUP HIGH DVND
 13186	041156	400 06 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 13187	041157	201 04 0 00 000002 		MOVEI	AC-1,2		;SETUP OVERFLOW CONDITION
 13188	041160	235 05 0 00 000015 		DIVI	AC,ZZ		;DIVIDE (N) BY E
 13189	041161	265 02 0 00 041162 		JSP	AC-3,.+1
 13190	041162	255 10 0 00 041164 		JOV	.+2		;TEST FOR OVERFLOW
 13191	041163	254 00 0 00 041165 		JRST	,.+2		;DIVIDED BY E
 13192	041164	013 02 0 00 016202 		ER13	AC-3,SN		;DIVIDED BY C(E)
 13193	041165	321 07 0 00 041154 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 13194
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 68
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0294

 13195					;TEST DIV-MEMORY MODE
 13196					;TEST ABILITY TO ASSERT IRMDSCE
 13197					;TEST ABILITY TO ASSERT IRMDSACINH
 13198
 13199			000005			AC=5
 13200						SAVEAC	(1,1)^
 13201	041166	201 07 0 00 041166 		MOVEI	AC+2,.		;SAVE TEST PC
 13202	041167	202 07 0 00 030051 		MOVEM	AC+2,TESTPC
 13203	041170	201 07 0 00 000007 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 13204	041171	202 07 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 13205	041172	254 02 1 00 045332 		JRSTF	@[.+1]		;CLEAR ALL FLAGS
 13206
 13207			016300		SN=16300
 13208			010000			XX=10000
 13209			000002			ZZ=2
 13210
 13211							;TEST DIV-MEM MODE
 13212					F16300:	REPEAT	^D2,<
 13213					SN=SN+1
 13214						XX=XX+XX
 13215						ZZ=ZZ+ZZ
 13216						MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13217						MOVEI	AC,ZZ		;SETUP HIGH DVND
 13218						MOVEI	AC+1,ZZ		;SETUP LOW DVND
 13219						MOVEI	AC-1,100	;SETUP DVSR
 13220						DIVM	AC,AC-1		;DIVIDE (+N) BY 100
 13221						CAME	AC-1,AC-2	;TEST SCE
 13222						ER5	AC-1,SN
 13223						CAME	AC,AC+1		;TEST SAC INH
 13224						ER3	AC,SN
 13225						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 13226					>
 13227
 13228			016301		SN=SN+1
 13229			020000			XX=XX+XX
 13230			000004			ZZ=ZZ+ZZ
 13231	041173	205 03 0 00 020000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13232	041174	201 05 0 00 000004 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 13233	041175	201 06 0 00 000004 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 13234	041176	201 04 0 00 000100 		MOVEI	AC-1,100	;SETUP DVSR
 13235	041177	236 05 0 00 000004 		DIVM	AC,AC-1		;DIVIDE (+N) BY 100
 13236	041200	312 04 0 00 000003 		CAME	AC-1,AC-2	;TEST SCE
 13237	041201	005 04 0 00 016301 		ER5	AC-1,SN
 13238	041202	312 05 0 00 000006 		CAME	AC,AC+1		;TEST SAC INH
 13239	041203	003 05 0 00 016301 		ER3	AC,SN
 13240	041204	321 07 0 00 041173 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 13241
 13242
 13243			016302		SN=SN+1
 13244			040000			XX=XX+XX
 13245			000010			ZZ=ZZ+ZZ
 13246	041205	205 03 0 00 040000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13247	041206	201 05 0 00 000010 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 13248	041207	201 06 0 00 000010 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 13249	041210	201 04 0 00 000100 		MOVEI	AC-1,100	;SETUP DVSR
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 68-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0295

 13250	041211	236 05 0 00 000004 		DIVM	AC,AC-1		;DIVIDE (+N) BY 100
 13251	041212	312 04 0 00 000003 		CAME	AC-1,AC-2	;TEST SCE
 13252	041213	005 04 0 00 016302 		ER5	AC-1,SN
 13253	041214	312 05 0 00 000006 		CAME	AC,AC+1		;TEST SAC INH
 13254	041215	003 05 0 00 016302 		ER3	AC,SN
 13255	041216	321 07 0 00 041205 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 13256
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 69
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0296

 13257					;TEST DIV-BOTH MODE
 13258					;TEST ABILITY TO STORE QUOT
 13259					;IN AC,E
 13260					;TEST ABILITY TO STORE REMD
 13261					;IN AC+1
 13262
 13263			000014			AC=14
 13264						SAVEAC	(1,1)^
 13265	041217	201 16 0 00 041217 		MOVEI	AC+2,.		;SAVE TEST PC
 13266	041220	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
 13267	041221	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 13268	041222	202 16 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 13269
 13270			016400		SN=16400
 13271			000002			ZZ=2
 13272
 13273							;TEST DIV-BOTH MODE
 13274					F16400:	REPEAT	^D2,<
 13275					SN=SN+1
 13276						ZZ=ZZ+ZZ
 13277						MOVEI	AC,ZZ		;SETUP HIGH DVND
 13278						MOVEI	AC+1,100	;SETUP LOW DVND
 13279						MOVEI	AC-1,100	;SETUP DVSR
 13280						DIVB	AC,AC-1		;DIVIDE (+N) BY 100
 13281						CAME	AC,AC-1		;TEST STORE QUOTIENT
 13282						ER3	AC,SN		;STORE QUOTIENT FAILED
 13283						SKIPE	AC+1		;TEST STORE REMAINDER
 13284						ER4	AC+1,SN		;STORE REMAINDER FAILED
 13285						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 13286					>
 13287
 13288			016401		SN=SN+1
 13289			000004			ZZ=ZZ+ZZ
 13290	041223	201 14 0 00 000004 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 13291	041224	201 15 0 00 000100 		MOVEI	AC+1,100	;SETUP LOW DVND
 13292	041225	201 13 0 00 000100 		MOVEI	AC-1,100	;SETUP DVSR
 13293	041226	237 14 0 00 000013 		DIVB	AC,AC-1		;DIVIDE (+N) BY 100
 13294	041227	312 14 0 00 000013 		CAME	AC,AC-1		;TEST STORE QUOTIENT
 13295	041230	003 14 0 00 016401 		ER3	AC,SN		;STORE QUOTIENT FAILED
 13296	041231	332 00 0 00 000015 		SKIPE	AC+1		;TEST STORE REMAINDER
 13297	041232	004 15 0 00 016401 		ER4	AC+1,SN		;STORE REMAINDER FAILED
 13298	041233	321 16 0 00 041223 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 13299
 13300
 13301			016402		SN=SN+1
 13302			000010			ZZ=ZZ+ZZ
 13303	041234	201 14 0 00 000010 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 13304	041235	201 15 0 00 000100 		MOVEI	AC+1,100	;SETUP LOW DVND
 13305	041236	201 13 0 00 000100 		MOVEI	AC-1,100	;SETUP DVSR
 13306	041237	237 14 0 00 000013 		DIVB	AC,AC-1		;DIVIDE (+N) BY 100
 13307	041240	312 14 0 00 000013 		CAME	AC,AC-1		;TEST STORE QUOTIENT
 13308	041241	003 14 0 00 016402 		ER3	AC,SN		;STORE QUOTIENT FAILED
 13309	041242	332 00 0 00 000015 		SKIPE	AC+1		;TEST STORE REMAINDER
 13310	041243	004 15 0 00 016402 		ER4	AC+1,SN		;STORE REMAINDER FAILED
 13311	041244	321 16 0 00 041234 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 69-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0297

 13312
 13313					PAGE
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 69-2
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0298

 13314					;TEST DIVB (DIVIDE CHECK)
 13315
 13316	041245	254 02 1 00 045333 	F16410:	JRSTF	@[.+1]		;CLEAR ALL FLAGS
 13317	041246	201 14 0 00 000004 		MOVEI	AC,4		;SETUP HIGH DIVIDEND
 13318	041247	201 15 0 00 000001 		MOVEI	AC+1,1		;SETUP LOW DIVIDEND
 13319	041250	201 13 0 00 000001 		MOVEI	AC-1,1		;SETUP DIVISOR
 13320	041251	237 14 0 00 000013 		DIVB	AC,AC-1
 13321	041252	265 12 0 00 041253 		JSP	AC-2,.+1	;SAME FLAGS
 13322	041253	302 14 0 00 000004 		CAIE	AC,4
 13323	041254	003 14 0 00 016411 		ER3	AC,16411	;C(AC) WAS CLOBBERED
 13324	041255	302 15 0 00 000001 		CAIE	AC+1,1
 13325	041256	004 15 0 00 016411 		ER4	AC+1,16411	;C(AC+1) WAS CLOBBERED
 13326	041257	302 13 0 00 000001 		CAIE	AC-1,1
 13327	041260	005 13 0 00 016411 		ER5	AC-1,16411	;C(E) WAS CLOBBERED
 13328	041261	255 10 0 00 041263 		JOV	.+2
 13329	041262	013 12 0 00 016411 		ER13	AC-2,16411	;AROV FAILED TO SET
 13330	041263	607 12 0 00 000040 		TLNN	AC-2,DCK	;DCK FAILED TO SET
 13331	041264	013 12 0 00 016411 		ER13	AC-2,16411
 13332	041265	321 16 0 00 041245 		JUMPL	AC+2,F16410
 13333
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 70
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0299

 13334					SUBTTL	DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST
 13335
 13336					;TEST MUL DIRECT - TWO POSITIVES
 13337					;TESTING IS ACCOMPLISHED BY MULTIPLYING
 13338					;0500000000000 BY A DECREASING MULTIPLIER
 13339					;PLIER=200000000000, 100000000000 (1/2, 1/4) ETC
 13340					;PLICAND=050000000000
 13341					;HIGH PROD=024000000000, 012000000000 ETC
 13342					;LOW PROD=0
 13343
 13344			000013			AC=13
 13345						SAVEAC	(1,1)^
 13346	041266	201 15 0 00 041266 		MOVEI	AC+2,.		;SAVE TEST PC
 13347	041267	202 15 0 00 030051 		MOVEM	AC+2,TESTPC
 13348	041270	201 15 0 00 000015 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 13349	041271	202 15 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 13350
 13351			017100		SN=17100
 13352			050000			XX=050000
 13353			000000			ZZ=0
 13354
 13355					F17100:	REPEAT	^D10,<
 13356					SN=SN+1
 13357						XX=XX/2
 13358						ZZ=ZZ/2
 13359						IFE	ZZ,<ZZ=200000>
 13360						MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13361						MOVSI	AC,ZZ		;SETUP PLIER
 13362						MOVSI	AC-1,050000	;SETUP PLICAND
 13363						MUL	AC,AC-1		;MULTIPLY ZZ X 050000000000
 13364						SKIPE	AC+1		;TEST LOW PROD=0
 13365						ER4	AC+1,SN
 13366						CAME	AC,AC-2		;TEST HIGH PROD=XX
 13367						ER3	AC,SN		;MUL FAILED
 13368						CAME	AC-1,[050000,,0];WAS C(E) MODIFIED ?
 13369						ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13370						JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13371					>
 13372
 13373			017101		SN=SN+1
 13374			024000			XX=XX/2
 13375			000000			ZZ=ZZ/2
 13376			200000			IFE	ZZ,<ZZ=200000>
 13377	041272	205 11 0 00 024000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13378	041273	205 13 0 00 200000 		MOVSI	AC,ZZ		;SETUP PLIER
 13379	041274	205 12 0 00 050000 		MOVSI	AC-1,050000	;SETUP PLICAND
 13380	041275	224 13 0 00 000012 		MUL	AC,AC-1		;MULTIPLY ZZ X 050000000000
 13381	041276	332 00 0 00 000014 		SKIPE	AC+1		;TEST LOW PROD=0
 13382	041277	004 14 0 00 017101 		ER4	AC+1,SN
 13383	041300	312 13 0 00 000011 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13384	041301	003 13 0 00 017101 		ER3	AC,SN		;MUL FAILED
 13385	041302	312 12 0 00 045334 		CAME	AC-1,[050000,,0];WAS C(E) MODIFIED ?
 13386	041303	005 12 0 00 017101 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13387	041304	321 15 0 00 041272 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13388
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 70-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0300

 13389
 13390			017102		SN=SN+1
 13391			012000			XX=XX/2
 13392			100000			ZZ=ZZ/2
 13393						IFE	ZZ,<ZZ=200000>
 13394	041305	205 11 0 00 012000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13395	041306	205 13 0 00 100000 		MOVSI	AC,ZZ		;SETUP PLIER
 13396	041307	205 12 0 00 050000 		MOVSI	AC-1,050000	;SETUP PLICAND
 13397	041310	224 13 0 00 000012 		MUL	AC,AC-1		;MULTIPLY ZZ X 050000000000
 13398	041311	332 00 0 00 000014 		SKIPE	AC+1		;TEST LOW PROD=0
 13399	041312	004 14 0 00 017102 		ER4	AC+1,SN
 13400	041313	312 13 0 00 000011 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13401	041314	003 13 0 00 017102 		ER3	AC,SN		;MUL FAILED
 13402	041315	312 12 0 00 045334 		CAME	AC-1,[050000,,0];WAS C(E) MODIFIED ?
 13403	041316	005 12 0 00 017102 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13404	041317	321 15 0 00 041305 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13405
 13406
 13407			017103		SN=SN+1
 13408			005000			XX=XX/2
 13409			040000			ZZ=ZZ/2
 13410						IFE	ZZ,<ZZ=200000>
 13411	041320	205 11 0 00 005000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13412	041321	205 13 0 00 040000 		MOVSI	AC,ZZ		;SETUP PLIER
 13413	041322	205 12 0 00 050000 		MOVSI	AC-1,050000	;SETUP PLICAND
 13414	041323	224 13 0 00 000012 		MUL	AC,AC-1		;MULTIPLY ZZ X 050000000000
 13415	041324	332 00 0 00 000014 		SKIPE	AC+1		;TEST LOW PROD=0
 13416	041325	004 14 0 00 017103 		ER4	AC+1,SN
 13417	041326	312 13 0 00 000011 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13418	041327	003 13 0 00 017103 		ER3	AC,SN		;MUL FAILED
 13419	041330	312 12 0 00 045334 		CAME	AC-1,[050000,,0];WAS C(E) MODIFIED ?
 13420	041331	005 12 0 00 017103 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13421	041332	321 15 0 00 041320 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13422
 13423
 13424			017104		SN=SN+1
 13425			002400			XX=XX/2
 13426			020000			ZZ=ZZ/2
 13427						IFE	ZZ,<ZZ=200000>
 13428	041333	205 11 0 00 002400 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13429	041334	205 13 0 00 020000 		MOVSI	AC,ZZ		;SETUP PLIER
 13430	041335	205 12 0 00 050000 		MOVSI	AC-1,050000	;SETUP PLICAND
 13431	041336	224 13 0 00 000012 		MUL	AC,AC-1		;MULTIPLY ZZ X 050000000000
 13432	041337	332 00 0 00 000014 		SKIPE	AC+1		;TEST LOW PROD=0
 13433	041340	004 14 0 00 017104 		ER4	AC+1,SN
 13434	041341	312 13 0 00 000011 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13435	041342	003 13 0 00 017104 		ER3	AC,SN		;MUL FAILED
 13436	041343	312 12 0 00 045334 		CAME	AC-1,[050000,,0];WAS C(E) MODIFIED ?
 13437	041344	005 12 0 00 017104 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13438	041345	321 15 0 00 041333 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13439
 13440
 13441			017105		SN=SN+1
 13442			001200			XX=XX/2
 13443			010000			ZZ=ZZ/2
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 70-2
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0301

 13444						IFE	ZZ,<ZZ=200000>
 13445	041346	205 11 0 00 001200 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13446	041347	205 13 0 00 010000 		MOVSI	AC,ZZ		;SETUP PLIER
 13447	041350	205 12 0 00 050000 		MOVSI	AC-1,050000	;SETUP PLICAND
 13448	041351	224 13 0 00 000012 		MUL	AC,AC-1		;MULTIPLY ZZ X 050000000000
 13449	041352	332 00 0 00 000014 		SKIPE	AC+1		;TEST LOW PROD=0
 13450	041353	004 14 0 00 017105 		ER4	AC+1,SN
 13451	041354	312 13 0 00 000011 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13452	041355	003 13 0 00 017105 		ER3	AC,SN		;MUL FAILED
 13453	041356	312 12 0 00 045334 		CAME	AC-1,[050000,,0];WAS C(E) MODIFIED ?
 13454	041357	005 12 0 00 017105 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13455	041360	321 15 0 00 041346 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13456
 13457
 13458			017106		SN=SN+1
 13459			000500			XX=XX/2
 13460			004000			ZZ=ZZ/2
 13461						IFE	ZZ,<ZZ=200000>
 13462	041361	205 11 0 00 000500 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13463	041362	205 13 0 00 004000 		MOVSI	AC,ZZ		;SETUP PLIER
 13464	041363	205 12 0 00 050000 		MOVSI	AC-1,050000	;SETUP PLICAND
 13465	041364	224 13 0 00 000012 		MUL	AC,AC-1		;MULTIPLY ZZ X 050000000000
 13466	041365	332 00 0 00 000014 		SKIPE	AC+1		;TEST LOW PROD=0
 13467	041366	004 14 0 00 017106 		ER4	AC+1,SN
 13468	041367	312 13 0 00 000011 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13469	041370	003 13 0 00 017106 		ER3	AC,SN		;MUL FAILED
 13470	041371	312 12 0 00 045334 		CAME	AC-1,[050000,,0];WAS C(E) MODIFIED ?
 13471	041372	005 12 0 00 017106 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13472	041373	321 15 0 00 041361 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13473
 13474
 13475			017107		SN=SN+1
 13476			000240			XX=XX/2
 13477			002000			ZZ=ZZ/2
 13478						IFE	ZZ,<ZZ=200000>
 13479	041374	205 11 0 00 000240 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13480	041375	205 13 0 00 002000 		MOVSI	AC,ZZ		;SETUP PLIER
 13481	041376	205 12 0 00 050000 		MOVSI	AC-1,050000	;SETUP PLICAND
 13482	041377	224 13 0 00 000012 		MUL	AC,AC-1		;MULTIPLY ZZ X 050000000000
 13483	041400	332 00 0 00 000014 		SKIPE	AC+1		;TEST LOW PROD=0
 13484	041401	004 14 0 00 017107 		ER4	AC+1,SN
 13485	041402	312 13 0 00 000011 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13486	041403	003 13 0 00 017107 		ER3	AC,SN		;MUL FAILED
 13487	041404	312 12 0 00 045334 		CAME	AC-1,[050000,,0];WAS C(E) MODIFIED ?
 13488	041405	005 12 0 00 017107 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13489	041406	321 15 0 00 041374 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13490
 13491
 13492			017110		SN=SN+1
 13493			000120			XX=XX/2
 13494			001000			ZZ=ZZ/2
 13495						IFE	ZZ,<ZZ=200000>
 13496	041407	205 11 0 00 000120 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13497	041410	205 13 0 00 001000 		MOVSI	AC,ZZ		;SETUP PLIER
 13498	041411	205 12 0 00 050000 		MOVSI	AC-1,050000	;SETUP PLICAND
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 70-3
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0302

 13499	041412	224 13 0 00 000012 		MUL	AC,AC-1		;MULTIPLY ZZ X 050000000000
 13500	041413	332 00 0 00 000014 		SKIPE	AC+1		;TEST LOW PROD=0
 13501	041414	004 14 0 00 017110 		ER4	AC+1,SN
 13502	041415	312 13 0 00 000011 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13503	041416	003 13 0 00 017110 		ER3	AC,SN		;MUL FAILED
 13504	041417	312 12 0 00 045334 		CAME	AC-1,[050000,,0];WAS C(E) MODIFIED ?
 13505	041420	005 12 0 00 017110 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13506	041421	321 15 0 00 041407 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13507
 13508
 13509			017111		SN=SN+1
 13510			000050			XX=XX/2
 13511			000400			ZZ=ZZ/2
 13512						IFE	ZZ,<ZZ=200000>
 13513	041422	205 11 0 00 000050 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13514	041423	205 13 0 00 000400 		MOVSI	AC,ZZ		;SETUP PLIER
 13515	041424	205 12 0 00 050000 		MOVSI	AC-1,050000	;SETUP PLICAND
 13516	041425	224 13 0 00 000012 		MUL	AC,AC-1		;MULTIPLY ZZ X 050000000000
 13517	041426	332 00 0 00 000014 		SKIPE	AC+1		;TEST LOW PROD=0
 13518	041427	004 14 0 00 017111 		ER4	AC+1,SN
 13519	041430	312 13 0 00 000011 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13520	041431	003 13 0 00 017111 		ER3	AC,SN		;MUL FAILED
 13521	041432	312 12 0 00 045334 		CAME	AC-1,[050000,,0];WAS C(E) MODIFIED ?
 13522	041433	005 12 0 00 017111 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13523	041434	321 15 0 00 041422 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13524
 13525
 13526			017112		SN=SN+1
 13527			000024			XX=XX/2
 13528			000200			ZZ=ZZ/2
 13529						IFE	ZZ,<ZZ=200000>
 13530	041435	205 11 0 00 000024 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13531	041436	205 13 0 00 000200 		MOVSI	AC,ZZ		;SETUP PLIER
 13532	041437	205 12 0 00 050000 		MOVSI	AC-1,050000	;SETUP PLICAND
 13533	041440	224 13 0 00 000012 		MUL	AC,AC-1		;MULTIPLY ZZ X 050000000000
 13534	041441	332 00 0 00 000014 		SKIPE	AC+1		;TEST LOW PROD=0
 13535	041442	004 14 0 00 017112 		ER4	AC+1,SN
 13536	041443	312 13 0 00 000011 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13537	041444	003 13 0 00 017112 		ER3	AC,SN		;MUL FAILED
 13538	041445	312 12 0 00 045334 		CAME	AC-1,[050000,,0];WAS C(E) MODIFIED ?
 13539	041446	005 12 0 00 017112 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13540	041447	321 15 0 00 041435 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13541
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 71
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0303

 13542					;TEST MUL IMMEDIATE - TWO POSITIVES
 13543					;TESTING IS ACCOMPLISHED BY MULTIPLYING
 13544					;E BY AND DECREASING MULTIPLIER
 13545					;PLIER=200000000000, 100000000000 (1/2, 1/4) ETC
 13546					;PLICAND=E (005001)
 13547					;HIGH PROD=2400,1200,500,240,120
 13548					;LOW PROD=PLIER
 13549
 13550			000012			AC=12
 13551						SAVEAC	(1,1)^
 13552	041450	201 14 0 00 041450 		MOVEI	AC+2,.		;SAVE TEST PC
 13553	041451	202 14 0 00 030051 		MOVEM	AC+2,TESTPC
 13554	041452	201 14 0 00 000014 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 13555	041453	202 14 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 13556
 13557			017200		SN=17200
 13558			005000			XX=005000
 13559			000000			ZZ=0
 13560
 13561					F17200:	REPEAT	^D5,<
 13562					SN=SN+1
 13563						XX=XX/2
 13564						ZZ=ZZ/2
 13565						IFE	ZZ,<ZZ=200000>
 13566						MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13567						MOVSI	AC,ZZ		;SETUP PLIER
 13568						MULI	AC,005001	;MULTIPLY E BY ZZ
 13569						CAME	AC,AC-2		;TEST HIGH PROD=XX
 13570						ER3	AC,SN		;HIGH PROD ERROR
 13571						MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 13572						CAME	AC+1,AC-2	;TEST LOW PROD=PLIER
 13573						ER4	AC+1,SN		;LOW PROD ERROR
 13574						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 13575					>
 13576
 13577			017201		SN=SN+1
 13578			002400			XX=XX/2
 13579			000000			ZZ=ZZ/2
 13580			200000			IFE	ZZ,<ZZ=200000>
 13581	041454	201 10 0 00 002400 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13582	041455	205 12 0 00 200000 		MOVSI	AC,ZZ		;SETUP PLIER
 13583	041456	225 12 0 00 005001 		MULI	AC,005001	;MULTIPLY E BY ZZ
 13584	041457	312 12 0 00 000010 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13585	041460	003 12 0 00 017201 		ER3	AC,SN		;HIGH PROD ERROR
 13586	041461	205 10 0 00 200000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 13587	041462	312 13 0 00 000010 		CAME	AC+1,AC-2	;TEST LOW PROD=PLIER
 13588	041463	004 13 0 00 017201 		ER4	AC+1,SN		;LOW PROD ERROR
 13589	041464	321 14 0 00 041454 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 13590
 13591
 13592			017202		SN=SN+1
 13593			001200			XX=XX/2
 13594			100000			ZZ=ZZ/2
 13595						IFE	ZZ,<ZZ=200000>
 13596	041465	201 10 0 00 001200 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 71-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0304

 13597	041466	205 12 0 00 100000 		MOVSI	AC,ZZ		;SETUP PLIER
 13598	041467	225 12 0 00 005001 		MULI	AC,005001	;MULTIPLY E BY ZZ
 13599	041470	312 12 0 00 000010 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13600	041471	003 12 0 00 017202 		ER3	AC,SN		;HIGH PROD ERROR
 13601	041472	205 10 0 00 100000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 13602	041473	312 13 0 00 000010 		CAME	AC+1,AC-2	;TEST LOW PROD=PLIER
 13603	041474	004 13 0 00 017202 		ER4	AC+1,SN		;LOW PROD ERROR
 13604	041475	321 14 0 00 041465 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 13605
 13606
 13607			017203		SN=SN+1
 13608			000500			XX=XX/2
 13609			040000			ZZ=ZZ/2
 13610						IFE	ZZ,<ZZ=200000>
 13611	041476	201 10 0 00 000500 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13612	041477	205 12 0 00 040000 		MOVSI	AC,ZZ		;SETUP PLIER
 13613	041500	225 12 0 00 005001 		MULI	AC,005001	;MULTIPLY E BY ZZ
 13614	041501	312 12 0 00 000010 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13615	041502	003 12 0 00 017203 		ER3	AC,SN		;HIGH PROD ERROR
 13616	041503	205 10 0 00 040000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 13617	041504	312 13 0 00 000010 		CAME	AC+1,AC-2	;TEST LOW PROD=PLIER
 13618	041505	004 13 0 00 017203 		ER4	AC+1,SN		;LOW PROD ERROR
 13619	041506	321 14 0 00 041476 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 13620
 13621
 13622			017204		SN=SN+1
 13623			000240			XX=XX/2
 13624			020000			ZZ=ZZ/2
 13625						IFE	ZZ,<ZZ=200000>
 13626	041507	201 10 0 00 000240 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13627	041510	205 12 0 00 020000 		MOVSI	AC,ZZ		;SETUP PLIER
 13628	041511	225 12 0 00 005001 		MULI	AC,005001	;MULTIPLY E BY ZZ
 13629	041512	312 12 0 00 000010 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13630	041513	003 12 0 00 017204 		ER3	AC,SN		;HIGH PROD ERROR
 13631	041514	205 10 0 00 020000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 13632	041515	312 13 0 00 000010 		CAME	AC+1,AC-2	;TEST LOW PROD=PLIER
 13633	041516	004 13 0 00 017204 		ER4	AC+1,SN		;LOW PROD ERROR
 13634	041517	321 14 0 00 041507 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 13635
 13636
 13637			017205		SN=SN+1
 13638			000120			XX=XX/2
 13639			010000			ZZ=ZZ/2
 13640						IFE	ZZ,<ZZ=200000>
 13641	041520	201 10 0 00 000120 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13642	041521	205 12 0 00 010000 		MOVSI	AC,ZZ		;SETUP PLIER
 13643	041522	225 12 0 00 005001 		MULI	AC,005001	;MULTIPLY E BY ZZ
 13644	041523	312 12 0 00 000010 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13645	041524	003 12 0 00 017205 		ER3	AC,SN		;HIGH PROD ERROR
 13646	041525	205 10 0 00 010000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 13647	041526	312 13 0 00 000010 		CAME	AC+1,AC-2	;TEST LOW PROD=PLIER
 13648	041527	004 13 0 00 017205 		ER4	AC+1,SN		;LOW PROD ERROR
 13649	041530	321 14 0 00 041520 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 13650
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 72
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0305

 13651					;TEST MUL MEMORY - TWO NEGATIVES
 13652					;TESTING IS ACCOMPLISHED BY MULTIPLYING
 13653					;AN INCREASING NEGATIVE NUMBER BY -1
 13654					;PLIER=-1
 13655					;PLICAND=-1,-2,-4,-10,-20
 13656					;HIGH PROD=0
 13657
 13658			000011			AC=11
 13659						SAVEAC	(1,1)^
 13660	041531	201 13 0 00 041531 		MOVEI	AC+2,.		;SAVE TEST PC
 13661	041532	202 13 0 00 030051 		MOVEM	AC+2,TESTPC
 13662	041533	201 13 0 00 000013 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 13663	041534	202 13 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 13664
 13665			017300		SN=17300
 13666			000000			ZZ=0
 13667
 13668					F17300:	REPEAT	^D5,<
 13669					SN=SN+1
 13670						ZZ=ZZ+ZZ
 13671						IFE	ZZ,<ZZ=-1>
 13672						SETO	AC,		;SETUP PLIER
 13673						HRROI	AC-1,ZZ		;SETUP PLICAND
 13674						MULM	AC,AC-1		;MULTIPLY ZZ BY -1
 13675						SKIPE	AC-1		;TEST HIGH PROD = 0
 13676						ER5	AC,SN		;MULM FAILED
 13677						JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 13678					>
 13679
 13680			017301		SN=SN+1
 13681			000000			ZZ=ZZ+ZZ
 13682		777777	777777			IFE	ZZ,<ZZ=-1>
 13683	041535	474 11 0 00 000000 		SETO	AC,		;SETUP PLIER
 13684	041536	561 10 0 00 777777 		HRROI	AC-1,ZZ		;SETUP PLICAND
 13685	041537	226 11 0 00 000010 		MULM	AC,AC-1		;MULTIPLY ZZ BY -1
 13686	041540	332 00 0 00 000010 		SKIPE	AC-1		;TEST HIGH PROD = 0
 13687	041541	005 11 0 00 017301 		ER5	AC,SN		;MULM FAILED
 13688	041542	321 13 0 00 041535 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 13689
 13690
 13691			017302		SN=SN+1
 13692		777777	777776			ZZ=ZZ+ZZ
 13693						IFE	ZZ,<ZZ=-1>
 13694	041543	474 11 0 00 000000 		SETO	AC,		;SETUP PLIER
 13695	041544	561 10 0 00 777776 		HRROI	AC-1,ZZ		;SETUP PLICAND
 13696	041545	226 11 0 00 000010 		MULM	AC,AC-1		;MULTIPLY ZZ BY -1
 13697	041546	332 00 0 00 000010 		SKIPE	AC-1		;TEST HIGH PROD = 0
 13698	041547	005 11 0 00 017302 		ER5	AC,SN		;MULM FAILED
 13699	041550	321 13 0 00 041543 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 13700
 13701
 13702			017303		SN=SN+1
 13703		777777	777774			ZZ=ZZ+ZZ
 13704						IFE	ZZ,<ZZ=-1>
 13705	041551	474 11 0 00 000000 		SETO	AC,		;SETUP PLIER
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 72-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0306

 13706	041552	561 10 0 00 777774 		HRROI	AC-1,ZZ		;SETUP PLICAND
 13707	041553	226 11 0 00 000010 		MULM	AC,AC-1		;MULTIPLY ZZ BY -1
 13708	041554	332 00 0 00 000010 		SKIPE	AC-1		;TEST HIGH PROD = 0
 13709	041555	005 11 0 00 017303 		ER5	AC,SN		;MULM FAILED
 13710	041556	321 13 0 00 041551 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 13711
 13712
 13713			017304		SN=SN+1
 13714		777777	777770			ZZ=ZZ+ZZ
 13715						IFE	ZZ,<ZZ=-1>
 13716	041557	474 11 0 00 000000 		SETO	AC,		;SETUP PLIER
 13717	041560	561 10 0 00 777770 		HRROI	AC-1,ZZ		;SETUP PLICAND
 13718	041561	226 11 0 00 000010 		MULM	AC,AC-1		;MULTIPLY ZZ BY -1
 13719	041562	332 00 0 00 000010 		SKIPE	AC-1		;TEST HIGH PROD = 0
 13720	041563	005 11 0 00 017304 		ER5	AC,SN		;MULM FAILED
 13721	041564	321 13 0 00 041557 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 13722
 13723
 13724			017305		SN=SN+1
 13725		777777	777760			ZZ=ZZ+ZZ
 13726						IFE	ZZ,<ZZ=-1>
 13727	041565	474 11 0 00 000000 		SETO	AC,		;SETUP PLIER
 13728	041566	561 10 0 00 777760 		HRROI	AC-1,ZZ		;SETUP PLICAND
 13729	041567	226 11 0 00 000010 		MULM	AC,AC-1		;MULTIPLY ZZ BY -1
 13730	041570	332 00 0 00 000010 		SKIPE	AC-1		;TEST HIGH PROD = 0
 13731	041571	005 11 0 00 017305 		ER5	AC,SN		;MULM FAILED
 13732	041572	321 13 0 00 041565 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 13733
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 73
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0307

 13734					;TEST MUL BOTH - TWO NEGATIVES
 13735					;TESTING IS ACCOMPLISHED BY MULTIPLYING
 13736					;-1 BY AN INCREASING NEGATIVE NUMBER
 13737					;PLIER=-1,-2,-4,-10,-20
 13738					;PLICAND=-1
 13739					;HIGH PROD=0
 13740					;LOW PROD=1,2,4,10,20
 13741
 13742			000010			AC=10
 13743						SAVEAC	(1,1)^
 13744	041573	201 12 0 00 041573 		MOVEI	AC+2,.		;SAVE TEST PC
 13745	041574	202 12 0 00 030051 		MOVEM	AC+2,TESTPC
 13746	041575	201 12 0 00 000012 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 13747	041576	202 12 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 13748
 13749			017400		SN=17400
 13750			000000			XX=0
 13751			000000			ZZ=0
 13752
 13753					F17400:	REPEAT	^D5,<
 13754					SN=SN+1
 13755						XX=XX+XX
 13756						ZZ=ZZ+ZZ
 13757						IFE	XX,<XX=1>
 13758						IFE	ZZ,<ZZ=-1>
 13759						MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13760						HRROI	AC,ZZ		;SETUP PLIER
 13761						SETO	AC-1,		;SETUP PLICAND
 13762						MULB	AC,AC-1		;MULTIPLY -1 BY ZZ
 13763						SKIPE	AC		;TEST HIGH PROD=0
 13764						ER3	AC,SN
 13765						SKIPE	AC-1		;TEST C(AC) = C(E)
 13766						ER5	AC-1,SN
 13767						CAME	AC+1,AC-2	;TEST LOW PROD=XX
 13768						ER4	AC+1,SN		;MULB FAILED
 13769						JUMPL	AC+2,.-^D10	;LOOP ON ERR SWITCH
 13770					>
 13771
 13772			017401		SN=SN+1
 13773			000000			XX=XX+XX
 13774			000000			ZZ=ZZ+ZZ
 13775			000001			IFE	XX,<XX=1>
 13776		777777	777777			IFE	ZZ,<ZZ=-1>
 13777	041577	201 06 0 00 000001 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13778	041600	561 10 0 00 777777 		HRROI	AC,ZZ		;SETUP PLIER
 13779	041601	474 07 0 00 000000 		SETO	AC-1,		;SETUP PLICAND
 13780	041602	227 10 0 00 000007 		MULB	AC,AC-1		;MULTIPLY -1 BY ZZ
 13781	041603	332 00 0 00 000010 		SKIPE	AC		;TEST HIGH PROD=0
 13782	041604	003 10 0 00 017401 		ER3	AC,SN
 13783	041605	332 00 0 00 000007 		SKIPE	AC-1		;TEST C(AC) = C(E)
 13784	041606	005 07 0 00 017401 		ER5	AC-1,SN
 13785	041607	312 11 0 00 000006 		CAME	AC+1,AC-2	;TEST LOW PROD=XX
 13786	041610	004 11 0 00 017401 		ER4	AC+1,SN		;MULB FAILED
 13787	041611	321 12 0 00 041577 		JUMPL	AC+2,.-^D10	;LOOP ON ERR SWITCH
 13788
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 73-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0308

 13789
 13790			017402		SN=SN+1
 13791			000002			XX=XX+XX
 13792		777777	777776			ZZ=ZZ+ZZ
 13793						IFE	XX,<XX=1>
 13794						IFE	ZZ,<ZZ=-1>
 13795	041612	201 06 0 00 000002 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13796	041613	561 10 0 00 777776 		HRROI	AC,ZZ		;SETUP PLIER
 13797	041614	474 07 0 00 000000 		SETO	AC-1,		;SETUP PLICAND
 13798	041615	227 10 0 00 000007 		MULB	AC,AC-1		;MULTIPLY -1 BY ZZ
 13799	041616	332 00 0 00 000010 		SKIPE	AC		;TEST HIGH PROD=0
 13800	041617	003 10 0 00 017402 		ER3	AC,SN
 13801	041620	332 00 0 00 000007 		SKIPE	AC-1		;TEST C(AC) = C(E)
 13802	041621	005 07 0 00 017402 		ER5	AC-1,SN
 13803	041622	312 11 0 00 000006 		CAME	AC+1,AC-2	;TEST LOW PROD=XX
 13804	041623	004 11 0 00 017402 		ER4	AC+1,SN		;MULB FAILED
 13805	041624	321 12 0 00 041612 		JUMPL	AC+2,.-^D10	;LOOP ON ERR SWITCH
 13806
 13807
 13808			017403		SN=SN+1
 13809			000004			XX=XX+XX
 13810		777777	777774			ZZ=ZZ+ZZ
 13811						IFE	XX,<XX=1>
 13812						IFE	ZZ,<ZZ=-1>
 13813	041625	201 06 0 00 000004 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13814	041626	561 10 0 00 777774 		HRROI	AC,ZZ		;SETUP PLIER
 13815	041627	474 07 0 00 000000 		SETO	AC-1,		;SETUP PLICAND
 13816	041630	227 10 0 00 000007 		MULB	AC,AC-1		;MULTIPLY -1 BY ZZ
 13817	041631	332 00 0 00 000010 		SKIPE	AC		;TEST HIGH PROD=0
 13818	041632	003 10 0 00 017403 		ER3	AC,SN
 13819	041633	332 00 0 00 000007 		SKIPE	AC-1		;TEST C(AC) = C(E)
 13820	041634	005 07 0 00 017403 		ER5	AC-1,SN
 13821	041635	312 11 0 00 000006 		CAME	AC+1,AC-2	;TEST LOW PROD=XX
 13822	041636	004 11 0 00 017403 		ER4	AC+1,SN		;MULB FAILED
 13823	041637	321 12 0 00 041625 		JUMPL	AC+2,.-^D10	;LOOP ON ERR SWITCH
 13824
 13825
 13826			017404		SN=SN+1
 13827			000010			XX=XX+XX
 13828		777777	777770			ZZ=ZZ+ZZ
 13829						IFE	XX,<XX=1>
 13830						IFE	ZZ,<ZZ=-1>
 13831	041640	201 06 0 00 000010 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13832	041641	561 10 0 00 777770 		HRROI	AC,ZZ		;SETUP PLIER
 13833	041642	474 07 0 00 000000 		SETO	AC-1,		;SETUP PLICAND
 13834	041643	227 10 0 00 000007 		MULB	AC,AC-1		;MULTIPLY -1 BY ZZ
 13835	041644	332 00 0 00 000010 		SKIPE	AC		;TEST HIGH PROD=0
 13836	041645	003 10 0 00 017404 		ER3	AC,SN
 13837	041646	332 00 0 00 000007 		SKIPE	AC-1		;TEST C(AC) = C(E)
 13838	041647	005 07 0 00 017404 		ER5	AC-1,SN
 13839	041650	312 11 0 00 000006 		CAME	AC+1,AC-2	;TEST LOW PROD=XX
 13840	041651	004 11 0 00 017404 		ER4	AC+1,SN		;MULB FAILED
 13841	041652	321 12 0 00 041640 		JUMPL	AC+2,.-^D10	;LOOP ON ERR SWITCH
 13842
 13843
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 73-2
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0309

 13844			017405		SN=SN+1
 13845			000020			XX=XX+XX
 13846		777777	777760			ZZ=ZZ+ZZ
 13847						IFE	XX,<XX=1>
 13848						IFE	ZZ,<ZZ=-1>
 13849	041653	201 06 0 00 000020 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13850	041654	561 10 0 00 777760 		HRROI	AC,ZZ		;SETUP PLIER
 13851	041655	474 07 0 00 000000 		SETO	AC-1,		;SETUP PLICAND
 13852	041656	227 10 0 00 000007 		MULB	AC,AC-1		;MULTIPLY -1 BY ZZ
 13853	041657	332 00 0 00 000010 		SKIPE	AC		;TEST HIGH PROD=0
 13854	041660	003 10 0 00 017405 		ER3	AC,SN
 13855	041661	332 00 0 00 000007 		SKIPE	AC-1		;TEST C(AC) = C(E)
 13856	041662	005 07 0 00 017405 		ER5	AC-1,SN
 13857	041663	312 11 0 00 000006 		CAME	AC+1,AC-2	;TEST LOW PROD=XX
 13858	041664	004 11 0 00 017405 		ER4	AC+1,SN		;MULB FAILED
 13859	041665	321 12 0 00 041653 		JUMPL	AC+2,.-^D10	;LOOP ON ERR SWITCH
 13860
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 74
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0310

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

 13916			017502		SN=SN+1
 13917			001200			XX=XX/2
 13918		777777	700000			ZZ=ZZ/2
 13919						IFE	ZZ,<ZZ=-200000>
 13920	041706	201 05 0 00 001200 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13921	041707	205 07 0 00 700000 		MOVSI	AC,ZZ		;SETUP PLIER
 13922	041710	561 06 0 00 772777 		HRROI	AC-1,-5001	;SETUP PLICAND
 13923	041711	200 04 0 00 000010 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 13924	041712	226 07 0 00 000006 		MULM	AC,AC-1		;MULTIPLY ZZ X -5001
 13925	041713	312 06 0 00 000005 		CAME	AC-1,AC-2	;TEST HIGH PROD = XX
 13926	041714	005 06 0 00 017502 		ER5	AC-1,SN		;MULM FAILED
 13927	041715	312 07 0 00 045233 		CAME	AC,[ZZ,,0]	;WAS C(AC) MODIFIED ?
 13928	041716	003 07 0 00 017502 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 13929	041717	312 10 0 00 000004 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) MODIFIED ?
 13930	041720	004 10 0 00 017502 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 13931	041721	321 11 0 00 041706 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 13932
 13933
 13934			017503		SN=SN+1
 13935			000500			XX=XX/2
 13936		777777	740000			ZZ=ZZ/2
 13937						IFE	ZZ,<ZZ=-200000>
 13938	041722	201 05 0 00 000500 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13939	041723	205 07 0 00 740000 		MOVSI	AC,ZZ		;SETUP PLIER
 13940	041724	561 06 0 00 772777 		HRROI	AC-1,-5001	;SETUP PLICAND
 13941	041725	200 04 0 00 000010 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 13942	041726	226 07 0 00 000006 		MULM	AC,AC-1		;MULTIPLY ZZ X -5001
 13943	041727	312 06 0 00 000005 		CAME	AC-1,AC-2	;TEST HIGH PROD = XX
 13944	041730	005 06 0 00 017503 		ER5	AC-1,SN		;MULM FAILED
 13945	041731	312 07 0 00 045232 		CAME	AC,[ZZ,,0]	;WAS C(AC) MODIFIED ?
 13946	041732	003 07 0 00 017503 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 13947	041733	312 10 0 00 000004 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) MODIFIED ?
 13948	041734	004 10 0 00 017503 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 13949	041735	321 11 0 00 041722 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 13950
 13951
 13952			017504		SN=SN+1
 13953			000240			XX=XX/2
 13954		777777	760000			ZZ=ZZ/2
 13955						IFE	ZZ,<ZZ=-200000>
 13956	041736	201 05 0 00 000240 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13957	041737	205 07 0 00 760000 		MOVSI	AC,ZZ		;SETUP PLIER
 13958	041740	561 06 0 00 772777 		HRROI	AC-1,-5001	;SETUP PLICAND
 13959	041741	200 04 0 00 000010 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 13960	041742	226 07 0 00 000006 		MULM	AC,AC-1		;MULTIPLY ZZ X -5001
 13961	041743	312 06 0 00 000005 		CAME	AC-1,AC-2	;TEST HIGH PROD = XX
 13962	041744	005 06 0 00 017504 		ER5	AC-1,SN		;MULM FAILED
 13963	041745	312 07 0 00 045231 		CAME	AC,[ZZ,,0]	;WAS C(AC) MODIFIED ?
 13964	041746	003 07 0 00 017504 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 13965	041747	312 10 0 00 000004 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) MODIFIED ?
 13966	041750	004 10 0 00 017504 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 13967	041751	321 11 0 00 041736 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 13968
 13969
 13970			017505		SN=SN+1
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 74-2
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0312

 13971			000120			XX=XX/2
 13972		777777	770000			ZZ=ZZ/2
 13973						IFE	ZZ,<ZZ=-200000>
 13974	041752	201 05 0 00 000120 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13975	041753	205 07 0 00 770000 		MOVSI	AC,ZZ		;SETUP PLIER
 13976	041754	561 06 0 00 772777 		HRROI	AC-1,-5001	;SETUP PLICAND
 13977	041755	200 04 0 00 000010 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 13978	041756	226 07 0 00 000006 		MULM	AC,AC-1		;MULTIPLY ZZ X -5001
 13979	041757	312 06 0 00 000005 		CAME	AC-1,AC-2	;TEST HIGH PROD = XX
 13980	041760	005 06 0 00 017505 		ER5	AC-1,SN		;MULM FAILED
 13981	041761	312 07 0 00 045230 		CAME	AC,[ZZ,,0]	;WAS C(AC) MODIFIED ?
 13982	041762	003 07 0 00 017505 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 13983	041763	312 10 0 00 000004 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) MODIFIED ?
 13984	041764	004 10 0 00 017505 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 13985	041765	321 11 0 00 041752 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 13986
 13987
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 75
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0313

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

 14043	042005	201 05 0 00 000004 		MOVEI	AC-1,ZZ		;SETUP PLICAND
 14044	042006	220 06 0 00 000005 		IMUL	AC,AC-1		;MULTIPLY ZZ BY ZZ
 14045	042007	312 06 0 00 000004 		CAME	AC,AC-2		;TEST PROD=XX
 14046	042010	003 06 0 00 017602 		ER3	AC,SN		;IMUL FAILED
 14047	042011	302 05 0 00 000004 		CAIE	AC-1,ZZ		;WAS C(E) MODIFIED ?
 14048	042012	005 05 0 00 017602 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 14049	042013	321 10 0 00 042003 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 14050
 14051
 14052			017603		SN=SN+1
 14053			000100			XX=XX*4
 14054			000010			ZZ=ZZ+ZZ
 14055						IFE	ZZ,<ZZ=-200000>
 14056	042014	201 04 0 00 000100 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14057	042015	201 06 0 00 000010 		MOVEI	AC,ZZ		;SETUP PLIER
 14058	042016	201 05 0 00 000010 		MOVEI	AC-1,ZZ		;SETUP PLICAND
 14059	042017	220 06 0 00 000005 		IMUL	AC,AC-1		;MULTIPLY ZZ BY ZZ
 14060	042020	312 06 0 00 000004 		CAME	AC,AC-2		;TEST PROD=XX
 14061	042021	003 06 0 00 017603 		ER3	AC,SN		;IMUL FAILED
 14062	042022	302 05 0 00 000010 		CAIE	AC-1,ZZ		;WAS C(E) MODIFIED ?
 14063	042023	005 05 0 00 017603 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 14064	042024	321 10 0 00 042014 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 14065
 14066
 14067			017604		SN=SN+1
 14068			000400			XX=XX*4
 14069			000020			ZZ=ZZ+ZZ
 14070						IFE	ZZ,<ZZ=-200000>
 14071	042025	201 04 0 00 000400 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14072	042026	201 06 0 00 000020 		MOVEI	AC,ZZ		;SETUP PLIER
 14073	042027	201 05 0 00 000020 		MOVEI	AC-1,ZZ		;SETUP PLICAND
 14074	042030	220 06 0 00 000005 		IMUL	AC,AC-1		;MULTIPLY ZZ BY ZZ
 14075	042031	312 06 0 00 000004 		CAME	AC,AC-2		;TEST PROD=XX
 14076	042032	003 06 0 00 017604 		ER3	AC,SN		;IMUL FAILED
 14077	042033	302 05 0 00 000020 		CAIE	AC-1,ZZ		;WAS C(E) MODIFIED ?
 14078	042034	005 05 0 00 017604 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 14079	042035	321 10 0 00 042025 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 14080
 14081
 14082			017605		SN=SN+1
 14083			002000			XX=XX*4
 14084			000040			ZZ=ZZ+ZZ
 14085						IFE	ZZ,<ZZ=-200000>
 14086	042036	201 04 0 00 002000 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14087	042037	201 06 0 00 000040 		MOVEI	AC,ZZ		;SETUP PLIER
 14088	042040	201 05 0 00 000040 		MOVEI	AC-1,ZZ		;SETUP PLICAND
 14089	042041	220 06 0 00 000005 		IMUL	AC,AC-1		;MULTIPLY ZZ BY ZZ
 14090	042042	312 06 0 00 000004 		CAME	AC,AC-2		;TEST PROD=XX
 14091	042043	003 06 0 00 017605 		ER3	AC,SN		;IMUL FAILED
 14092	042044	302 05 0 00 000040 		CAIE	AC-1,ZZ		;WAS C(E) MODIFIED ?
 14093	042045	005 05 0 00 017605 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 14094	042046	321 10 0 00 042036 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 14095
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 76
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0315

 14096					;TEST IMUL IMMEDIATE - TWO POSITIVES
 14097					;TESTING IS ACCOMPLISHED BY MULTIPLYING
 14098					;3 X E
 14099					;PLIER=3
 14100					;PLICAND=E
 14101					;PROD=6,11,14,17,22
 14102
 14103			000005			AC=5
 14104						SAVEAC	(1,1)^
 14105	042047	201 07 0 00 042047 		MOVEI	AC+2,.		;SAVE TEST PC
 14106	042050	202 07 0 00 030051 		MOVEM	AC+2,TESTPC
 14107	042051	201 07 0 00 000007 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 14108	042052	202 07 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 14109
 14110			017700		SN=17700
 14111			000003			XX=3
 14112			000001			ZZ=1
 14113
 14114					F17700:	REPEAT	^D5,<
 14115					SN=SN+1
 14116						XX=XX+3
 14117						ZZ=ZZ+1
 14118						MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14119						MOVEI	AC,3		;SETUP PLIER
 14120						IMULI	AC,ZZ		;MULTIPLY 3 X E
 14121						CAME	AC,AC-2		;TEST PROD = XX
 14122						ER3	AC,SN		;IMULI FAILED
 14123						JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 14124					>
 14125
 14126			017701		SN=SN+1
 14127			000006			XX=XX+3
 14128			000002			ZZ=ZZ+1
 14129	042053	201 03 0 00 000006 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14130	042054	201 05 0 00 000003 		MOVEI	AC,3		;SETUP PLIER
 14131	042055	221 05 0 00 000002 		IMULI	AC,ZZ		;MULTIPLY 3 X E
 14132	042056	312 05 0 00 000003 		CAME	AC,AC-2		;TEST PROD = XX
 14133	042057	003 05 0 00 017701 		ER3	AC,SN		;IMULI FAILED
 14134	042060	321 07 0 00 042053 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 14135
 14136
 14137			017702		SN=SN+1
 14138			000011			XX=XX+3
 14139			000003			ZZ=ZZ+1
 14140	042061	201 03 0 00 000011 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14141	042062	201 05 0 00 000003 		MOVEI	AC,3		;SETUP PLIER
 14142	042063	221 05 0 00 000003 		IMULI	AC,ZZ		;MULTIPLY 3 X E
 14143	042064	312 05 0 00 000003 		CAME	AC,AC-2		;TEST PROD = XX
 14144	042065	003 05 0 00 017702 		ER3	AC,SN		;IMULI FAILED
 14145	042066	321 07 0 00 042061 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 14146
 14147
 14148			017703		SN=SN+1
 14149			000014			XX=XX+3
 14150			000004			ZZ=ZZ+1
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 76-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0316

 14151	042067	201 03 0 00 000014 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14152	042070	201 05 0 00 000003 		MOVEI	AC,3		;SETUP PLIER
 14153	042071	221 05 0 00 000004 		IMULI	AC,ZZ		;MULTIPLY 3 X E
 14154	042072	312 05 0 00 000003 		CAME	AC,AC-2		;TEST PROD = XX
 14155	042073	003 05 0 00 017703 		ER3	AC,SN		;IMULI FAILED
 14156	042074	321 07 0 00 042067 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 14157
 14158
 14159			017704		SN=SN+1
 14160			000017			XX=XX+3
 14161			000005			ZZ=ZZ+1
 14162	042075	201 03 0 00 000017 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14163	042076	201 05 0 00 000003 		MOVEI	AC,3		;SETUP PLIER
 14164	042077	221 05 0 00 000005 		IMULI	AC,ZZ		;MULTIPLY 3 X E
 14165	042100	312 05 0 00 000003 		CAME	AC,AC-2		;TEST PROD = XX
 14166	042101	003 05 0 00 017704 		ER3	AC,SN		;IMULI FAILED
 14167	042102	321 07 0 00 042075 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 14168
 14169
 14170			017705		SN=SN+1
 14171			000022			XX=XX+3
 14172			000006			ZZ=ZZ+1
 14173	042103	201 03 0 00 000022 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14174	042104	201 05 0 00 000003 		MOVEI	AC,3		;SETUP PLIER
 14175	042105	221 05 0 00 000006 		IMULI	AC,ZZ		;MULTIPLY 3 X E
 14176	042106	312 05 0 00 000003 		CAME	AC,AC-2		;TEST PROD = XX
 14177	042107	003 05 0 00 017705 		ER3	AC,SN		;IMULI FAILED
 14178	042110	321 07 0 00 042103 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 14179
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 77
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0317

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

 14235		777777	777774			ZZ=ZZ+ZZ
 14236	042131	201 02 0 00 000020 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14237	042132	561 04 0 00 777774 		HRROI	AC,ZZ		;SETUP PLIER
 14238	042133	561 03 0 00 777774 		HRROI	AC-1,ZZ		;SETUP PLICAND
 14239	042134	200 01 0 00 000005 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 14240	042135	222 04 0 00 000003 		IMULM	AC,AC-1		;MULTIPLY ZZ BY ZZ
 14241	042136	312 03 0 00 000002 		CAME	AC-1,AC-2	;TEST PROD=XX
 14242	042137	005 03 0 00 020002 		ER5	AC-1,SN		;IMULM FAILED
 14243	042140	312 04 0 00 045325 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 14244	042141	003 04 0 00 020002 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 14245	042142	312 05 0 00 000001 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) MODIFIED ?
 14246	042143	004 05 0 00 020002 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 14247	042144	321 06 0 00 042131 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 14248
 14249
 14250			020003		SN=SN+1
 14251			000100			XX=XX*4
 14252		777777	777770			ZZ=ZZ+ZZ
 14253	042145	201 02 0 00 000100 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14254	042146	561 04 0 00 777770 		HRROI	AC,ZZ		;SETUP PLIER
 14255	042147	561 03 0 00 777770 		HRROI	AC-1,ZZ		;SETUP PLICAND
 14256	042150	200 01 0 00 000005 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 14257	042151	222 04 0 00 000003 		IMULM	AC,AC-1		;MULTIPLY ZZ BY ZZ
 14258	042152	312 03 0 00 000002 		CAME	AC-1,AC-2	;TEST PROD=XX
 14259	042153	005 03 0 00 020003 		ER5	AC-1,SN		;IMULM FAILED
 14260	042154	312 04 0 00 045305 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 14261	042155	003 04 0 00 020003 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 14262	042156	312 05 0 00 000001 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) MODIFIED ?
 14263	042157	004 05 0 00 020003 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 14264	042160	321 06 0 00 042145 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 14265
 14266
 14267			020004		SN=SN+1
 14268			000400			XX=XX*4
 14269		777777	777760			ZZ=ZZ+ZZ
 14270	042161	201 02 0 00 000400 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14271	042162	561 04 0 00 777760 		HRROI	AC,ZZ		;SETUP PLIER
 14272	042163	561 03 0 00 777760 		HRROI	AC-1,ZZ		;SETUP PLICAND
 14273	042164	200 01 0 00 000005 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 14274	042165	222 04 0 00 000003 		IMULM	AC,AC-1		;MULTIPLY ZZ BY ZZ
 14275	042166	312 03 0 00 000002 		CAME	AC-1,AC-2	;TEST PROD=XX
 14276	042167	005 03 0 00 020004 		ER5	AC-1,SN		;IMULM FAILED
 14277	042170	312 04 0 00 045243 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 14278	042171	003 04 0 00 020004 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 14279	042172	312 05 0 00 000001 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) MODIFIED ?
 14280	042173	004 05 0 00 020004 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 14281	042174	321 06 0 00 042161 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 14282
 14283
 14284			020005		SN=SN+1
 14285			002000			XX=XX*4
 14286		777777	777740			ZZ=ZZ+ZZ
 14287	042175	201 02 0 00 002000 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14288	042176	561 04 0 00 777740 		HRROI	AC,ZZ		;SETUP PLIER
 14289	042177	561 03 0 00 777740 		HRROI	AC-1,ZZ		;SETUP PLICAND
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 77-2
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0319

 14290	042200	200 01 0 00 000005 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 14291	042201	222 04 0 00 000003 		IMULM	AC,AC-1		;MULTIPLY ZZ BY ZZ
 14292	042202	312 03 0 00 000002 		CAME	AC-1,AC-2	;TEST PROD=XX
 14293	042203	005 03 0 00 020005 		ER5	AC-1,SN		;IMULM FAILED
 14294	042204	312 04 0 00 045244 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 14295	042205	003 04 0 00 020005 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 14296	042206	312 05 0 00 000001 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) MODIFIED ?
 14297	042207	004 05 0 00 020005 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 14298	042210	321 06 0 00 042175 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 14299
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 78
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0320

 14300					;TEST IMUL BOTH - MULTIPLY BY 0
 14301					;TESTING IS ACCOMPLISHED BY MULTIPLYING
 14302					;A NEGATIVE NUMBER BY 0
 14303					;PLIER=0
 14304					;PLICAND=-1,-2,-4,-10,-20
 14305					;PROD=0
 14306
 14307			000005			AC=5
 14308						SAVEAC	(1,1)^
 14309	042211	201 07 0 00 042211 		MOVEI	AC+2,.		;SAVE TEST PC
 14310	042212	202 07 0 00 030051 		MOVEM	AC+2,TESTPC
 14311	042213	201 07 0 00 000007 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 14312	042214	202 07 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 14313
 14314			020100		SN=20100
 14315			000000			ZZ=0
 14316
 14317					F20100:	REPEAT	^D5,<
 14318					SN=SN+1
 14319						ZZ=ZZ+ZZ
 14320						IFE	ZZ,<ZZ=-1>
 14321						SETZ	AC,		;SETUP PLIER
 14322						HRROI	AC-1,ZZ		;SETUP PLICAND
 14323						IMULB	AC,AC-1		;MULTIPLY ZZ BY 0
 14324						SKIPE	AC		;TEST PROD=0
 14325						ER3	AC,SN
 14326						SKIPE	AC-1		;TEST C(AC) = C(E)
 14327						ER5	AC-1,SN		;IMULB FAILED
 14328						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14329					>
 14330
 14331			020101		SN=SN+1
 14332			000000			ZZ=ZZ+ZZ
 14333		777777	777777			IFE	ZZ,<ZZ=-1>
 14334	042215	400 05 0 00 000000 		SETZ	AC,		;SETUP PLIER
 14335	042216	561 04 0 00 777777 		HRROI	AC-1,ZZ		;SETUP PLICAND
 14336	042217	223 05 0 00 000004 		IMULB	AC,AC-1		;MULTIPLY ZZ BY 0
 14337	042220	332 00 0 00 000005 		SKIPE	AC		;TEST PROD=0
 14338	042221	003 05 0 00 020101 		ER3	AC,SN
 14339	042222	332 00 0 00 000004 		SKIPE	AC-1		;TEST C(AC) = C(E)
 14340	042223	005 04 0 00 020101 		ER5	AC-1,SN		;IMULB FAILED
 14341	042224	321 07 0 00 042215 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14342
 14343
 14344			020102		SN=SN+1
 14345		777777	777776			ZZ=ZZ+ZZ
 14346						IFE	ZZ,<ZZ=-1>
 14347	042225	400 05 0 00 000000 		SETZ	AC,		;SETUP PLIER
 14348	042226	561 04 0 00 777776 		HRROI	AC-1,ZZ		;SETUP PLICAND
 14349	042227	223 05 0 00 000004 		IMULB	AC,AC-1		;MULTIPLY ZZ BY 0
 14350	042230	332 00 0 00 000005 		SKIPE	AC		;TEST PROD=0
 14351	042231	003 05 0 00 020102 		ER3	AC,SN
 14352	042232	332 00 0 00 000004 		SKIPE	AC-1		;TEST C(AC) = C(E)
 14353	042233	005 04 0 00 020102 		ER5	AC-1,SN		;IMULB FAILED
 14354	042234	321 07 0 00 042225 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 78-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0321

 14355
 14356
 14357			020103		SN=SN+1
 14358		777777	777774			ZZ=ZZ+ZZ
 14359						IFE	ZZ,<ZZ=-1>
 14360	042235	400 05 0 00 000000 		SETZ	AC,		;SETUP PLIER
 14361	042236	561 04 0 00 777774 		HRROI	AC-1,ZZ		;SETUP PLICAND
 14362	042237	223 05 0 00 000004 		IMULB	AC,AC-1		;MULTIPLY ZZ BY 0
 14363	042240	332 00 0 00 000005 		SKIPE	AC		;TEST PROD=0
 14364	042241	003 05 0 00 020103 		ER3	AC,SN
 14365	042242	332 00 0 00 000004 		SKIPE	AC-1		;TEST C(AC) = C(E)
 14366	042243	005 04 0 00 020103 		ER5	AC-1,SN		;IMULB FAILED
 14367	042244	321 07 0 00 042235 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14368
 14369
 14370			020104		SN=SN+1
 14371		777777	777770			ZZ=ZZ+ZZ
 14372						IFE	ZZ,<ZZ=-1>
 14373	042245	400 05 0 00 000000 		SETZ	AC,		;SETUP PLIER
 14374	042246	561 04 0 00 777770 		HRROI	AC-1,ZZ		;SETUP PLICAND
 14375	042247	223 05 0 00 000004 		IMULB	AC,AC-1		;MULTIPLY ZZ BY 0
 14376	042250	332 00 0 00 000005 		SKIPE	AC		;TEST PROD=0
 14377	042251	003 05 0 00 020104 		ER3	AC,SN
 14378	042252	332 00 0 00 000004 		SKIPE	AC-1		;TEST C(AC) = C(E)
 14379	042253	005 04 0 00 020104 		ER5	AC-1,SN		;IMULB FAILED
 14380	042254	321 07 0 00 042245 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14381
 14382
 14383			020105		SN=SN+1
 14384		777777	777760			ZZ=ZZ+ZZ
 14385						IFE	ZZ,<ZZ=-1>
 14386	042255	400 05 0 00 000000 		SETZ	AC,		;SETUP PLIER
 14387	042256	561 04 0 00 777760 		HRROI	AC-1,ZZ		;SETUP PLICAND
 14388	042257	223 05 0 00 000004 		IMULB	AC,AC-1		;MULTIPLY ZZ BY 0
 14389	042260	332 00 0 00 000005 		SKIPE	AC		;TEST PROD=0
 14390	042261	003 05 0 00 020105 		ER3	AC,SN
 14391	042262	332 00 0 00 000004 		SKIPE	AC-1		;TEST C(AC) = C(E)
 14392	042263	005 04 0 00 020105 		ER5	AC-1,SN		;IMULB FAILED
 14393	042264	321 07 0 00 042255 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14394
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 79
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0322

 14395					;TEST IDIV DIRECT - TWO POSITIVES
 14396					;TESTING IS ACCOMPLISHED BY
 14397					;DIVIDING A NUMBER BY ITSELF
 14398					;DVND=1,2,4, ETC
 14399					;DVSR=1,2,4, ETC
 14400					;AN ERROR WILL OCCUR IF QUOT
 14401					;DIFFERS FROM 1
 14402					;AN ERROR WILL OCCUR IF REMD
 14403					;DIFFERS FROM 0
 14404
 14405			000005			AC=5
 14406						SAVEAC	(1,1)^
 14407	042265	201 07 0 00 042265 		MOVEI	AC+2,.		;SAVE TEST PC
 14408	042266	202 07 0 00 030051 		MOVEM	AC+2,TESTPC
 14409	042267	201 07 0 00 000007 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 14410	042270	202 07 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 14411
 14412			020200		SN=20200
 14413			000000			ZZ=0
 14414
 14415					F20200:	REPEAT	^D18,<
 14416					SN=SN+1
 14417						ZZ=ZZ+ZZ
 14418						IFE	ZZ,<ZZ=1>
 14419						MOVEI	AC,ZZ		;SETUP DVND
 14420						MOVEI	AC-1,ZZ		;SETUP DVSR
 14421						IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14422						CAIE	AC,1		;TEST QUOT=1
 14423						ER3	AC,SN
 14424						JUMPE	AC+1,.+2	;TEST REMD=0
 14425						ER4	AC+1,SN		;IDIV FAILED
 14426						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14427					>
 14428
 14429			020201		SN=SN+1
 14430			000000			ZZ=ZZ+ZZ
 14431			000001			IFE	ZZ,<ZZ=1>
 14432	042271	201 05 0 00 000001 		MOVEI	AC,ZZ		;SETUP DVND
 14433	042272	201 04 0 00 000001 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14434	042273	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14435	042274	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14436	042275	003 05 0 00 020201 		ER3	AC,SN
 14437	042276	322 06 0 00 042300 		JUMPE	AC+1,.+2	;TEST REMD=0
 14438	042277	004 06 0 00 020201 		ER4	AC+1,SN		;IDIV FAILED
 14439	042300	321 07 0 00 042271 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14440
 14441
 14442			020202		SN=SN+1
 14443			000002			ZZ=ZZ+ZZ
 14444						IFE	ZZ,<ZZ=1>
 14445	042301	201 05 0 00 000002 		MOVEI	AC,ZZ		;SETUP DVND
 14446	042302	201 04 0 00 000002 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14447	042303	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14448	042304	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14449	042305	003 05 0 00 020202 		ER3	AC,SN
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 79-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0323

 14450	042306	322 06 0 00 042310 		JUMPE	AC+1,.+2	;TEST REMD=0
 14451	042307	004 06 0 00 020202 		ER4	AC+1,SN		;IDIV FAILED
 14452	042310	321 07 0 00 042301 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14453
 14454
 14455			020203		SN=SN+1
 14456			000004			ZZ=ZZ+ZZ
 14457						IFE	ZZ,<ZZ=1>
 14458	042311	201 05 0 00 000004 		MOVEI	AC,ZZ		;SETUP DVND
 14459	042312	201 04 0 00 000004 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14460	042313	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14461	042314	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14462	042315	003 05 0 00 020203 		ER3	AC,SN
 14463	042316	322 06 0 00 042320 		JUMPE	AC+1,.+2	;TEST REMD=0
 14464	042317	004 06 0 00 020203 		ER4	AC+1,SN		;IDIV FAILED
 14465	042320	321 07 0 00 042311 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14466
 14467
 14468			020204		SN=SN+1
 14469			000010			ZZ=ZZ+ZZ
 14470						IFE	ZZ,<ZZ=1>
 14471	042321	201 05 0 00 000010 		MOVEI	AC,ZZ		;SETUP DVND
 14472	042322	201 04 0 00 000010 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14473	042323	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14474	042324	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14475	042325	003 05 0 00 020204 		ER3	AC,SN
 14476	042326	322 06 0 00 042330 		JUMPE	AC+1,.+2	;TEST REMD=0
 14477	042327	004 06 0 00 020204 		ER4	AC+1,SN		;IDIV FAILED
 14478	042330	321 07 0 00 042321 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14479
 14480
 14481			020205		SN=SN+1
 14482			000020			ZZ=ZZ+ZZ
 14483						IFE	ZZ,<ZZ=1>
 14484	042331	201 05 0 00 000020 		MOVEI	AC,ZZ		;SETUP DVND
 14485	042332	201 04 0 00 000020 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14486	042333	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14487	042334	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14488	042335	003 05 0 00 020205 		ER3	AC,SN
 14489	042336	322 06 0 00 042340 		JUMPE	AC+1,.+2	;TEST REMD=0
 14490	042337	004 06 0 00 020205 		ER4	AC+1,SN		;IDIV FAILED
 14491	042340	321 07 0 00 042331 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14492
 14493
 14494			020206		SN=SN+1
 14495			000040			ZZ=ZZ+ZZ
 14496						IFE	ZZ,<ZZ=1>
 14497	042341	201 05 0 00 000040 		MOVEI	AC,ZZ		;SETUP DVND
 14498	042342	201 04 0 00 000040 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14499	042343	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14500	042344	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14501	042345	003 05 0 00 020206 		ER3	AC,SN
 14502	042346	322 06 0 00 042350 		JUMPE	AC+1,.+2	;TEST REMD=0
 14503	042347	004 06 0 00 020206 		ER4	AC+1,SN		;IDIV FAILED
 14504	042350	321 07 0 00 042341 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 79-2
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0324

 14505
 14506
 14507			020207		SN=SN+1
 14508			000100			ZZ=ZZ+ZZ
 14509						IFE	ZZ,<ZZ=1>
 14510	042351	201 05 0 00 000100 		MOVEI	AC,ZZ		;SETUP DVND
 14511	042352	201 04 0 00 000100 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14512	042353	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14513	042354	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14514	042355	003 05 0 00 020207 		ER3	AC,SN
 14515	042356	322 06 0 00 042360 		JUMPE	AC+1,.+2	;TEST REMD=0
 14516	042357	004 06 0 00 020207 		ER4	AC+1,SN		;IDIV FAILED
 14517	042360	321 07 0 00 042351 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14518
 14519
 14520			020210		SN=SN+1
 14521			000200			ZZ=ZZ+ZZ
 14522						IFE	ZZ,<ZZ=1>
 14523	042361	201 05 0 00 000200 		MOVEI	AC,ZZ		;SETUP DVND
 14524	042362	201 04 0 00 000200 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14525	042363	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14526	042364	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14527	042365	003 05 0 00 020210 		ER3	AC,SN
 14528	042366	322 06 0 00 042370 		JUMPE	AC+1,.+2	;TEST REMD=0
 14529	042367	004 06 0 00 020210 		ER4	AC+1,SN		;IDIV FAILED
 14530	042370	321 07 0 00 042361 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14531
 14532
 14533			020211		SN=SN+1
 14534			000400			ZZ=ZZ+ZZ
 14535						IFE	ZZ,<ZZ=1>
 14536	042371	201 05 0 00 000400 		MOVEI	AC,ZZ		;SETUP DVND
 14537	042372	201 04 0 00 000400 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14538	042373	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14539	042374	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14540	042375	003 05 0 00 020211 		ER3	AC,SN
 14541	042376	322 06 0 00 042400 		JUMPE	AC+1,.+2	;TEST REMD=0
 14542	042377	004 06 0 00 020211 		ER4	AC+1,SN		;IDIV FAILED
 14543	042400	321 07 0 00 042371 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14544
 14545
 14546			020212		SN=SN+1
 14547			001000			ZZ=ZZ+ZZ
 14548						IFE	ZZ,<ZZ=1>
 14549	042401	201 05 0 00 001000 		MOVEI	AC,ZZ		;SETUP DVND
 14550	042402	201 04 0 00 001000 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14551	042403	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14552	042404	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14553	042405	003 05 0 00 020212 		ER3	AC,SN
 14554	042406	322 06 0 00 042410 		JUMPE	AC+1,.+2	;TEST REMD=0
 14555	042407	004 06 0 00 020212 		ER4	AC+1,SN		;IDIV FAILED
 14556	042410	321 07 0 00 042401 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14557
 14558
 14559			020213		SN=SN+1
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 79-3
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0325

 14560			002000			ZZ=ZZ+ZZ
 14561						IFE	ZZ,<ZZ=1>
 14562	042411	201 05 0 00 002000 		MOVEI	AC,ZZ		;SETUP DVND
 14563	042412	201 04 0 00 002000 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14564	042413	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14565	042414	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14566	042415	003 05 0 00 020213 		ER3	AC,SN
 14567	042416	322 06 0 00 042420 		JUMPE	AC+1,.+2	;TEST REMD=0
 14568	042417	004 06 0 00 020213 		ER4	AC+1,SN		;IDIV FAILED
 14569	042420	321 07 0 00 042411 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14570
 14571
 14572			020214		SN=SN+1
 14573			004000			ZZ=ZZ+ZZ
 14574						IFE	ZZ,<ZZ=1>
 14575	042421	201 05 0 00 004000 		MOVEI	AC,ZZ		;SETUP DVND
 14576	042422	201 04 0 00 004000 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14577	042423	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14578	042424	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14579	042425	003 05 0 00 020214 		ER3	AC,SN
 14580	042426	322 06 0 00 042430 		JUMPE	AC+1,.+2	;TEST REMD=0
 14581	042427	004 06 0 00 020214 		ER4	AC+1,SN		;IDIV FAILED
 14582	042430	321 07 0 00 042421 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14583
 14584
 14585			020215		SN=SN+1
 14586			010000			ZZ=ZZ+ZZ
 14587						IFE	ZZ,<ZZ=1>
 14588	042431	201 05 0 00 010000 		MOVEI	AC,ZZ		;SETUP DVND
 14589	042432	201 04 0 00 010000 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14590	042433	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14591	042434	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14592	042435	003 05 0 00 020215 		ER3	AC,SN
 14593	042436	322 06 0 00 042440 		JUMPE	AC+1,.+2	;TEST REMD=0
 14594	042437	004 06 0 00 020215 		ER4	AC+1,SN		;IDIV FAILED
 14595	042440	321 07 0 00 042431 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14596
 14597
 14598			020216		SN=SN+1
 14599			020000			ZZ=ZZ+ZZ
 14600						IFE	ZZ,<ZZ=1>
 14601	042441	201 05 0 00 020000 		MOVEI	AC,ZZ		;SETUP DVND
 14602	042442	201 04 0 00 020000 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14603	042443	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14604	042444	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14605	042445	003 05 0 00 020216 		ER3	AC,SN
 14606	042446	322 06 0 00 042450 		JUMPE	AC+1,.+2	;TEST REMD=0
 14607	042447	004 06 0 00 020216 		ER4	AC+1,SN		;IDIV FAILED
 14608	042450	321 07 0 00 042441 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14609
 14610
 14611			020217		SN=SN+1
 14612			040000			ZZ=ZZ+ZZ
 14613						IFE	ZZ,<ZZ=1>
 14614	042451	201 05 0 00 040000 		MOVEI	AC,ZZ		;SETUP DVND
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 79-4
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0326

 14615	042452	201 04 0 00 040000 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14616	042453	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14617	042454	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14618	042455	003 05 0 00 020217 		ER3	AC,SN
 14619	042456	322 06 0 00 042460 		JUMPE	AC+1,.+2	;TEST REMD=0
 14620	042457	004 06 0 00 020217 		ER4	AC+1,SN		;IDIV FAILED
 14621	042460	321 07 0 00 042451 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14622
 14623
 14624			020220		SN=SN+1
 14625			100000			ZZ=ZZ+ZZ
 14626						IFE	ZZ,<ZZ=1>
 14627	042461	201 05 0 00 100000 		MOVEI	AC,ZZ		;SETUP DVND
 14628	042462	201 04 0 00 100000 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14629	042463	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14630	042464	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14631	042465	003 05 0 00 020220 		ER3	AC,SN
 14632	042466	322 06 0 00 042470 		JUMPE	AC+1,.+2	;TEST REMD=0
 14633	042467	004 06 0 00 020220 		ER4	AC+1,SN		;IDIV FAILED
 14634	042470	321 07 0 00 042461 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14635
 14636
 14637			020221		SN=SN+1
 14638			200000			ZZ=ZZ+ZZ
 14639						IFE	ZZ,<ZZ=1>
 14640	042471	201 05 0 00 200000 		MOVEI	AC,ZZ		;SETUP DVND
 14641	042472	201 04 0 00 200000 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14642	042473	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14643	042474	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14644	042475	003 05 0 00 020221 		ER3	AC,SN
 14645	042476	322 06 0 00 042500 		JUMPE	AC+1,.+2	;TEST REMD=0
 14646	042477	004 06 0 00 020221 		ER4	AC+1,SN		;IDIV FAILED
 14647	042500	321 07 0 00 042471 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14648
 14649
 14650			020222		SN=SN+1
 14651			400000			ZZ=ZZ+ZZ
 14652						IFE	ZZ,<ZZ=1>
 14653	042501	201 05 0 00 400000 		MOVEI	AC,ZZ		;SETUP DVND
 14654	042502	201 04 0 00 400000 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14655	042503	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14656	042504	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14657	042505	003 05 0 00 020222 		ER3	AC,SN
 14658	042506	322 06 0 00 042510 		JUMPE	AC+1,.+2	;TEST REMD=0
 14659	042507	004 06 0 00 020222 		ER4	AC+1,SN		;IDIV FAILED
 14660	042510	321 07 0 00 042501 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14661
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 80
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0327

 14662			020300		SN=20300
 14663			000000			ZZ=0
 14664
 14665					F20300:	REPEAT	^D17,<
 14666					SN=SN+1
 14667						ZZ=ZZ+ZZ
 14668						IFE	ZZ,<ZZ=1>
 14669						MOVSI	AC,ZZ		;SETUP DVND
 14670						MOVSI	AC-1,ZZ		;SETUP DVSR
 14671						IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14672						CAIE	AC,1		;TEST QUOT=1
 14673						ER3	AC,SN
 14674						JUMPE	AC+1,.+2	;TEST REMD=0
 14675						ER4	AC+1,SN		;IDIV FAILED
 14676						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14677					>
 14678
 14679			020301		SN=SN+1
 14680			000000			ZZ=ZZ+ZZ
 14681			000001			IFE	ZZ,<ZZ=1>
 14682	042511	205 05 0 00 000001 		MOVSI	AC,ZZ		;SETUP DVND
 14683	042512	205 04 0 00 000001 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14684	042513	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14685	042514	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14686	042515	003 05 0 00 020301 		ER3	AC,SN
 14687	042516	322 06 0 00 042520 		JUMPE	AC+1,.+2	;TEST REMD=0
 14688	042517	004 06 0 00 020301 		ER4	AC+1,SN		;IDIV FAILED
 14689	042520	321 07 0 00 042511 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14690
 14691
 14692			020302		SN=SN+1
 14693			000002			ZZ=ZZ+ZZ
 14694						IFE	ZZ,<ZZ=1>
 14695	042521	205 05 0 00 000002 		MOVSI	AC,ZZ		;SETUP DVND
 14696	042522	205 04 0 00 000002 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14697	042523	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14698	042524	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14699	042525	003 05 0 00 020302 		ER3	AC,SN
 14700	042526	322 06 0 00 042530 		JUMPE	AC+1,.+2	;TEST REMD=0
 14701	042527	004 06 0 00 020302 		ER4	AC+1,SN		;IDIV FAILED
 14702	042530	321 07 0 00 042521 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14703
 14704
 14705			020303		SN=SN+1
 14706			000004			ZZ=ZZ+ZZ
 14707						IFE	ZZ,<ZZ=1>
 14708	042531	205 05 0 00 000004 		MOVSI	AC,ZZ		;SETUP DVND
 14709	042532	205 04 0 00 000004 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14710	042533	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14711	042534	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14712	042535	003 05 0 00 020303 		ER3	AC,SN
 14713	042536	322 06 0 00 042540 		JUMPE	AC+1,.+2	;TEST REMD=0
 14714	042537	004 06 0 00 020303 		ER4	AC+1,SN		;IDIV FAILED
 14715	042540	321 07 0 00 042531 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14716
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 80-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0328

 14717
 14718			020304		SN=SN+1
 14719			000010			ZZ=ZZ+ZZ
 14720						IFE	ZZ,<ZZ=1>
 14721	042541	205 05 0 00 000010 		MOVSI	AC,ZZ		;SETUP DVND
 14722	042542	205 04 0 00 000010 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14723	042543	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14724	042544	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14725	042545	003 05 0 00 020304 		ER3	AC,SN
 14726	042546	322 06 0 00 042550 		JUMPE	AC+1,.+2	;TEST REMD=0
 14727	042547	004 06 0 00 020304 		ER4	AC+1,SN		;IDIV FAILED
 14728	042550	321 07 0 00 042541 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14729
 14730
 14731			020305		SN=SN+1
 14732			000020			ZZ=ZZ+ZZ
 14733						IFE	ZZ,<ZZ=1>
 14734	042551	205 05 0 00 000020 		MOVSI	AC,ZZ		;SETUP DVND
 14735	042552	205 04 0 00 000020 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14736	042553	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14737	042554	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14738	042555	003 05 0 00 020305 		ER3	AC,SN
 14739	042556	322 06 0 00 042560 		JUMPE	AC+1,.+2	;TEST REMD=0
 14740	042557	004 06 0 00 020305 		ER4	AC+1,SN		;IDIV FAILED
 14741	042560	321 07 0 00 042551 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14742
 14743
 14744			020306		SN=SN+1
 14745			000040			ZZ=ZZ+ZZ
 14746						IFE	ZZ,<ZZ=1>
 14747	042561	205 05 0 00 000040 		MOVSI	AC,ZZ		;SETUP DVND
 14748	042562	205 04 0 00 000040 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14749	042563	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14750	042564	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14751	042565	003 05 0 00 020306 		ER3	AC,SN
 14752	042566	322 06 0 00 042570 		JUMPE	AC+1,.+2	;TEST REMD=0
 14753	042567	004 06 0 00 020306 		ER4	AC+1,SN		;IDIV FAILED
 14754	042570	321 07 0 00 042561 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14755
 14756
 14757			020307		SN=SN+1
 14758			000100			ZZ=ZZ+ZZ
 14759						IFE	ZZ,<ZZ=1>
 14760	042571	205 05 0 00 000100 		MOVSI	AC,ZZ		;SETUP DVND
 14761	042572	205 04 0 00 000100 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14762	042573	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14763	042574	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14764	042575	003 05 0 00 020307 		ER3	AC,SN
 14765	042576	322 06 0 00 042600 		JUMPE	AC+1,.+2	;TEST REMD=0
 14766	042577	004 06 0 00 020307 		ER4	AC+1,SN		;IDIV FAILED
 14767	042600	321 07 0 00 042571 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14768
 14769
 14770			020310		SN=SN+1
 14771			000200			ZZ=ZZ+ZZ
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 80-2
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0329

 14772						IFE	ZZ,<ZZ=1>
 14773	042601	205 05 0 00 000200 		MOVSI	AC,ZZ		;SETUP DVND
 14774	042602	205 04 0 00 000200 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14775	042603	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14776	042604	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14777	042605	003 05 0 00 020310 		ER3	AC,SN
 14778	042606	322 06 0 00 042610 		JUMPE	AC+1,.+2	;TEST REMD=0
 14779	042607	004 06 0 00 020310 		ER4	AC+1,SN		;IDIV FAILED
 14780	042610	321 07 0 00 042601 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14781
 14782
 14783			020311		SN=SN+1
 14784			000400			ZZ=ZZ+ZZ
 14785						IFE	ZZ,<ZZ=1>
 14786	042611	205 05 0 00 000400 		MOVSI	AC,ZZ		;SETUP DVND
 14787	042612	205 04 0 00 000400 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14788	042613	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14789	042614	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14790	042615	003 05 0 00 020311 		ER3	AC,SN
 14791	042616	322 06 0 00 042620 		JUMPE	AC+1,.+2	;TEST REMD=0
 14792	042617	004 06 0 00 020311 		ER4	AC+1,SN		;IDIV FAILED
 14793	042620	321 07 0 00 042611 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14794
 14795
 14796			020312		SN=SN+1
 14797			001000			ZZ=ZZ+ZZ
 14798						IFE	ZZ,<ZZ=1>
 14799	042621	205 05 0 00 001000 		MOVSI	AC,ZZ		;SETUP DVND
 14800	042622	205 04 0 00 001000 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14801	042623	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14802	042624	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14803	042625	003 05 0 00 020312 		ER3	AC,SN
 14804	042626	322 06 0 00 042630 		JUMPE	AC+1,.+2	;TEST REMD=0
 14805	042627	004 06 0 00 020312 		ER4	AC+1,SN		;IDIV FAILED
 14806	042630	321 07 0 00 042621 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14807
 14808
 14809			020313		SN=SN+1
 14810			002000			ZZ=ZZ+ZZ
 14811						IFE	ZZ,<ZZ=1>
 14812	042631	205 05 0 00 002000 		MOVSI	AC,ZZ		;SETUP DVND
 14813	042632	205 04 0 00 002000 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14814	042633	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14815	042634	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14816	042635	003 05 0 00 020313 		ER3	AC,SN
 14817	042636	322 06 0 00 042640 		JUMPE	AC+1,.+2	;TEST REMD=0
 14818	042637	004 06 0 00 020313 		ER4	AC+1,SN		;IDIV FAILED
 14819	042640	321 07 0 00 042631 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14820
 14821
 14822			020314		SN=SN+1
 14823			004000			ZZ=ZZ+ZZ
 14824						IFE	ZZ,<ZZ=1>
 14825	042641	205 05 0 00 004000 		MOVSI	AC,ZZ		;SETUP DVND
 14826	042642	205 04 0 00 004000 		MOVSI	AC-1,ZZ		;SETUP DVSR
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 80-3
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0330

 14827	042643	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14828	042644	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14829	042645	003 05 0 00 020314 		ER3	AC,SN
 14830	042646	322 06 0 00 042650 		JUMPE	AC+1,.+2	;TEST REMD=0
 14831	042647	004 06 0 00 020314 		ER4	AC+1,SN		;IDIV FAILED
 14832	042650	321 07 0 00 042641 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14833
 14834
 14835			020315		SN=SN+1
 14836			010000			ZZ=ZZ+ZZ
 14837						IFE	ZZ,<ZZ=1>
 14838	042651	205 05 0 00 010000 		MOVSI	AC,ZZ		;SETUP DVND
 14839	042652	205 04 0 00 010000 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14840	042653	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14841	042654	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14842	042655	003 05 0 00 020315 		ER3	AC,SN
 14843	042656	322 06 0 00 042660 		JUMPE	AC+1,.+2	;TEST REMD=0
 14844	042657	004 06 0 00 020315 		ER4	AC+1,SN		;IDIV FAILED
 14845	042660	321 07 0 00 042651 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14846
 14847
 14848			020316		SN=SN+1
 14849			020000			ZZ=ZZ+ZZ
 14850						IFE	ZZ,<ZZ=1>
 14851	042661	205 05 0 00 020000 		MOVSI	AC,ZZ		;SETUP DVND
 14852	042662	205 04 0 00 020000 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14853	042663	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14854	042664	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14855	042665	003 05 0 00 020316 		ER3	AC,SN
 14856	042666	322 06 0 00 042670 		JUMPE	AC+1,.+2	;TEST REMD=0
 14857	042667	004 06 0 00 020316 		ER4	AC+1,SN		;IDIV FAILED
 14858	042670	321 07 0 00 042661 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14859
 14860
 14861			020317		SN=SN+1
 14862			040000			ZZ=ZZ+ZZ
 14863						IFE	ZZ,<ZZ=1>
 14864	042671	205 05 0 00 040000 		MOVSI	AC,ZZ		;SETUP DVND
 14865	042672	205 04 0 00 040000 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14866	042673	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14867	042674	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14868	042675	003 05 0 00 020317 		ER3	AC,SN
 14869	042676	322 06 0 00 042700 		JUMPE	AC+1,.+2	;TEST REMD=0
 14870	042677	004 06 0 00 020317 		ER4	AC+1,SN		;IDIV FAILED
 14871	042700	321 07 0 00 042671 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14872
 14873
 14874			020320		SN=SN+1
 14875			100000			ZZ=ZZ+ZZ
 14876						IFE	ZZ,<ZZ=1>
 14877	042701	205 05 0 00 100000 		MOVSI	AC,ZZ		;SETUP DVND
 14878	042702	205 04 0 00 100000 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14879	042703	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14880	042704	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14881	042705	003 05 0 00 020320 		ER3	AC,SN
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 80-4
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0331

 14882	042706	322 06 0 00 042710 		JUMPE	AC+1,.+2	;TEST REMD=0
 14883	042707	004 06 0 00 020320 		ER4	AC+1,SN		;IDIV FAILED
 14884	042710	321 07 0 00 042701 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14885
 14886
 14887			020321		SN=SN+1
 14888			200000			ZZ=ZZ+ZZ
 14889						IFE	ZZ,<ZZ=1>
 14890	042711	205 05 0 00 200000 		MOVSI	AC,ZZ		;SETUP DVND
 14891	042712	205 04 0 00 200000 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14892	042713	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14893	042714	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14894	042715	003 05 0 00 020321 		ER3	AC,SN
 14895	042716	322 06 0 00 042720 		JUMPE	AC+1,.+2	;TEST REMD=0
 14896	042717	004 06 0 00 020321 		ER4	AC+1,SN		;IDIV FAILED
 14897	042720	321 07 0 00 042711 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14898
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 81
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0332

 14899					;TEST IDIV DIRECT - TWO POSITIVES
 14900					;TESTING IS ACCOMPLISHED BY
 14901					;DIVIDING AN EVEN NUMBER BY 1
 14902					;DVND=1,2,4 ETC
 14903					;DVSR=1
 14904					;AN ERROR WILL OCCUR IF QUOT
 14905					;DIFFERS FROM DVND
 14906					;AN ERROR WILL OCCUR IF REMD
 14907					;DIFFERS FROM 0
 14908
 14909			000013			AC=13
 14910						SAVEAC	(1,1)^
 14911	042721	201 15 0 00 042721 		MOVEI	AC+2,.		;SAVE TEST PC
 14912	042722	202 15 0 00 030051 		MOVEM	AC+2,TESTPC
 14913	042723	201 15 0 00 000015 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 14914	042724	202 15 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 14915
 14916			020400		SN=20400
 14917			000000			ZZ=0
 14918
 14919					F20400:	REPEAT	^D18,<
 14920					SN=SN+1
 14921						ZZ=ZZ+ZZ
 14922						IFE	ZZ,<ZZ=1>
 14923						MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 14924						MOVEI	AC,ZZ		;SETUP DVND
 14925						MOVEI	AC-1,1		;SETUP DVSR
 14926						IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 14927						CAME	AC,AC-2		;TEST QUOT=DVND
 14928						ER3	AC,SN
 14929						JUMPE	AC+1,.+2	;TEST REMD=0
 14930						ER4	AC+1,SN		;IDIV FAILED
 14931						CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 14932						ER5	AC-1,SN		;C(E) WAS CLOBBERED
 14933						JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 14934					>
 14935
 14936			020401		SN=SN+1
 14937			000000			ZZ=ZZ+ZZ
 14938			000001			IFE	ZZ,<ZZ=1>
 14939	042725	201 11 0 00 000001 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 14940	042726	201 13 0 00 000001 		MOVEI	AC,ZZ		;SETUP DVND
 14941	042727	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 14942	042730	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 14943	042731	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 14944	042732	003 13 0 00 020401 		ER3	AC,SN
 14945	042733	322 14 0 00 042735 		JUMPE	AC+1,.+2	;TEST REMD=0
 14946	042734	004 14 0 00 020401 		ER4	AC+1,SN		;IDIV FAILED
 14947	042735	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 14948	042736	005 12 0 00 020401 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 14949	042737	321 15 0 00 042725 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 14950
 14951
 14952			020402		SN=SN+1
 14953			000002			ZZ=ZZ+ZZ
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 81-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0333

 14954						IFE	ZZ,<ZZ=1>
 14955	042740	201 11 0 00 000002 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 14956	042741	201 13 0 00 000002 		MOVEI	AC,ZZ		;SETUP DVND
 14957	042742	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 14958	042743	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 14959	042744	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 14960	042745	003 13 0 00 020402 		ER3	AC,SN
 14961	042746	322 14 0 00 042750 		JUMPE	AC+1,.+2	;TEST REMD=0
 14962	042747	004 14 0 00 020402 		ER4	AC+1,SN		;IDIV FAILED
 14963	042750	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 14964	042751	005 12 0 00 020402 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 14965	042752	321 15 0 00 042740 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 14966
 14967
 14968			020403		SN=SN+1
 14969			000004			ZZ=ZZ+ZZ
 14970						IFE	ZZ,<ZZ=1>
 14971	042753	201 11 0 00 000004 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 14972	042754	201 13 0 00 000004 		MOVEI	AC,ZZ		;SETUP DVND
 14973	042755	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 14974	042756	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 14975	042757	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 14976	042760	003 13 0 00 020403 		ER3	AC,SN
 14977	042761	322 14 0 00 042763 		JUMPE	AC+1,.+2	;TEST REMD=0
 14978	042762	004 14 0 00 020403 		ER4	AC+1,SN		;IDIV FAILED
 14979	042763	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 14980	042764	005 12 0 00 020403 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 14981	042765	321 15 0 00 042753 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 14982
 14983
 14984			020404		SN=SN+1
 14985			000010			ZZ=ZZ+ZZ
 14986						IFE	ZZ,<ZZ=1>
 14987	042766	201 11 0 00 000010 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 14988	042767	201 13 0 00 000010 		MOVEI	AC,ZZ		;SETUP DVND
 14989	042770	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 14990	042771	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 14991	042772	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 14992	042773	003 13 0 00 020404 		ER3	AC,SN
 14993	042774	322 14 0 00 042776 		JUMPE	AC+1,.+2	;TEST REMD=0
 14994	042775	004 14 0 00 020404 		ER4	AC+1,SN		;IDIV FAILED
 14995	042776	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 14996	042777	005 12 0 00 020404 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 14997	043000	321 15 0 00 042766 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 14998
 14999
 15000			020405		SN=SN+1
 15001			000020			ZZ=ZZ+ZZ
 15002						IFE	ZZ,<ZZ=1>
 15003	043001	201 11 0 00 000020 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 15004	043002	201 13 0 00 000020 		MOVEI	AC,ZZ		;SETUP DVND
 15005	043003	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15006	043004	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15007	043005	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15008	043006	003 13 0 00 020405 		ER3	AC,SN
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 81-2
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0334

 15009	043007	322 14 0 00 043011 		JUMPE	AC+1,.+2	;TEST REMD=0
 15010	043010	004 14 0 00 020405 		ER4	AC+1,SN		;IDIV FAILED
 15011	043011	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15012	043012	005 12 0 00 020405 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15013	043013	321 15 0 00 043001 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15014
 15015
 15016			020406		SN=SN+1
 15017			000040			ZZ=ZZ+ZZ
 15018						IFE	ZZ,<ZZ=1>
 15019	043014	201 11 0 00 000040 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 15020	043015	201 13 0 00 000040 		MOVEI	AC,ZZ		;SETUP DVND
 15021	043016	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15022	043017	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15023	043020	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15024	043021	003 13 0 00 020406 		ER3	AC,SN
 15025	043022	322 14 0 00 043024 		JUMPE	AC+1,.+2	;TEST REMD=0
 15026	043023	004 14 0 00 020406 		ER4	AC+1,SN		;IDIV FAILED
 15027	043024	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15028	043025	005 12 0 00 020406 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15029	043026	321 15 0 00 043014 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15030
 15031
 15032			020407		SN=SN+1
 15033			000100			ZZ=ZZ+ZZ
 15034						IFE	ZZ,<ZZ=1>
 15035	043027	201 11 0 00 000100 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 15036	043030	201 13 0 00 000100 		MOVEI	AC,ZZ		;SETUP DVND
 15037	043031	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15038	043032	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15039	043033	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15040	043034	003 13 0 00 020407 		ER3	AC,SN
 15041	043035	322 14 0 00 043037 		JUMPE	AC+1,.+2	;TEST REMD=0
 15042	043036	004 14 0 00 020407 		ER4	AC+1,SN		;IDIV FAILED
 15043	043037	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15044	043040	005 12 0 00 020407 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15045	043041	321 15 0 00 043027 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15046
 15047
 15048			020410		SN=SN+1
 15049			000200			ZZ=ZZ+ZZ
 15050						IFE	ZZ,<ZZ=1>
 15051	043042	201 11 0 00 000200 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 15052	043043	201 13 0 00 000200 		MOVEI	AC,ZZ		;SETUP DVND
 15053	043044	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15054	043045	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15055	043046	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15056	043047	003 13 0 00 020410 		ER3	AC,SN
 15057	043050	322 14 0 00 043052 		JUMPE	AC+1,.+2	;TEST REMD=0
 15058	043051	004 14 0 00 020410 		ER4	AC+1,SN		;IDIV FAILED
 15059	043052	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15060	043053	005 12 0 00 020410 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15061	043054	321 15 0 00 043042 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15062
 15063
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 81-3
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0335

 15064			020411		SN=SN+1
 15065			000400			ZZ=ZZ+ZZ
 15066						IFE	ZZ,<ZZ=1>
 15067	043055	201 11 0 00 000400 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 15068	043056	201 13 0 00 000400 		MOVEI	AC,ZZ		;SETUP DVND
 15069	043057	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15070	043060	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15071	043061	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15072	043062	003 13 0 00 020411 		ER3	AC,SN
 15073	043063	322 14 0 00 043065 		JUMPE	AC+1,.+2	;TEST REMD=0
 15074	043064	004 14 0 00 020411 		ER4	AC+1,SN		;IDIV FAILED
 15075	043065	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15076	043066	005 12 0 00 020411 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15077	043067	321 15 0 00 043055 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15078
 15079
 15080			020412		SN=SN+1
 15081			001000			ZZ=ZZ+ZZ
 15082						IFE	ZZ,<ZZ=1>
 15083	043070	201 11 0 00 001000 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 15084	043071	201 13 0 00 001000 		MOVEI	AC,ZZ		;SETUP DVND
 15085	043072	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15086	043073	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15087	043074	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15088	043075	003 13 0 00 020412 		ER3	AC,SN
 15089	043076	322 14 0 00 043100 		JUMPE	AC+1,.+2	;TEST REMD=0
 15090	043077	004 14 0 00 020412 		ER4	AC+1,SN		;IDIV FAILED
 15091	043100	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15092	043101	005 12 0 00 020412 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15093	043102	321 15 0 00 043070 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15094
 15095
 15096			020413		SN=SN+1
 15097			002000			ZZ=ZZ+ZZ
 15098						IFE	ZZ,<ZZ=1>
 15099	043103	201 11 0 00 002000 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 15100	043104	201 13 0 00 002000 		MOVEI	AC,ZZ		;SETUP DVND
 15101	043105	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15102	043106	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15103	043107	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15104	043110	003 13 0 00 020413 		ER3	AC,SN
 15105	043111	322 14 0 00 043113 		JUMPE	AC+1,.+2	;TEST REMD=0
 15106	043112	004 14 0 00 020413 		ER4	AC+1,SN		;IDIV FAILED
 15107	043113	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15108	043114	005 12 0 00 020413 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15109	043115	321 15 0 00 043103 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15110
 15111
 15112			020414		SN=SN+1
 15113			004000			ZZ=ZZ+ZZ
 15114						IFE	ZZ,<ZZ=1>
 15115	043116	201 11 0 00 004000 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 15116	043117	201 13 0 00 004000 		MOVEI	AC,ZZ		;SETUP DVND
 15117	043120	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15118	043121	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 81-4
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0336

 15119	043122	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15120	043123	003 13 0 00 020414 		ER3	AC,SN
 15121	043124	322 14 0 00 043126 		JUMPE	AC+1,.+2	;TEST REMD=0
 15122	043125	004 14 0 00 020414 		ER4	AC+1,SN		;IDIV FAILED
 15123	043126	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15124	043127	005 12 0 00 020414 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15125	043130	321 15 0 00 043116 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15126
 15127
 15128			020415		SN=SN+1
 15129			010000			ZZ=ZZ+ZZ
 15130						IFE	ZZ,<ZZ=1>
 15131	043131	201 11 0 00 010000 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 15132	043132	201 13 0 00 010000 		MOVEI	AC,ZZ		;SETUP DVND
 15133	043133	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15134	043134	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15135	043135	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15136	043136	003 13 0 00 020415 		ER3	AC,SN
 15137	043137	322 14 0 00 043141 		JUMPE	AC+1,.+2	;TEST REMD=0
 15138	043140	004 14 0 00 020415 		ER4	AC+1,SN		;IDIV FAILED
 15139	043141	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15140	043142	005 12 0 00 020415 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15141	043143	321 15 0 00 043131 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15142
 15143
 15144			020416		SN=SN+1
 15145			020000			ZZ=ZZ+ZZ
 15146						IFE	ZZ,<ZZ=1>
 15147	043144	201 11 0 00 020000 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 15148	043145	201 13 0 00 020000 		MOVEI	AC,ZZ		;SETUP DVND
 15149	043146	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15150	043147	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15151	043150	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15152	043151	003 13 0 00 020416 		ER3	AC,SN
 15153	043152	322 14 0 00 043154 		JUMPE	AC+1,.+2	;TEST REMD=0
 15154	043153	004 14 0 00 020416 		ER4	AC+1,SN		;IDIV FAILED
 15155	043154	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15156	043155	005 12 0 00 020416 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15157	043156	321 15 0 00 043144 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15158
 15159
 15160			020417		SN=SN+1
 15161			040000			ZZ=ZZ+ZZ
 15162						IFE	ZZ,<ZZ=1>
 15163	043157	201 11 0 00 040000 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 15164	043160	201 13 0 00 040000 		MOVEI	AC,ZZ		;SETUP DVND
 15165	043161	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15166	043162	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15167	043163	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15168	043164	003 13 0 00 020417 		ER3	AC,SN
 15169	043165	322 14 0 00 043167 		JUMPE	AC+1,.+2	;TEST REMD=0
 15170	043166	004 14 0 00 020417 		ER4	AC+1,SN		;IDIV FAILED
 15171	043167	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15172	043170	005 12 0 00 020417 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15173	043171	321 15 0 00 043157 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 81-5
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0337

 15174
 15175
 15176			020420		SN=SN+1
 15177			100000			ZZ=ZZ+ZZ
 15178						IFE	ZZ,<ZZ=1>
 15179	043172	201 11 0 00 100000 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 15180	043173	201 13 0 00 100000 		MOVEI	AC,ZZ		;SETUP DVND
 15181	043174	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15182	043175	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15183	043176	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15184	043177	003 13 0 00 020420 		ER3	AC,SN
 15185	043200	322 14 0 00 043202 		JUMPE	AC+1,.+2	;TEST REMD=0
 15186	043201	004 14 0 00 020420 		ER4	AC+1,SN		;IDIV FAILED
 15187	043202	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15188	043203	005 12 0 00 020420 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15189	043204	321 15 0 00 043172 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15190
 15191
 15192			020421		SN=SN+1
 15193			200000			ZZ=ZZ+ZZ
 15194						IFE	ZZ,<ZZ=1>
 15195	043205	201 11 0 00 200000 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 15196	043206	201 13 0 00 200000 		MOVEI	AC,ZZ		;SETUP DVND
 15197	043207	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15198	043210	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15199	043211	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15200	043212	003 13 0 00 020421 		ER3	AC,SN
 15201	043213	322 14 0 00 043215 		JUMPE	AC+1,.+2	;TEST REMD=0
 15202	043214	004 14 0 00 020421 		ER4	AC+1,SN		;IDIV FAILED
 15203	043215	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15204	043216	005 12 0 00 020421 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15205	043217	321 15 0 00 043205 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15206
 15207
 15208			020422		SN=SN+1
 15209			400000			ZZ=ZZ+ZZ
 15210						IFE	ZZ,<ZZ=1>
 15211	043220	201 11 0 00 400000 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 15212	043221	201 13 0 00 400000 		MOVEI	AC,ZZ		;SETUP DVND
 15213	043222	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15214	043223	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15215	043224	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15216	043225	003 13 0 00 020422 		ER3	AC,SN
 15217	043226	322 14 0 00 043230 		JUMPE	AC+1,.+2	;TEST REMD=0
 15218	043227	004 14 0 00 020422 		ER4	AC+1,SN		;IDIV FAILED
 15219	043230	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15220	043231	005 12 0 00 020422 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15221	043232	321 15 0 00 043220 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15222
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 82
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0338

 15223			020500		SN=20500
 15224			000000			ZZ=0
 15225
 15226					F20500:	REPEAT	^D17,<
 15227					SN=SN+1
 15228						ZZ=ZZ+ZZ
 15229						IFE	ZZ,<ZZ=1>
 15230						MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15231						MOVSI	AC,ZZ		;SETUP DVND
 15232						MOVEI	AC-1,1		;SETUP DVSR
 15233						IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15234						CAME	AC,AC-2		;TEST QUOT=DVND
 15235						ER3	AC,SN
 15236						JUMPE	AC+1,.+2	;TEST REMD=0
 15237						ER4	AC+1,SN		;IDIV FAILED
 15238						CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15239						ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15240						JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15241					>
 15242
 15243			020501		SN=SN+1
 15244			000000			ZZ=ZZ+ZZ
 15245			000001			IFE	ZZ,<ZZ=1>
 15246	043233	205 11 0 00 000001 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15247	043234	205 13 0 00 000001 		MOVSI	AC,ZZ		;SETUP DVND
 15248	043235	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15249	043236	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15250	043237	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15251	043240	003 13 0 00 020501 		ER3	AC,SN
 15252	043241	322 14 0 00 043243 		JUMPE	AC+1,.+2	;TEST REMD=0
 15253	043242	004 14 0 00 020501 		ER4	AC+1,SN		;IDIV FAILED
 15254	043243	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15255	043244	005 12 0 00 020501 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15256	043245	321 15 0 00 043233 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15257
 15258
 15259			020502		SN=SN+1
 15260			000002			ZZ=ZZ+ZZ
 15261						IFE	ZZ,<ZZ=1>
 15262	043246	205 11 0 00 000002 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15263	043247	205 13 0 00 000002 		MOVSI	AC,ZZ		;SETUP DVND
 15264	043250	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15265	043251	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15266	043252	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15267	043253	003 13 0 00 020502 		ER3	AC,SN
 15268	043254	322 14 0 00 043256 		JUMPE	AC+1,.+2	;TEST REMD=0
 15269	043255	004 14 0 00 020502 		ER4	AC+1,SN		;IDIV FAILED
 15270	043256	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15271	043257	005 12 0 00 020502 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15272	043260	321 15 0 00 043246 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15273
 15274
 15275			020503		SN=SN+1
 15276			000004			ZZ=ZZ+ZZ
 15277						IFE	ZZ,<ZZ=1>
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 82-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0339

 15278	043261	205 11 0 00 000004 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15279	043262	205 13 0 00 000004 		MOVSI	AC,ZZ		;SETUP DVND
 15280	043263	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15281	043264	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15282	043265	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15283	043266	003 13 0 00 020503 		ER3	AC,SN
 15284	043267	322 14 0 00 043271 		JUMPE	AC+1,.+2	;TEST REMD=0
 15285	043270	004 14 0 00 020503 		ER4	AC+1,SN		;IDIV FAILED
 15286	043271	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15287	043272	005 12 0 00 020503 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15288	043273	321 15 0 00 043261 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15289
 15290
 15291			020504		SN=SN+1
 15292			000010			ZZ=ZZ+ZZ
 15293						IFE	ZZ,<ZZ=1>
 15294	043274	205 11 0 00 000010 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15295	043275	205 13 0 00 000010 		MOVSI	AC,ZZ		;SETUP DVND
 15296	043276	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15297	043277	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15298	043300	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15299	043301	003 13 0 00 020504 		ER3	AC,SN
 15300	043302	322 14 0 00 043304 		JUMPE	AC+1,.+2	;TEST REMD=0
 15301	043303	004 14 0 00 020504 		ER4	AC+1,SN		;IDIV FAILED
 15302	043304	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15303	043305	005 12 0 00 020504 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15304	043306	321 15 0 00 043274 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15305
 15306
 15307			020505		SN=SN+1
 15308			000020			ZZ=ZZ+ZZ
 15309						IFE	ZZ,<ZZ=1>
 15310	043307	205 11 0 00 000020 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15311	043310	205 13 0 00 000020 		MOVSI	AC,ZZ		;SETUP DVND
 15312	043311	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15313	043312	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15314	043313	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15315	043314	003 13 0 00 020505 		ER3	AC,SN
 15316	043315	322 14 0 00 043317 		JUMPE	AC+1,.+2	;TEST REMD=0
 15317	043316	004 14 0 00 020505 		ER4	AC+1,SN		;IDIV FAILED
 15318	043317	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15319	043320	005 12 0 00 020505 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15320	043321	321 15 0 00 043307 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15321
 15322
 15323			020506		SN=SN+1
 15324			000040			ZZ=ZZ+ZZ
 15325						IFE	ZZ,<ZZ=1>
 15326	043322	205 11 0 00 000040 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15327	043323	205 13 0 00 000040 		MOVSI	AC,ZZ		;SETUP DVND
 15328	043324	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15329	043325	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15330	043326	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15331	043327	003 13 0 00 020506 		ER3	AC,SN
 15332	043330	322 14 0 00 043332 		JUMPE	AC+1,.+2	;TEST REMD=0
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 82-2
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0340

 15333	043331	004 14 0 00 020506 		ER4	AC+1,SN		;IDIV FAILED
 15334	043332	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15335	043333	005 12 0 00 020506 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15336	043334	321 15 0 00 043322 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15337
 15338
 15339			020507		SN=SN+1
 15340			000100			ZZ=ZZ+ZZ
 15341						IFE	ZZ,<ZZ=1>
 15342	043335	205 11 0 00 000100 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15343	043336	205 13 0 00 000100 		MOVSI	AC,ZZ		;SETUP DVND
 15344	043337	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15345	043340	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15346	043341	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15347	043342	003 13 0 00 020507 		ER3	AC,SN
 15348	043343	322 14 0 00 043345 		JUMPE	AC+1,.+2	;TEST REMD=0
 15349	043344	004 14 0 00 020507 		ER4	AC+1,SN		;IDIV FAILED
 15350	043345	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15351	043346	005 12 0 00 020507 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15352	043347	321 15 0 00 043335 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15353
 15354
 15355			020510		SN=SN+1
 15356			000200			ZZ=ZZ+ZZ
 15357						IFE	ZZ,<ZZ=1>
 15358	043350	205 11 0 00 000200 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15359	043351	205 13 0 00 000200 		MOVSI	AC,ZZ		;SETUP DVND
 15360	043352	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15361	043353	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15362	043354	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15363	043355	003 13 0 00 020510 		ER3	AC,SN
 15364	043356	322 14 0 00 043360 		JUMPE	AC+1,.+2	;TEST REMD=0
 15365	043357	004 14 0 00 020510 		ER4	AC+1,SN		;IDIV FAILED
 15366	043360	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15367	043361	005 12 0 00 020510 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15368	043362	321 15 0 00 043350 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15369
 15370
 15371			020511		SN=SN+1
 15372			000400			ZZ=ZZ+ZZ
 15373						IFE	ZZ,<ZZ=1>
 15374	043363	205 11 0 00 000400 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15375	043364	205 13 0 00 000400 		MOVSI	AC,ZZ		;SETUP DVND
 15376	043365	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15377	043366	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15378	043367	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15379	043370	003 13 0 00 020511 		ER3	AC,SN
 15380	043371	322 14 0 00 043373 		JUMPE	AC+1,.+2	;TEST REMD=0
 15381	043372	004 14 0 00 020511 		ER4	AC+1,SN		;IDIV FAILED
 15382	043373	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15383	043374	005 12 0 00 020511 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15384	043375	321 15 0 00 043363 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15385
 15386
 15387			020512		SN=SN+1
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 82-3
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0341

 15388			001000			ZZ=ZZ+ZZ
 15389						IFE	ZZ,<ZZ=1>
 15390	043376	205 11 0 00 001000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15391	043377	205 13 0 00 001000 		MOVSI	AC,ZZ		;SETUP DVND
 15392	043400	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15393	043401	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15394	043402	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15395	043403	003 13 0 00 020512 		ER3	AC,SN
 15396	043404	322 14 0 00 043406 		JUMPE	AC+1,.+2	;TEST REMD=0
 15397	043405	004 14 0 00 020512 		ER4	AC+1,SN		;IDIV FAILED
 15398	043406	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15399	043407	005 12 0 00 020512 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15400	043410	321 15 0 00 043376 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15401
 15402
 15403			020513		SN=SN+1
 15404			002000			ZZ=ZZ+ZZ
 15405						IFE	ZZ,<ZZ=1>
 15406	043411	205 11 0 00 002000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15407	043412	205 13 0 00 002000 		MOVSI	AC,ZZ		;SETUP DVND
 15408	043413	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15409	043414	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15410	043415	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15411	043416	003 13 0 00 020513 		ER3	AC,SN
 15412	043417	322 14 0 00 043421 		JUMPE	AC+1,.+2	;TEST REMD=0
 15413	043420	004 14 0 00 020513 		ER4	AC+1,SN		;IDIV FAILED
 15414	043421	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15415	043422	005 12 0 00 020513 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15416	043423	321 15 0 00 043411 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15417
 15418
 15419			020514		SN=SN+1
 15420			004000			ZZ=ZZ+ZZ
 15421						IFE	ZZ,<ZZ=1>
 15422	043424	205 11 0 00 004000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15423	043425	205 13 0 00 004000 		MOVSI	AC,ZZ		;SETUP DVND
 15424	043426	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15425	043427	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15426	043430	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15427	043431	003 13 0 00 020514 		ER3	AC,SN
 15428	043432	322 14 0 00 043434 		JUMPE	AC+1,.+2	;TEST REMD=0
 15429	043433	004 14 0 00 020514 		ER4	AC+1,SN		;IDIV FAILED
 15430	043434	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15431	043435	005 12 0 00 020514 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15432	043436	321 15 0 00 043424 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15433
 15434
 15435			020515		SN=SN+1
 15436			010000			ZZ=ZZ+ZZ
 15437						IFE	ZZ,<ZZ=1>
 15438	043437	205 11 0 00 010000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15439	043440	205 13 0 00 010000 		MOVSI	AC,ZZ		;SETUP DVND
 15440	043441	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15441	043442	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15442	043443	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 82-4
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0342

 15443	043444	003 13 0 00 020515 		ER3	AC,SN
 15444	043445	322 14 0 00 043447 		JUMPE	AC+1,.+2	;TEST REMD=0
 15445	043446	004 14 0 00 020515 		ER4	AC+1,SN		;IDIV FAILED
 15446	043447	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15447	043450	005 12 0 00 020515 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15448	043451	321 15 0 00 043437 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15449
 15450
 15451			020516		SN=SN+1
 15452			020000			ZZ=ZZ+ZZ
 15453						IFE	ZZ,<ZZ=1>
 15454	043452	205 11 0 00 020000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15455	043453	205 13 0 00 020000 		MOVSI	AC,ZZ		;SETUP DVND
 15456	043454	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15457	043455	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15458	043456	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15459	043457	003 13 0 00 020516 		ER3	AC,SN
 15460	043460	322 14 0 00 043462 		JUMPE	AC+1,.+2	;TEST REMD=0
 15461	043461	004 14 0 00 020516 		ER4	AC+1,SN		;IDIV FAILED
 15462	043462	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15463	043463	005 12 0 00 020516 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15464	043464	321 15 0 00 043452 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15465
 15466
 15467			020517		SN=SN+1
 15468			040000			ZZ=ZZ+ZZ
 15469						IFE	ZZ,<ZZ=1>
 15470	043465	205 11 0 00 040000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15471	043466	205 13 0 00 040000 		MOVSI	AC,ZZ		;SETUP DVND
 15472	043467	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15473	043470	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15474	043471	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15475	043472	003 13 0 00 020517 		ER3	AC,SN
 15476	043473	322 14 0 00 043475 		JUMPE	AC+1,.+2	;TEST REMD=0
 15477	043474	004 14 0 00 020517 		ER4	AC+1,SN		;IDIV FAILED
 15478	043475	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15479	043476	005 12 0 00 020517 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15480	043477	321 15 0 00 043465 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15481
 15482
 15483			020520		SN=SN+1
 15484			100000			ZZ=ZZ+ZZ
 15485						IFE	ZZ,<ZZ=1>
 15486	043500	205 11 0 00 100000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15487	043501	205 13 0 00 100000 		MOVSI	AC,ZZ		;SETUP DVND
 15488	043502	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15489	043503	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15490	043504	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15491	043505	003 13 0 00 020520 		ER3	AC,SN
 15492	043506	322 14 0 00 043510 		JUMPE	AC+1,.+2	;TEST REMD=0
 15493	043507	004 14 0 00 020520 		ER4	AC+1,SN		;IDIV FAILED
 15494	043510	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15495	043511	005 12 0 00 020520 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15496	043512	321 15 0 00 043500 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15497
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 82-5
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0343

 15498
 15499			020521		SN=SN+1
 15500			200000			ZZ=ZZ+ZZ
 15501						IFE	ZZ,<ZZ=1>
 15502	043513	205 11 0 00 200000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15503	043514	205 13 0 00 200000 		MOVSI	AC,ZZ		;SETUP DVND
 15504	043515	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15505	043516	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15506	043517	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15507	043520	003 13 0 00 020521 		ER3	AC,SN
 15508	043521	322 14 0 00 043523 		JUMPE	AC+1,.+2	;TEST REMD=0
 15509	043522	004 14 0 00 020521 		ER4	AC+1,SN		;IDIV FAILED
 15510	043523	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15511	043524	005 12 0 00 020521 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15512	043525	321 15 0 00 043513 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15513
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 83
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0344

 15514					;TEST IDIV IMMEDIATE - TWO POSITIVES
 15515					;TESTING IS ACCOMPLISHED BY DIVIDING
 15516					;AN ODD NUMBER BY E
 15517					;DVND=3,5,7,11 ETC
 15518					;DVSR=E (2)
 15519					;QUOT=1,2,4, ETC
 15520					;REMD=1
 15521
 15522			000014			AC=14
 15523						SAVEAC	(1,1)^
 15524	043526	201 16 0 00 043526 		MOVEI	AC+2,.		;SAVE TEST PC
 15525	043527	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
 15526	043530	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 15527	043531	202 16 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 15528
 15529			020600		SN=20600
 15530			000000			XX=0
 15531			000001			ZZ=1
 15532
 15533					F20600:	REPEAT	^D10,<
 15534					SN=SN+1
 15535						XX=XX+1
 15536						ZZ=ZZ+2
 15537						MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15538						MOVEI	AC,ZZ		;SETUP DVND
 15539						IDIVI	AC,2		;DIVIDE ZZ BY 2
 15540						CAME	AC,AC-2		;TEST QUOT
 15541						ER3	AC,SN
 15542						CAIE	AC+1,1		;TEST REMD=1
 15543						ER4	AC+1,SN		;IDIVI FAILED
 15544						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15545					>
 15546
 15547			020601		SN=SN+1
 15548			000001			XX=XX+1
 15549			000003			ZZ=ZZ+2
 15550	043532	201 12 0 00 000001 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15551	043533	201 14 0 00 000003 		MOVEI	AC,ZZ		;SETUP DVND
 15552	043534	231 14 0 00 000002 		IDIVI	AC,2		;DIVIDE ZZ BY 2
 15553	043535	312 14 0 00 000012 		CAME	AC,AC-2		;TEST QUOT
 15554	043536	003 14 0 00 020601 		ER3	AC,SN
 15555	043537	302 15 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15556	043540	004 15 0 00 020601 		ER4	AC+1,SN		;IDIVI FAILED
 15557	043541	321 16 0 00 043532 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15558
 15559
 15560			020602		SN=SN+1
 15561			000002			XX=XX+1
 15562			000005			ZZ=ZZ+2
 15563	043542	201 12 0 00 000002 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15564	043543	201 14 0 00 000005 		MOVEI	AC,ZZ		;SETUP DVND
 15565	043544	231 14 0 00 000002 		IDIVI	AC,2		;DIVIDE ZZ BY 2
 15566	043545	312 14 0 00 000012 		CAME	AC,AC-2		;TEST QUOT
 15567	043546	003 14 0 00 020602 		ER3	AC,SN
 15568	043547	302 15 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 83-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0345

 15569	043550	004 15 0 00 020602 		ER4	AC+1,SN		;IDIVI FAILED
 15570	043551	321 16 0 00 043542 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15571
 15572
 15573			020603		SN=SN+1
 15574			000003			XX=XX+1
 15575			000007			ZZ=ZZ+2
 15576	043552	201 12 0 00 000003 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15577	043553	201 14 0 00 000007 		MOVEI	AC,ZZ		;SETUP DVND
 15578	043554	231 14 0 00 000002 		IDIVI	AC,2		;DIVIDE ZZ BY 2
 15579	043555	312 14 0 00 000012 		CAME	AC,AC-2		;TEST QUOT
 15580	043556	003 14 0 00 020603 		ER3	AC,SN
 15581	043557	302 15 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15582	043560	004 15 0 00 020603 		ER4	AC+1,SN		;IDIVI FAILED
 15583	043561	321 16 0 00 043552 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15584
 15585
 15586			020604		SN=SN+1
 15587			000004			XX=XX+1
 15588			000011			ZZ=ZZ+2
 15589	043562	201 12 0 00 000004 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15590	043563	201 14 0 00 000011 		MOVEI	AC,ZZ		;SETUP DVND
 15591	043564	231 14 0 00 000002 		IDIVI	AC,2		;DIVIDE ZZ BY 2
 15592	043565	312 14 0 00 000012 		CAME	AC,AC-2		;TEST QUOT
 15593	043566	003 14 0 00 020604 		ER3	AC,SN
 15594	043567	302 15 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15595	043570	004 15 0 00 020604 		ER4	AC+1,SN		;IDIVI FAILED
 15596	043571	321 16 0 00 043562 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15597
 15598
 15599			020605		SN=SN+1
 15600			000005			XX=XX+1
 15601			000013			ZZ=ZZ+2
 15602	043572	201 12 0 00 000005 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15603	043573	201 14 0 00 000013 		MOVEI	AC,ZZ		;SETUP DVND
 15604	043574	231 14 0 00 000002 		IDIVI	AC,2		;DIVIDE ZZ BY 2
 15605	043575	312 14 0 00 000012 		CAME	AC,AC-2		;TEST QUOT
 15606	043576	003 14 0 00 020605 		ER3	AC,SN
 15607	043577	302 15 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15608	043600	004 15 0 00 020605 		ER4	AC+1,SN		;IDIVI FAILED
 15609	043601	321 16 0 00 043572 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15610
 15611
 15612			020606		SN=SN+1
 15613			000006			XX=XX+1
 15614			000015			ZZ=ZZ+2
 15615	043602	201 12 0 00 000006 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15616	043603	201 14 0 00 000015 		MOVEI	AC,ZZ		;SETUP DVND
 15617	043604	231 14 0 00 000002 		IDIVI	AC,2		;DIVIDE ZZ BY 2
 15618	043605	312 14 0 00 000012 		CAME	AC,AC-2		;TEST QUOT
 15619	043606	003 14 0 00 020606 		ER3	AC,SN
 15620	043607	302 15 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15621	043610	004 15 0 00 020606 		ER4	AC+1,SN		;IDIVI FAILED
 15622	043611	321 16 0 00 043602 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15623
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 83-2
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0346

 15624
 15625			020607		SN=SN+1
 15626			000007			XX=XX+1
 15627			000017			ZZ=ZZ+2
 15628	043612	201 12 0 00 000007 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15629	043613	201 14 0 00 000017 		MOVEI	AC,ZZ		;SETUP DVND
 15630	043614	231 14 0 00 000002 		IDIVI	AC,2		;DIVIDE ZZ BY 2
 15631	043615	312 14 0 00 000012 		CAME	AC,AC-2		;TEST QUOT
 15632	043616	003 14 0 00 020607 		ER3	AC,SN
 15633	043617	302 15 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15634	043620	004 15 0 00 020607 		ER4	AC+1,SN		;IDIVI FAILED
 15635	043621	321 16 0 00 043612 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15636
 15637
 15638			020610		SN=SN+1
 15639			000010			XX=XX+1
 15640			000021			ZZ=ZZ+2
 15641	043622	201 12 0 00 000010 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15642	043623	201 14 0 00 000021 		MOVEI	AC,ZZ		;SETUP DVND
 15643	043624	231 14 0 00 000002 		IDIVI	AC,2		;DIVIDE ZZ BY 2
 15644	043625	312 14 0 00 000012 		CAME	AC,AC-2		;TEST QUOT
 15645	043626	003 14 0 00 020610 		ER3	AC,SN
 15646	043627	302 15 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15647	043630	004 15 0 00 020610 		ER4	AC+1,SN		;IDIVI FAILED
 15648	043631	321 16 0 00 043622 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15649
 15650
 15651			020611		SN=SN+1
 15652			000011			XX=XX+1
 15653			000023			ZZ=ZZ+2
 15654	043632	201 12 0 00 000011 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15655	043633	201 14 0 00 000023 		MOVEI	AC,ZZ		;SETUP DVND
 15656	043634	231 14 0 00 000002 		IDIVI	AC,2		;DIVIDE ZZ BY 2
 15657	043635	312 14 0 00 000012 		CAME	AC,AC-2		;TEST QUOT
 15658	043636	003 14 0 00 020611 		ER3	AC,SN
 15659	043637	302 15 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15660	043640	004 15 0 00 020611 		ER4	AC+1,SN		;IDIVI FAILED
 15661	043641	321 16 0 00 043632 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15662
 15663
 15664			020612		SN=SN+1
 15665			000012			XX=XX+1
 15666			000025			ZZ=ZZ+2
 15667	043642	201 12 0 00 000012 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15668	043643	201 14 0 00 000025 		MOVEI	AC,ZZ		;SETUP DVND
 15669	043644	231 14 0 00 000002 		IDIVI	AC,2		;DIVIDE ZZ BY 2
 15670	043645	312 14 0 00 000012 		CAME	AC,AC-2		;TEST QUOT
 15671	043646	003 14 0 00 020612 		ER3	AC,SN
 15672	043647	302 15 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15673	043650	004 15 0 00 020612 		ER4	AC+1,SN		;IDIVI FAILED
 15674	043651	321 16 0 00 043642 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15675
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 84
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0347

 15676					;TEST IDIV MEMORY - TWO NEGATIVES
 15677					;TESTING IS ACCOMPLISHED BY DIVIDING
 15678					;A NEGATIVE NUMBER BY -1
 15679					;DVND=-1,-2,-4,-10,-20
 15680					;DVSR=-1
 15681					;QUOT=1,2,4,10,20
 15682					;REMD=0
 15683
 15684			000012			AC=12
 15685						SAVEAC	(1,1)^
 15686	043652	201 14 0 00 043652 		MOVEI	AC+2,.		;SAVE TEST PC
 15687	043653	202 14 0 00 030051 		MOVEM	AC+2,TESTPC
 15688	043654	201 14 0 00 000014 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 15689	043655	202 14 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 15690
 15691			020700		SN=20700
 15692			000000			XX=0
 15693			000000			ZZ=0
 15694
 15695					F20700:	REPEAT	^D5,<
 15696					SN=SN+1
 15697						XX=XX+XX
 15698						ZZ=ZZ+ZZ
 15699						IFE	XX,<XX=1>
 15700						IFE	ZZ,<ZZ=-1>
 15701						MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15702						HRROI	AC,ZZ		;SETUP DVND
 15703						SETO	AC-1,		;SETUP DVSR
 15704						MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 15705						IDIVM	AC,AC-1		;DIVIDE ZZ BY -1
 15706						CAME	AC-1,AC-2	;TEST QUOT
 15707						ER5	AC-1,SN		;IDIVM FAILED
 15708						CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 15709						ER3	AC,SN		;C(AC) WAS CLOBBERED
 15710						CAME	AC+1,<AC-3>&17	;WAS C(AC+1) ALTERED ?
 15711						ER4	AC+1,SN		;C(AC+1] WAS CLOBBERED
 15712						JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 15713					>
 15714
 15715			020701		SN=SN+1
 15716			000000			XX=XX+XX
 15717			000000			ZZ=ZZ+ZZ
 15718			000001			IFE	XX,<XX=1>
 15719		777777	777777			IFE	ZZ,<ZZ=-1>
 15720	043656	201 10 0 00 000001 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15721	043657	561 12 0 00 777777 		HRROI	AC,ZZ		;SETUP DVND
 15722	043660	474 11 0 00 000000 		SETO	AC-1,		;SETUP DVSR
 15723	043661	200 07 0 00 000013 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 15724	043662	232 12 0 00 000011 		IDIVM	AC,AC-1		;DIVIDE ZZ BY -1
 15725	043663	312 11 0 00 000010 		CAME	AC-1,AC-2	;TEST QUOT
 15726	043664	005 11 0 00 020701 		ER5	AC-1,SN		;IDIVM FAILED
 15727	043665	312 12 0 00 044617 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 15728	043666	003 12 0 00 020701 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 15729	043667	312 13 0 00 000007 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) ALTERED ?
 15730	043670	004 13 0 00 020701 		ER4	AC+1,SN		;C(AC+1] WAS CLOBBERED
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 84-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0348

 15731	043671	321 14 0 00 043656 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 15732
 15733
 15734			020702		SN=SN+1
 15735			000002			XX=XX+XX
 15736		777777	777776			ZZ=ZZ+ZZ
 15737						IFE	XX,<XX=1>
 15738						IFE	ZZ,<ZZ=-1>
 15739	043672	201 10 0 00 000002 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15740	043673	561 12 0 00 777776 		HRROI	AC,ZZ		;SETUP DVND
 15741	043674	474 11 0 00 000000 		SETO	AC-1,		;SETUP DVSR
 15742	043675	200 07 0 00 000013 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 15743	043676	232 12 0 00 000011 		IDIVM	AC,AC-1		;DIVIDE ZZ BY -1
 15744	043677	312 11 0 00 000010 		CAME	AC-1,AC-2	;TEST QUOT
 15745	043700	005 11 0 00 020702 		ER5	AC-1,SN		;IDIVM FAILED
 15746	043701	312 12 0 00 044621 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 15747	043702	003 12 0 00 020702 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 15748	043703	312 13 0 00 000007 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) ALTERED ?
 15749	043704	004 13 0 00 020702 		ER4	AC+1,SN		;C(AC+1] WAS CLOBBERED
 15750	043705	321 14 0 00 043672 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 15751
 15752
 15753			020703		SN=SN+1
 15754			000004			XX=XX+XX
 15755		777777	777774			ZZ=ZZ+ZZ
 15756						IFE	XX,<XX=1>
 15757						IFE	ZZ,<ZZ=-1>
 15758	043706	201 10 0 00 000004 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15759	043707	561 12 0 00 777774 		HRROI	AC,ZZ		;SETUP DVND
 15760	043710	474 11 0 00 000000 		SETO	AC-1,		;SETUP DVSR
 15761	043711	200 07 0 00 000013 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 15762	043712	232 12 0 00 000011 		IDIVM	AC,AC-1		;DIVIDE ZZ BY -1
 15763	043713	312 11 0 00 000010 		CAME	AC-1,AC-2	;TEST QUOT
 15764	043714	005 11 0 00 020703 		ER5	AC-1,SN		;IDIVM FAILED
 15765	043715	312 12 0 00 045325 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 15766	043716	003 12 0 00 020703 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 15767	043717	312 13 0 00 000007 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) ALTERED ?
 15768	043720	004 13 0 00 020703 		ER4	AC+1,SN		;C(AC+1] WAS CLOBBERED
 15769	043721	321 14 0 00 043706 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 15770
 15771
 15772			020704		SN=SN+1
 15773			000010			XX=XX+XX
 15774		777777	777770			ZZ=ZZ+ZZ
 15775						IFE	XX,<XX=1>
 15776						IFE	ZZ,<ZZ=-1>
 15777	043722	201 10 0 00 000010 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15778	043723	561 12 0 00 777770 		HRROI	AC,ZZ		;SETUP DVND
 15779	043724	474 11 0 00 000000 		SETO	AC-1,		;SETUP DVSR
 15780	043725	200 07 0 00 000013 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 15781	043726	232 12 0 00 000011 		IDIVM	AC,AC-1		;DIVIDE ZZ BY -1
 15782	043727	312 11 0 00 000010 		CAME	AC-1,AC-2	;TEST QUOT
 15783	043730	005 11 0 00 020704 		ER5	AC-1,SN		;IDIVM FAILED
 15784	043731	312 12 0 00 045305 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 15785	043732	003 12 0 00 020704 		ER3	AC,SN		;C(AC) WAS CLOBBERED
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 84-2
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0349

 15786	043733	312 13 0 00 000007 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) ALTERED ?
 15787	043734	004 13 0 00 020704 		ER4	AC+1,SN		;C(AC+1] WAS CLOBBERED
 15788	043735	321 14 0 00 043722 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 15789
 15790
 15791			020705		SN=SN+1
 15792			000020			XX=XX+XX
 15793		777777	777760			ZZ=ZZ+ZZ
 15794						IFE	XX,<XX=1>
 15795						IFE	ZZ,<ZZ=-1>
 15796	043736	201 10 0 00 000020 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15797	043737	561 12 0 00 777760 		HRROI	AC,ZZ		;SETUP DVND
 15798	043740	474 11 0 00 000000 		SETO	AC-1,		;SETUP DVSR
 15799	043741	200 07 0 00 000013 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 15800	043742	232 12 0 00 000011 		IDIVM	AC,AC-1		;DIVIDE ZZ BY -1
 15801	043743	312 11 0 00 000010 		CAME	AC-1,AC-2	;TEST QUOT
 15802	043744	005 11 0 00 020705 		ER5	AC-1,SN		;IDIVM FAILED
 15803	043745	312 12 0 00 045243 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 15804	043746	003 12 0 00 020705 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 15805	043747	312 13 0 00 000007 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) ALTERED ?
 15806	043750	004 13 0 00 020705 		ER4	AC+1,SN		;C(AC+1] WAS CLOBBERED
 15807	043751	321 14 0 00 043736 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 15808
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 85
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0350

 15809					;TEST IDIV BOTH - TWO POSITIVES
 15810					;TESTING IS ACCOMPLISHED BY DIVIDING
 15811					;AN INCREASING ODD NUMBER BY 2
 15812					;DVND=15,17,21,23,25
 15813					;DVSR=2
 15814					;QUOT=6,7,10,11,12
 15815					;REMD=1
 15816
 15817			000011			AC=11
 15818						SAVEAC	(1,1)^
 15819	043752	201 13 0 00 043752 		MOVEI	AC+2,.		;SAVE TEST PC
 15820	043753	202 13 0 00 030051 		MOVEM	AC+2,TESTPC
 15821	043754	201 13 0 00 000013 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 15822	043755	202 13 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 15823
 15824			021000		SN=21000
 15825			000005			XX=5
 15826			000013			ZZ=13
 15827
 15828					F21000:	REPEAT	^D5,<
 15829					SN=SN+1
 15830						XX=XX+1
 15831						ZZ=ZZ+2
 15832						MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15833						MOVEI	AC,ZZ		;SETUP DVND
 15834						MOVEI	AC-1,2		;SETUP DVSR
 15835						IDIVB	AC,AC-1		;DIVIDE ZZ BY 2
 15836						CAME	AC,AC-2		;TEST QUOT
 15837						ER3	AC,SN		;QUOT ERROR
 15838						CAME	AC,AC-1		;C(AC) = C(E)
 15839						ER5	AC-1,SN
 15840						CAIE	AC+1,1		;TEST REMD=1
 15841						ER4	AC+1,SN		;IDIVB FAILED
 15842						JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15843					>
 15844
 15845			021001		SN=SN+1
 15846			000006			XX=XX+1
 15847			000015			ZZ=ZZ+2
 15848	043756	201 07 0 00 000006 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15849	043757	201 11 0 00 000015 		MOVEI	AC,ZZ		;SETUP DVND
 15850	043760	201 10 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 15851	043761	233 11 0 00 000010 		IDIVB	AC,AC-1		;DIVIDE ZZ BY 2
 15852	043762	312 11 0 00 000007 		CAME	AC,AC-2		;TEST QUOT
 15853	043763	003 11 0 00 021001 		ER3	AC,SN		;QUOT ERROR
 15854	043764	312 11 0 00 000010 		CAME	AC,AC-1		;C(AC) = C(E)
 15855	043765	005 10 0 00 021001 		ER5	AC-1,SN
 15856	043766	302 12 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15857	043767	004 12 0 00 021001 		ER4	AC+1,SN		;IDIVB FAILED
 15858	043770	321 13 0 00 043756 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15859
 15860
 15861			021002		SN=SN+1
 15862			000007			XX=XX+1
 15863			000017			ZZ=ZZ+2
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 85-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0351

 15864	043771	201 07 0 00 000007 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15865	043772	201 11 0 00 000017 		MOVEI	AC,ZZ		;SETUP DVND
 15866	043773	201 10 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 15867	043774	233 11 0 00 000010 		IDIVB	AC,AC-1		;DIVIDE ZZ BY 2
 15868	043775	312 11 0 00 000007 		CAME	AC,AC-2		;TEST QUOT
 15869	043776	003 11 0 00 021002 		ER3	AC,SN		;QUOT ERROR
 15870	043777	312 11 0 00 000010 		CAME	AC,AC-1		;C(AC) = C(E)
 15871	044000	005 10 0 00 021002 		ER5	AC-1,SN
 15872	044001	302 12 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15873	044002	004 12 0 00 021002 		ER4	AC+1,SN		;IDIVB FAILED
 15874	044003	321 13 0 00 043771 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15875
 15876
 15877			021003		SN=SN+1
 15878			000010			XX=XX+1
 15879			000021			ZZ=ZZ+2
 15880	044004	201 07 0 00 000010 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15881	044005	201 11 0 00 000021 		MOVEI	AC,ZZ		;SETUP DVND
 15882	044006	201 10 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 15883	044007	233 11 0 00 000010 		IDIVB	AC,AC-1		;DIVIDE ZZ BY 2
 15884	044010	312 11 0 00 000007 		CAME	AC,AC-2		;TEST QUOT
 15885	044011	003 11 0 00 021003 		ER3	AC,SN		;QUOT ERROR
 15886	044012	312 11 0 00 000010 		CAME	AC,AC-1		;C(AC) = C(E)
 15887	044013	005 10 0 00 021003 		ER5	AC-1,SN
 15888	044014	302 12 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15889	044015	004 12 0 00 021003 		ER4	AC+1,SN		;IDIVB FAILED
 15890	044016	321 13 0 00 044004 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15891
 15892
 15893			021004		SN=SN+1
 15894			000011			XX=XX+1
 15895			000023			ZZ=ZZ+2
 15896	044017	201 07 0 00 000011 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15897	044020	201 11 0 00 000023 		MOVEI	AC,ZZ		;SETUP DVND
 15898	044021	201 10 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 15899	044022	233 11 0 00 000010 		IDIVB	AC,AC-1		;DIVIDE ZZ BY 2
 15900	044023	312 11 0 00 000007 		CAME	AC,AC-2		;TEST QUOT
 15901	044024	003 11 0 00 021004 		ER3	AC,SN		;QUOT ERROR
 15902	044025	312 11 0 00 000010 		CAME	AC,AC-1		;C(AC) = C(E)
 15903	044026	005 10 0 00 021004 		ER5	AC-1,SN
 15904	044027	302 12 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15905	044030	004 12 0 00 021004 		ER4	AC+1,SN		;IDIVB FAILED
 15906	044031	321 13 0 00 044017 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15907
 15908
 15909			021005		SN=SN+1
 15910			000012			XX=XX+1
 15911			000025			ZZ=ZZ+2
 15912	044032	201 07 0 00 000012 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15913	044033	201 11 0 00 000025 		MOVEI	AC,ZZ		;SETUP DVND
 15914	044034	201 10 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 15915	044035	233 11 0 00 000010 		IDIVB	AC,AC-1		;DIVIDE ZZ BY 2
 15916	044036	312 11 0 00 000007 		CAME	AC,AC-2		;TEST QUOT
 15917	044037	003 11 0 00 021005 		ER3	AC,SN		;QUOT ERROR
 15918	044040	312 11 0 00 000010 		CAME	AC,AC-1		;C(AC) = C(E)
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 85-2
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0352

 15919	044041	005 10 0 00 021005 		ER5	AC-1,SN
 15920	044042	302 12 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15921	044043	004 12 0 00 021005 		ER4	AC+1,SN		;IDIVB FAILED
 15922	044044	321 13 0 00 044032 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15923
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 86
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0353

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

 15979			000010			ZZ=ZZ+ZZ
 15980	044065	205 06 0 00 002000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 15981	044066	201 10 0 00 000010 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 15982	044067	400 11 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 15983	044070	201 07 0 00 002000 		MOVEI	AC-1,2000	;SETUP DVSR
 15984	044071	234 10 0 00 000007 		DIV	AC,AC-1		;DIVIDE ZZ BY 2000
 15985	044072	312 10 0 00 000006 		CAME	AC,AC-2		;TEST QUOT
 15986	044073	003 10 0 00 021102 		ER3	AC,SN
 15987	044074	322 11 0 00 044076 		JUMPE	AC+1,.+2	;TEST REMD
 15988	044075	004 11 0 00 021102 		ER4	AC+1,SN		;DIV FAILED
 15989	044076	302 07 0 00 002000 		CAIE	AC-1,2000	;WAS C(E) MODIFIED ?
 15990	044077	005 07 0 00 021102 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15991	044100	321 12 0 00 044065 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 15992
 15993
 15994			021103		SN=SN+1
 15995			004000			XX=XX+XX
 15996			000020			ZZ=ZZ+ZZ
 15997	044101	205 06 0 00 004000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 15998	044102	201 10 0 00 000020 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 15999	044103	400 11 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 16000	044104	201 07 0 00 002000 		MOVEI	AC-1,2000	;SETUP DVSR
 16001	044105	234 10 0 00 000007 		DIV	AC,AC-1		;DIVIDE ZZ BY 2000
 16002	044106	312 10 0 00 000006 		CAME	AC,AC-2		;TEST QUOT
 16003	044107	003 10 0 00 021103 		ER3	AC,SN
 16004	044110	322 11 0 00 044112 		JUMPE	AC+1,.+2	;TEST REMD
 16005	044111	004 11 0 00 021103 		ER4	AC+1,SN		;DIV FAILED
 16006	044112	302 07 0 00 002000 		CAIE	AC-1,2000	;WAS C(E) MODIFIED ?
 16007	044113	005 07 0 00 021103 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 16008	044114	321 12 0 00 044101 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 16009
 16010
 16011			021104		SN=SN+1
 16012			010000			XX=XX+XX
 16013			000040			ZZ=ZZ+ZZ
 16014	044115	205 06 0 00 010000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 16015	044116	201 10 0 00 000040 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 16016	044117	400 11 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 16017	044120	201 07 0 00 002000 		MOVEI	AC-1,2000	;SETUP DVSR
 16018	044121	234 10 0 00 000007 		DIV	AC,AC-1		;DIVIDE ZZ BY 2000
 16019	044122	312 10 0 00 000006 		CAME	AC,AC-2		;TEST QUOT
 16020	044123	003 10 0 00 021104 		ER3	AC,SN
 16021	044124	322 11 0 00 044126 		JUMPE	AC+1,.+2	;TEST REMD
 16022	044125	004 11 0 00 021104 		ER4	AC+1,SN		;DIV FAILED
 16023	044126	302 07 0 00 002000 		CAIE	AC-1,2000	;WAS C(E) MODIFIED ?
 16024	044127	005 07 0 00 021104 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 16025	044130	321 12 0 00 044115 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 16026
 16027
 16028			021105		SN=SN+1
 16029			020000			XX=XX+XX
 16030			000100			ZZ=ZZ+ZZ
 16031	044131	205 06 0 00 020000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 16032	044132	201 10 0 00 000100 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 16033	044133	400 11 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 86-2
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0355

 16034	044134	201 07 0 00 002000 		MOVEI	AC-1,2000	;SETUP DVSR
 16035	044135	234 10 0 00 000007 		DIV	AC,AC-1		;DIVIDE ZZ BY 2000
 16036	044136	312 10 0 00 000006 		CAME	AC,AC-2		;TEST QUOT
 16037	044137	003 10 0 00 021105 		ER3	AC,SN
 16038	044140	322 11 0 00 044142 		JUMPE	AC+1,.+2	;TEST REMD
 16039	044141	004 11 0 00 021105 		ER4	AC+1,SN		;DIV FAILED
 16040	044142	302 07 0 00 002000 		CAIE	AC-1,2000	;WAS C(E) MODIFIED ?
 16041	044143	005 07 0 00 021105 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 16042	044144	321 12 0 00 044131 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 16043
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 87
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0356

 16044					;TEST DIV IMMEDIATE - TWO POSITIVES
 16045					;HIGH DVND=0
 16046					;LOW DVND=3,4,5,6,7
 16047					;DVSR=E (2,3,4,5,6)
 16048					;QUOT=1
 16049					;REMD=1
 16050
 16051			000007			AC=7
 16052						SAVEAC	(1,1)^
 16053	044145	201 11 0 00 044145 		MOVEI	AC+2,.		;SAVE TEST PC
 16054	044146	202 11 0 00 030051 		MOVEM	AC+2,TESTPC
 16055	044147	201 11 0 00 000011 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 16056	044150	202 11 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 16057
 16058			021200		SN=21200
 16059			000001			XX=1
 16060			000002			ZZ=2
 16061					F21200:	REPEAT	^D5,<
 16062					SN=SN+1
 16063						XX=XX+1
 16064						ZZ=ZZ+1
 16065						SETZ	AC,		;SETUP HIGH DVND
 16066						MOVEI	AC+1,ZZ		;SETUP LOW DVND
 16067						DIVI	AC,XX		;SETUP DVSR
 16068						CAIE	AC,1		;TEST QUOT=1
 16069						ER3	AC,SN
 16070						CAIE	AC+1,1		;TEST QUOT=REMD
 16071						ER4	AC+1,SN		;DIVI FAILED
 16072						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 16073					>
 16074
 16075			021201		SN=SN+1
 16076			000002			XX=XX+1
 16077			000003			ZZ=ZZ+1
 16078	044151	400 07 0 00 000000 		SETZ	AC,		;SETUP HIGH DVND
 16079	044152	201 10 0 00 000003 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 16080	044153	235 07 0 00 000002 		DIVI	AC,XX		;SETUP DVSR
 16081	044154	302 07 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 16082	044155	003 07 0 00 021201 		ER3	AC,SN
 16083	044156	302 10 0 00 000001 		CAIE	AC+1,1		;TEST QUOT=REMD
 16084	044157	004 10 0 00 021201 		ER4	AC+1,SN		;DIVI FAILED
 16085	044160	321 11 0 00 044151 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 16086
 16087
 16088			021202		SN=SN+1
 16089			000003			XX=XX+1
 16090			000004			ZZ=ZZ+1
 16091	044161	400 07 0 00 000000 		SETZ	AC,		;SETUP HIGH DVND
 16092	044162	201 10 0 00 000004 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 16093	044163	235 07 0 00 000003 		DIVI	AC,XX		;SETUP DVSR
 16094	044164	302 07 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 16095	044165	003 07 0 00 021202 		ER3	AC,SN
 16096	044166	302 10 0 00 000001 		CAIE	AC+1,1		;TEST QUOT=REMD
 16097	044167	004 10 0 00 021202 		ER4	AC+1,SN		;DIVI FAILED
 16098	044170	321 11 0 00 044161 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 87-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0357

 16099
 16100
 16101			021203		SN=SN+1
 16102			000004			XX=XX+1
 16103			000005			ZZ=ZZ+1
 16104	044171	400 07 0 00 000000 		SETZ	AC,		;SETUP HIGH DVND
 16105	044172	201 10 0 00 000005 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 16106	044173	235 07 0 00 000004 		DIVI	AC,XX		;SETUP DVSR
 16107	044174	302 07 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 16108	044175	003 07 0 00 021203 		ER3	AC,SN
 16109	044176	302 10 0 00 000001 		CAIE	AC+1,1		;TEST QUOT=REMD
 16110	044177	004 10 0 00 021203 		ER4	AC+1,SN		;DIVI FAILED
 16111	044200	321 11 0 00 044171 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 16112
 16113
 16114			021204		SN=SN+1
 16115			000005			XX=XX+1
 16116			000006			ZZ=ZZ+1
 16117	044201	400 07 0 00 000000 		SETZ	AC,		;SETUP HIGH DVND
 16118	044202	201 10 0 00 000006 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 16119	044203	235 07 0 00 000005 		DIVI	AC,XX		;SETUP DVSR
 16120	044204	302 07 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 16121	044205	003 07 0 00 021204 		ER3	AC,SN
 16122	044206	302 10 0 00 000001 		CAIE	AC+1,1		;TEST QUOT=REMD
 16123	044207	004 10 0 00 021204 		ER4	AC+1,SN		;DIVI FAILED
 16124	044210	321 11 0 00 044201 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 16125
 16126
 16127			021205		SN=SN+1
 16128			000006			XX=XX+1
 16129			000007			ZZ=ZZ+1
 16130	044211	400 07 0 00 000000 		SETZ	AC,		;SETUP HIGH DVND
 16131	044212	201 10 0 00 000007 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 16132	044213	235 07 0 00 000006 		DIVI	AC,XX		;SETUP DVSR
 16133	044214	302 07 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 16134	044215	003 07 0 00 021205 		ER3	AC,SN
 16135	044216	302 10 0 00 000001 		CAIE	AC+1,1		;TEST QUOT=REMD
 16136	044217	004 10 0 00 021205 		ER4	AC+1,SN		;DIVI FAILED
 16137	044220	321 11 0 00 044211 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 16138
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 88
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0358

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

 16194		777777	777774			ZZ=ZZ+ZZ
 16195	044241	205 04 0 00 010000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 16196	044242	561 06 0 00 777774 		HRROI	AC,ZZ		;SETUP HIGH DVND
 16197	044243	400 07 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 16198	044244	561 05 0 00 777600 		HRROI	AC-1,-200	;SETUP DVSR
 16199	044245	236 06 0 00 000005 		DIVM	AC,AC-1		;DIVIDE ZZ BY -200
 16200	044246	312 05 0 00 000004 		CAME	AC-1,AC-2	;TEST QUOT
 16201	044247	005 05 0 00 021302 		ER5	AC-1,SN		;DIVM FAILED
 16202	044250	312 06 0 00 045325 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 16203	044251	003 06 0 00 021302 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 16204	044252	332 00 0 00 000007 		SKIPE	<AC+1>&17	;WAS C(AC+1) MODIFIED ?
 16205	044253	004 07 0 00 021302 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 16206	044254	321 10 0 00 044241 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 16207
 16208
 16209			021303		SN=SN+1
 16210			020000			XX=XX+XX
 16211		777777	777770			ZZ=ZZ+ZZ
 16212	044255	205 04 0 00 020000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 16213	044256	561 06 0 00 777770 		HRROI	AC,ZZ		;SETUP HIGH DVND
 16214	044257	400 07 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 16215	044260	561 05 0 00 777600 		HRROI	AC-1,-200	;SETUP DVSR
 16216	044261	236 06 0 00 000005 		DIVM	AC,AC-1		;DIVIDE ZZ BY -200
 16217	044262	312 05 0 00 000004 		CAME	AC-1,AC-2	;TEST QUOT
 16218	044263	005 05 0 00 021303 		ER5	AC-1,SN		;DIVM FAILED
 16219	044264	312 06 0 00 045305 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 16220	044265	003 06 0 00 021303 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 16221	044266	332 00 0 00 000007 		SKIPE	<AC+1>&17	;WAS C(AC+1) MODIFIED ?
 16222	044267	004 07 0 00 021303 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 16223	044270	321 10 0 00 044255 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 16224
 16225
 16226			021304		SN=SN+1
 16227			040000			XX=XX+XX
 16228		777777	777760			ZZ=ZZ+ZZ
 16229	044271	205 04 0 00 040000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 16230	044272	561 06 0 00 777760 		HRROI	AC,ZZ		;SETUP HIGH DVND
 16231	044273	400 07 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 16232	044274	561 05 0 00 777600 		HRROI	AC-1,-200	;SETUP DVSR
 16233	044275	236 06 0 00 000005 		DIVM	AC,AC-1		;DIVIDE ZZ BY -200
 16234	044276	312 05 0 00 000004 		CAME	AC-1,AC-2	;TEST QUOT
 16235	044277	005 05 0 00 021304 		ER5	AC-1,SN		;DIVM FAILED
 16236	044300	312 06 0 00 045243 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 16237	044301	003 06 0 00 021304 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 16238	044302	332 00 0 00 000007 		SKIPE	<AC+1>&17	;WAS C(AC+1) MODIFIED ?
 16239	044303	004 07 0 00 021304 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 16240	044304	321 10 0 00 044271 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 16241
 16242
 16243			021305		SN=SN+1
 16244			100000			XX=XX+XX
 16245		777777	777740			ZZ=ZZ+ZZ
 16246	044305	205 04 0 00 100000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 16247	044306	561 06 0 00 777740 		HRROI	AC,ZZ		;SETUP HIGH DVND
 16248	044307	400 07 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 88-2
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0360

 16249	044310	561 05 0 00 777600 		HRROI	AC-1,-200	;SETUP DVSR
 16250	044311	236 06 0 00 000005 		DIVM	AC,AC-1		;DIVIDE ZZ BY -200
 16251	044312	312 05 0 00 000004 		CAME	AC-1,AC-2	;TEST QUOT
 16252	044313	005 05 0 00 021305 		ER5	AC-1,SN		;DIVM FAILED
 16253	044314	312 06 0 00 045244 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 16254	044315	003 06 0 00 021305 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 16255	044316	332 00 0 00 000007 		SKIPE	<AC+1>&17	;WAS C(AC+1) MODIFIED ?
 16256	044317	004 07 0 00 021305 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 16257	044320	321 10 0 00 044305 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 16258
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 89
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0361

 16259					;TEST DIV BOTH - TWO POSITIVES
 16260					;HIGH DVND 2,4,10,20,40
 16261					;LOW DVND 2,4,10,20,40
 16262					;DVSR=200
 16263					;QUOT=00400000000, 010000000000 ETC
 16264					;REMD=2,4,10,20,40
 16265
 16266			000005			AC=5
 16267						SAVEAC	(1,1)^
 16268	044321	201 07 0 00 044321 		MOVEI	AC+2,.		;SAVE TEST PC
 16269	044322	202 07 0 00 030051 		MOVEM	AC+2,TESTPC
 16270	044323	201 07 0 00 000007 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 16271	044324	202 07 0 00 045447 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 16272
 16273			021400		SN=21400
 16274			002000			XX=002000
 16275			000001			ZZ=1
 16276
 16277					F21400:	REPEAT	^D5,<
 16278					SN=SN+1
 16279						XX=XX+XX
 16280						ZZ=ZZ+ZZ
 16281						MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 16282						MOVEI	AC,ZZ		;SETUP HIGH DVND
 16283						MOVEI	AC+1,ZZ		;SETUP LOW DVND
 16284						MOVEI	AC-1,200	;SETUP DVSR
 16285						DIVB	AC,AC-1		;DIVIDE ZZ BY 200
 16286						CAME	AC,AC-2		;TEST QUOT
 16287						ER3	AC,SN		;QUOT ERROR
 16288						CAME	AC-1,AC-2	;TEST C(AC) = C(E)
 16289						ER5	AC-1,SN
 16290						CAIE	AC+1,ZZ		;TEST REMD
 16291						ER4	AC+1,SN		;DIVB FAILED
 16292						JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 16293					>
 16294
 16295			021401		SN=SN+1
 16296			004000			XX=XX+XX
 16297			000002			ZZ=ZZ+ZZ
 16298	044325	205 03 0 00 004000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 16299	044326	201 05 0 00 000002 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 16300	044327	201 06 0 00 000002 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 16301	044330	201 04 0 00 000200 		MOVEI	AC-1,200	;SETUP DVSR
 16302	044331	237 05 0 00 000004 		DIVB	AC,AC-1		;DIVIDE ZZ BY 200
 16303	044332	312 05 0 00 000003 		CAME	AC,AC-2		;TEST QUOT
 16304	044333	003 05 0 00 021401 		ER3	AC,SN		;QUOT ERROR
 16305	044334	312 04 0 00 000003 		CAME	AC-1,AC-2	;TEST C(AC) = C(E)
 16306	044335	005 04 0 00 021401 		ER5	AC-1,SN
 16307	044336	302 06 0 00 000002 		CAIE	AC+1,ZZ		;TEST REMD
 16308	044337	004 06 0 00 021401 		ER4	AC+1,SN		;DIVB FAILED
 16309	044340	321 07 0 00 044325 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 16310
 16311
 16312			021402		SN=SN+1
 16313			010000			XX=XX+XX
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 89-1
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0362

 16314			000004			ZZ=ZZ+ZZ
 16315	044341	205 03 0 00 010000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 16316	044342	201 05 0 00 000004 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 16317	044343	201 06 0 00 000004 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 16318	044344	201 04 0 00 000200 		MOVEI	AC-1,200	;SETUP DVSR
 16319	044345	237 05 0 00 000004 		DIVB	AC,AC-1		;DIVIDE ZZ BY 200
 16320	044346	312 05 0 00 000003 		CAME	AC,AC-2		;TEST QUOT
 16321	044347	003 05 0 00 021402 		ER3	AC,SN		;QUOT ERROR
 16322	044350	312 04 0 00 000003 		CAME	AC-1,AC-2	;TEST C(AC) = C(E)
 16323	044351	005 04 0 00 021402 		ER5	AC-1,SN
 16324	044352	302 06 0 00 000004 		CAIE	AC+1,ZZ		;TEST REMD
 16325	044353	004 06 0 00 021402 		ER4	AC+1,SN		;DIVB FAILED
 16326	044354	321 07 0 00 044341 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 16327
 16328
 16329			021403		SN=SN+1
 16330			020000			XX=XX+XX
 16331			000010			ZZ=ZZ+ZZ
 16332	044355	205 03 0 00 020000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 16333	044356	201 05 0 00 000010 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 16334	044357	201 06 0 00 000010 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 16335	044360	201 04 0 00 000200 		MOVEI	AC-1,200	;SETUP DVSR
 16336	044361	237 05 0 00 000004 		DIVB	AC,AC-1		;DIVIDE ZZ BY 200
 16337	044362	312 05 0 00 000003 		CAME	AC,AC-2		;TEST QUOT
 16338	044363	003 05 0 00 021403 		ER3	AC,SN		;QUOT ERROR
 16339	044364	312 04 0 00 000003 		CAME	AC-1,AC-2	;TEST C(AC) = C(E)
 16340	044365	005 04 0 00 021403 		ER5	AC-1,SN
 16341	044366	302 06 0 00 000010 		CAIE	AC+1,ZZ		;TEST REMD
 16342	044367	004 06 0 00 021403 		ER4	AC+1,SN		;DIVB FAILED
 16343	044370	321 07 0 00 044355 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 16344
 16345
 16346			021404		SN=SN+1
 16347			040000			XX=XX+XX
 16348			000020			ZZ=ZZ+ZZ
 16349	044371	205 03 0 00 040000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 16350	044372	201 05 0 00 000020 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 16351	044373	201 06 0 00 000020 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 16352	044374	201 04 0 00 000200 		MOVEI	AC-1,200	;SETUP DVSR
 16353	044375	237 05 0 00 000004 		DIVB	AC,AC-1		;DIVIDE ZZ BY 200
 16354	044376	312 05 0 00 000003 		CAME	AC,AC-2		;TEST QUOT
 16355	044377	003 05 0 00 021404 		ER3	AC,SN		;QUOT ERROR
 16356	044400	312 04 0 00 000003 		CAME	AC-1,AC-2	;TEST C(AC) = C(E)
 16357	044401	005 04 0 00 021404 		ER5	AC-1,SN
 16358	044402	302 06 0 00 000020 		CAIE	AC+1,ZZ		;TEST REMD
 16359	044403	004 06 0 00 021404 		ER4	AC+1,SN		;DIVB FAILED
 16360	044404	321 07 0 00 044371 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 16361
 16362
 16363			021405		SN=SN+1
 16364			100000			XX=XX+XX
 16365			000040			ZZ=ZZ+ZZ
 16366	044405	205 03 0 00 100000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 16367	044406	201 05 0 00 000040 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 16368	044407	201 06 0 00 000040 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 89-2
DAKALM	MAC	20-JAN-77 11:20		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0363

 16369	044410	201 04 0 00 000200 		MOVEI	AC-1,200	;SETUP DVSR
 16370	044411	237 05 0 00 000004 		DIVB	AC,AC-1		;DIVIDE ZZ BY 200
 16371	044412	312 05 0 00 000003 		CAME	AC,AC-2		;TEST QUOT
 16372	044413	003 05 0 00 021405 		ER3	AC,SN		;QUOT ERROR
 16373	044414	312 04 0 00 000003 		CAME	AC-1,AC-2	;TEST C(AC) = C(E)
 16374	044415	005 04 0 00 021405 		ER5	AC-1,SN
 16375	044416	302 06 0 00 000040 		CAIE	AC+1,ZZ		;TEST REMD
 16376	044417	004 06 0 00 021405 		ER4	AC+1,SN		;DIVB FAILED
 16377	044420	321 07 0 00 044405 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 16378
 16379
 16380	044421	254 00 0 00 030057 	LAST1:	JRST	BEGEND		;REPEAT DIAGNOSTIC
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 1
UUOERR	KLM	22-APR-75 01:42		*UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975                       SEQ 0364

 16381					SUBTTL	*UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975
 16382
 16383					;THIS SUBROUTINE PROVIDES ERROR REPORTING THRU THE USE OF UUO'S.
 16384
 16385	044422	202 00 0 00 045453 	ERRMES:	MOVEM	0,%ERAC0#	;SAVE AC0
 16386						IFDEF	EXCASB,<IFDEF	KI10,<
 16387						SKIPN	KAIFLG
 16388						JRST	.+5
 16389						SKIPE	USER		;USER MODE ?
 16390						JRST	.+3
 16391						SKIPE	MARGIN
 16392						DATAO	APR,[IMGNOF,,ISPDOF] ;CLR MARGINS >>
 16393	044423	202 01 0 00 045454 		MOVEM	1,%ERAC1#	;SAVE AC1
 16394	044424	202 02 0 00 045455 		MOVEM	2,%ERAC2#	;SAVE AC2
 16395	044425	350 00 0 00 030053 		AOS	ERRTLS		;INCREMENT ERROR TOTALS
 16396	044426	550 00 0 00 030114 		HRRZ	0,$SVUPC	;GET PC OF UUO
 16397	044427	316 00 0 00 030052 		CAMN	0,ERRPC		;PC = PC OF LAST ERROR ?
 16398	044430	350 00 0 00 045450 		AOS	MICNT#		;YES, ADD 1 TO ERROR COUNT
 16399	044431	200 00 0 00 045450 		MOVE	0,MICNT
 16400	044432	504 00 0 00 030114 		HRL	0,$SVUPC
 16401	044433	336 00 0 00 030041 		SKIPN	KLFLG		;NOT KL10
 16402	044434	332 00 0 00 030037 		SKIPE	USER		;AND NOT USER?
 16403	044435	254 00 0 00 044437 		JRST	.+2
 16404	044436	7 004 14 0 00 000000 		DATAO	PI,0		;YES, DISPLAY ERROR PC,ERROR COUNT
 16405	044437	402 00 0 00 045451 		SETZM	PROCED#		;CLEAR PROCEED FLAG
 16406	044440	037 10 0 00 000002 		SWITCH
 16407	044441	603 00 0 00 040000 		TLNE	NOPNT		;PRINTOUT ?
 16408	044442	254 00 0 00 044555 		JRST	%ERRS1		;NO, RESTORE AC'S AND RETURN
 16409	044443	200 01 0 00 030113 		MOVE	1,$SVUUO
 16410	044444	242 01 0 00 777745 		LSH	1,-^D27
 16411	044445	202 01 0 00 045452 		MOVEM	1,%ACS1A#	;SAVE UUO NUMBER
 16412	044446	200 00 0 00 045453 		MOVE	0,%ERAC0
 16413	044447	200 01 0 00 045454 		MOVE	1,%ERAC1
 16414	044450	335 00 1 00 045447 		SKIPGE	@ERRLOP		;ERR LOOP AC > OR = 0 ?
 16415	044451	254 00 0 00 044607 		JRST	%ERRS4		;NO, SEE IF PRINT ALL
 16416	044452	402 00 0 00 045450 	%ERMS1:	SETZM	MICNT		;CLEAR ERROR COUNT
 16417	044453	331 00 0 00 030043 		SKIPL	MONCTL		;DIAG MON OR SYS EXER ?
 16418	044454	254 00 0 00 044460 		JRST	.+4		;NO, DON'T NEED TITLE
 16419	044455	336 00 0 00 045456 		SKIPN	%ERFST#		;FIRST ERROR ?
 16420	044456	037 04 0 00 000002 		PNTNM			;YES, PRINT PROGRAM TITLE
 16421	044457	476 00 0 00 045456 		SETOM	%ERFST
 16422	044460	336 00 0 00 030047 		SKIPN	PASCNT		;FIRST PASS ?
 16423	044461	254 00 0 00 044465 		JRST	.+4		;YES
 16424						PMSG	<^TEST PASS COUNT = >^
 16425	044462	037 02 0 00 045335 		PSIXM	[SIXBIT\^TEST PASS COUNT = _\]^
 16426	044463	200 00 0 00 030047 		MOVE	PASCNT
 16427	044464	037 15 0 00 000000 		PNTDEC
 16428						PMSG	<^PC =   >^
 16429	044465	037 02 0 00 045341 		PSIXM	[SIXBIT\^PC =   _\]^
 16430	044466	550 00 0 00 030114 		HRRZ	0,$SVUPC	;GET PC OF UUO
 16431	044467	202 00 0 00 030052 		MOVEM	0,ERRPC		;SAVE FOR COMPARE
 16432	044470	037 06 0 00 000000 		PNT6			;PRINT UUO ADDRESS
 16433						XLIST
 16434						IFDEF	ERDIAG,<LIST
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 2
UUOERR	KLM	22-APR-75 01:42		*UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975                       SEQ 0365

 16435					;DIAGNOSTIC FORMAT ERROR PRINTER
 16436
 16437					;PRINT RESULT
 16438
 16439	044471				%ERMS2:	PMSG	<^RESULT  = >^
 16440	044471	037 02 0 00 045343 		PSIXM	[SIXBIT\^RESULT  = _\]^
 16441	044472	200 01 0 00 030113 		MOVE	1,$SVUUO	;GET AC # OF UUO
 16442	044473	242 01 0 00 777751 		LSH	1,-27
 16443	044474	405 01 0 00 000017 		ANDI	1,17
 16444	044475	200 00 0 01 000000 		MOVE	0,(1)		;GET C(AC)
 16445	044476	307 01 0 00 000001 		CAIG	1,1		;IS AC # = TO SAVE AC ?
 16446	044477	200 00 0 01 045453 		MOVE	0,%ERAC0(1)	;YES, GET SAVED AC
 16447	044500	037 13 0 00 000000 		PNTHW			;PRINT C(AC)
 16448
 16449	044501	200 00 0 00 030046 		MOVE	CONSW
 16450	044502	603 00 0 00 000200 		TLNE	TXTINH		;PRINT FAILURE DES AND FLT NBR ?
 16451	044503	254 00 0 00 044552 		JRST	%ERMORE		;NO, RESTORE AC'S ETC.
 16452
 16453					;PRINT FAILURE DESCRIPTOR
 16454
 16455	044504	200 01 0 00 045452 		MOVE	1,%ACS1A	;GET UUO NUMBER
 16456	044505	307 01 0 00 000001 		CAIG	1,1		;PRINT DESCRIPTOR ?
 16457	044506	254 00 0 00 044512 		JRST	%ERMS3		;NO, JUST PRINT FAULT NUMBER
 16458	044507	037 00 0 00 030242 		PCRL
 16459	044510	200 00 0 01 044536 		MOVE	%FLTTB(1)
 16460	044511	037 17 0 00 000000 		PNTAL			;PRINT FAULT DESCRIPTOR
 16461
 16462					;PRINT FAULT NUMBER
 16463
 16464	044512				%ERMS3:	PMSG	<^FAULT NUMBER = >^
 16465	044512	037 02 0 00 045345 		PSIXM	[SIXBIT\^FAULT NUMBER = _\]^
 16466	044513	201 00 0 00 044535 		MOVEI	TLET
 16467	044514	037 00 0 00 000000 		PNTA			;PRINT TEST LETTER
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 3
UUOERR	KLM	22-APR-75 01:42		*UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975                       SEQ 0366

 16468
 16469	044515	550 00 0 00 030113 		HRRZ	$SVUUO
 16470	044516	602 00 0 00 700000 		TRNE	700000
 16471	044517	254 00 0 00 044533 		JRST	%ER6X
 16472	044520	602 00 0 00 070000 		TRNE	070000
 16473	044521	254 00 0 00 044531 		JRST	%ER5X
 16474	044522	602 00 0 00 007000 		TRNE	007000
 16475	044523	254 00 0 00 044527 		JRST	%ER4X
 16476	044524	037 03 0 00 000000 		PNT3			;PRINT FAULT NUMBER
 16477	044525	037 00 0 00 030242 	%ER7X:	PCRL
 16478	044526	254 00 0 00 044552 		JRST	%ERMORE
 16479
 16480	044527	037 04 0 00 000000 	%ER4X:	PNT4
 16481	044530	254 00 0 00 044525 		JRST	%ER7X
 16482	044531	037 05 0 00 000000 	%ER5X:	PNT5
 16483	044532	254 00 0 00 044525 		JRST	%ER7X
 16484	044533	037 06 0 00 000000 	%ER6X:	PNT6
 16485	044534	254 00 0 00 044525 		JRST	%ER7X
 16486
 16487					;FAILURE DESCRIPTORS
 16488
 16489	044535	000000	000000		TLET:	0			;TEST LETTER
 16490	044536	000000	000000		%FLTTB:	0			;DESCRIPTOR TABLE
 16491	044537	000000	044615		%NODES:	[0]			;NO DESCRIPTOR
 16492	044540	000000	044615		SPDES:	[0]			;SPECIAL USER FAILURE DESCRIPTOR
 16493	044541	000000	045350		$ACF:	[ASCIZ/C(AC) FAILED/]
 16494	044542	000000	045353		%AC1F:	[ASCIZ/C(AC+1) FAILED/]
 16495	044543	000000	045356		%EF:	[ASCIZ/C(E) FAILED/]
 16496	044544	000000	045361		%E1F:	[ASCIZ/C(E+1) FAILED/]
 16497	044545	000000	045364		%ARF:	[ASCIZ/C(C(ACR)) FAILED/]
 16498	044546	000000	045370		%AR1F:	[ASCIZ/C(C(ACR+1)) FAILED/]
 16499	044547	000000	045374		%ALF:	[ASCIZ/C(C(ACL)) FAILED/]
 16500	044550	000000	045400		%EEF:	[ASCIZ/C(C(E)) FAILED/]
 16501	044551	000000	045403		%FF:	[ASCIZ/FLAG FAILED/]
 16502					>
 16503						XLIST
 16504						LIST
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 8
UUOERR	KLM	22-APR-75 01:42		*UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975                       SEQ 0367

 16505					;RESTORE AC'S AND RETURN OR HALT
 16506
 16507	044552	256 00 0 00 030101 	%ERMORE:XCT	ERMORE
 16508	044553	037 16 0 00 000002 		PNTMGN			;PRINT MARGINS	
 16509	044554	037 10 0 00 000002 		SWITCH
 16510
 16511	044555	037 07 0 00 000003 	%ERRS1:	TTALTM			;ALTMODE CHECK
 16512	044556	254 00 0 00 044562 		JRST	.+4		;NONE
 16513	044557	201 00 0 00 044562 		MOVEI	.+3		;SAVE CONT ADDRESS
 16514	044560	202 00 0 00 000130 		MOVEM	JOBOPC
 16515	044561	254 00 1 00 030063 		JRST	@ALTMGO		;PERFORM TRANSFER
 16516	044562	200 00 0 00 030046 		MOVE	CONSW
 16517	044563	603 00 0 00 002000 		TLNE	0,ERSTOP	;HALT ON ERROR SWITCH SET ?
 16518	044564	037 14 0 00 000004 		ERRHLT			;YES
 16519	044565	607 00 0 00 004000 		TLNN	0,LOOPER	;LOOP ON ERROR SWITCH SET ?
 16520	044566	476 00 0 00 045451 		SETOM	PROCED		;NO, SET THE PROCEED FLAG
 16521	044567	603 00 0 00 010000 		TLNE	0,DING		;RING BELL SWITCH SET ?
 16522	044570	037 01 0 00 000007 		PBELL			;YES, GO RING BELL
 16523
 16524	044571	200 02 0 00 045455 	%ERRS2:	MOVE	2,%ERAC2	;RESTORE AC'S
 16525	044572	200 01 0 00 045454 		MOVE	1,%ERAC1
 16526	044573	476 00 1 00 045447 		SETOM	@ERRLOP		;SET C(ERR LOOP AC) TO -1
 16527	044574	336 00 0 00 045451 		SKIPN	PROCED		;LOOP ON ERROR ?
 16528	044575	254 00 0 00 044605 		JRST	%ERRS5		;YES
 16529	044576	350 00 1 00 045447 		AOS	@ERRLOP		;NO, INC C(ERR LOOP AC)
 16530	044577	350 00 1 00 045447 		AOS	@ERRLOP		;SO IT ='S 1
 16531	044600	331 00 0 00 030043 		SKIPL	MONCTL		;UNDER DIAGNOSTIC MONITOR ?
 16532	044601	254 00 0 00 044605 		JRST	%ERRS5		;NO, CONTINUE PROGRAM
 16533	044602	200 00 0 00 030053 		MOVE	0,ERRTLS	;YES
 16534	044603	301 00 0 00 000005 		CAIL	0,5		;PRINTED ALLOWED ERRORS ?
 16535	044604	254 00 0 00 030061 		JRST	$BEND2
 16536
 16537	044605	200 00 0 00 045453 	%ERRS5:	MOVE	0,%ERAC0	;NO, CONTINUE PROGRAM
 16538						IFDEF	EXCASB,<IFDEF KI10,<
 16539						SKIPN	KAIFLG
 16540						JRST	.+5
 16541						SKIPE	USER
 16542						JRST	.+3
 16543						SKIPE	MARGIN
 16544						DATAO	APR,MARGIN	;RESET MARGIN SYSTEM >>
 16545	044606	254 00 0 00 030065 		JRST	UUOEXT
 16546
 16547	044607	200 00 0 00 030046 	%ERRS4:	MOVE	0,CONSW
 16548	044610	607 00 0 00 001000 		TLNN	PALERS		;PRINT ALL ERRORS ?
 16549	044611	254 00 0 00 044555 		JRST	%ERRS1		;NO
 16550	044612	254 00 0 00 044452 		JRST	%ERMS1		;YES
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 1
STOR	KLM	18-JAN-77 11:42		*STOR* RESERVED STORAGE, JAN 18,1977                                               SEQ 0368

 16551					SUBTTL	*STOR* RESERVED STORAGE, JAN 18,1977
 16552
 16553					;PROGRAM LITERALS
 16554
 16555						XLIST
 16556					IFNDEF	$LPAPER,<LIST>
 16557	044613					LIT
 16558	044613	101 114 000 000 000 
 16559	044614	525252	525252
 16560	044615	000000	000000
 16561	044616	000000	000001
 16562	044617	777777	777777
 16563	044620	000000	000002
 16564	044621	777777	777776
 16565	044622	652525	252524
 16566	044623	000000	000004
 16567	044624	777777	777775
 16568	044625	525252	525250
 16569	044626	000000	000010
 16570	044627	777777	777772
 16571	044630	652525	252520
 16572	044631	000000	000020
 16573	044632	777777	777765
 16574	044633	525252	525240
 16575	044634	000000	000040
 16576	044635	777777	777752
 16577	044636	652525	252500
 16578	044637	000000	000100
 16579	044640	777777	777725
 16580	044641	525252	525200
 16581	044642	000000	000200
 16582	044643	777777	777652
 16583	044644	652525	252400
 16584	044645	000000	000400
 16585	044646	777777	777525
 16586	044647	525252	525000
 16587	044650	000000	001000
 16588	044651	777777	777252
 16589	044652	652525	252000
 16590	044653	000000	002000
 16591	044654	777777	776525
 16592	044655	525252	524000
 16593	044656	000000	004000
 16594	044657	777777	775252
 16595	044660	652525	250000
 16596	044661	000000	010000
 16597	044662	777777	772525
 16598	044663	525252	520000
 16599	044664	000000	020000
 16600	044665	777777	765252
 16601	044666	652525	240000
 16602	044667	000000	040000
 16603	044670	777777	752525
 16604	044671	525252	500000
 16605	044672	000000	100000
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 1-1
STOR	KLM	18-JAN-77 11:42		*STOR* RESERVED STORAGE, JAN 18,1977                                               SEQ 0369

 16606	044673	777777	725252
 16607	044674	652525	200000
 16608	044675	000000	200000
 16609	044676	777777	652525
 16610	044677	525252	400000
 16611	044700	000000	400000
 16612	044701	777777	525252
 16613	044702	652525	000000
 16614	044703	000001	000000
 16615	044704	777777	252525
 16616	044705	525252	000000
 16617	044706	000002	000000
 16618	044707	777776	525252
 16619	044710	652524	000000
 16620	044711	000004	000000
 16621	044712	777775	252525
 16622	044713	525250	000000
 16623	044714	000010	000000
 16624	044715	777772	525252
 16625	044716	652520	000000
 16626	044717	000020	000000
 16627	044720	777765	252525
 16628	044721	525240	000000
 16629	044722	000040	000000
 16630	044723	777752	525252
 16631	044724	652500	000000
 16632	044725	000100	000000
 16633	044726	777725	252525
 16634	044727	525200	000000
 16635	044730	000200	000000
 16636	044731	777652	525252
 16637	044732	652400	000000
 16638	044733	000400	000000
 16639	044734	777525	252525
 16640	044735	525000	000000
 16641	044736	001000	000000
 16642	044737	777252	525252
 16643	044740	652000	000000
 16644	044741	002000	000000
 16645	044742	776525	252525
 16646	044743	524000	000000
 16647	044744	004000	000000
 16648	044745	775252	525252
 16649	044746	650000	000000
 16650	044747	010000	000000
 16651	044750	772525	252525
 16652	044751	520000	000000
 16653	044752	020000	000000
 16654	044753	765252	525252
 16655	044754	640000	000000
 16656	044755	040000	000000
 16657	044756	752525	252525
 16658	044757	500000	000000
 16659	044760	100000	000000
 16660	044761	725252	525252
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 1-2
STOR	KLM	18-JAN-77 11:42		*STOR* RESERVED STORAGE, JAN 18,1977                                               SEQ 0370

 16661	044762	600000	000000
 16662	044763	200000	000000
 16663	044764	652525	252525
 16664	044765	400000	000000
 16665	044766	252525	252526
 16666	044767	252525	252525
 16667	044770	125252	525252
 16668	044771	252525	252524
 16669	044772	000000	000005
 16670	044773	125252	525250
 16671	044774	000000	000012
 16672	044775	252525	252520
 16673	044776	000000	000025
 16674	044777	125252	525240
 16675	045000	000000	000052
 16676	045001	252525	252500
 16677	045002	000000	000125
 16678	045003	125252	525200
 16679	045004	000000	000252
 16680	045005	252525	252400
 16681	045006	000000	000525
 16682	045007	125252	525000
 16683	045010	000000	001252
 16684	045011	252525	252000
 16685	045012	000000	002525
 16686	045013	125252	524000
 16687	045014	000000	005252
 16688	045015	252525	250000
 16689	045016	000000	012525
 16690	045017	125252	520000
 16691	045020	000000	025252
 16692	045021	252525	240000
 16693	045022	000000	052525
 16694	045023	125252	500000
 16695	045024	000000	125252
 16696	045025	252525	200000
 16697	045026	000000	252525
 16698	045027	125252	400000
 16699	045030	000000	525252
 16700	045031	252525	000000
 16701	045032	000001	252525
 16702	045033	125252	000000
 16703	045034	000002	525252
 16704	045035	252524	000000
 16705	045036	000005	252525
 16706	045037	125250	000000
 16707	045040	000012	525252
 16708	045041	252520	000000
 16709	045042	000025	252525
 16710	045043	125240	000000
 16711	045044	000052	525252
 16712	045045	252500	000000
 16713	045046	000125	252525
 16714	045047	125200	000000
 16715	045050	000252	525252
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 1-3
STOR	KLM	18-JAN-77 11:42		*STOR* RESERVED STORAGE, JAN 18,1977                                               SEQ 0371

 16716	045051	252400	000000
 16717	045052	000525	252525
 16718	045053	125000	000000
 16719	045054	001252	525252
 16720	045055	252000	000000
 16721	045056	002525	252525
 16722	045057	124000	000000
 16723	045060	005252	525252
 16724	045061	250000	000000
 16725	045062	012525	252525
 16726	045063	120000	000000
 16727	045064	025252	525252
 16728	045065	240000	000000
 16729	045066	052525	252525
 16730	045067	525252	525253
 16731	045070	000000	000011
 16732	045071	777777	777773
 16733	045072	000000	000031
 16734	045073	777777	777767
 16735	045074	000000	000121
 16736	045075	777777	777757
 16737	045076	000000	000441
 16738	045077	777777	777737
 16739	045100	000000	002101
 16740	045101	777777	777677
 16741	045102	000000	010201
 16742	045103	777777	777577
 16743	045104	000000	040401
 16744	045105	777777	777377
 16745	045106	000000	201001
 16746	045107	777777	776777
 16747	045110	000001	002001
 16748	045111	777777	775777
 16749	045112	000004	004001
 16750	045113	777777	773777
 16751	045114	000020	010001
 16752	045115	777777	767777
 16753	045116	000100	020001
 16754	045117	777777	757777
 16755	045120	000400	040001
 16756	045121	777777	737777
 16757	045122	002000	100001
 16758	045123	777777	677777
 16759	045124	010000	200001
 16760	045125	777777	577777
 16761	045126	040000	400001
 16762	045127	777777	377777
 16763	045130	200001	000001
 16764	045131	777776	777777
 16765	045132	000002	000001
 16766	045133	777775	777777
 16767	045134	000004	000001
 16768	045135	777773	777777
 16769	045136	000010	000001
 16770	045137	777767	777777
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 1-4
STOR	KLM	18-JAN-77 11:42		*STOR* RESERVED STORAGE, JAN 18,1977                                               SEQ 0372

 16771	045140	000020	000001
 16772	045141	777757	777777
 16773	045142	000040	000001
 16774	045143	777737	777777
 16775	045144	000100	000001
 16776	045145	777677	777777
 16777	045146	000200	000001
 16778	045147	777577	777777
 16779	045150	000400	000001
 16780	045151	777377	777777
 16781	045152	001000	000001
 16782	045153	776777	777777
 16783	045154	002000	000001
 16784	045155	775777	777777
 16785	045156	004000	000001
 16786	045157	773777	777777
 16787	045160	010000	000001
 16788	045161	767777	777777
 16789	045162	020000	000001
 16790	045163	757777	777777
 16791	045164	040000	000001
 16792	045165	737777	777777
 16793	045166	100000	000001
 16794	045167	677777	777777
 16795	045170	200000	000001
 16796	045171	577777	777777
 16797	045172	377777	777777
 16798	045173	377777	777776
 16799	045174	777777	777754
 16800	045175	777777	777670
 16801	045176	777777	777360
 16802	045177	777777	775740
 16803	045200	777777	767700
 16804	045201	777777	737600
 16805	045202	777777	577400
 16806	045203	777776	777000
 16807	045204	777773	776000
 16808	045205	777757	774000
 16809	045206	777677	770000
 16810	045207	777377	760000
 16811	045210	775777	740000
 16812	045211	767777	700000
 16813	045212	737777	600000
 16814	045213	577777	400000
 16815	045214	777777	000000
 16816	045215	777776	000000
 16817	045216	777774	000000
 16818	045217	777770	000000
 16819	045220	777760	000000
 16820	045221	777740	000000
 16821	045222	777700	000000
 16822	045223	777600	000000
 16823	045224	777400	000000
 16824	045225	777000	000000
 16825	045226	776000	000000
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 1-5
STOR	KLM	18-JAN-77 11:42		*STOR* RESERVED STORAGE, JAN 18,1977                                               SEQ 0373

 16826	045227	774000	000000
 16827	045230	770000	000000
 16828	045231	760000	000000
 16829	045232	740000	000000
 16830	045233	700000	000000
 16831	045234	400000	000001
 16832	045235	000000	000003
 16833	045236	377777	777774
 16834	045237	377777	777770
 16835	045240	000000	000007
 16836	045241	377777	777760
 16837	045242	000000	000017
 16838	045243	777777	777760
 16839	045244	777777	777740
 16840	045245	000000	036735
 16841	045246	000000	036751
 16842	045247	000000	036773
 16843	045250	000000	037014
 16844	045251	000000	037027
 16845	045252	000000	037042
 16846	045253	000000	037055
 16847	045254	000000	037070
 16848	045255	000000	037103
 16849	045256	000000	037116
 16850	045257	000000	037130
 16851	045260	000000	037142
 16852	045261	000000	037156
 16853	045262	000000	037176
 16854	045263	000000	037211
 16855	045264	000000	037230
 16856	045265	000000	037244
 16857	045266	000000	037264
 16858	045267	000000	037300
 16859	045270	000000	037314
 16860	045271	000000	037334
 16861	045272	000000	037425
 16862	045273	000000	037442
 16863	045274	000000	037443
 16864	045275	000000	037460
 16865	045276	000000	037514
 16866	045277	000000	037533
 16867	045300	000000	037556
 16868	045301	000000	037573
 16869	045302	000000	037614
 16870	045303	000000	037631
 16871	045304	000000	037652
 16872	045305	777777	777770
 16873	045306	000000	040367
 16874	045307	000000	040410
 16875	045310	000000	040431
 16876	045311	000000	040521
 16877	045312	000000	040546
 16878	045313	000000	040575
 16879	045314	000000	040614
 16880	045315	000000	040637
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 1-6
STOR	KLM	18-JAN-77 11:42		*STOR* RESERVED STORAGE, JAN 18,1977                                               SEQ 0374

 16881	045316	000000	040714
 16882	045317	000000	040735
 16883	045320	000000	040762
 16884	045321	000000	041011
 16885	045322	000000	041031
 16886	045323	000000	041055
 16887	045324	000000	041070
 16888	045325	777777	777774
 16889	045326	000000	041107
 16890	045327	000000	041121
 16891	045330	000000	041137
 16892	045331	000000	041155
 16893	045332	000000	041173
 16894	045333	000000	041246
 16895	045334	050000	000000
 16896	045335	76 64 45 63 64 00 
 16897	045336	60 41 63 63 00 43 
 16898	045337	57 65 56 64 00 35 
 16899	045340	00 77 00 00 00 00 
 16900	045341	76 60 43 00 35 00 
 16901	045342	00 00 77 00 00 00 
 16902	045343	76 62 45 63 65 54 
 16903	045344	64 00 00 35 00 77 
 16904	045345	76 46 41 65 54 64 
 16905	045346	00 56 65 55 42 45 
 16906	045347	62 00 35 00 77 00 
 16907	045350	103 050 101 103 051 
 16908	045351	040 106 101 111 114 
 16909	045352	105 104 000 000 000 
 16910	045353	103 050 101 103 053 
 16911	045354	061 051 040 106 101 
 16912	045355	111 114 105 104 000 
 16913	045356	103 050 105 051 040 
 16914	045357	106 101 111 114 105 
 16915	045360	104 000 000 000 000 
 16916	045361	103 050 105 053 061 
 16917	045362	051 040 106 101 111 
 16918	045363	114 105 104 000 000 
 16919	045364	103 050 103 050 101 
 16920	045365	103 122 051 051 040 
 16921	045366	106 101 111 114 105 
 16922	045367	104 000 000 000 000 
 16923	045370	103 050 103 050 101 
 16924	045371	103 122 053 061 051 
 16925	045372	051 040 106 101 111 
 16926	045373	114 105 104 000 000 
 16927	045374	103 050 103 050 101 
 16928	045375	103 114 051 051 040 
 16929	045376	106 101 111 114 105 
 16930	045377	104 000 000 000 000 
 16931	045400	103 050 103 050 105 
 16932	045401	051 051 040 106 101 
 16933	045402	111 114 105 104 000 
 16934	045403	106 114 101 107 040 
 16935	045404	106 101 111 114 105 
DAKAL PDP-10  KI10 BASIC INSTRUCTION DIAGNOSTIC (12) 0,2	MACRO %52(537) 17:16 20-JAN-77 PAGE 1-7
STOR	KLM	18-JAN-77 11:42		*STOR* RESERVED STORAGE, JAN 18,1977                                               SEQ 0375

 16936	045405	104 000 000 000 000 
 16937						LIST
 16938	045406	000000	000000		ENDSLD:	0
 16939
 16940					IFDEF	DEBUG,<
 16941	045407				PATCH:	BLOCK DEBUG		;PATCHING AREA
 16942					>
 16943
 16944					;PROGRAM VARIABLES
 16945	045447					VAR
 16946
 16947					IFDEF	PGMEND,<
 16948	045457	000000	000000		END:	0
 16949			030000			END	BEGIN	>

NO ERRORS DETECTED

PROGRAM BREAK IS 000000
ABSLUTE BREAK IS 045460
CPU TIME USED 01:14.759

16K CORE USED

AA1	   752#	   786#	   820#	   854#	   888#	   922#	   956#	   990#	  1024#	  1058#	  1092#	  1126#	  1160#	  1194#
	  1228#	  1262#	  1296#	  1330#	  1364#	  1398#	  1432#	  1466#	  1500#	  1534#	  1568#	  1602#	  1636#	  1670#    SEQ 0376
	  1704#	  1738#	  1772#	  1806#	  1840#	  1874#	  1908#	  1942#	  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#	  3184#	  3240#	  3274#	  3308#	  3342#	  3376#	  3410#	  3444#	  3478#	  3512#	  3546#	  3580#	  3614#
	  3648#	  3682#	  3716#	  3750#	  3784#	  3818#	  3852#	  3886#	  3920#	  3954#	  3988#	  4022#	  4056#	  4090#
	  4124#	  4158#	  4192#	  4226#	  4260#	  4294#	  4328#	  4362#	  4396#	  4430#	  4481#	  4513#	  4545#	  4577#
	  4609#	  4641#	  4673#	  4705#	  4737#	  4769#	  4801#	  4833#	  4865#	  4897#	  4929#	  4961#	  4993#	  5025#
	  5057#	  5089#	  5121#	  5153#	  5185#	  5217#	  5249#	  5281#	  5313#	  5345#	  5377#	  5409#	  5441#	  5473#
	  5505#	  5537#	  5569#	  5601#	  5656#	  5690#	  5724#	  5758#	  5792#	  5826#	  5860#	  5894#	  5928#	  5962#
	  5996#	  6030#	  6064#	  6098#	  6132#	  6166#	  6200#	  6234#	  6268#	  6302#	  6336#	  6370#	  6404#	  6438#
	  6472#	  6506#	  6540#	  6574#	  6608#	  6642#	  6676#	  6710#	  6744#	  6778#	  6812#	  6846#	  6906#	  6942#
	  6978#	  7014#	  7050#	  7086#	  7122#	  7158#	  7194#	  7230#	  7266#	  7302#	  7338#	  7374#	  7410#	  7446#
	  7482#	  7518#	  7554#	  7590#	  7626#	  7662#	  7698#	  7734#	  7770#	  7806#	  7842#	  7878#	  7914#	  7950#
	  7986#	  8022#	  8058#	  8094#	  8130#	  8166#	  8226#	  8262#	  8298#	  8334#	  8370#	  8406#	  8442#	  8478#
	  8514#	  8550#	  8586#	  8622#	  8658#	  8694#	  8730#	  8766#	  8802#	  8838#	  8874#	  8910#	  8946#	  8982#
	  9018#	  9054#	  9090#	  9126#	  9162#	  9198#	  9234#	  9270#	  9306#	  9342#	  9378#	  9414#	  9450#	  9478#
AA2	   754#	   788#	   822#	   856#	   890#	   924#	   958#	   992#	  1026#	  1060#	  1094#	  1128#	  1162#	  1196#
	  1230#	  1264#	  1298#	  1332#	  1366#	  1400#	  1434#	  1468#	  1502#	  1536#	  1570#	  1604#	  1638#	  1672#
	  1706#	  1740#	  1774#	  1808#	  1842#	  1876#	  1910#	  1944#	  2002#	  2036#	  2070#	  2104#	  2138#	  2172#
	  2206#	  2240#	  2274#	  2308#	  2342#	  2376#	  2410#	  2444#	  2478#	  2512#	  2546#	  2580#	  2614#	  2648#
	  2682#	  2716#	  2750#	  2784#	  2818#	  2852#	  2886#	  2920#	  2954#	  2988#	  3022#	  3056#	  3090#	  3124#
	  3158#	  3186#	  3242#	  3276#	  3310#	  3344#	  3378#	  3412#	  3446#	  3480#	  3514#	  3548#	  3582#	  3616#
	  3650#	  3684#	  3718#	  3752#	  3786#	  3820#	  3854#	  3888#	  3922#	  3956#	  3990#	  4024#	  4058#	  4092#
	  4126#	  4160#	  4194#	  4228#	  4262#	  4296#	  4330#	  4364#	  4398#	  4432#	  4483#	  4515#	  4547#	  4579#
	  4611#	  4643#	  4675#	  4707#	  4739#	  4771#	  4803#	  4835#	  4867#	  4899#	  4931#	  4963#	  4995#	  5027#
	  5059#	  5091#	  5123#	  5155#	  5187#	  5219#	  5251#	  5283#	  5315#	  5347#	  5379#	  5411#	  5443#	  5475#
	  5507#	  5539#	  5571#	  5603#	  5658#	  5692#	  5726#	  5760#	  5794#	  5828#	  5862#	  5896#	  5930#	  5964#
	  5998#	  6032#	  6066#	  6100#	  6134#	  6168#	  6202#	  6236#	  6270#	  6304#	  6338#	  6372#	  6406#	  6440#
	  6474#	  6508#	  6542#	  6576#	  6610#	  6644#	  6678#	  6712#	  6746#	  6780#	  6814#	  6848#	  6908#	  6944#
	  6980#	  7016#	  7052#	  7088#	  7124#	  7160#	  7196#	  7232#	  7268#	  7304#	  7340#	  7376#	  7412#	  7448#
	  7484#	  7520#	  7556#	  7592#	  7628#	  7664#	  7700#	  7736#	  7772#	  7808#	  7844#	  7880#	  7916#	  7952#
	  7988#	  8024#	  8060#	  8096#	  8132#	  8168#	  8228#	  8264#	  8300#	  8336#	  8372#	  8408#	  8444#	  8480#
	  8516#	  8552#	  8588#	  8624#	  8660#	  8696#	  8732#	  8768#	  8804#	  8840#	  8876#	  8912#	  8948#	  8984#
	  9020#	  9056#	  9092#	  9128#	  9164#	  9200#	  9236#	  9272#	  9308#	  9344#	  9380#	  9416#	  9452#	  9480#
AABCLR	   361#
AADRBK	   361#
AAPRC1	   361#
ABORT	   132#
AC	   711#	   712	   716	   717	   718	   719	   753	   755	   758	   760	   761	   763	   764	   768
	   787	   789	   792	   794	   795	   797	   798	   802	   821	   823	   826	   828	   829	   831
	   832	   836	   855	   857	   860	   862	   863	   865	   866	   870	   889	   891	   894	   896
	   897	   899	   900	   904	   923	   925	   928	   930	   931	   933	   934	   938	   957	   959
	   962	   964	   965	   967	   968	   972	   991	   993	   996	   998	   999	  1001	  1002	  1006
	  1025	  1027	  1030	  1032	  1033	  1035	  1036	  1040	  1059	  1061	  1064	  1066	  1067	  1069
	  1070	  1074	  1093	  1095	  1098	  1100	  1101	  1103	  1104	  1108	  1127	  1129	  1132	  1134
	  1135	  1137	  1138	  1142	  1161	  1163	  1166	  1168	  1169	  1171	  1172	  1176	  1195	  1197
	  1200	  1202	  1203	  1205	  1206	  1210	  1229	  1231	  1234	  1236	  1237	  1239	  1240	  1244
	  1263	  1265	  1268	  1270	  1271	  1273	  1274	  1278	  1297	  1299	  1302	  1304	  1305	  1307
	  1308	  1312	  1331	  1333	  1336	  1338	  1339	  1341	  1342	  1346	  1365	  1367	  1370	  1372
	  1373	  1375	  1376	  1380	  1399	  1401	  1404	  1406	  1407	  1409	  1410	  1414	  1433	  1435
	  1438	  1440	  1441	  1443	  1444	  1448	  1467	  1469	  1472	  1474	  1475	  1477	  1478	  1482
	  1501	  1503	  1506	  1508	  1509	  1511	  1512	  1516	  1535	  1537	  1540	  1542	  1543	  1545
	  1546	  1550	  1569	  1571	  1574	  1576	  1577	  1579	  1580	  1584	  1603	  1605	  1608	  1610     SEQ 0377
	  1611	  1613	  1614	  1618	  1637	  1639	  1642	  1644	  1645	  1647	  1648	  1652	  1671	  1673
	  1676	  1678	  1679	  1681	  1682	  1686	  1705	  1707	  1710	  1712	  1713	  1715	  1716	  1720
	  1739	  1741	  1744	  1746	  1747	  1749	  1750	  1754	  1773	  1775	  1778	  1780	  1781	  1783
	  1784	  1788	  1807	  1809	  1812	  1814	  1815	  1817	  1818	  1822	  1841	  1843	  1846	  1848
	  1849	  1851	  1852	  1856	  1875	  1877	  1880	  1882	  1883	  1885	  1886	  1890	  1909	  1911
	  1914	  1916	  1917	  1919	  1920	  1924	  1943	  1945	  1948	  1950	  1951	  1953	  1954	  1958
	  1959#	  1960	  1962	  1963	  1964	  1965	  2001	  2003	  2006	  2008	  2009	  2011	  2012	  2016
	  2035	  2037	  2040	  2042	  2043	  2045	  2046	  2050	  2069	  2071	  2074	  2076	  2077	  2079
	  2080	  2084	  2103	  2105	  2108	  2110	  2111	  2113	  2114	  2118	  2137	  2139	  2142	  2144
	  2145	  2147	  2148	  2152	  2171	  2173	  2176	  2178	  2179	  2181	  2182	  2186	  2205	  2207
	  2210	  2212	  2213	  2215	  2216	  2220	  2239	  2241	  2244	  2246	  2247	  2249	  2250	  2254
	  2273	  2275	  2278	  2280	  2281	  2283	  2284	  2288	  2307	  2309	  2312	  2314	  2315	  2317
	  2318	  2322	  2341	  2343	  2346	  2348	  2349	  2351	  2352	  2356	  2375	  2377	  2380	  2382
	  2383	  2385	  2386	  2390	  2409	  2411	  2414	  2416	  2417	  2419	  2420	  2424	  2443	  2445
	  2448	  2450	  2451	  2453	  2454	  2458	  2477	  2479	  2482	  2484	  2485	  2487	  2488	  2492
	  2511	  2513	  2516	  2518	  2519	  2521	  2522	  2526	  2545	  2547	  2550	  2552	  2553	  2555
	  2556	  2560	  2579	  2581	  2584	  2586	  2587	  2589	  2590	  2594	  2613	  2615	  2618	  2620
	  2621	  2623	  2624	  2628	  2647	  2649	  2652	  2654	  2655	  2657	  2658	  2662	  2681	  2683
	  2686	  2688	  2689	  2691	  2692	  2696	  2715	  2717	  2720	  2722	  2723	  2725	  2726	  2730
	  2749	  2751	  2754	  2756	  2757	  2759	  2760	  2764	  2783	  2785	  2788	  2790	  2791	  2793
	  2794	  2798	  2817	  2819	  2822	  2824	  2825	  2827	  2828	  2832	  2851	  2853	  2856	  2858
	  2859	  2861	  2862	  2866	  2885	  2887	  2890	  2892	  2893	  2895	  2896	  2900	  2919	  2921
	  2924	  2926	  2927	  2929	  2930	  2934	  2953	  2955	  2958	  2960	  2961	  2963	  2964	  2968
	  2987	  2989	  2992	  2994	  2995	  2997	  2998	  3002	  3021	  3023	  3026	  3028	  3029	  3031
	  3032	  3036	  3055	  3057	  3060	  3062	  3063	  3065	  3066	  3070	  3089	  3091	  3094	  3096
	  3097	  3099	  3100	  3104	  3123	  3125	  3128	  3130	  3131	  3133	  3134	  3138	  3157	  3159
	  3162	  3164	  3165	  3167	  3168	  3172	  3185	  3187	  3190	  3192	  3193	  3195	  3196	  3200
	  3201#	  3202	  3204	  3205	  3206	  3207	  3241	  3243	  3246	  3248	  3249	  3251	  3252	  3256
	  3275	  3277	  3280	  3282	  3283	  3285	  3286	  3290	  3309	  3311	  3314	  3316	  3317	  3319
	  3320	  3324	  3343	  3345	  3348	  3350	  3351	  3353	  3354	  3358	  3377	  3379	  3382	  3384
	  3385	  3387	  3388	  3392	  3411	  3413	  3416	  3418	  3419	  3421	  3422	  3426	  3445	  3447
	  3450	  3452	  3453	  3455	  3456	  3460	  3479	  3481	  3484	  3486	  3487	  3489	  3490	  3494
	  3513	  3515	  3518	  3520	  3521	  3523	  3524	  3528	  3547	  3549	  3552	  3554	  3555	  3557
	  3558	  3562	  3581	  3583	  3586	  3588	  3589	  3591	  3592	  3596	  3615	  3617	  3620	  3622
	  3623	  3625	  3626	  3630	  3649	  3651	  3654	  3656	  3657	  3659	  3660	  3664	  3683	  3685
	  3688	  3690	  3691	  3693	  3694	  3698	  3717	  3719	  3722	  3724	  3725	  3727	  3728	  3732
	  3751	  3753	  3756	  3758	  3759	  3761	  3762	  3766	  3785	  3787	  3790	  3792	  3793	  3795
	  3796	  3800	  3819	  3821	  3824	  3826	  3827	  3829	  3830	  3834	  3853	  3855	  3858	  3860
	  3861	  3863	  3864	  3868	  3887	  3889	  3892	  3894	  3895	  3897	  3898	  3902	  3921	  3923
	  3926	  3928	  3929	  3931	  3932	  3936	  3955	  3957	  3960	  3962	  3963	  3965	  3966	  3970
	  3989	  3991	  3994	  3996	  3997	  3999	  4000	  4004	  4023	  4025	  4028	  4030	  4031	  4033
	  4034	  4038	  4057	  4059	  4062	  4064	  4065	  4067	  4068	  4072	  4091	  4093	  4096	  4098
	  4099	  4101	  4102	  4106	  4125	  4127	  4130	  4132	  4133	  4135	  4136	  4140	  4159	  4161
	  4164	  4166	  4167	  4169	  4170	  4174	  4193	  4195	  4198	  4200	  4201	  4203	  4204	  4208
	  4227	  4229	  4232	  4234	  4235	  4237	  4238	  4242	  4261	  4263	  4266	  4268	  4269	  4271
	  4272	  4276	  4295	  4297	  4300	  4302	  4303	  4305	  4306	  4310	  4329	  4331	  4334	  4336
	  4337	  4339	  4340	  4344	  4363	  4365	  4368	  4370	  4371	  4373	  4374	  4378	  4397	  4399
	  4402	  4404	  4405	  4407	  4408	  4412	  4431	  4433	  4436	  4438	  4439	  4441	  4442	  4446
	  4447#	  4448	  4450	  4451	  4452	  4453	  4482	  4484	  4487	  4489	  4490	  4492	  4493	  4497
	  4514	  4516	  4519	  4521	  4522	  4524	  4525	  4529	  4546	  4548	  4551	  4553	  4554	  4556
	  4557	  4561	  4578	  4580	  4583	  4585	  4586	  4588	  4589	  4593	  4610	  4612	  4615	  4617
	  4618	  4620	  4621	  4625	  4642	  4644	  4647	  4649	  4650	  4652	  4653	  4657	  4674	  4676
	  4679	  4681	  4682	  4684	  4685	  4689	  4706	  4708	  4711	  4713	  4714	  4716	  4717	  4721     SEQ 0378
	  4738	  4740	  4743	  4745	  4746	  4748	  4749	  4753	  4770	  4772	  4775	  4777	  4778	  4780
	  4781	  4785	  4802	  4804	  4807	  4809	  4810	  4812	  4813	  4817	  4834	  4836	  4839	  4841
	  4842	  4844	  4845	  4849	  4866	  4868	  4871	  4873	  4874	  4876	  4877	  4881	  4898	  4900
	  4903	  4905	  4906	  4908	  4909	  4913	  4930	  4932	  4935	  4937	  4938	  4940	  4941	  4945
	  4962	  4964	  4967	  4969	  4970	  4972	  4973	  4977	  4994	  4996	  4999	  5001	  5002	  5004
	  5005	  5009	  5026	  5028	  5031	  5033	  5034	  5036	  5037	  5041	  5058	  5060	  5063	  5065
	  5066	  5068	  5069	  5073	  5090	  5092	  5095	  5097	  5098	  5100	  5101	  5105	  5122	  5124
	  5127	  5129	  5130	  5132	  5133	  5137	  5154	  5156	  5159	  5161	  5162	  5164	  5165	  5169
	  5186	  5188	  5191	  5193	  5194	  5196	  5197	  5201	  5218	  5220	  5223	  5225	  5226	  5228
	  5229	  5233	  5250	  5252	  5255	  5257	  5258	  5260	  5261	  5265	  5282	  5284	  5287	  5289
	  5290	  5292	  5293	  5297	  5314	  5316	  5319	  5321	  5322	  5324	  5325	  5329	  5346	  5348
	  5351	  5353	  5354	  5356	  5357	  5361	  5378	  5380	  5383	  5385	  5386	  5388	  5389	  5393
	  5410	  5412	  5415	  5417	  5418	  5420	  5421	  5425	  5442	  5444	  5447	  5449	  5450	  5452
	  5453	  5457	  5474	  5476	  5479	  5481	  5482	  5484	  5485	  5489	  5506	  5508	  5511	  5513
	  5514	  5516	  5517	  5521	  5538	  5540	  5543	  5545	  5546	  5548	  5549	  5553	  5570	  5572
	  5575	  5577	  5578	  5580	  5581	  5585	  5602	  5604	  5607	  5609	  5610	  5612	  5613	  5617
	  5618#	  5619	  5621	  5622	  5623	  5624	  5657	  5659	  5662	  5664	  5665	  5667	  5668	  5672
	  5691	  5693	  5696	  5698	  5699	  5701	  5702	  5706	  5725	  5727	  5730	  5732	  5733	  5735
	  5736	  5740	  5759	  5761	  5764	  5766	  5767	  5769	  5770	  5774	  5793	  5795	  5798	  5800
	  5801	  5803	  5804	  5808	  5827	  5829	  5832	  5834	  5835	  5837	  5838	  5842	  5861	  5863
	  5866	  5868	  5869	  5871	  5872	  5876	  5895	  5897	  5900	  5902	  5903	  5905	  5906	  5910
	  5929	  5931	  5934	  5936	  5937	  5939	  5940	  5944	  5963	  5965	  5968	  5970	  5971	  5973
	  5974	  5978	  5997	  5999	  6002	  6004	  6005	  6007	  6008	  6012	  6031	  6033	  6036	  6038
	  6039	  6041	  6042	  6046	  6065	  6067	  6070	  6072	  6073	  6075	  6076	  6080	  6099	  6101
	  6104	  6106	  6107	  6109	  6110	  6114	  6133	  6135	  6138	  6140	  6141	  6143	  6144	  6148
	  6167	  6169	  6172	  6174	  6175	  6177	  6178	  6182	  6201	  6203	  6206	  6208	  6209	  6211
	  6212	  6216	  6235	  6237	  6240	  6242	  6243	  6245	  6246	  6250	  6269	  6271	  6274	  6276
	  6277	  6279	  6280	  6284	  6303	  6305	  6308	  6310	  6311	  6313	  6314	  6318	  6337	  6339
	  6342	  6344	  6345	  6347	  6348	  6352	  6371	  6373	  6376	  6378	  6379	  6381	  6382	  6386
	  6405	  6407	  6410	  6412	  6413	  6415	  6416	  6420	  6439	  6441	  6444	  6446	  6447	  6449
	  6450	  6454	  6473	  6475	  6478	  6480	  6481	  6483	  6484	  6488	  6507	  6509	  6512	  6514
	  6515	  6517	  6518	  6522	  6541	  6543	  6546	  6548	  6549	  6551	  6552	  6556	  6575	  6577
	  6580	  6582	  6583	  6585	  6586	  6590	  6609	  6611	  6614	  6616	  6617	  6619	  6620	  6624
	  6643	  6645	  6648	  6650	  6651	  6653	  6654	  6658	  6677	  6679	  6682	  6684	  6685	  6687
	  6688	  6692	  6711	  6713	  6716	  6718	  6719	  6721	  6722	  6726	  6745	  6747	  6750	  6752
	  6753	  6755	  6756	  6760	  6779	  6781	  6784	  6786	  6787	  6789	  6790	  6794	  6813	  6815
	  6818	  6820	  6821	  6823	  6824	  6828	  6847	  6849	  6852	  6854	  6855	  6857	  6858	  6862
	  6863#	  6864	  6866	  6867	  6868	  6869	  6907	  6909	  6912	  6914	  6915	  6917	  6918	  6922
	  6943	  6945	  6948	  6950	  6951	  6953	  6954	  6958	  6979	  6981	  6984	  6986	  6987	  6989
	  6990	  6994	  7015	  7017	  7020	  7022	  7023	  7025	  7026	  7030	  7051	  7053	  7056	  7058
	  7059	  7061	  7062	  7066	  7087	  7089	  7092	  7094	  7095	  7097	  7098	  7102	  7123	  7125
	  7128	  7130	  7131	  7133	  7134	  7138	  7159	  7161	  7164	  7166	  7167	  7169	  7170	  7174
	  7195	  7197	  7200	  7202	  7203	  7205	  7206	  7210	  7231	  7233	  7236	  7238	  7239	  7241
	  7242	  7246	  7267	  7269	  7272	  7274	  7275	  7277	  7278	  7282	  7303	  7305	  7308	  7310
	  7311	  7313	  7314	  7318	  7339	  7341	  7344	  7346	  7347	  7349	  7350	  7354	  7375	  7377
	  7380	  7382	  7383	  7385	  7386	  7390	  7411	  7413	  7416	  7418	  7419	  7421	  7422	  7426
	  7447	  7449	  7452	  7454	  7455	  7457	  7458	  7462	  7483	  7485	  7488	  7490	  7491	  7493
	  7494	  7498	  7519	  7521	  7524	  7526	  7527	  7529	  7530	  7534	  7555	  7557	  7560	  7562
	  7563	  7565	  7566	  7570	  7591	  7593	  7596	  7598	  7599	  7601	  7602	  7606	  7627	  7629
	  7632	  7634	  7635	  7637	  7638	  7642	  7663	  7665	  7668	  7670	  7671	  7673	  7674	  7678
	  7699	  7701	  7704	  7706	  7707	  7709	  7710	  7714	  7735	  7737	  7740	  7742	  7743	  7745
	  7746	  7750	  7771	  7773	  7776	  7778	  7779	  7781	  7782	  7786	  7807	  7809	  7812	  7814
	  7815	  7817	  7818	  7822	  7843	  7845	  7848	  7850	  7851	  7853	  7854	  7858	  7879	  7881     SEQ 0379
	  7884	  7886	  7887	  7889	  7890	  7894	  7915	  7917	  7920	  7922	  7923	  7925	  7926	  7930
	  7951	  7953	  7956	  7958	  7959	  7961	  7962	  7966	  7987	  7989	  7992	  7994	  7995	  7997
	  7998	  8002	  8023	  8025	  8028	  8030	  8031	  8033	  8034	  8038	  8059	  8061	  8064	  8066
	  8067	  8069	  8070	  8074	  8095	  8097	  8100	  8102	  8103	  8105	  8106	  8110	  8131	  8133
	  8136	  8138	  8139	  8141	  8142	  8146	  8167	  8169	  8172	  8174	  8175	  8177	  8178	  8182
	  8183#	  8184	  8186	  8187	  8188	  8189	  8227	  8229	  8232	  8234	  8235	  8237	  8238	  8242
	  8263	  8265	  8268	  8270	  8271	  8273	  8274	  8278	  8299	  8301	  8304	  8306	  8307	  8309
	  8310	  8314	  8335	  8337	  8340	  8342	  8343	  8345	  8346	  8350	  8371	  8373	  8376	  8378
	  8379	  8381	  8382	  8386	  8407	  8409	  8412	  8414	  8415	  8417	  8418	  8422	  8443	  8445
	  8448	  8450	  8451	  8453	  8454	  8458	  8479	  8481	  8484	  8486	  8487	  8489	  8490	  8494
	  8515	  8517	  8520	  8522	  8523	  8525	  8526	  8530	  8551	  8553	  8556	  8558	  8559	  8561
	  8562	  8566	  8587	  8589	  8592	  8594	  8595	  8597	  8598	  8602	  8623	  8625	  8628	  8630
	  8631	  8633	  8634	  8638	  8659	  8661	  8664	  8666	  8667	  8669	  8670	  8674	  8695	  8697
	  8700	  8702	  8703	  8705	  8706	  8710	  8731	  8733	  8736	  8738	  8739	  8741	  8742	  8746
	  8767	  8769	  8772	  8774	  8775	  8777	  8778	  8782	  8803	  8805	  8808	  8810	  8811	  8813
	  8814	  8818	  8839	  8841	  8844	  8846	  8847	  8849	  8850	  8854	  8875	  8877	  8880	  8882
	  8883	  8885	  8886	  8890	  8911	  8913	  8916	  8918	  8919	  8921	  8922	  8926	  8947	  8949
	  8952	  8954	  8955	  8957	  8958	  8962	  8983	  8985	  8988	  8990	  8991	  8993	  8994	  8998
	  9019	  9021	  9024	  9026	  9027	  9029	  9030	  9034	  9055	  9057	  9060	  9062	  9063	  9065
	  9066	  9070	  9091	  9093	  9096	  9098	  9099	  9101	  9102	  9106	  9127	  9129	  9132	  9134
	  9135	  9137	  9138	  9142	  9163	  9165	  9168	  9170	  9171	  9173	  9174	  9178	  9199	  9201
	  9204	  9206	  9207	  9209	  9210	  9214	  9235	  9237	  9240	  9242	  9243	  9245	  9246	  9250
	  9271	  9273	  9276	  9278	  9279	  9281	  9282	  9286	  9307	  9309	  9312	  9314	  9315	  9317
	  9318	  9322	  9343	  9345	  9348	  9350	  9351	  9353	  9354	  9358	  9379	  9381	  9384	  9386
	  9387	  9389	  9390	  9394	  9415	  9417	  9420	  9422	  9423	  9425	  9426	  9430	  9451	  9453
	  9456	  9458	  9459	  9461	  9462	  9466	  9479	  9481	  9484	  9486	  9487	  9489	  9490	  9494
	  9498#	  9500	  9501	  9502	  9503	  9531	  9532	  9533	  9534	  9535	  9536	  9537	  9538	  9546
	  9547	  9548	  9549	  9550	  9551	  9552	  9553	  9559#	  9561	  9562	  9563	  9564	  9590	  9591
	  9592	  9593	  9594	  9595	  9596	  9597	  9598	  9599	  9605	  9606	  9607	  9608	  9609	  9610
	  9611	  9612	  9613	  9614	  9619#	  9621	  9622	  9623	  9624	  9648	  9649	  9650	  9651	  9652
	  9653	  9654	  9655	  9661	  9662	  9663	  9664	  9665	  9666	  9667	  9668	  9673#	  9675	  9676
	  9677	  9678	  9699	  9700	  9701	  9702	  9703	  9704	  9705	  9706	  9711	  9712	  9713	  9714
	  9715	  9716	  9717	  9718	  9724#	  9726	  9727	  9728	  9729	  9754	  9755	  9756	  9757	  9758
	  9759	  9760	  9761	  9768	  9769	  9770	  9771	  9772	  9773	  9774	  9775	  9780#	  9782	  9783
	  9784	  9785	  9810	  9811	  9812	  9813	  9814	  9815	  9816	  9817	  9818	  9819	  9825	  9826
	  9827	  9828	  9829	  9830	  9831	  9832	  9833	  9834	  9839#	  9841	  9842	  9843	  9844	  9874
	  9875	  9876	  9877	  9878	  9879	  9880	  9881	  9882	  9883	  9891	  9892	  9893	  9894	  9895
	  9896	  9897	  9898	  9899	  9900	  9906#	  9908	  9909	  9910	  9911	  9934	  9935	  9936	  9937
	  9938	  9939	  9940	  9941	  9947	  9948	  9949	  9950	  9951	  9952	  9953	  9954	  9959#	  9961
	  9962	  9963	  9964	  9987	  9988	  9989	  9990	  9991	  9992	  9993	  9994	  9995	 10001	 10002
	 10003	 10004	 10005	 10006	 10007	 10008	 10009	 10014#	 10016	 10017	 10018	 10019	 10048	 10049
	 10050	 10051	 10052	 10053	 10054	 10055	 10056	 10057	 10065	 10066	 10067	 10068	 10069	 10070
	 10071	 10072	 10073	 10074	 10080#	 10082	 10083	 10084	 10085	 10108	 10109	 10110	 10111	 10112
	 10113	 10114	 10115	 10121	 10122	 10123	 10124	 10125	 10126	 10127	 10128	 10137#	 10156	 10156#
	 10158	 10159	 10160	 10161	 10163	 10164	 10165	 10166	 10167	 10168	 10169	 10170	 10171	 10175
	 10175#	 10177	 10178	 10179	 10180	 10182	 10183	 10184	 10185	 10186	 10187	 10188	 10189	 10190
	 10200#	 10202	 10203	 10204	 10205	 10230	 10231	 10232	 10233	 10234	 10235	 10236	 10237	 10238
	 10239	 10240	 10241	 10246	 10247	 10248	 10249	 10250	 10251	 10252	 10253	 10254	 10255	 10256
	 10257	 10277	 10278	 10279	 10280	 10281	 10282	 10287	 10288	 10289	 10290	 10291	 10292	 10313
	 10314	 10315	 10316	 10317	 10318	 10319	 10324	 10325	 10326	 10327	 10328	 10329	 10330	 10340#
	 10342	 10343	 10344	 10345	 10372	 10373	 10374	 10375	 10376	 10377	 10378	 10379	 10380	 10381
	 10382	 10383	 10389	 10390	 10391	 10392	 10393	 10394	 10395	 10396	 10397	 10398	 10399	 10400
	 10409	 10410	 10411	 10412	 10413	 10414	 10415	 10416	 10418	 10419	 10428	 10429	 10430	 10431     SEQ 0380
	 10432	 10433	 10434	 10435	 10436	 10437	 10439	 10440	 10446#	 10448	 10449	 10450	 10451	 10470
	 10471	 10472	 10473	 10474	 10475	 10480	 10481	 10482	 10483	 10484	 10485	 10494#	 10496	 10497
	 10498	 10499	 10527	 10528	 10529	 10530	 10531	 10532	 10535	 10536	 10543	 10544	 10545	 10546
	 10547	 10548	 10551	 10552	 10581	 10582	 10583	 10584	 10585	 10586	 10587	 10589	 10590	 10597
	 10598	 10599	 10600	 10601	 10602	 10603	 10605	 10606	 10634	 10635	 10636	 10637	 10638	 10639
	 10642	 10643	 10650	 10651	 10652	 10653	 10654	 10655	 10658	 10659	 10684	 10685	 10686	 10687
	 10688	 10689	 10691	 10692	 10698	 10699	 10700	 10701	 10702	 10703	 10705	 10706	 10735	 10736
	 10737	 10738	 10739	 10740	 10741	 10744	 10745	 10752	 10753	 10754	 10755	 10756	 10757	 10758
	 10761	 10762	 10767#	 10769	 10770	 10771	 10772	 10801	 10802	 10803	 10804	 10805	 10806	 10809
	 10810	 10818	 10819	 10820	 10821	 10822	 10823	 10826	 10827	 10833#	 10835	 10836	 10837	 10838
	 10866	 10867	 10868	 10869	 10870	 10871	 10872	 10875	 10876	 10883	 10884	 10885	 10886	 10887
	 10888	 10889	 10892	 10893	 10898#	 10900	 10901	 10902	 10903	 10931	 10932	 10933	 10934	 10935
	 10936	 10937	 10940	 10941	 10948	 10949	 10950	 10951	 10952	 10953	 10954	 10957	 10958	 10962
	 10963	 10964	 10965	 10966	 10967	 10968	 10969	 10971	 10972	 10981#	 10983	 10984	 10985	 10986
	 11007	 11008	 11009	 11010	 11011	 11012	 11013	 11018	 11019	 11020	 11021	 11022	 11023	 11024
	 11028#	 11030	 11031	 11032	 11033	 11054	 11055	 11056	 11057	 11058	 11059	 11060	 11061	 11062
	 11067	 11068	 11069	 11070	 11071	 11072	 11073	 11074	 11075	 11083#	 11085	 11086	 11087	 11088
	 11105	 11106	 11107	 11108	 11109	 11110	 11115	 11116	 11117	 11118	 11119	 11120	 11133#	 11135
	 11136	 11137	 11138	 11168	 11169	 11170	 11171	 11174	 11175	 11176	 11177	 11178	 11179	 11187
	 11188	 11189	 11190	 11193	 11194	 11195	 11196	 11197	 11198	 11203	 11204	 11205	 11206	 11207
	 11208	 11209	 11215#	 11217	 11218	 11219	 11220	 11237	 11238	 11239	 11240	 11241	 11242	 11247
	 11248	 11249	 11250	 11251	 11252	 11258#	 11260	 11261	 11262	 11263	 11292	 11293	 11294	 11295
	 11296	 11297	 11298	 11299	 11300	 11302	 11303	 11304	 11305	 11311	 11312	 11313	 11314	 11315
	 11316	 11317	 11318	 11319	 11321	 11322	 11323	 11324	 11330#	 11332	 11333	 11334	 11335	 11361
	 11362	 11363	 11364	 11365	 11366	 11367	 11368	 11371	 11372	 11378	 11379	 11380	 11381	 11382
	 11383	 11384	 11385	 11388	 11389	 11394#	 11396	 11397	 11398	 11399	 11425	 11426	 11427	 11428
	 11429	 11430	 11431	 11432	 11435	 11436	 11442	 11443	 11444	 11445	 11446	 11447	 11448	 11449
	 11452	 11453	 11459#	 11461	 11462	 11463	 11464	 11485	 11486	 11487	 11488	 11489	 11490	 11491
	 11492	 11497	 11498	 11499	 11500	 11501	 11502	 11503	 11504	 11509#	 11511	 11512	 11513	 11514
	 11540	 11541	 11542	 11543	 11544	 11545	 11546	 11547	 11548	 11555	 11556	 11557	 11558	 11559
	 11560	 11561	 11562	 11563	 11568#	 11570	 11571	 11572	 11573	 11594	 11595	 11596	 11597	 11598
	 11599	 11600	 11601	 11602	 11607	 11608	 11609	 11610	 11611	 11612	 11613	 11614	 11615	 11624#
	 11626	 11627	 11628	 11629	 11650	 11651	 11652	 11653	 11654	 11655	 11656	 11657	 11658	 11663
	 11664	 11665	 11666	 11667	 11668	 11669	 11670	 11671	 11678#	 11680	 11681	 11682	 11683	 11703
	 11704	 11705	 11706	 11707	 11708	 11709	 11710	 11715	 11716	 11717	 11718	 11719	 11720	 11721
	 11722	 11746	 11747	 11748	 11749	 11750	 11751	 11752	 11753	 11754	 11760	 11761	 11762	 11763
	 11764	 11765	 11766	 11767	 11768	 11774#	 11776	 11777	 11778	 11779	 11797	 11798	 11799	 11800
	 11801	 11802	 11807	 11808	 11809	 11810	 11811	 11812	 11819#	 11821	 11822	 11823	 11824	 11848
	 11849	 11850	 11851	 11852	 11853	 11854	 11855	 11856	 11862	 11863	 11864	 11865	 11866	 11867
	 11868	 11869	 11870	 11875#	 11877	 11878	 11879	 11880	 11906	 11907	 11908	 11909	 11910	 11911
	 11912	 11913	 11914	 11921	 11922	 11923	 11924	 11925	 11926	 11927	 11928	 11929	 11952	 11953
	 11954	 11955	 11956	 11957	 11958	 11959	 11964	 11965	 11966	 11967	 11968	 11969	 11970	 11971
	 11976#	 11978	 11979	 11980	 11981	 12001	 12002	 12003	 12004	 12005	 12006	 12007	 12008	 12013
	 12014	 12015	 12016	 12017	 12018	 12019	 12020	 12025#	 12027	 12028	 12029	 12030	 12051	 12052
	 12053	 12054	 12055	 12056	 12057	 12058	 12059	 12064	 12065	 12066	 12067	 12068	 12069	 12070
	 12071	 12072	 12080#	 12082	 12083	 12084	 12085	 12107	 12108	 12109	 12110	 12111	 12112	 12113
	 12114	 12115	 12116	 12121	 12122	 12123	 12124	 12125	 12126	 12127	 12128	 12129	 12130	 12135#
	 12137	 12138	 12139	 12140	 12162	 12163	 12164	 12165	 12166	 12167	 12168	 12169	 12170	 12171
	 12176	 12177	 12178	 12179	 12180	 12181	 12182	 12183	 12184	 12185	 12190#	 12192	 12193	 12194
	 12195	 12216	 12217	 12218	 12219	 12220	 12221	 12222	 12223	 12224	 12229	 12230	 12231	 12232
	 12233	 12234	 12235	 12236	 12237	 12247#	 12249	 12250	 12251	 12252	 12273	 12274	 12275	 12276
	 12277	 12278	 12279	 12280	 12285	 12286	 12287	 12288	 12289	 12290	 12291	 12292	 12300#	 12326
	 12326#	 12328	 12329	 12330	 12331	 12333	 12334	 12335	 12336	 12337	 12338	 12339	 12340	 12343     SEQ 0381
	 12344	 12349	 12349#	 12351	 12352	 12353	 12354	 12356	 12357	 12358	 12359	 12360	 12361	 12362
	 12363	 12366	 12367	 12374#	 12376	 12377	 12378	 12379	 12402	 12403	 12404	 12405	 12406	 12407
	 12408	 12409	 12410	 12415	 12416	 12417	 12418	 12419	 12420	 12421	 12422	 12423	 12431#	 12433
	 12434	 12435	 12436	 12458	 12459	 12460	 12461	 12462	 12463	 12464	 12465	 12466	 12471	 12472
	 12473	 12474	 12475	 12476	 12477	 12478	 12479	 12488#	 12490	 12491	 12492	 12493	 12498	 12499
	 12500	 12501	 12502	 12503	 12504	 12505	 12506	 12507	 12508	 12512	 12513	 12514	 12515	 12516
	 12517	 12518	 12519	 12520	 12521	 12522	 12524	 12525	 12526	 12527	 12534#	 12536	 12537	 12538
	 12539	 12565	 12566	 12567	 12568	 12569	 12570	 12571	 12572	 12573	 12579	 12580	 12581	 12582
	 12583	 12584	 12585	 12586	 12587	 12593#	 12595	 12596	 12597	 12598	 12626	 12627	 12628	 12629
	 12630	 12632	 12633	 12634	 12635	 12636	 12637	 12638	 12639	 12645	 12646	 12647	 12648	 12649
	 12651	 12652	 12653	 12654	 12655	 12656	 12657	 12658	 12666#	 12668	 12669	 12670	 12671	 12692
	 12693	 12694	 12695	 12696	 12697	 12698	 12699	 12704	 12705	 12706	 12707	 12708	 12709	 12710
	 12711	 12717#	 12719	 12720	 12721	 12722	 12747	 12748	 12749	 12750	 12751	 12752	 12753	 12754
	 12755	 12756	 12762	 12763	 12764	 12765	 12766	 12767	 12768	 12769	 12770	 12771	 12777#	 12779
	 12780	 12781	 12782	 12818	 12819	 12820	 12821	 12822	 12823	 12824	 12825	 12826	 12827	 12830
	 12831	 12832	 12833	 12841	 12842	 12843	 12844	 12845	 12846	 12847	 12848	 12849	 12850	 12853
	 12854	 12855	 12856	 12862#	 12864	 12865	 12866	 12867	 12895	 12896	 12897	 12898	 12899	 12900
	 12901	 12902	 12903	 12910	 12911	 12912	 12913	 12914	 12915	 12916	 12917	 12918	 12926#	 12928
	 12929	 12930	 12931	 12966	 12967	 12968	 12969	 12970	 12971	 12973	 12974	 12975	 12976	 12977
	 12978	 12979	 12980	 12988	 12989	 12990	 12991	 12992	 12993	 12995	 12996	 12997	 12998	 12999
	 13000	 13001	 13002	 13009#	 13011	 13012	 13013	 13014	 13041	 13042	 13043	 13044	 13045	 13047
	 13048	 13049	 13050	 13057	 13058	 13059	 13060	 13061	 13063	 13064	 13065	 13066	 13073#	 13075
	 13076	 13077	 13078	 13103	 13104	 13105	 13106	 13107	 13110	 13111	 13118	 13119	 13120	 13121
	 13122	 13125	 13126	 13135#	 13157	 13157#	 13160	 13161	 13162	 13163	 13165	 13166	 13167	 13168
	 13169	 13172	 13173	 13177	 13177#	 13180	 13181	 13182	 13183	 13185	 13186	 13187	 13188	 13189
	 13192	 13193	 13199#	 13201	 13202	 13203	 13204	 13231	 13232	 13233	 13234	 13235	 13236	 13237
	 13238	 13239	 13240	 13246	 13247	 13248	 13249	 13250	 13251	 13252	 13253	 13254	 13255	 13263#
	 13265	 13266	 13267	 13268	 13290	 13291	 13292	 13293	 13294	 13295	 13296	 13297	 13298	 13303
	 13304	 13305	 13306	 13307	 13308	 13309	 13310	 13311	 13317	 13318	 13319	 13320	 13321	 13322
	 13323	 13324	 13325	 13326	 13327	 13329	 13330	 13331	 13332	 13344#	 13346	 13347	 13348	 13349
	 13377	 13378	 13379	 13380	 13381	 13382	 13383	 13384	 13385	 13386	 13387	 13394	 13395	 13396
	 13397	 13398	 13399	 13400	 13401	 13402	 13403	 13404	 13411	 13412	 13413	 13414	 13415	 13416
	 13417	 13418	 13419	 13420	 13421	 13428	 13429	 13430	 13431	 13432	 13433	 13434	 13435	 13436
	 13437	 13438	 13445	 13446	 13447	 13448	 13449	 13450	 13451	 13452	 13453	 13454	 13455	 13462
	 13463	 13464	 13465	 13466	 13467	 13468	 13469	 13470	 13471	 13472	 13479	 13480	 13481	 13482
	 13483	 13484	 13485	 13486	 13487	 13488	 13489	 13496	 13497	 13498	 13499	 13500	 13501	 13502
	 13503	 13504	 13505	 13506	 13513	 13514	 13515	 13516	 13517	 13518	 13519	 13520	 13521	 13522
	 13523	 13530	 13531	 13532	 13533	 13534	 13535	 13536	 13537	 13538	 13539	 13540	 13550#	 13552
	 13553	 13554	 13555	 13581	 13582	 13583	 13584	 13585	 13586	 13587	 13588	 13589	 13596	 13597
	 13598	 13599	 13600	 13601	 13602	 13603	 13604	 13611	 13612	 13613	 13614	 13615	 13616	 13617
	 13618	 13619	 13626	 13627	 13628	 13629	 13630	 13631	 13632	 13633	 13634	 13641	 13642	 13643
	 13644	 13645	 13646	 13647	 13648	 13649	 13658#	 13660	 13661	 13662	 13663	 13683	 13684	 13685
	 13686	 13687	 13688	 13694	 13695	 13696	 13697	 13698	 13699	 13705	 13706	 13707	 13708	 13709
	 13710	 13716	 13717	 13718	 13719	 13720	 13721	 13727	 13728	 13729	 13730	 13731	 13732	 13742#
	 13744	 13745	 13746	 13747	 13777	 13778	 13779	 13780	 13781	 13782	 13783	 13784	 13785	 13786
	 13787	 13795	 13796	 13797	 13798	 13799	 13800	 13801	 13802	 13803	 13804	 13805	 13813	 13814
	 13815	 13816	 13817	 13818	 13819	 13820	 13821	 13822	 13823	 13831	 13832	 13833	 13834	 13835
	 13836	 13837	 13838	 13839	 13840	 13841	 13849	 13850	 13851	 13852	 13853	 13854	 13855	 13856
	 13857	 13858	 13859	 13868#	 13870	 13871	 13872	 13873	 13902	 13903	 13904	 13905	 13906	 13907
	 13908	 13909	 13910	 13911	 13912	 13913	 13920	 13921	 13922	 13923	 13924	 13925	 13926	 13927
	 13928	 13929	 13930	 13931	 13938	 13939	 13940	 13941	 13942	 13943	 13944	 13945	 13946	 13947
	 13948	 13949	 13956	 13957	 13958	 13959	 13960	 13961	 13962	 13963	 13964	 13965	 13966	 13967
	 13974	 13975	 13976	 13977	 13978	 13979	 13980	 13981	 13982	 13983	 13984	 13985	 13995#	 13997     SEQ 0382
	 13998	 13999	 14000	 14026	 14027	 14028	 14029	 14030	 14031	 14032	 14033	 14034	 14041	 14042
	 14043	 14044	 14045	 14046	 14047	 14048	 14049	 14056	 14057	 14058	 14059	 14060	 14061	 14062
	 14063	 14064	 14071	 14072	 14073	 14074	 14075	 14076	 14077	 14078	 14079	 14086	 14087	 14088
	 14089	 14090	 14091	 14092	 14093	 14094	 14103#	 14105	 14106	 14107	 14108	 14129	 14130	 14131
	 14132	 14133	 14134	 14140	 14141	 14142	 14143	 14144	 14145	 14151	 14152	 14153	 14154	 14155
	 14156	 14162	 14163	 14164	 14165	 14166	 14167	 14173	 14174	 14175	 14176	 14177	 14178	 14187#
	 14189	 14190	 14191	 14192	 14219	 14220	 14221	 14222	 14223	 14224	 14225	 14226	 14227	 14228
	 14229	 14230	 14236	 14237	 14238	 14239	 14240	 14241	 14242	 14243	 14244	 14245	 14246	 14247
	 14253	 14254	 14255	 14256	 14257	 14258	 14259	 14260	 14261	 14262	 14263	 14264	 14270	 14271
	 14272	 14273	 14274	 14275	 14276	 14277	 14278	 14279	 14280	 14281	 14287	 14288	 14289	 14290
	 14291	 14292	 14293	 14294	 14295	 14296	 14297	 14298	 14307#	 14309	 14310	 14311	 14312	 14334
	 14335	 14336	 14337	 14338	 14339	 14340	 14341	 14347	 14348	 14349	 14350	 14351	 14352	 14353
	 14354	 14360	 14361	 14362	 14363	 14364	 14365	 14366	 14367	 14373	 14374	 14375	 14376	 14377
	 14378	 14379	 14380	 14386	 14387	 14388	 14389	 14390	 14391	 14392	 14393	 14405#	 14407	 14408
	 14409	 14410	 14432	 14433	 14434	 14435	 14436	 14437	 14438	 14439	 14445	 14446	 14447	 14448
	 14449	 14450	 14451	 14452	 14458	 14459	 14460	 14461	 14462	 14463	 14464	 14465	 14471	 14472
	 14473	 14474	 14475	 14476	 14477	 14478	 14484	 14485	 14486	 14487	 14488	 14489	 14490	 14491
	 14497	 14498	 14499	 14500	 14501	 14502	 14503	 14504	 14510	 14511	 14512	 14513	 14514	 14515
	 14516	 14517	 14523	 14524	 14525	 14526	 14527	 14528	 14529	 14530	 14536	 14537	 14538	 14539
	 14540	 14541	 14542	 14543	 14549	 14550	 14551	 14552	 14553	 14554	 14555	 14556	 14562	 14563
	 14564	 14565	 14566	 14567	 14568	 14569	 14575	 14576	 14577	 14578	 14579	 14580	 14581	 14582
	 14588	 14589	 14590	 14591	 14592	 14593	 14594	 14595	 14601	 14602	 14603	 14604	 14605	 14606
	 14607	 14608	 14614	 14615	 14616	 14617	 14618	 14619	 14620	 14621	 14627	 14628	 14629	 14630
	 14631	 14632	 14633	 14634	 14640	 14641	 14642	 14643	 14644	 14645	 14646	 14647	 14653	 14654
	 14655	 14656	 14657	 14658	 14659	 14660	 14682	 14683	 14684	 14685	 14686	 14687	 14688	 14689
	 14695	 14696	 14697	 14698	 14699	 14700	 14701	 14702	 14708	 14709	 14710	 14711	 14712	 14713
	 14714	 14715	 14721	 14722	 14723	 14724	 14725	 14726	 14727	 14728	 14734	 14735	 14736	 14737
	 14738	 14739	 14740	 14741	 14747	 14748	 14749	 14750	 14751	 14752	 14753	 14754	 14760	 14761
	 14762	 14763	 14764	 14765	 14766	 14767	 14773	 14774	 14775	 14776	 14777	 14778	 14779	 14780
	 14786	 14787	 14788	 14789	 14790	 14791	 14792	 14793	 14799	 14800	 14801	 14802	 14803	 14804
	 14805	 14806	 14812	 14813	 14814	 14815	 14816	 14817	 14818	 14819	 14825	 14826	 14827	 14828
	 14829	 14830	 14831	 14832	 14838	 14839	 14840	 14841	 14842	 14843	 14844	 14845	 14851	 14852
	 14853	 14854	 14855	 14856	 14857	 14858	 14864	 14865	 14866	 14867	 14868	 14869	 14870	 14871
	 14877	 14878	 14879	 14880	 14881	 14882	 14883	 14884	 14890	 14891	 14892	 14893	 14894	 14895
	 14896	 14897	 14909#	 14911	 14912	 14913	 14914	 14939	 14940	 14941	 14942	 14943	 14944	 14945
	 14946	 14947	 14948	 14949	 14955	 14956	 14957	 14958	 14959	 14960	 14961	 14962	 14963	 14964
	 14965	 14971	 14972	 14973	 14974	 14975	 14976	 14977	 14978	 14979	 14980	 14981	 14987	 14988
	 14989	 14990	 14991	 14992	 14993	 14994	 14995	 14996	 14997	 15003	 15004	 15005	 15006	 15007
	 15008	 15009	 15010	 15011	 15012	 15013	 15019	 15020	 15021	 15022	 15023	 15024	 15025	 15026
	 15027	 15028	 15029	 15035	 15036	 15037	 15038	 15039	 15040	 15041	 15042	 15043	 15044	 15045
	 15051	 15052	 15053	 15054	 15055	 15056	 15057	 15058	 15059	 15060	 15061	 15067	 15068	 15069
	 15070	 15071	 15072	 15073	 15074	 15075	 15076	 15077	 15083	 15084	 15085	 15086	 15087	 15088
	 15089	 15090	 15091	 15092	 15093	 15099	 15100	 15101	 15102	 15103	 15104	 15105	 15106	 15107
	 15108	 15109	 15115	 15116	 15117	 15118	 15119	 15120	 15121	 15122	 15123	 15124	 15125	 15131
	 15132	 15133	 15134	 15135	 15136	 15137	 15138	 15139	 15140	 15141	 15147	 15148	 15149	 15150
	 15151	 15152	 15153	 15154	 15155	 15156	 15157	 15163	 15164	 15165	 15166	 15167	 15168	 15169
	 15170	 15171	 15172	 15173	 15179	 15180	 15181	 15182	 15183	 15184	 15185	 15186	 15187	 15188
	 15189	 15195	 15196	 15197	 15198	 15199	 15200	 15201	 15202	 15203	 15204	 15205	 15211	 15212
	 15213	 15214	 15215	 15216	 15217	 15218	 15219	 15220	 15221	 15246	 15247	 15248	 15249	 15250
	 15251	 15252	 15253	 15254	 15255	 15256	 15262	 15263	 15264	 15265	 15266	 15267	 15268	 15269
	 15270	 15271	 15272	 15278	 15279	 15280	 15281	 15282	 15283	 15284	 15285	 15286	 15287	 15288
	 15294	 15295	 15296	 15297	 15298	 15299	 15300	 15301	 15302	 15303	 15304	 15310	 15311	 15312
	 15313	 15314	 15315	 15316	 15317	 15318	 15319	 15320	 15326	 15327	 15328	 15329	 15330	 15331     SEQ 0383
	 15332	 15333	 15334	 15335	 15336	 15342	 15343	 15344	 15345	 15346	 15347	 15348	 15349	 15350
	 15351	 15352	 15358	 15359	 15360	 15361	 15362	 15363	 15364	 15365	 15366	 15367	 15368	 15374
	 15375	 15376	 15377	 15378	 15379	 15380	 15381	 15382	 15383	 15384	 15390	 15391	 15392	 15393
	 15394	 15395	 15396	 15397	 15398	 15399	 15400	 15406	 15407	 15408	 15409	 15410	 15411	 15412
	 15413	 15414	 15415	 15416	 15422	 15423	 15424	 15425	 15426	 15427	 15428	 15429	 15430	 15431
	 15432	 15438	 15439	 15440	 15441	 15442	 15443	 15444	 15445	 15446	 15447	 15448	 15454	 15455
	 15456	 15457	 15458	 15459	 15460	 15461	 15462	 15463	 15464	 15470	 15471	 15472	 15473	 15474
	 15475	 15476	 15477	 15478	 15479	 15480	 15486	 15487	 15488	 15489	 15490	 15491	 15492	 15493
	 15494	 15495	 15496	 15502	 15503	 15504	 15505	 15506	 15507	 15508	 15509	 15510	 15511	 15512
	 15522#	 15524	 15525	 15526	 15527	 15550	 15551	 15552	 15553	 15554	 15555	 15556	 15557	 15563
	 15564	 15565	 15566	 15567	 15568	 15569	 15570	 15576	 15577	 15578	 15579	 15580	 15581	 15582
	 15583	 15589	 15590	 15591	 15592	 15593	 15594	 15595	 15596	 15602	 15603	 15604	 15605	 15606
	 15607	 15608	 15609	 15615	 15616	 15617	 15618	 15619	 15620	 15621	 15622	 15628	 15629	 15630
	 15631	 15632	 15633	 15634	 15635	 15641	 15642	 15643	 15644	 15645	 15646	 15647	 15648	 15654
	 15655	 15656	 15657	 15658	 15659	 15660	 15661	 15667	 15668	 15669	 15670	 15671	 15672	 15673
	 15674	 15684#	 15686	 15687	 15688	 15689	 15720	 15721	 15722	 15723	 15724	 15725	 15726	 15727
	 15728	 15729	 15730	 15731	 15739	 15740	 15741	 15742	 15743	 15744	 15745	 15746	 15747	 15748
	 15749	 15750	 15758	 15759	 15760	 15761	 15762	 15763	 15764	 15765	 15766	 15767	 15768	 15769
	 15777	 15778	 15779	 15780	 15781	 15782	 15783	 15784	 15785	 15786	 15787	 15788	 15796	 15797
	 15798	 15799	 15800	 15801	 15802	 15803	 15804	 15805	 15806	 15807	 15817#	 15819	 15820	 15821
	 15822	 15848	 15849	 15850	 15851	 15852	 15853	 15854	 15855	 15856	 15857	 15858	 15864	 15865
	 15866	 15867	 15868	 15869	 15870	 15871	 15872	 15873	 15874	 15880	 15881	 15882	 15883	 15884
	 15885	 15886	 15887	 15888	 15889	 15890	 15896	 15897	 15898	 15899	 15900	 15901	 15902	 15903
	 15904	 15905	 15906	 15912	 15913	 15914	 15915	 15916	 15917	 15918	 15919	 15920	 15921	 15922
	 15931#	 15933	 15934	 15935	 15936	 15963	 15964	 15965	 15966	 15967	 15968	 15969	 15970	 15971
	 15972	 15973	 15974	 15980	 15981	 15982	 15983	 15984	 15985	 15986	 15987	 15988	 15989	 15990
	 15991	 15997	 15998	 15999	 16000	 16001	 16002	 16003	 16004	 16005	 16006	 16007	 16008	 16014
	 16015	 16016	 16017	 16018	 16019	 16020	 16021	 16022	 16023	 16024	 16025	 16031	 16032	 16033
	 16034	 16035	 16036	 16037	 16038	 16039	 16040	 16041	 16042	 16051#	 16053	 16054	 16055	 16056
	 16078	 16079	 16080	 16081	 16082	 16083	 16084	 16085	 16091	 16092	 16093	 16094	 16095	 16096
	 16097	 16098	 16104	 16105	 16106	 16107	 16108	 16109	 16110	 16111	 16117	 16118	 16119	 16120
	 16121	 16122	 16123	 16124	 16130	 16131	 16132	 16133	 16134	 16135	 16136	 16137	 16146#	 16148
	 16149	 16150	 16151	 16178	 16179	 16180	 16181	 16182	 16183	 16184	 16185	 16186	 16187	 16188
	 16189	 16195	 16196	 16197	 16198	 16199	 16200	 16201	 16202	 16203	 16204	 16205	 16206	 16212
	 16213	 16214	 16215	 16216	 16217	 16218	 16219	 16220	 16221	 16222	 16223	 16229	 16230	 16231
	 16232	 16233	 16234	 16235	 16236	 16237	 16238	 16239	 16240	 16246	 16247	 16248	 16249	 16250
	 16251	 16252	 16253	 16254	 16255	 16256	 16257	 16266#	 16268	 16269	 16270	 16271	 16298	 16299
	 16300	 16301	 16302	 16303	 16304	 16305	 16306	 16307	 16308	 16309	 16315	 16316	 16317	 16318
	 16319	 16320	 16321	 16322	 16323	 16324	 16325	 16326	 16332	 16333	 16334	 16335	 16336	 16337
	 16338	 16339	 16340	 16341	 16342	 16343	 16349	 16350	 16351	 16352	 16353	 16354	 16355	 16356
	 16357	 16358	 16359	 16360	 16366	 16367	 16368	 16369	 16370	 16371	 16372	 16373	 16374	 16375
	 16376	 16377
ADR	   710#	   736	   736#	   746	   770	   770#	   780	   804	   804#	   814	   838	   838#	   848	   872
	   872#	   882	   906	   906#	   916	   940	   940#	   950	   974	   974#	   984	  1008	  1008#	  1018
	  1042	  1042#	  1052	  1076	  1076#	  1086	  1110	  1110#	  1120	  1144	  1144#	  1154	  1178	  1178#
	  1188	  1212	  1212#	  1222	  1246	  1246#	  1256	  1280	  1280#	  1290	  1314	  1314#	  1324	  1348
	  1348#	  1358	  1382	  1382#	  1392	  1416	  1416#	  1426	  1450	  1450#	  1460	  1484	  1484#	  1494
	  1518	  1518#	  1528	  1552	  1552#	  1562	  1586	  1586#	  1596	  1620	  1620#	  1630	  1654	  1654#
	  1664	  1688	  1688#	  1698	  1722	  1722#	  1732	  1756	  1756#	  1766	  1790	  1790#	  1800	  1824
	  1824#	  1834	  1858	  1858#	  1868	  1892	  1892#	  1902	  1926	  1926#	  1936	  1984	  1984#	  1994
	  2018	  2018#	  2028	  2052	  2052#	  2062	  2086	  2086#	  2096	  2120	  2120#	  2130	  2154	  2154#
	  2164	  2188	  2188#	  2198	  2222	  2222#	  2232	  2256	  2256#	  2266	  2290	  2290#	  2300	  2324
	  2324#	  2334	  2358	  2358#	  2368	  2392	  2392#	  2402	  2426	  2426#	  2436	  2460	  2460#	  2470     SEQ 0384
	  2494	  2494#	  2504	  2528	  2528#	  2538	  2562	  2562#	  2572	  2596	  2596#	  2606	  2630	  2630#
	  2640	  2664	  2664#	  2674	  2698	  2698#	  2708	  2732	  2732#	  2742	  2766	  2766#	  2776	  2800
	  2800#	  2810	  2834	  2834#	  2844	  2868	  2868#	  2878	  2902	  2902#	  2912	  2936	  2936#	  2946
	  2970	  2970#	  2980	  3004	  3004#	  3014	  3038	  3038#	  3048	  3072	  3072#	  3082	  3106	  3106#
	  3116	  3140	  3140#	  3150	  3173	  3173#	  3178	  3224	  3224#	  3234	  3258	  3258#	  3268	  3292
	  3292#	  3302	  3326	  3326#	  3336	  3360	  3360#	  3370	  3394	  3394#	  3404	  3428	  3428#	  3438
	  3462	  3462#	  3472	  3496	  3496#	  3506	  3530	  3530#	  3540	  3564	  3564#	  3574	  3598	  3598#
	  3608	  3632	  3632#	  3642	  3666	  3666#	  3676	  3700	  3700#	  3710	  3734	  3734#	  3744	  3768
	  3768#	  3778	  3802	  3802#	  3812	  3836	  3836#	  3846	  3870	  3870#	  3880	  3904	  3904#	  3914
	  3938	  3938#	  3948	  3972	  3972#	  3982	  4006	  4006#	  4016	  4040	  4040#	  4050	  4074	  4074#
	  4084	  4108	  4108#	  4118	  4142	  4142#	  4152	  4176	  4176#	  4186	  4210	  4210#	  4220	  4244
	  4244#	  4254	  4278	  4278#	  4288	  4312	  4312#	  4322	  4346	  4346#	  4356	  4380	  4380#	  4390
	  4414	  4414#	  4424	  4467	  4467#	  4475	  4499	  4499#	  4507	  4531	  4531#	  4539	  4563	  4563#
	  4571	  4595	  4595#	  4603	  4627	  4627#	  4635	  4659	  4659#	  4667	  4691	  4691#	  4699	  4723
	  4723#	  4731	  4755	  4755#	  4763	  4787	  4787#	  4795	  4819	  4819#	  4827	  4851	  4851#	  4859
	  4883	  4883#	  4891	  4915	  4915#	  4923	  4947	  4947#	  4955	  4979	  4979#	  4987	  5011	  5011#
	  5019	  5043	  5043#	  5051	  5075	  5075#	  5083	  5107	  5107#	  5115	  5139	  5139#	  5147	  5171
	  5171#	  5179	  5203	  5203#	  5211	  5235	  5235#	  5243	  5267	  5267#	  5275	  5299	  5299#	  5307
	  5331	  5331#	  5339	  5363	  5363#	  5371	  5395	  5395#	  5403	  5427	  5427#	  5435	  5459	  5459#
	  5467	  5491	  5491#	  5499	  5523	  5523#	  5531	  5555	  5555#	  5563	  5587	  5587#	  5595	  5640
	  5640#	  5650	  5674	  5674#	  5684	  5708	  5708#	  5718	  5742	  5742#	  5752	  5776	  5776#	  5786
	  5810	  5810#	  5820	  5844	  5844#	  5854	  5878	  5878#	  5888	  5912	  5912#	  5922	  5946	  5946#
	  5956	  5980	  5980#	  5990	  6014	  6014#	  6024	  6048	  6048#	  6058	  6082	  6082#	  6092	  6116
	  6116#	  6126	  6150	  6150#	  6160	  6184	  6184#	  6194	  6218	  6218#	  6228	  6252	  6252#	  6262
	  6286	  6286#	  6296	  6320	  6320#	  6330	  6354	  6354#	  6364	  6388	  6388#	  6398	  6422	  6422#
	  6432	  6456	  6456#	  6466	  6490	  6490#	  6500	  6524	  6524#	  6534	  6558	  6558#	  6568	  6592
	  6592#	  6602	  6626	  6626#	  6636	  6660	  6660#	  6670	  6694	  6694#	  6704	  6728	  6728#	  6738
	  6762	  6762#	  6772	  6796	  6796#	  6806	  6830	  6830#	  6840	  6888	  6888#	  6900	  6924	  6924#
	  6936	  6960	  6960#	  6972	  6996	  6996#	  7008	  7032	  7032#	  7044	  7068	  7068#	  7080	  7104
	  7104#	  7116	  7140	  7140#	  7152	  7176	  7176#	  7188	  7212	  7212#	  7224	  7248	  7248#	  7260
	  7284	  7284#	  7296	  7320	  7320#	  7332	  7356	  7356#	  7368	  7392	  7392#	  7404	  7428	  7428#
	  7440	  7464	  7464#	  7476	  7500	  7500#	  7512	  7536	  7536#	  7548	  7572	  7572#	  7584	  7608
	  7608#	  7620	  7644	  7644#	  7656	  7680	  7680#	  7692	  7716	  7716#	  7728	  7752	  7752#	  7764
	  7788	  7788#	  7800	  7824	  7824#	  7836	  7860	  7860#	  7872	  7896	  7896#	  7908	  7932	  7932#
	  7944	  7968	  7968#	  7980	  8004	  8004#	  8016	  8040	  8040#	  8052	  8076	  8076#	  8088	  8112
	  8112#	  8124	  8148	  8148#	  8160	  8208	  8208#	  8220	  8244	  8244#	  8256	  8280	  8280#	  8292
	  8316	  8316#	  8328	  8352	  8352#	  8364	  8388	  8388#	  8400	  8424	  8424#	  8436	  8460	  8460#
	  8472	  8496	  8496#	  8508	  8532	  8532#	  8544	  8568	  8568#	  8580	  8604	  8604#	  8616	  8640
	  8640#	  8652	  8676	  8676#	  8688	  8712	  8712#	  8724	  8748	  8748#	  8760	  8784	  8784#	  8796
	  8820	  8820#	  8832	  8856	  8856#	  8868	  8892	  8892#	  8904	  8928	  8928#	  8940	  8964	  8964#
	  8976	  9000	  9000#	  9012	  9036	  9036#	  9048	  9072	  9072#	  9084	  9108	  9108#	  9120	  9144
	  9144#	  9156	  9180	  9180#	  9192	  9216	  9216#	  9228	  9252	  9252#	  9264	  9288	  9288#	  9300
	  9324	  9324#	  9336	  9360	  9360#	  9372	  9396	  9396#	  9408	  9432	  9432#	  9444	  9467	  9467#
	  9472
AEE	   756#	   765#	   790#	   799#	   824#	   833#	   858#	   867#	   892#	   901#	   926#	   935#	   960#	   969#
	   994#	  1003#	  1028#	  1037#	  1062#	  1071#	  1096#	  1105#	  1130#	  1139#	  1164#	  1173#	  1198#	  1207#
	  1232#	  1241#	  1266#	  1275#	  1300#	  1309#	  1334#	  1343#	  1368#	  1377#	  1402#	  1411#	  1436#	  1445#
	  1470#	  1479#	  1504#	  1513#	  1538#	  1547#	  1572#	  1581#	  1606#	  1615#	  1640#	  1649#	  1674#	  1683#
	  1708#	  1717#	  1742#	  1751#	  1776#	  1785#	  1810#	  1819#	  1844#	  1853#	  1878#	  1887#	  1912#	  1921#
	  1946#	  1955#	  2004#	  2013#	  2038#	  2047#	  2072#	  2081#	  2106#	  2115#	  2140#	  2149#	  2174#	  2183#
	  2208#	  2217#	  2242#	  2251#	  2276#	  2285#	  2310#	  2319#	  2344#	  2353#	  2378#	  2387#	  2412#	  2421#
	  2446#	  2455#	  2480#	  2489#	  2514#	  2523#	  2548#	  2557#	  2582#	  2591#	  2616#	  2625#	  2650#	  2659#
	  2684#	  2693#	  2718#	  2727#	  2752#	  2761#	  2786#	  2795#	  2820#	  2829#	  2854#	  2863#	  2888#	  2897#    SEQ 0385
	  2922#	  2931#	  2956#	  2965#	  2990#	  2999#	  3024#	  3033#	  3058#	  3067#	  3092#	  3101#	  3126#	  3135#
	  3160#	  3169#	  3188#	  3197#	  3244#	  3253#	  3278#	  3287#	  3312#	  3321#	  3346#	  3355#	  3380#	  3389#
	  3414#	  3423#	  3448#	  3457#	  3482#	  3491#	  3516#	  3525#	  3550#	  3559#	  3584#	  3593#	  3618#	  3627#
	  3652#	  3661#	  3686#	  3695#	  3720#	  3729#	  3754#	  3763#	  3788#	  3797#	  3822#	  3831#	  3856#	  3865#
	  3890#	  3899#	  3924#	  3933#	  3958#	  3967#	  3992#	  4001#	  4026#	  4035#	  4060#	  4069#	  4094#	  4103#
	  4128#	  4137#	  4162#	  4171#	  4196#	  4205#	  4230#	  4239#	  4264#	  4273#	  4298#	  4307#	  4332#	  4341#
	  4366#	  4375#	  4400#	  4409#	  4434#	  4443#	  4485#	  4494#	  4517#	  4526#	  4549#	  4558#	  4581#	  4590#
	  4613#	  4622#	  4645#	  4654#	  4677#	  4686#	  4709#	  4718#	  4741#	  4750#	  4773#	  4782#	  4805#	  4814#
	  4837#	  4846#	  4869#	  4878#	  4901#	  4910#	  4933#	  4942#	  4965#	  4974#	  4997#	  5006#	  5029#	  5038#
	  5061#	  5070#	  5093#	  5102#	  5125#	  5134#	  5157#	  5166#	  5189#	  5198#	  5221#	  5230#	  5253#	  5262#
	  5285#	  5294#	  5317#	  5326#	  5349#	  5358#	  5381#	  5390#	  5413#	  5422#	  5445#	  5454#	  5477#	  5486#
	  5509#	  5518#	  5541#	  5550#	  5573#	  5582#	  5605#	  5614#	  5660#	  5669#	  5694#	  5703#	  5728#	  5737#
	  5762#	  5771#	  5796#	  5805#	  5830#	  5839#	  5864#	  5873#	  5898#	  5907#	  5932#	  5941#	  5966#	  5975#
	  6000#	  6009#	  6034#	  6043#	  6068#	  6077#	  6102#	  6111#	  6136#	  6145#	  6170#	  6179#	  6204#	  6213#
	  6238#	  6247#	  6272#	  6281#	  6306#	  6315#	  6340#	  6349#	  6374#	  6383#	  6408#	  6417#	  6442#	  6451#
	  6476#	  6485#	  6510#	  6519#	  6544#	  6553#	  6578#	  6587#	  6612#	  6621#	  6646#	  6655#	  6680#	  6689#
	  6714#	  6723#	  6748#	  6757#	  6782#	  6791#	  6816#	  6825#	  6850#	  6859#	  6910#	  6919#	  6946#	  6955#
	  6982#	  6991#	  7018#	  7027#	  7054#	  7063#	  7090#	  7099#	  7126#	  7135#	  7162#	  7171#	  7198#	  7207#
	  7234#	  7243#	  7270#	  7279#	  7306#	  7315#	  7342#	  7351#	  7378#	  7387#	  7414#	  7423#	  7450#	  7459#
	  7486#	  7495#	  7522#	  7531#	  7558#	  7567#	  7594#	  7603#	  7630#	  7639#	  7666#	  7675#	  7702#	  7711#
	  7738#	  7747#	  7774#	  7783#	  7810#	  7819#	  7846#	  7855#	  7882#	  7891#	  7918#	  7927#	  7954#	  7963#
	  7990#	  7999#	  8026#	  8035#	  8062#	  8071#	  8098#	  8107#	  8134#	  8143#	  8170#	  8179#	  8230#	  8239#
	  8266#	  8275#	  8302#	  8311#	  8338#	  8347#	  8374#	  8383#	  8410#	  8419#	  8446#	  8455#	  8482#	  8491#
	  8518#	  8527#	  8554#	  8563#	  8590#	  8599#	  8626#	  8635#	  8662#	  8671#	  8698#	  8707#	  8734#	  8743#
	  8770#	  8779#	  8806#	  8815#	  8842#	  8851#	  8878#	  8887#	  8914#	  8923#	  8950#	  8959#	  8986#	  8995#
	  9022#	  9031#	  9058#	  9067#	  9094#	  9103#	  9130#	  9139#	  9166#	  9175#	  9202#	  9211#	  9238#	  9247#
	  9274#	  9283#	  9310#	  9319#	  9346#	  9355#	  9382#	  9391#	  9418#	  9427#	  9454#	  9463#	  9482#	  9491#
AFOCLR	   361#
AFODIS	   361#
AFOENB	   361#
AFOV	   361#
ALTMGO	   447#	 16515
AMPCLR	   361#
AMPV	   361#
ANXCLR	   361#
ANXM	   361#
AOVCLR	   361#
AOVDIS	   361#
AOVENB	   361#
AOVFLO	   361#
APAREN	   361#
APARER	   361#
APDCLR	   361#
APDLOV	   361#
APWRFL	   361#
AR1	   759#	   793#	   827#	   861#	   895#	   929#	   963#	   997#	  1031#	  1065#	  1099#	  1133#	  1167#	  1201#
	  1235#	  1269#	  1303#	  1337#	  1371#	  1405#	  1439#	  1473#	  1507#	  1541#	  1575#	  1609#	  1643#	  1677#
	  1711#	  1745#	  1779#	  1813#	  1847#	  1881#	  1915#	  1949#	  2007#	  2041#	  2075#	  2109#	  2143#	  2177#
	  2211#	  2245#	  2279#	  2313#	  2347#	  2381#	  2415#	  2449#	  2483#	  2517#	  2551#	  2585#	  2619#	  2653#
	  2687#	  2721#	  2755#	  2789#	  2823#	  2857#	  2891#	  2925#	  2959#	  2993#	  3027#	  3061#	  3095#	  3129#
	  3163#	  3191#	  3247#	  3281#	  3315#	  3349#	  3383#	  3417#	  3451#	  3485#	  3519#	  3553#	  3587#	  3621#
	  3655#	  3689#	  3723#	  3757#	  3791#	  3825#	  3859#	  3893#	  3927#	  3961#	  3995#	  4029#	  4063#	  4097#
	  4131#	  4165#	  4199#	  4233#	  4267#	  4301#	  4335#	  4369#	  4403#	  4437#	  4488#	  4520#	  4552#	  4584#    SEQ 0386
	  4616#	  4648#	  4680#	  4712#	  4744#	  4776#	  4808#	  4840#	  4872#	  4904#	  4936#	  4968#	  5000#	  5032#
	  5064#	  5096#	  5128#	  5160#	  5192#	  5224#	  5256#	  5288#	  5320#	  5352#	  5384#	  5416#	  5448#	  5480#
	  5512#	  5544#	  5576#	  5608#	  5663#	  5697#	  5731#	  5765#	  5799#	  5833#	  5867#	  5901#	  5935#	  5969#
	  6003#	  6037#	  6071#	  6105#	  6139#	  6173#	  6207#	  6241#	  6275#	  6309#	  6343#	  6377#	  6411#	  6445#
	  6479#	  6513#	  6547#	  6581#	  6615#	  6649#	  6683#	  6717#	  6751#	  6785#	  6819#	  6853#	  6913#	  6949#
	  6985#	  7021#	  7057#	  7093#	  7129#	  7165#	  7201#	  7237#	  7273#	  7309#	  7345#	  7381#	  7417#	  7453#
	  7489#	  7525#	  7561#	  7597#	  7633#	  7669#	  7705#	  7741#	  7777#	  7813#	  7849#	  7885#	  7921#	  7957#
	  7993#	  8029#	  8065#	  8101#	  8137#	  8173#	  8233#	  8269#	  8305#	  8341#	  8377#	  8413#	  8449#	  8485#
	  8521#	  8557#	  8593#	  8629#	  8665#	  8701#	  8737#	  8773#	  8809#	  8845#	  8881#	  8917#	  8953#	  8989#
	  9025#	  9061#	  9097#	  9133#	  9169#	  9205#	  9241#	  9277#	  9313#	  9349#	  9385#	  9421#	  9457#	  9485#
AR2	   762#	   796#	   830#	   864#	   898#	   932#	   966#	  1000#	  1034#	  1068#	  1102#	  1136#	  1170#	  1204#
	  1238#	  1272#	  1306#	  1340#	  1374#	  1408#	  1442#	  1476#	  1510#	  1544#	  1578#	  1612#	  1646#	  1680#
	  1714#	  1748#	  1782#	  1816#	  1850#	  1884#	  1918#	  1952#	  2010#	  2044#	  2078#	  2112#	  2146#	  2180#
	  2214#	  2248#	  2282#	  2316#	  2350#	  2384#	  2418#	  2452#	  2486#	  2520#	  2554#	  2588#	  2622#	  2656#
	  2690#	  2724#	  2758#	  2792#	  2826#	  2860#	  2894#	  2928#	  2962#	  2996#	  3030#	  3064#	  3098#	  3132#
	  3166#	  3194#	  3250#	  3284#	  3318#	  3352#	  3386#	  3420#	  3454#	  3488#	  3522#	  3556#	  3590#	  3624#
	  3658#	  3692#	  3726#	  3760#	  3794#	  3828#	  3862#	  3896#	  3930#	  3964#	  3998#	  4032#	  4066#	  4100#
	  4134#	  4168#	  4202#	  4236#	  4270#	  4304#	  4338#	  4372#	  4406#	  4440#	  4491#	  4523#	  4555#	  4587#
	  4619#	  4651#	  4683#	  4715#	  4747#	  4779#	  4811#	  4843#	  4875#	  4907#	  4939#	  4971#	  5003#	  5035#
	  5067#	  5099#	  5131#	  5163#	  5195#	  5227#	  5259#	  5291#	  5323#	  5355#	  5387#	  5419#	  5451#	  5483#
	  5515#	  5547#	  5579#	  5611#	  5666#	  5700#	  5734#	  5768#	  5802#	  5836#	  5870#	  5904#	  5938#	  5972#
	  6006#	  6040#	  6074#	  6108#	  6142#	  6176#	  6210#	  6244#	  6278#	  6312#	  6346#	  6380#	  6414#	  6448#
	  6482#	  6516#	  6550#	  6584#	  6618#	  6652#	  6686#	  6720#	  6754#	  6788#	  6822#	  6856#	  6916#	  6952#
	  6988#	  7024#	  7060#	  7096#	  7132#	  7168#	  7204#	  7240#	  7276#	  7312#	  7348#	  7384#	  7420#	  7456#
	  7492#	  7528#	  7564#	  7600#	  7636#	  7672#	  7708#	  7744#	  7780#	  7816#	  7852#	  7888#	  7924#	  7960#
	  7996#	  8032#	  8068#	  8104#	  8140#	  8176#	  8236#	  8272#	  8308#	  8344#	  8380#	  8416#	  8452#	  8488#
	  8524#	  8560#	  8596#	  8632#	  8668#	  8704#	  8740#	  8776#	  8812#	  8848#	  8884#	  8920#	  8956#	  8992#
	  9028#	  9064#	  9100#	  9136#	  9172#	  9208#	  9244#	  9280#	  9316#	  9352#	  9388#	  9424#	  9460#	  9488#
AROV	   361#
AROVU	   361#
AST	   562#
ATRPOS	   361#
ATSIN	   563#
AUSRIO	   361#
BEGEND	   443#	 16380
BEGIN	    69	    70	    71	    72	    73	    74	    75	    76	    77	    78	    79	   346	   347	   374#
	 16949
BEGIN1	   390#	   444
BELL	   566#
BIS	   361#
CCA	   361#
CHAIN	   152#
CHNOFF	   361#
CHNON	   361#
CLK	   361#
CLKCLR	   361#
CLKDIS	   361#
CLKENB	   361#
CLKU	   361#
CLOCKF	   429#
CNTLC	   446#
COMMA	   555#
CONSW	   430#	 16449	 16516	 16547                                                                                     SEQ 0387
CPOPJ	   450#
CPOPJ1	   448#
CRLF	   281	   282	   550#
CRLF2	   285	   286	   552#
CRY0	   361#
CRY1	   361#
CSHFLG	   609#
CSHMEM	   610#
CYCL60	   603#
DCK	   361#	 11303	 11322	 12525	 12633	 12652	 12831	 12854	 12974	 12996	 13330
DDTLNK	   166#	   388
DDTSRT	   388#
DEBUG	    59#	 16940	 16941
DECVER	     5#	    12	    26	   409
DF22F	   514#
DIAGMN	   377#
DING	   138#	 16521
DOLLAR	   569#
DSKUPD	   414
E	   712#	   757	   758	   766	   767	   791	   792	   800	   801	   825	   826	   834	   835	   859
	   860	   868	   869	   893	   894	   902	   903	   927	   928	   936	   937	   961	   962	   970
	   971	   995	   996	  1004	  1005	  1029	  1030	  1038	  1039	  1063	  1064	  1072	  1073	  1097
	  1098	  1106	  1107	  1131	  1132	  1140	  1141	  1165	  1166	  1174	  1175	  1199	  1200	  1208
	  1209	  1233	  1234	  1242	  1243	  1267	  1268	  1276	  1277	  1301	  1302	  1310	  1311	  1335
	  1336	  1344	  1345	  1369	  1370	  1378	  1379	  1403	  1404	  1412	  1413	  1437	  1438	  1446
	  1447	  1471	  1472	  1480	  1481	  1505	  1506	  1514	  1515	  1539	  1540	  1548	  1549	  1573
	  1574	  1582	  1583	  1607	  1608	  1616	  1617	  1641	  1642	  1650	  1651	  1675	  1676	  1684
	  1685	  1709	  1710	  1718	  1719	  1743	  1744	  1752	  1753	  1777	  1778	  1786	  1787	  1811
	  1812	  1820	  1821	  1845	  1846	  1854	  1855	  1879	  1880	  1888	  1889	  1913	  1914	  1922
	  1923	  1947	  1948	  1956	  1957	  1960#	  2005	  2006	  2014	  2015	  2039	  2040	  2048	  2049
	  2073	  2074	  2082	  2083	  2107	  2108	  2116	  2117	  2141	  2142	  2150	  2151	  2175	  2176
	  2184	  2185	  2209	  2210	  2218	  2219	  2243	  2244	  2252	  2253	  2277	  2278	  2286	  2287
	  2311	  2312	  2320	  2321	  2345	  2346	  2354	  2355	  2379	  2380	  2388	  2389	  2413	  2414
	  2422	  2423	  2447	  2448	  2456	  2457	  2481	  2482	  2490	  2491	  2515	  2516	  2524	  2525
	  2549	  2550	  2558	  2559	  2583	  2584	  2592	  2593	  2617	  2618	  2626	  2627	  2651	  2652
	  2660	  2661	  2685	  2686	  2694	  2695	  2719	  2720	  2728	  2729	  2753	  2754	  2762	  2763
	  2787	  2788	  2796	  2797	  2821	  2822	  2830	  2831	  2855	  2856	  2864	  2865	  2889	  2890
	  2898	  2899	  2923	  2924	  2932	  2933	  2957	  2958	  2966	  2967	  2991	  2992	  3000	  3001
	  3025	  3026	  3034	  3035	  3059	  3060	  3068	  3069	  3093	  3094	  3102	  3103	  3127	  3128
	  3136	  3137	  3161	  3162	  3170	  3171	  3189	  3190	  3198	  3199	  3202#	  3245	  3246	  3254
	  3255	  3279	  3280	  3288	  3289	  3313	  3314	  3322	  3323	  3347	  3348	  3356	  3357	  3381
	  3382	  3390	  3391	  3415	  3416	  3424	  3425	  3449	  3450	  3458	  3459	  3483	  3484	  3492
	  3493	  3517	  3518	  3526	  3527	  3551	  3552	  3560	  3561	  3585	  3586	  3594	  3595	  3619
	  3620	  3628	  3629	  3653	  3654	  3662	  3663	  3687	  3688	  3696	  3697	  3721	  3722	  3730
	  3731	  3755	  3756	  3764	  3765	  3789	  3790	  3798	  3799	  3823	  3824	  3832	  3833	  3857
	  3858	  3866	  3867	  3891	  3892	  3900	  3901	  3925	  3926	  3934	  3935	  3959	  3960	  3968
	  3969	  3993	  3994	  4002	  4003	  4027	  4028	  4036	  4037	  4061	  4062	  4070	  4071	  4095
	  4096	  4104	  4105	  4129	  4130	  4138	  4139	  4163	  4164	  4172	  4173	  4197	  4198	  4206
	  4207	  4231	  4232	  4240	  4241	  4265	  4266	  4274	  4275	  4299	  4300	  4308	  4309	  4333
	  4334	  4342	  4343	  4367	  4368	  4376	  4377	  4401	  4402	  4410	  4411	  4435	  4436	  4444
	  4445	  4448#	  4486	  4487	  4495	  4496	  4518	  4519	  4527	  4528	  4550	  4551	  4559	  4560
	  4582	  4583	  4591	  4592	  4614	  4615	  4623	  4624	  4646	  4647	  4655	  4656	  4678	  4679
	  4687	  4688	  4710	  4711	  4719	  4720	  4742	  4743	  4751	  4752	  4774	  4775	  4783	  4784     SEQ 0388
	  4806	  4807	  4815	  4816	  4838	  4839	  4847	  4848	  4870	  4871	  4879	  4880	  4902	  4903
	  4911	  4912	  4934	  4935	  4943	  4944	  4966	  4967	  4975	  4976	  4998	  4999	  5007	  5008
	  5030	  5031	  5039	  5040	  5062	  5063	  5071	  5072	  5094	  5095	  5103	  5104	  5126	  5127
	  5135	  5136	  5158	  5159	  5167	  5168	  5190	  5191	  5199	  5200	  5222	  5223	  5231	  5232
	  5254	  5255	  5263	  5264	  5286	  5287	  5295	  5296	  5318	  5319	  5327	  5328	  5350	  5351
	  5359	  5360	  5382	  5383	  5391	  5392	  5414	  5415	  5423	  5424	  5446	  5447	  5455	  5456
	  5478	  5479	  5487	  5488	  5510	  5511	  5519	  5520	  5542	  5543	  5551	  5552	  5574	  5575
	  5583	  5584	  5606	  5607	  5615	  5616	  5619#	  5661	  5662	  5670	  5671	  5695	  5696	  5704
	  5705	  5729	  5730	  5738	  5739	  5763	  5764	  5772	  5773	  5797	  5798	  5806	  5807	  5831
	  5832	  5840	  5841	  5865	  5866	  5874	  5875	  5899	  5900	  5908	  5909	  5933	  5934	  5942
	  5943	  5967	  5968	  5976	  5977	  6001	  6002	  6010	  6011	  6035	  6036	  6044	  6045	  6069
	  6070	  6078	  6079	  6103	  6104	  6112	  6113	  6137	  6138	  6146	  6147	  6171	  6172	  6180
	  6181	  6205	  6206	  6214	  6215	  6239	  6240	  6248	  6249	  6273	  6274	  6282	  6283	  6307
	  6308	  6316	  6317	  6341	  6342	  6350	  6351	  6375	  6376	  6384	  6385	  6409	  6410	  6418
	  6419	  6443	  6444	  6452	  6453	  6477	  6478	  6486	  6487	  6511	  6512	  6520	  6521	  6545
	  6546	  6554	  6555	  6579	  6580	  6588	  6589	  6613	  6614	  6622	  6623	  6647	  6648	  6656
	  6657	  6681	  6682	  6690	  6691	  6715	  6716	  6724	  6725	  6749	  6750	  6758	  6759	  6783
	  6784	  6792	  6793	  6817	  6818	  6826	  6827	  6851	  6852	  6860	  6861	  6864#	  6911	  6912
	  6920	  6921	  6947	  6948	  6956	  6957	  6983	  6984	  6992	  6993	  7019	  7020	  7028	  7029
	  7055	  7056	  7064	  7065	  7091	  7092	  7100	  7101	  7127	  7128	  7136	  7137	  7163	  7164
	  7172	  7173	  7199	  7200	  7208	  7209	  7235	  7236	  7244	  7245	  7271	  7272	  7280	  7281
	  7307	  7308	  7316	  7317	  7343	  7344	  7352	  7353	  7379	  7380	  7388	  7389	  7415	  7416
	  7424	  7425	  7451	  7452	  7460	  7461	  7487	  7488	  7496	  7497	  7523	  7524	  7532	  7533
	  7559	  7560	  7568	  7569	  7595	  7596	  7604	  7605	  7631	  7632	  7640	  7641	  7667	  7668
	  7676	  7677	  7703	  7704	  7712	  7713	  7739	  7740	  7748	  7749	  7775	  7776	  7784	  7785
	  7811	  7812	  7820	  7821	  7847	  7848	  7856	  7857	  7883	  7884	  7892	  7893	  7919	  7920
	  7928	  7929	  7955	  7956	  7964	  7965	  7991	  7992	  8000	  8001	  8027	  8028	  8036	  8037
	  8063	  8064	  8072	  8073	  8099	  8100	  8108	  8109	  8135	  8136	  8144	  8145	  8171	  8172
	  8180	  8181	  8184#	  8231	  8232	  8240	  8241	  8267	  8268	  8276	  8277	  8303	  8304	  8312
	  8313	  8339	  8340	  8348	  8349	  8375	  8376	  8384	  8385	  8411	  8412	  8420	  8421	  8447
	  8448	  8456	  8457	  8483	  8484	  8492	  8493	  8519	  8520	  8528	  8529	  8555	  8556	  8564
	  8565	  8591	  8592	  8600	  8601	  8627	  8628	  8636	  8637	  8663	  8664	  8672	  8673	  8699
	  8700	  8708	  8709	  8735	  8736	  8744	  8745	  8771	  8772	  8780	  8781	  8807	  8808	  8816
	  8817	  8843	  8844	  8852	  8853	  8879	  8880	  8888	  8889	  8915	  8916	  8924	  8925	  8951
	  8952	  8960	  8961	  8987	  8988	  8996	  8997	  9023	  9024	  9032	  9033	  9059	  9060	  9068
	  9069	  9095	  9096	  9104	  9105	  9131	  9132	  9140	  9141	  9167	  9168	  9176	  9177	  9203
	  9204	  9212	  9213	  9239	  9240	  9248	  9249	  9275	  9276	  9284	  9285	  9311	  9312	  9320
	  9321	  9347	  9348	  9356	  9357	  9383	  9384	  9392	  9393	  9419	  9420	  9428	  9429	  9455
	  9456	  9464	  9465	  9483	  9484	  9492	  9493
END	 16948#
ENDFIX	   683#
ENDSLD	 16938#
ERDIAG	    65#	 16434
ERMORE	   463#	 16507
ERRELB	 16504
ERRLOP	   719#	   719	  1965#	  1965	  3207#	  3207	  4453#	  4453	  5624#	  5624	  6869#	  6869	  8189#	  8189
	  9503#	  9503	  9564#	  9564	  9624#	  9624	  9678#	  9678	  9729#	  9729	  9785#	  9785	  9844#	  9844
	  9911#	  9911	  9964#	  9964	 10019#	 10019	 10085#	 10085	 10161#	 10161	 10180#	 10180	 10205#	 10205
	 10345#	 10345	 10451#	 10451	 10499#	 10499	 10772#	 10772	 10838#	 10838	 10903#	 10903	 10986#	 10986
	 11033#	 11033	 11088#	 11088	 11138#	 11138	 11220#	 11220	 11263#	 11263	 11335#	 11335	 11399#	 11399
	 11464#	 11464	 11514#	 11514	 11573#	 11573	 11629#	 11629	 11683#	 11683	 11779#	 11779	 11824#	 11824
	 11880#	 11880	 11981#	 11981	 12030#	 12030	 12085#	 12085	 12140#	 12140	 12195#	 12195	 12252#	 12252
	 12331#	 12331	 12354#	 12354	 12379#	 12379	 12436#	 12436	 12493#	 12493	 12539#	 12539	 12598#	 12598     SEQ 0389
	 12671#	 12671	 12722#	 12722	 12782#	 12782	 12867#	 12867	 12931#	 12931	 13014#	 13014	 13078#	 13078
	 13163#	 13163	 13183#	 13183	 13204#	 13204	 13268#	 13268	 13349#	 13349	 13555#	 13555	 13663#	 13663
	 13747#	 13747	 13873#	 13873	 14000#	 14000	 14108#	 14108	 14192#	 14192	 14312#	 14312	 14410#	 14410
	 14914#	 14914	 15527#	 15527	 15689#	 15689	 15822#	 15822	 15936#	 15936	 16056#	 16056	 16151#	 16151
	 16271#	 16271	 16414	 16526	 16529	 16530
ERRMES	    46	    47	    48	    49	    50	    51	    52	    53	    54	    55	    56	 16385#
ERRPC	   434#	 16397	 16431
ERRTLS	   435#	 16395	 16533
ERSTOP	   141#	 16517
EXCASB	    60#	   412	 16386	 16538
EXIOT	   361#
EXIT	   686#	   687
F00	   707	   711#
F1000	  9684#
F10000	 11578#
F10300	 11634#
F10400	 11688#
F10500	 11728#
F1100	  9735#
F11300	 11784#
F11400	 11830#
F12000	 11886#
F12300	 11937#
F12600	 11986#
F13000	 12035#
F13200	 12090#
F13300	 12145#
F13500	 12200#
F1400	  9791#
F14000	 12258#
F14100	 12304#
F14200	 12386#
F14300	 12442#
F14400	 12498#	 12508
F14410	 12511#	 12527
F14500	 12547#
F14600	 12603#
F14700	 12677#
F15000	 12728#
F15100	 12789#
F15200	 12875#
F15600	 12938#
F15700	 13020#
F16100	 13083#
F16200	 13139#
F16300	 13212#
F16400	 13274#
F16410	 13316#	 13332
F17100	 13355#
F17200	 13561#
F17300	 13668#
F17400	 13753#
F17500	 13879#                                                                                                            SEQ 0390
F17600	 14006#
F17700	 14114#
F2000	  9851#
F20000	 14198#
F20100	 14317#
F20200	 14415#
F20300	 14665#
F20400	 14919#
F20500	 15226#
F20600	 15533#
F20700	 15695#
F21000	 15828#
F21100	 15942#
F21200	 16061#
F21300	 16157#
F21400	 16277#
F2200	  9917#
F2400	  9969#
F300	  9510#
F30010	   752#	   768
F30020	   786#	   802
F30030	   820#	   836
F30040	   854#	   870
F30050	   888#	   904
F30060	   922#	   938
F30070	   956#	   972
F30100	   990#	  1006
F30110	  1024#	  1040
F30120	  1058#	  1074
F30130	  1092#	  1108
F30140	  1126#	  1142
F30150	  1160#	  1176
F30160	  1194#	  1210
F30170	  1228#	  1244
F30200	  1262#	  1278
F30210	  1296#	  1312
F30220	  1330#	  1346
F30230	  1364#	  1380
F30240	  1398#	  1414
F30250	  1432#	  1448
F30260	  1466#	  1482
F30270	  1500#	  1516
F30300	  1534#	  1550
F30310	  1568#	  1584
F30320	  1602#	  1618
F30330	  1636#	  1652
F30340	  1670#	  1686
F30350	  1704#	  1720
F30360	  1738#	  1754
F30370	  1772#	  1788
F30400	  1806#	  1822
F30410	  1840#	  1856
F30420	  1874#	  1890                                                                                                     SEQ 0391
F30430	  1908#	  1924
F30440	  1942#	  1958
F30450	  2000#	  2016
F30460	  2034#	  2050
F30470	  2068#	  2084
F30500	  2102#	  2118
F30510	  2136#	  2152
F30520	  2170#	  2186
F30530	  2204#	  2220
F30540	  2238#	  2254
F30550	  2272#	  2288
F30560	  2306#	  2322
F30570	  2340#	  2356
F30600	  2374#	  2390
F30610	  2408#	  2424
F30620	  2442#	  2458
F30630	  2476#	  2492
F30640	  2510#	  2526
F30650	  2544#	  2560
F30660	  2578#	  2594
F30670	  2612#	  2628
F30700	  2646#	  2662
F30710	  2680#	  2696
F30720	  2714#	  2730
F30730	  2748#	  2764
F30740	  2782#	  2798
F30750	  2816#	  2832
F30760	  2850#	  2866
F30770	  2884#	  2900
F31000	  2918#	  2934
F31010	  2952#	  2968
F31020	  2986#	  3002
F31030	  3020#	  3036
F31040	  3054#	  3070
F31050	  3088#	  3104
F31060	  3122#	  3138
F31070	  3156#	  3172
F31100	  3184#	  3200
F31110	  3240#	  3256
F31120	  3274#	  3290
F31130	  3308#	  3324
F31140	  3342#	  3358
F31150	  3376#	  3392
F31160	  3410#	  3426
F31170	  3444#	  3460
F31200	  3478#	  3494
F31210	  3512#	  3528
F31220	  3546#	  3562
F31230	  3580#	  3596
F31240	  3614#	  3630
F31250	  3648#	  3664
F31260	  3682#	  3698
F31270	  3716#	  3732                                                                                                     SEQ 0392
F31300	  3750#	  3766
F31310	  3784#	  3800
F31320	  3818#	  3834
F31330	  3852#	  3868
F31340	  3886#	  3902
F31350	  3920#	  3936
F31360	  3954#	  3970
F31370	  3988#	  4004
F31400	  4022#	  4038
F31410	  4056#	  4072
F31420	  4090#	  4106
F31430	  4124#	  4140
F31440	  4158#	  4174
F31450	  4192#	  4208
F31460	  4226#	  4242
F31470	  4260#	  4276
F31500	  4294#	  4310
F31510	  4328#	  4344
F31520	  4362#	  4378
F31530	  4396#	  4412
F31540	  4430#	  4446
F31550	  4481#	  4497
F31560	  4513#	  4529
F31570	  4545#	  4561
F31600	  4577#	  4593
F31610	  4609#	  4625
F31620	  4641#	  4657
F31630	  4673#	  4689
F31640	  4705#	  4721
F31650	  4737#	  4753
F31660	  4769#	  4785
F31670	  4801#	  4817
F31700	  4833#	  4849
F31710	  4865#	  4881
F31720	  4897#	  4913
F31730	  4929#	  4945
F31740	  4961#	  4977
F31750	  4993#	  5009
F31760	  5025#	  5041
F31770	  5057#	  5073
F32000	  5089#	  5105
F32010	  5121#	  5137
F32020	  5153#	  5169
F32030	  5185#	  5201
F32040	  5217#	  5233
F32050	  5249#	  5265
F32060	  5281#	  5297
F32070	  5313#	  5329
F32100	  5345#	  5361
F32110	  5377#	  5393
F32120	  5409#	  5425
F32130	  5441#	  5457
F32140	  5473#	  5489                                                                                                     SEQ 0393
F32150	  5505#	  5521
F32160	  5537#	  5553
F32170	  5569#	  5585
F32200	  5601#	  5617
F32210	  5656#	  5672
F32220	  5690#	  5706
F32230	  5724#	  5740
F32240	  5758#	  5774
F32250	  5792#	  5808
F32260	  5826#	  5842
F32270	  5860#	  5876
F32300	  5894#	  5910
F32310	  5928#	  5944
F32320	  5962#	  5978
F32330	  5996#	  6012
F32340	  6030#	  6046
F32350	  6064#	  6080
F32360	  6098#	  6114
F32370	  6132#	  6148
F32400	  6166#	  6182
F32410	  6200#	  6216
F32420	  6234#	  6250
F32430	  6268#	  6284
F32440	  6302#	  6318
F32450	  6336#	  6352
F32460	  6370#	  6386
F32470	  6404#	  6420
F32500	  6438#	  6454
F32510	  6472#	  6488
F32520	  6506#	  6522
F32530	  6540#	  6556
F32540	  6574#	  6590
F32550	  6608#	  6624
F32560	  6642#	  6658
F32570	  6676#	  6692
F32600	  6710#	  6726
F32610	  6744#	  6760
F32620	  6778#	  6794
F32630	  6812#	  6828
F32640	  6846#	  6862
F32650	  6906#	  6922
F32660	  6942#	  6958
F32670	  6978#	  6994
F32700	  7014#	  7030
F32710	  7050#	  7066
F32720	  7086#	  7102
F32730	  7122#	  7138
F32740	  7158#	  7174
F32750	  7194#	  7210
F32760	  7230#	  7246
F32770	  7266#	  7282
F3300	 10025#
F33000	  7302#	  7318                                                                                                     SEQ 0394
F33010	  7338#	  7354
F33020	  7374#	  7390
F33030	  7410#	  7426
F33040	  7446#	  7462
F33050	  7482#	  7498
F33060	  7518#	  7534
F33070	  7554#	  7570
F33100	  7590#	  7606
F33110	  7626#	  7642
F33120	  7662#	  7678
F33130	  7698#	  7714
F33140	  7734#	  7750
F33150	  7770#	  7786
F33160	  7806#	  7822
F33170	  7842#	  7858
F33200	  7878#	  7894
F33210	  7914#	  7930
F33220	  7950#	  7966
F33230	  7986#	  8002
F33240	  8022#	  8038
F33250	  8058#	  8074
F33260	  8094#	  8110
F33270	  8130#	  8146
F33300	  8166#	  8182
F33310	  8226#	  8242
F33320	  8262#	  8278
F33330	  8298#	  8314
F33340	  8334#	  8350
F33350	  8370#	  8386
F33360	  8406#	  8422
F33370	  8442#	  8458
F33400	  8478#	  8494
F33410	  8514#	  8530
F33420	  8550#	  8566
F33430	  8586#	  8602
F33440	  8622#	  8638
F33450	  8658#	  8674
F33460	  8694#	  8710
F33470	  8730#	  8746
F33500	  8766#	  8782
F33510	  8802#	  8818
F33520	  8838#	  8854
F33530	  8874#	  8890
F33540	  8910#	  8926
F33550	  8946#	  8962
F33560	  8982#	  8998
F33570	  9018#	  9034
F33600	  9054#	  9070
F33610	  9090#	  9106
F33620	  9126#	  9142
F33630	  9162#	  9178
F33640	  9198#	  9214
F33650	  9234#	  9250                                                                                                     SEQ 0395
F33660	  9270#	  9286
F33670	  9306#	  9322
F33700	  9342#	  9358
F33710	  9378#	  9394
F33720	  9414#	  9430
F33730	  9450#	  9466
F33740	  9478#	  9494
F4000	 10091#
F4200	 10140#
F4300	 10211#
F4400	 10264#
F4500	 10299#
F4600	 10351#
F4710	 10408#	 10419
F4720	 10427#	 10440
F500	  9571#
F5000	 10457#
F5100	 10506#
F5200	 10560#
F5300	 10613#
F5400	 10666#
F5500	 10713#
F5600	 10778#
F5700	 10844#
F6000	 10909#
F6010	 10961#	 10972
F6100	 10993#
F6300	 11038#
F6500	 11092#
F6600	 11144#
F6700	 11203#	 11209
F700	  9631#
F7000	 11224#
F7100	 11269#
F7400	 11340#
F7500	 11404#
F7600	 11470#
F7700	 11520#
FOV	   361#
FOVU	   361#
FRDLNK	   164#
FSELNK	   163#
FXU	   361#
HYPEN	   560#
INHCSH	   149#
INHPAG	   146#
INXM	   361#
IOCLR	   361#
ITERAT	    90#	   407
ITRCH1	   467#
ITRCNT	   407#
JOB41	   361#
JOBAPR	   361#                                                                                                            SEQ 0396
JOBCNI	   361#
JOBDDT	   361#
JOBFF	   361#
JOBOPC	   361#	 16514
JOBREL	   361#
JOBREN	   361#
JOBSA	   361#
JOBSYM	   361#
JOBTPC	   361#
JOBUSY	   361#
JOBUUO	   361#
JOBVER	   361#
KA10	    62#	   361
KAHZ50	   154#
KAIFLG	   424#
KI10	   361	 16386	 16538
KL10	   361
KLFLG	   425#	 16401
KLOLD	    63#	   361
KLTYP	   641#
LAST1	 16380#
LDLNK	   165#	   377	   379
LFP	   564#
LOOPER	   140#	 16519
LUUO	   361#
LUUO1	    46#	   494	   495
LUUO10	    53#	   494	   499
LUUO11	    54#	   494	   499
LUUO12	    55#	   494	   500
LUUO13	    56#	   494	   500
LUUO14	   494	   501
LUUO15	   494	   501
LUUO16	   494	   502
LUUO17	   494	   502
LUUO2	    47#	   494	   496
LUUO20	   494	   503
LUUO21	   494	   503
LUUO22	   494	   504
LUUO23	   494	   504
LUUO24	   494	   505
LUUO25	   494	   505
LUUO26	   494	   506
LUUO27	   494	   506
LUUO3	    48#	   494	   496
LUUO30	   494	   507
LUUO31	   494	   507
LUUO32	   494	   508
LUUO33	   494	   508
LUUO4	    49#	   494	   497
LUUO5	    50#	   494	   497
LUUO6	    51#	   494	   498
LUUO7	    52#	   494	   498
LUUOI	   361#                                                                                                            SEQ 0397
MAPNEW	   515#
MARGIN	   437#
MCNVER	     4#	    12	    26	   409
MEMLOW	   517#
MEMMAP	   415
MEMSIZ	   518#
MEMTOT	   516#
MICNT	 16398#	 16398	 16399	 16416
MINUS	   559#
MODDVC	   148#
MODDVL	   346	   346#	   410
MODDVU	   347	   347#	   411
MODLNK	   167#	   374
MONCTL	   427#	 16417	 16531
MONFLG	   426#
MONTEN	   428#
MPVU	   361#
N1	   713#	   742	   743	   745	   776	   777	   779	   810	   811	   813	   844	   845	   847	   878
	   879	   881	   912	   913	   915	   946	   947	   949	   980	   981	   983	  1014	  1015	  1017
	  1048	  1049	  1051	  1082	  1083	  1085	  1116	  1117	  1119	  1150	  1151	  1153	  1184	  1185
	  1187	  1218	  1219	  1221	  1252	  1253	  1255	  1286	  1287	  1289	  1320	  1321	  1323	  1354
	  1355	  1357	  1388	  1389	  1391	  1422	  1423	  1425	  1456	  1457	  1459	  1490	  1491	  1493
	  1524	  1525	  1527	  1558	  1559	  1561	  1592	  1593	  1595	  1626	  1627	  1629	  1660	  1661
	  1663	  1694	  1695	  1697	  1728	  1729	  1731	  1762	  1763	  1765	  1796	  1797	  1799	  1830
	  1831	  1833	  1864	  1865	  1867	  1898	  1899	  1901	  1932	  1933	  4423
N2	   714#	  1934	  1990	  1991	  1992	  2024	  2025	  2026	  2058	  2059	  2060	  2092	  2093	  2094
	  2126	  2127	  2128	  2160	  2161	  2162	  2194	  2195	  2196	  2228	  2229	  2230	  2262	  2263
	  2264	  2296	  2297	  2298	  2330	  2331	  2332	  2364	  2365	  2366	  2398	  2399	  2400	  2432
	  2433	  2434	  2466	  2467	  2468	  2500	  2501	  2502	  2534	  2535	  2536	  2568	  2569	  2570
	  2602	  2603	  2604	  2636	  2637	  2638	  2670	  2671	  2672	  2704	  2705	  2706	  2738	  2739
	  2740	  2772	  2773	  2774	  2806	  2807	  2808	  2840	  2841	  2842	  2874	  2875	  2876	  2908
	  2909	  2910	  2942	  2943	  2944	  2976	  2977	  2978	  3010	  3011	  3012	  3044	  3045	  3046
	  3078	  3079	  3080	  3112	  3113	  3114	  3146	  3147	  3148	  3230	  3231	  3232	  3264	  3265
	  3266	  3298	  3299	  3300	  3332	  3333	  3334	  3366	  3367	  3368	  3400	  3401	  3402	  3434
	  3435	  3436	  3468	  3469	  3470	  3502	  3503	  3504	  3536	  3537	  3538	  3570	  3571	  3572
	  3604	  3605	  3606	  3638	  3639	  3640	  3672	  3673	  3674	  3706	  3707	  3708	  3740	  3741
	  3742	  3774	  3775	  3776	  3808	  3809	  3810	  3842	  3843	  3844	  3876	  3877	  3878	  3910
	  3911	  3912	  3944	  3945	  3946	  3978	  3979	  3980	  4012	  4013	  4014	  4046	  4047	  4048
	  4080	  4081	  4082	  4114	  4115	  4116	  4148	  4149	  4150	  4182	  4183	  4184	  4216	  4217
	  4218	  4250	  4251	  4252	  4284	  4285	  4286	  4318	  4319	  4320	  4352	  4353	  4354	  4386
	  4387	  4388	  4420	  4421
NOPNT	   136#	 16407
NXMU	   361#
OPRSEL	   150#
OPTIME	   529#
P	   193	   194	   195	   196	   361#	   449
PAG	   361#
PALERS	   142#	 16548
PARCLR	   361#
PARDIS	   361#
PAREA0	    83#
PAREA1	    84#	   405
PAREA2	    85#	   406                                                                                                     SEQ 0398
PAREA3	    86#	   403
PAREA4	    87#	   404
PAREA5	    88#	   416
PAREA6	    89#	   417
PAREA7	   416#
PAREA8	   417#
PARENB	   361#
PARU	   361#
PASCNT	   431#	 16422	 16426
PATCH	 16941#
PDISF	   526#
PDLOVU	   361#
PERIOD	   556#
PFSTRT	   383#
PGMEND	    64#	 16947
PGMNAM	   408	   689#
PI	 16404
PICHN1	   361#
PICHN2	   361#
PICHN3	   361#
PICHN4	   361#
PICHN5	   361#
PICHN6	   361#
PICHN7	   361#
PICHNA	   361#
PICLR	   361#
PIOFF	   361#
PION	   361#
PLIST	   595#	   595
PLISTE	   595	   597#	   681
PLISTS	   596#
PLUS	   561#
PNTENB	   525#
PNTEXT	   404#
PNTFLG	   524#
PNTINH	   527#
PNTLPT	   137#
PNTNAM	   403#
PNTSPC	   528#
PROCED	 16405#	 16405	 16520	 16527
PVPAGI	   622#
PWFCLR	   361#
QUEST	   567#
RADIX	   570#
RADLSC	   572#
RADLSP	   571#
RANDBS	   405#
REENTR	   385#
RELIAB	   144#
REPT	   361#
REPT1	   361#
REPTU	   483#
REQSET	   361#                                                                                                            SEQ 0399
RESRT1	   460#
RESRT2	   461#
RETURN	   392#
RSTART	   133#
RTP	   565#
RUNFLG	   432#
SADR1	    69#	   381
SADR10	    78#	   397
SADR11	    79#	   398
SADR2	    70#	   383
SADR3	    71#	   385
SADR4	    72#
SADR5	    73#	   446
SADR6	    74#	   447
SADR7	    75#	   394
SADR8	    76#	   395
SADR9	    77#	   396
SBINIT	   206	   391#
SCOPE	   484#
SFSTRT	   381#
SLASH	   568#
SN	  9505#	  9526	  9526#	  9535	  9537	  9541	  9541#	  9550	  9552	  9566#	  9587	  9587#	  9595	  9598
	  9602	  9602#	  9610	  9613	  9626#	  9645	  9645#	  9652	  9654	  9658	  9658#	  9665	  9667	  9680#
	  9697	  9697#	  9703	  9705	  9709	  9709#	  9715	  9717	  9731#	  9750	  9750#	  9758	  9760	  9764
	  9764#	  9772	  9774	  9787#	  9807	  9807#	  9815	  9818	  9822	  9822#	  9830	  9833	  9846#	  9869
	  9869#	  9879	  9882	  9886	  9886#	  9896	  9899	  9913#	  9931	  9931#	  9938	  9940	  9944	  9944#
	  9951	  9953	  9966#	  9984	  9984#	  9992	  9994	  9998	  9998#	 10006	 10008	 10021#	 10043	 10043#
	 10054	 10056	 10060	 10060#	 10071	 10073	 10087#	 10105	 10105#	 10112	 10114	 10118	 10118#	 10125
	 10127	 10136#	 10155	 10155#	 10168	 10170	 10174	 10174#	 10187	 10189	 10207#	 10228	 10228#	 10236
	 10238	 10240	 10244	 10244#	 10252	 10254	 10256	 10260#	 10275	 10275#	 10281	 10285	 10285#	 10291
	 10295#	 10311	 10311#	 10318	 10322	 10322#	 10329	 10347#	 10369	 10369#	 10378	 10380	 10382	 10386
	 10386#	 10395	 10397	 10399	 10454#	 10468	 10468#	 10474	 10478	 10478#	 10484	 10501#	 10523	 10523#
	 10532	 10535	 10539	 10539#	 10548	 10551	 10555#	 10577	 10577#	 10587	 10589	 10593	 10593#	 10603
	 10605	 10608#	 10630	 10630#	 10639	 10642	 10646	 10646#	 10655	 10658	 10662#	 10681	 10681#	 10689
	 10691	 10695	 10695#	 10703	 10705	 10708#	 10731	 10731#	 10741	 10744	 10748	 10748#	 10758	 10761
	 10774#	 10796	 10796#	 10806	 10809	 10813	 10813#	 10823	 10826	 10840#	 10862	 10862#	 10872	 10875
	 10879	 10879#	 10889	 10892	 10905#	 10927	 10927#	 10937	 10940	 10944	 10944#	 10954	 10957	 10989#
	 11005	 11005#	 11012	 11016	 11016#	 11023	 11035#	 11052	 11052#	 11059	 11061	 11065	 11065#	 11072
	 11074	 11089#	 11103	 11103#	 11109	 11113	 11113#	 11119	 11140#	 11164	 11164#	 11174	 11176	 11178
	 11183	 11183#	 11193	 11195	 11197	 11222#	 11235	 11235#	 11241	 11245	 11245#	 11251	 11265#	 11289
	 11289#	 11298	 11300	 11304	 11308	 11308#	 11317	 11319	 11323	 11337#	 11358	 11358#	 11366	 11368
	 11371	 11375	 11375#	 11383	 11385	 11388	 11401#	 11422	 11422#	 11430	 11432	 11435	 11439	 11439#
	 11447	 11449	 11452	 11467#	 11483	 11483#	 11489	 11491	 11495	 11495#	 11501	 11503	 11516#	 11536
	 11536#	 11545	 11547	 11551	 11551#	 11560	 11562	 11575#	 11592	 11592#	 11599	 11601	 11605	 11605#
	 11612	 11614	 11631#	 11648	 11648#	 11655	 11657	 11661	 11661#	 11668	 11670	 11685#	 11701	 11701#
	 11707	 11709	 11713	 11713#	 11719	 11721	 11725#	 11743	 11743#	 11751	 11753	 11757	 11757#	 11765
	 11767	 11781#	 11795	 11795#	 11801	 11805	 11805#	 11811	 11826#	 11845	 11845#	 11853	 11855	 11859
	 11859#	 11867	 11869	 11882#	 11902	 11902#	 11911	 11913	 11917	 11917#	 11926	 11928	 11934#	 11950
	 11950#	 11956	 11958	 11962	 11962#	 11968	 11970	 11983#	 11999	 11999#	 12005	 12007	 12011	 12011#
	 12017	 12019	 12032#	 12049	 12049#	 12056	 12058	 12062	 12062#	 12069	 12071	 12087#	 12105	 12105#
	 12112	 12115	 12119	 12119#	 12126	 12129	 12142#	 12160	 12160#	 12167	 12174	 12174#	 12181	 12197#
	 12214	 12214#	 12221	 12223	 12227	 12227#	 12234	 12236	 12254#	 12271	 12271#	 12277	 12279	 12283
	 12283#	 12289	 12291	 12299#	 12324	 12324#	 12338	 12340	 12343	 12347	 12347#	 12361	 12363	 12366     SEQ 0400
	 12382#	 12400	 12400#	 12407	 12409	 12413	 12413#	 12420	 12422	 12438#	 12456	 12456#	 12463	 12465
	 12469	 12469#	 12476	 12478	 12542#	 12562	 12562#	 12570	 12572	 12576	 12576#	 12584	 12586	 12600#
	 12623	 12623#	 12632	 12634	 12636	 12638	 12642	 12642#	 12651	 12653	 12655	 12657	 12674#	 12690
	 12690#	 12698	 12702	 12702#	 12710	 12724#	 12744	 12744#	 12753	 12755	 12759	 12759#	 12768	 12770
	 12784#	 12813	 12813#	 12825	 12827	 12830	 12832	 12836	 12836#	 12848	 12850	 12853	 12855	 12870#
	 12891	 12891#	 12900	 12902	 12906	 12906#	 12915	 12917	 12933#	 12961	 12961#	 12973	 12975	 12977
	 12979	 12983	 12983#	 12995	 12997	 12999	 13001	 13016#	 13037	 13037#	 13047	 13049	 13053	 13053#
	 13063	 13065	 13080#	 13099	 13099#	 13110	 13114	 13114#	 13125	 13134#	 13156	 13156#	 13172	 13176
	 13176#	 13192	 13207#	 13228	 13228#	 13237	 13239	 13243	 13243#	 13252	 13254	 13270#	 13288	 13288#
	 13295	 13297	 13301	 13301#	 13308	 13310	 13351#	 13373	 13373#	 13382	 13384	 13386	 13390	 13390#
	 13399	 13401	 13403	 13407	 13407#	 13416	 13418	 13420	 13424	 13424#	 13433	 13435	 13437	 13441
	 13441#	 13450	 13452	 13454	 13458	 13458#	 13467	 13469	 13471	 13475	 13475#	 13484	 13486	 13488
	 13492	 13492#	 13501	 13503	 13505	 13509	 13509#	 13518	 13520	 13522	 13526	 13526#	 13535	 13537
	 13539	 13557#	 13577	 13577#	 13585	 13588	 13592	 13592#	 13600	 13603	 13607	 13607#	 13615	 13618
	 13622	 13622#	 13630	 13633	 13637	 13637#	 13645	 13648	 13665#	 13680	 13680#	 13687	 13691	 13691#
	 13698	 13702	 13702#	 13709	 13713	 13713#	 13720	 13724	 13724#	 13731	 13749#	 13772	 13772#	 13782
	 13784	 13786	 13790	 13790#	 13800	 13802	 13804	 13808	 13808#	 13818	 13820	 13822	 13826	 13826#
	 13836	 13838	 13840	 13844	 13844#	 13854	 13856	 13858	 13875#	 13898	 13898#	 13908	 13910	 13912
	 13916	 13916#	 13926	 13928	 13930	 13934	 13934#	 13944	 13946	 13948	 13952	 13952#	 13962	 13964
	 13966	 13970	 13970#	 13980	 13982	 13984	 14002#	 14022	 14022#	 14031	 14033	 14037	 14037#	 14046
	 14048	 14052	 14052#	 14061	 14063	 14067	 14067#	 14076	 14078	 14082	 14082#	 14091	 14093	 14110#
	 14126	 14126#	 14133	 14137	 14137#	 14144	 14148	 14148#	 14155	 14159	 14159#	 14166	 14170	 14170#
	 14177	 14194#	 14216	 14216#	 14225	 14227	 14229	 14233	 14233#	 14242	 14244	 14246	 14250	 14250#
	 14259	 14261	 14263	 14267	 14267#	 14276	 14278	 14280	 14284	 14284#	 14293	 14295	 14297	 14314#
	 14331	 14331#	 14338	 14340	 14344	 14344#	 14351	 14353	 14357	 14357#	 14364	 14366	 14370	 14370#
	 14377	 14379	 14383	 14383#	 14390	 14392	 14412#	 14429	 14429#	 14436	 14438	 14442	 14442#	 14449
	 14451	 14455	 14455#	 14462	 14464	 14468	 14468#	 14475	 14477	 14481	 14481#	 14488	 14490	 14494
	 14494#	 14501	 14503	 14507	 14507#	 14514	 14516	 14520	 14520#	 14527	 14529	 14533	 14533#	 14540
	 14542	 14546	 14546#	 14553	 14555	 14559	 14559#	 14566	 14568	 14572	 14572#	 14579	 14581	 14585
	 14585#	 14592	 14594	 14598	 14598#	 14605	 14607	 14611	 14611#	 14618	 14620	 14624	 14624#	 14631
	 14633	 14637	 14637#	 14644	 14646	 14650	 14650#	 14657	 14659	 14662#	 14679	 14679#	 14686	 14688
	 14692	 14692#	 14699	 14701	 14705	 14705#	 14712	 14714	 14718	 14718#	 14725	 14727	 14731	 14731#
	 14738	 14740	 14744	 14744#	 14751	 14753	 14757	 14757#	 14764	 14766	 14770	 14770#	 14777	 14779
	 14783	 14783#	 14790	 14792	 14796	 14796#	 14803	 14805	 14809	 14809#	 14816	 14818	 14822	 14822#
	 14829	 14831	 14835	 14835#	 14842	 14844	 14848	 14848#	 14855	 14857	 14861	 14861#	 14868	 14870
	 14874	 14874#	 14881	 14883	 14887	 14887#	 14894	 14896	 14916#	 14936	 14936#	 14944	 14946	 14948
	 14952	 14952#	 14960	 14962	 14964	 14968	 14968#	 14976	 14978	 14980	 14984	 14984#	 14992	 14994
	 14996	 15000	 15000#	 15008	 15010	 15012	 15016	 15016#	 15024	 15026	 15028	 15032	 15032#	 15040
	 15042	 15044	 15048	 15048#	 15056	 15058	 15060	 15064	 15064#	 15072	 15074	 15076	 15080	 15080#
	 15088	 15090	 15092	 15096	 15096#	 15104	 15106	 15108	 15112	 15112#	 15120	 15122	 15124	 15128
	 15128#	 15136	 15138	 15140	 15144	 15144#	 15152	 15154	 15156	 15160	 15160#	 15168	 15170	 15172
	 15176	 15176#	 15184	 15186	 15188	 15192	 15192#	 15200	 15202	 15204	 15208	 15208#	 15216	 15218
	 15220	 15223#	 15243	 15243#	 15251	 15253	 15255	 15259	 15259#	 15267	 15269	 15271	 15275	 15275#
	 15283	 15285	 15287	 15291	 15291#	 15299	 15301	 15303	 15307	 15307#	 15315	 15317	 15319	 15323
	 15323#	 15331	 15333	 15335	 15339	 15339#	 15347	 15349	 15351	 15355	 15355#	 15363	 15365	 15367
	 15371	 15371#	 15379	 15381	 15383	 15387	 15387#	 15395	 15397	 15399	 15403	 15403#	 15411	 15413
	 15415	 15419	 15419#	 15427	 15429	 15431	 15435	 15435#	 15443	 15445	 15447	 15451	 15451#	 15459
	 15461	 15463	 15467	 15467#	 15475	 15477	 15479	 15483	 15483#	 15491	 15493	 15495	 15499	 15499#
	 15507	 15509	 15511	 15529#	 15547	 15547#	 15554	 15556	 15560	 15560#	 15567	 15569	 15573	 15573#
	 15580	 15582	 15586	 15586#	 15593	 15595	 15599	 15599#	 15606	 15608	 15612	 15612#	 15619	 15621
	 15625	 15625#	 15632	 15634	 15638	 15638#	 15645	 15647	 15651	 15651#	 15658	 15660	 15664	 15664#
	 15671	 15673	 15691#	 15715	 15715#	 15726	 15728	 15730	 15734	 15734#	 15745	 15747	 15749	 15753
	 15753#	 15764	 15766	 15768	 15772	 15772#	 15783	 15785	 15787	 15791	 15791#	 15802	 15804	 15806     SEQ 0401
	 15824#	 15845	 15845#	 15853	 15855	 15857	 15861	 15861#	 15869	 15871	 15873	 15877	 15877#	 15885
	 15887	 15889	 15893	 15893#	 15901	 15903	 15905	 15909	 15909#	 15917	 15919	 15921	 15938#	 15960
	 15960#	 15969	 15971	 15973	 15977	 15977#	 15986	 15988	 15990	 15994	 15994#	 16003	 16005	 16007
	 16011	 16011#	 16020	 16022	 16024	 16028	 16028#	 16037	 16039	 16041	 16058#	 16075	 16075#	 16082
	 16084	 16088	 16088#	 16095	 16097	 16101	 16101#	 16108	 16110	 16114	 16114#	 16121	 16123	 16127
	 16127#	 16134	 16136	 16153#	 16175	 16175#	 16184	 16186	 16188	 16192	 16192#	 16201	 16203	 16205
	 16209	 16209#	 16218	 16220	 16222	 16226	 16226#	 16235	 16237	 16239	 16243	 16243#	 16252	 16254
	 16256	 16273#	 16295	 16295#	 16304	 16306	 16308	 16312	 16312#	 16321	 16323	 16325	 16329	 16329#
	 16338	 16340	 16342	 16346	 16346#	 16355	 16357	 16359	 16363	 16363#	 16372	 16374	 16376
SPACE	   557#
SPDES	 16492#
SRTDDT	   387#
START	   375	   703#
START1	   394#
START2	   395#
START3	   396#
START4	   397#
START5	   398#
STARTA	   390	   707#
SUBLNK	   168#	   391
SWTEXR	   406#
SYSEXR	   379#
TAB	   558#
TESTPC	   433#	   717	  1963	  3205	  4451	  5622	  6867	  8187	  9501	  9562	  9622	  9676	  9727	  9783
	  9842	  9909	  9962	 10017	 10083	 10159	 10178	 10203	 10343	 10449	 10497	 10770	 10836	 10901
	 10984	 11031	 11086	 11136	 11218	 11261	 11333	 11397	 11462	 11512	 11571	 11627	 11681	 11777
	 11822	 11878	 11979	 12028	 12083	 12138	 12193	 12250	 12329	 12352	 12377	 12434	 12491	 12537
	 12596	 12669	 12720	 12780	 12865	 12929	 13012	 13076	 13161	 13181	 13202	 13266	 13347	 13553
	 13661	 13745	 13871	 13998	 14106	 14190	 14310	 14408	 14912	 15525	 15687	 15820	 15934	 16054
	 16149	 16269
TICKS	   436#
TLET	   705	 16466	 16489#
TOTALS	   134#
TTNBRF	   616#
TTYFIL	   532#
TTYSPD	   533#
TXTINH	   145#	 16450
USER	   423#	 16402
USERF	   361#
USRASB	    61#	   413
USRCRF	   542#
USRLFF	   541#
UUODIS	   495#
UUOEXT	   451#	 16545
UUORTN	   452#
UUOSKP	   449#
V1	   742#	   752	   753	   776#	   786	   787	   810#	   820	   821	   844#	   854	   855	   878#	   888
	   889	   912#	   922	   923	   946#	   956	   957	   980#	   990	   991	  1014#	  1024	  1025	  1048#
	  1058	  1059	  1082#	  1092	  1093	  1116#	  1126	  1127	  1150#	  1160	  1161	  1184#	  1194	  1195
	  1218#	  1228	  1229	  1252#	  1262	  1263	  1286#	  1296	  1297	  1320#	  1330	  1331	  1354#	  1364
	  1365	  1388#	  1398	  1399	  1422#	  1432	  1433	  1456#	  1466	  1467	  1490#	  1500	  1501	  1524#
	  1534	  1535	  1558#	  1568	  1569	  1592#	  1602	  1603	  1626#	  1636	  1637	  1660#	  1670	  1671
	  1694#	  1704	  1705	  1728#	  1738	  1739	  1762#	  1772	  1773	  1796#	  1806	  1807	  1830#	  1840     SEQ 0402
	  1841	  1864#	  1874	  1875	  1898#	  1908	  1909	  1932#	  1942	  1943	  1990#	  2004	  2005	  2013
	  2014	  2024#	  2038	  2039	  2047	  2048	  2058#	  2072	  2073	  2081	  2082	  2092#	  2106	  2107
	  2115	  2116	  2126#	  2140	  2141	  2149	  2150	  2160#	  2174	  2175	  2183	  2184	  2194#	  2208
	  2209	  2217	  2218	  2228#	  2242	  2243	  2251	  2252	  2262#	  2276	  2277	  2285	  2286	  2296#
	  2310	  2311	  2319	  2320	  2330#	  2344	  2345	  2353	  2354	  2364#	  2378	  2379	  2387	  2388
	  2398#	  2412	  2413	  2421	  2422	  2432#	  2446	  2447	  2455	  2456	  2466#	  2480	  2481	  2489
	  2490	  2500#	  2514	  2515	  2523	  2524	  2534#	  2548	  2549	  2557	  2558	  2568#	  2582	  2583
	  2591	  2592	  2602#	  2616	  2617	  2625	  2626	  2636#	  2650	  2651	  2659	  2660	  2670#	  2684
	  2685	  2693	  2694	  2704#	  2718	  2719	  2727	  2728	  2738#	  2752	  2753	  2761	  2762	  2772#
	  2786	  2787	  2795	  2796	  2806#	  2820	  2821	  2829	  2830	  2840#	  2854	  2855	  2863	  2864
	  2874#	  2888	  2889	  2897	  2898	  2908#	  2922	  2923	  2931	  2932	  2942#	  2956	  2957	  2965
	  2966	  2976#	  2990	  2991	  2999	  3000	  3010#	  3024	  3025	  3033	  3034	  3044#	  3058	  3059
	  3067	  3068	  3078#	  3092	  3093	  3101	  3102	  3112#	  3126	  3127	  3135	  3136	  3146#	  3160
	  3161	  3169	  3170	  3176#	  3188	  3189	  3191	  3192	  3197	  3198	  3230#	  3240	  3241	  3264#
	  3274	  3275	  3298#	  3308	  3309	  3332#	  3342	  3343	  3366#	  3376	  3377	  3400#	  3410	  3411
	  3434#	  3444	  3445	  3468#	  3478	  3479	  3502#	  3512	  3513	  3536#	  3546	  3547	  3570#	  3580
	  3581	  3604#	  3614	  3615	  3638#	  3648	  3649	  3672#	  3682	  3683	  3706#	  3716	  3717	  3740#
	  3750	  3751	  3774#	  3784	  3785	  3808#	  3818	  3819	  3842#	  3852	  3853	  3876#	  3886	  3887
	  3910#	  3920	  3921	  3944#	  3954	  3955	  3978#	  3988	  3989	  4012#	  4022	  4023	  4046#	  4056
	  4057	  4080#	  4090	  4091	  4114#	  4124	  4125	  4148#	  4158	  4159	  4182#	  4192	  4193	  4216#
	  4226	  4227	  4250#	  4260	  4261	  4284#	  4294	  4295	  4318#	  4328	  4329	  4352#	  4362	  4363
	  4386#	  4396	  4397	  4420#	  4430	  4431	  4472#	  4491	  4492	  4504#	  4523	  4524	  4536#	  4555
	  4556	  4568#	  4587	  4588	  4600#	  4619	  4620	  4632#	  4651	  4652	  4664#	  4683	  4684	  4696#
	  4715	  4716	  4728#	  4747	  4748	  4760#	  4779	  4780	  4792#	  4811	  4812	  4824#	  4843	  4844
	  4856#	  4875	  4876	  4888#	  4907	  4908	  4920#	  4939	  4940	  4952#	  4971	  4972	  4984#	  5003
	  5004	  5016#	  5035	  5036	  5048#	  5067	  5068	  5080#	  5099	  5100	  5112#	  5131	  5132	  5144#
	  5163	  5164	  5176#	  5195	  5196	  5208#	  5227	  5228	  5240#	  5259	  5260	  5272#	  5291	  5292
	  5304#	  5323	  5324	  5336#	  5355	  5356	  5368#	  5387	  5388	  5400#	  5419	  5420	  5432#	  5451
	  5452	  5464#	  5483	  5484	  5496#	  5515	  5516	  5528#	  5547	  5548	  5560#	  5579	  5580	  5592#
	  5611	  5612	  5645#	  5666	  5667	  5679#	  5700	  5701	  5713#	  5734	  5735	  5747#	  5768	  5769
	  5781#	  5802	  5803	  5815#	  5836	  5837	  5849#	  5870	  5871	  5883#	  5904	  5905	  5917#	  5938
	  5939	  5951#	  5972	  5973	  5985#	  6006	  6007	  6019#	  6040	  6041	  6053#	  6074	  6075	  6087#
	  6108	  6109	  6121#	  6142	  6143	  6155#	  6176	  6177	  6189#	  6210	  6211	  6223#	  6244	  6245
	  6257#	  6278	  6279	  6291#	  6312	  6313	  6325#	  6346	  6347	  6359#	  6380	  6381	  6393#	  6414
	  6415	  6427#	  6448	  6449	  6461#	  6482	  6483	  6495#	  6516	  6517	  6529#	  6550	  6551	  6563#
	  6584	  6585	  6597#	  6618	  6619	  6631#	  6652	  6653	  6665#	  6686	  6687	  6699#	  6720	  6721
	  6733#	  6754	  6755	  6767#	  6788	  6789	  6801#	  6822	  6823	  6835#	  6856	  6857	  6895#	  6916
	  6917	  6931#	  6952	  6953	  6967#	  6988	  6989	  7003#	  7024	  7025	  7039#	  7060	  7061	  7075#
	  7096	  7097	  7111#	  7132	  7133	  7147#	  7168	  7169	  7183#	  7204	  7205	  7219#	  7240	  7241
	  7255#	  7276	  7277	  7291#	  7312	  7313	  7327#	  7348	  7349	  7363#	  7384	  7385	  7399#	  7420
	  7421	  7435#	  7456	  7457	  7471#	  7492	  7493	  7507#	  7528	  7529	  7543#	  7564	  7565	  7579#
	  7600	  7601	  7615#	  7636	  7637	  7651#	  7672	  7673	  7687#	  7708	  7709	  7723#	  7744	  7745
	  7759#	  7780	  7781	  7795#	  7816	  7817	  7831#	  7852	  7853	  7867#	  7888	  7889	  7903#	  7924
	  7925	  7939#	  7960	  7961	  7975#	  7996	  7997	  8011#	  8032	  8033	  8047#	  8068	  8069	  8083#
	  8104	  8105	  8119#	  8140	  8141	  8155#	  8176	  8177	  8215#	  8236	  8237	  8251#	  8272	  8273
	  8287#	  8308	  8309	  8323#	  8344	  8345	  8359#	  8380	  8381	  8395#	  8416	  8417	  8431#	  8452
	  8453	  8467#	  8488	  8489	  8503#	  8524	  8525	  8539#	  8560	  8561	  8575#	  8596	  8597	  8611#
	  8632	  8633	  8647#	  8668	  8669	  8683#	  8704	  8705	  8719#	  8740	  8741	  8755#	  8776	  8777
	  8791#	  8812	  8813	  8827#	  8848	  8849	  8863#	  8884	  8885	  8899#	  8920	  8921	  8935#	  8956
	  8957	  8971#	  8992	  8993	  9007#	  9028	  9029	  9043#	  9064	  9065	  9079#	  9100	  9101	  9115#
	  9136	  9137	  9151#	  9172	  9173	  9187#	  9208	  9209	  9223#	  9244	  9245	  9259#	  9280	  9281
	  9295#	  9316	  9317	  9331#	  9352	  9353	  9367#	  9388	  9389	  9403#	  9424	  9425	  9439#	  9460
	  9461                                                                                                             SEQ 0403
V2	   743#	   762	   763	   777#	   796	   797	   811#	   830	   831	   845#	   864	   865	   879#	   898
	   899	   913#	   932	   933	   947#	   966	   967	   981#	  1000	  1001	  1015#	  1034	  1035	  1049#
	  1068	  1069	  1083#	  1102	  1103	  1117#	  1136	  1137	  1151#	  1170	  1171	  1185#	  1204	  1205
	  1219#	  1238	  1239	  1253#	  1272	  1273	  1287#	  1306	  1307	  1321#	  1340	  1341	  1355#	  1374
	  1375	  1389#	  1408	  1409	  1423#	  1442	  1443	  1457#	  1476	  1477	  1491#	  1510	  1511	  1525#
	  1544	  1545	  1559#	  1578	  1579	  1593#	  1612	  1613	  1627#	  1646	  1647	  1661#	  1680	  1681
	  1695#	  1714	  1715	  1729#	  1748	  1749	  1763#	  1782	  1783	  1797#	  1816	  1817	  1831#	  1850
	  1851	  1865#	  1884	  1885	  1899#	  1918	  1919	  1933#	  1952	  1953	  1991#	  2010	  2011	  2025#
	  2044	  2045	  2059#	  2078	  2079	  2093#	  2112	  2113	  2127#	  2146	  2147	  2161#	  2180	  2181
	  2195#	  2214	  2215	  2229#	  2248	  2249	  2263#	  2282	  2283	  2297#	  2316	  2317	  2331#	  2350
	  2351	  2365#	  2384	  2385	  2399#	  2418	  2419	  2433#	  2452	  2453	  2467#	  2486	  2487	  2501#
	  2520	  2521	  2535#	  2554	  2555	  2569#	  2588	  2589	  2603#	  2622	  2623	  2637#	  2656	  2657
	  2671#	  2690	  2691	  2705#	  2724	  2725	  2739#	  2758	  2759	  2773#	  2792	  2793	  2807#	  2826
	  2827	  2841#	  2860	  2861	  2875#	  2894	  2895	  2909#	  2928	  2929	  2943#	  2962	  2963	  2977#
	  2996	  2997	  3011#	  3030	  3031	  3045#	  3064	  3065	  3079#	  3098	  3099	  3113#	  3132	  3133
	  3147#	  3166	  3167	  3231#	  3250	  3251	  3265#	  3284	  3285	  3299#	  3318	  3319	  3333#	  3352
	  3353	  3367#	  3386	  3387	  3401#	  3420	  3421	  3435#	  3454	  3455	  3469#	  3488	  3489	  3503#
	  3522	  3523	  3537#	  3556	  3557	  3571#	  3590	  3591	  3605#	  3624	  3625	  3639#	  3658	  3659
	  3673#	  3692	  3693	  3707#	  3726	  3727	  3741#	  3760	  3761	  3775#	  3794	  3795	  3809#	  3828
	  3829	  3843#	  3862	  3863	  3877#	  3896	  3897	  3911#	  3930	  3931	  3945#	  3964	  3965	  3979#
	  3998	  3999	  4013#	  4032	  4033	  4047#	  4066	  4067	  4081#	  4100	  4101	  4115#	  4134	  4135
	  4149#	  4168	  4169	  4183#	  4202	  4203	  4217#	  4236	  4237	  4251#	  4270	  4271	  4285#	  4304
	  4305	  4319#	  4338	  4339	  4353#	  4372	  4373	  4387#	  4406	  4407	  4421#	  4440	  4441	  4473#
	  4488	  4489	  4505#	  4520	  4521	  4537#	  4552	  4553	  4569#	  4584	  4585	  4601#	  4616	  4617
	  4633#	  4648	  4649	  4665#	  4680	  4681	  4697#	  4712	  4713	  4729#	  4744	  4745	  4761#	  4776
	  4777	  4793#	  4808	  4809	  4825#	  4840	  4841	  4857#	  4872	  4873	  4889#	  4904	  4905	  4921#
	  4936	  4937	  4953#	  4968	  4969	  4985#	  5000	  5001	  5017#	  5032	  5033	  5049#	  5064	  5065
	  5081#	  5096	  5097	  5113#	  5128	  5129	  5145#	  5160	  5161	  5177#	  5192	  5193	  5209#	  5224
	  5225	  5241#	  5256	  5257	  5273#	  5288	  5289	  5305#	  5320	  5321	  5337#	  5352	  5353	  5369#
	  5384	  5385	  5401#	  5416	  5417	  5433#	  5448	  5449	  5465#	  5480	  5481	  5497#	  5512	  5513
	  5529#	  5544	  5545	  5561#	  5576	  5577	  5594#	  5608	  5609	  5648#	  5663	  5664	  5682#	  5697
	  5698	  5716#	  5731	  5732	  5750#	  5765	  5766	  5784#	  5799	  5800	  5818#	  5833	  5834	  5852#
	  5867	  5868	  5886#	  5901	  5902	  5920#	  5935	  5936	  5954#	  5969	  5970	  5988#	  6003	  6004
	  6022#	  6037	  6038	  6056#	  6071	  6072	  6090#	  6105	  6106	  6124#	  6139	  6140	  6158#	  6173
	  6174	  6192#	  6207	  6208	  6226#	  6241	  6242	  6260#	  6275	  6276	  6294#	  6309	  6310	  6328#
	  6343	  6344	  6362#	  6377	  6378	  6396#	  6411	  6412	  6430#	  6445	  6446	  6464#	  6479	  6480
	  6498#	  6513	  6514	  6532#	  6547	  6548	  6566#	  6581	  6582	  6600#	  6615	  6616	  6634#	  6649
	  6650	  6668#	  6683	  6684	  6702#	  6717	  6718	  6736#	  6751	  6752	  6770#	  6785	  6786	  6804#
	  6819	  6820	  6839#	  6853	  6854	  6898#	  6913	  6914	  6934#	  6949	  6950	  6970#	  6985	  6986
	  7006#	  7021	  7022	  7042#	  7057	  7058	  7078#	  7093	  7094	  7114#	  7129	  7130	  7150#	  7165
	  7166	  7186#	  7201	  7202	  7222#	  7237	  7238	  7258#	  7273	  7274	  7294#	  7309	  7310	  7330#
	  7345	  7346	  7366#	  7381	  7382	  7402#	  7417	  7418	  7438#	  7453	  7454	  7474#	  7489	  7490
	  7510#	  7525	  7526	  7546#	  7561	  7562	  7582#	  7597	  7598	  7618#	  7633	  7634	  7654#	  7669
	  7670	  7690#	  7705	  7706	  7726#	  7741	  7742	  7762#	  7777	  7778	  7798#	  7813	  7814	  7834#
	  7849	  7850	  7870#	  7885	  7886	  7906#	  7921	  7922	  7942#	  7957	  7958	  7978#	  7993	  7994
	  8014#	  8029	  8030	  8050#	  8065	  8066	  8086#	  8101	  8102	  8122#	  8137	  8138	  8159#	  8173
	  8174	  8218#	  8233	  8234	  8254#	  8269	  8270	  8290#	  8305	  8306	  8326#	  8341	  8342	  8362#
	  8377	  8378	  8398#	  8413	  8414	  8434#	  8449	  8450	  8470#	  8485	  8486	  8506#	  8521	  8522
	  8542#	  8557	  8558	  8578#	  8593	  8594	  8614#	  8629	  8630	  8650#	  8665	  8666	  8686#	  8701
	  8702	  8722#	  8737	  8738	  8758#	  8773	  8774	  8794#	  8809	  8810	  8830#	  8845	  8846	  8866#
	  8881	  8882	  8902#	  8917	  8918	  8938#	  8953	  8954	  8974#	  8989	  8990	  9010#	  9025	  9026
	  9046#	  9061	  9062	  9082#	  9097	  9098	  9118#	  9133	  9134	  9154#	  9169	  9170	  9190#	  9205
	  9206	  9226#	  9241	  9242	  9262#	  9277	  9278	  9298#	  9313	  9314	  9334#	  9349	  9350	  9370#    SEQ 0404
	  9385	  9386	  9406#	  9421	  9422	  9442#	  9457	  9458
V2A	  5647#	  5648	  5681#	  5682	  5715#	  5716	  5749#	  5750	  5783#	  5784	  5817#	  5818	  5851#	  5852
	  5885#	  5886	  5919#	  5920	  5953#	  5954	  5987#	  5988	  6021#	  6022	  6055#	  6056	  6089#	  6090
	  6123#	  6124	  6157#	  6158	  6191#	  6192	  6225#	  6226	  6259#	  6260	  6293#	  6294	  6327#	  6328
	  6361#	  6362	  6395#	  6396	  6429#	  6430	  6463#	  6464	  6497#	  6498	  6531#	  6532	  6565#	  6566
	  6599#	  6600	  6633#	  6634	  6667#	  6668	  6701#	  6702	  6735#	  6736	  6769#	  6770	  6802#	  6804
	  6837#	  6896#	  6898	  6932#	  6934	  6968#	  6970	  7004#	  7006	  7040#	  7042	  7076#	  7078	  7112#
	  7114	  7148#	  7150	  7184#	  7186	  7220#	  7222	  7256#	  7258	  7292#	  7294	  7328#	  7330	  7364#
	  7366	  7400#	  7402	  7436#	  7438	  7472#	  7474	  7508#	  7510	  7545#	  7546	  7581#	  7582	  7617#
	  7618	  7653#	  7654	  7689#	  7690	  7725#	  7726	  7761#	  7762	  7797#	  7798	  7833#	  7834	  7869#
	  7870	  7905#	  7906	  7941#	  7942	  7977#	  7978	  8013#	  8014	  8049#	  8050	  8085#	  8086	  8121#
	  8122	  8157#	  8216#	  8218	  8252#	  8254	  8288#	  8290	  8324#	  8326	  8360#	  8362	  8396#	  8398
	  8432#	  8434	  8468#	  8470	  8504#	  8506	  8540#	  8542	  8576#	  8578	  8612#	  8614	  8648#	  8650
	  8684#	  8686	  8720#	  8722	  8756#	  8758	  8792#	  8794	  8828#	  8830	  8865#	  8866	  8901#	  8902
	  8937#	  8938	  8973#	  8974	  9009#	  9010	  9045#	  9046	  9081#	  9082	  9117#	  9118	  9153#	  9154
	  9189#	  9190	  9225#	  9226	  9261#	  9262	  9297#	  9298	  9333#	  9334	  9369#	  9370	  9405#	  9406
	  9441#	  9442
V3	   745#	   759	   760	   779#	   793	   794	   813#	   827	   828	   847#	   861	   862	   881#	   895
	   896	   915#	   929	   930	   949#	   963	   964	   983#	   997	   998	  1017#	  1031	  1032	  1051#
	  1065	  1066	  1085#	  1099	  1100	  1119#	  1133	  1134	  1153#	  1167	  1168	  1187#	  1201	  1202
	  1221#	  1235	  1236	  1255#	  1269	  1270	  1289#	  1303	  1304	  1323#	  1337	  1338	  1357#	  1371
	  1372	  1391#	  1405	  1406	  1425#	  1439	  1440	  1459#	  1473	  1474	  1493#	  1507	  1508	  1527#
	  1541	  1542	  1561#	  1575	  1576	  1595#	  1609	  1610	  1629#	  1643	  1644	  1663#	  1677	  1678
	  1697#	  1711	  1712	  1731#	  1745	  1746	  1765#	  1779	  1780	  1799#	  1813	  1814	  1833#	  1847
	  1848	  1867#	  1881	  1882	  1901#	  1915	  1916	  1934#	  1949	  1950	  1992#	  2007	  2008	  2026#
	  2041	  2042	  2060#	  2075	  2076	  2094#	  2109	  2110	  2128#	  2143	  2144	  2162#	  2177	  2178
	  2196#	  2211	  2212	  2230#	  2245	  2246	  2264#	  2279	  2280	  2298#	  2313	  2314	  2332#	  2347
	  2348	  2366#	  2381	  2382	  2400#	  2415	  2416	  2434#	  2449	  2450	  2468#	  2483	  2484	  2502#
	  2517	  2518	  2536#	  2551	  2552	  2570#	  2585	  2586	  2604#	  2619	  2620	  2638#	  2653	  2654
	  2672#	  2687	  2688	  2706#	  2721	  2722	  2740#	  2755	  2756	  2774#	  2789	  2790	  2808#	  2823
	  2824	  2842#	  2857	  2858	  2876#	  2891	  2892	  2910#	  2925	  2926	  2944#	  2959	  2960	  2978#
	  2993	  2994	  3012#	  3027	  3028	  3046#	  3061	  3062	  3080#	  3095	  3096	  3114#	  3129	  3130
	  3148#	  3163	  3164	  3232#	  3247	  3248	  3266#	  3281	  3282	  3300#	  3315	  3316	  3334#	  3349
	  3350	  3368#	  3383	  3384	  3402#	  3417	  3418	  3436#	  3451	  3452	  3470#	  3485	  3486	  3504#
	  3519	  3520	  3538#	  3553	  3554	  3572#	  3587	  3588	  3606#	  3621	  3622	  3640#	  3655	  3656
	  3674#	  3689	  3690	  3708#	  3723	  3724	  3742#	  3757	  3758	  3776#	  3791	  3792	  3810#	  3825
	  3826	  3844#	  3859	  3860	  3878#	  3893	  3894	  3912#	  3927	  3928	  3946#	  3961	  3962	  3980#
	  3995	  3996	  4014#	  4029	  4030	  4048#	  4063	  4064	  4082#	  4097	  4098	  4116#	  4131	  4132
	  4150#	  4165	  4166	  4184#	  4199	  4200	  4218#	  4233	  4234	  4252#	  4267	  4268	  4286#	  4301
	  4302	  4320#	  4335	  4336	  4354#	  4369	  4370	  4388#	  4403	  4404	  4423#	  4437	  4438
WW	   720#	   737	   737#	   745	   771	   771#	   779	   805	   805#	   813	   839	   839#	   847	   873
	   873#	   881	   907	   907#	   915	   941	   941#	   949	   975	   975#	   983	  1009	  1009#	  1017
	  1043	  1043#	  1051	  1077	  1077#	  1085	  1111	  1111#	  1119	  1145	  1145#	  1153	  1179	  1179#
	  1187	  1213	  1213#	  1221	  1247	  1247#	  1255	  1281	  1281#	  1289	  1315	  1315#	  1323	  1349
	  1349#	  1357	  1383	  1383#	  1391	  1417	  1417#	  1425	  1451	  1451#	  1459	  1485	  1485#	  1493
	  1519	  1519#	  1527	  1553	  1553#	  1561	  1587	  1587#	  1595	  1621	  1621#	  1629	  1655	  1655#
	  1663	  1689	  1689#	  1697	  1723	  1723#	  1731	  1757	  1757#	  1765	  1791	  1791#	  1799	  1825
	  1825#	  1833	  1859	  1859#	  1867	  1893	  1893#	  1901	  1927	  1927#	  1967#	  1985	  1985#	  1992
	  2019	  2019#	  2026	  2053	  2053#	  2060	  2087	  2087#	  2094	  2121	  2121#	  2128	  2155	  2155#
	  2162	  2189	  2189#	  2196	  2223	  2223#	  2230	  2257	  2257#	  2264	  2291	  2291#	  2298	  2325
	  2325#	  2332	  2359	  2359#	  2366	  2393	  2393#	  2400	  2427	  2427#	  2434	  2461	  2461#	  2468
	  2495	  2495#	  2502	  2529	  2529#	  2536	  2563	  2563#	  2570	  2597	  2597#	  2604	  2631	  2631#
	  2638	  2665	  2665#	  2672	  2699	  2699#	  2706	  2733	  2733#	  2740	  2767	  2767#	  2774	  2801     SEQ 0405
	  2801#	  2808	  2835	  2835#	  2842	  2869	  2869#	  2876	  2903	  2903#	  2910	  2937	  2937#	  2944
	  2971	  2971#	  2978	  3005	  3005#	  3012	  3039	  3039#	  3046	  3073	  3073#	  3080	  3107	  3107#
	  3114	  3141	  3141#	  3148	  3208#	  3225	  3225#	  3232	  3259	  3259#	  3266	  3293	  3293#	  3300
	  3327	  3327#	  3334	  3361	  3361#	  3368	  3395	  3395#	  3402	  3429	  3429#	  3436	  3463	  3463#
	  3470	  3497	  3497#	  3504	  3531	  3531#	  3538	  3565	  3565#	  3572	  3599	  3599#	  3606	  3633
	  3633#	  3640	  3667	  3667#	  3674	  3701	  3701#	  3708	  3735	  3735#	  3742	  3769	  3769#	  3776
	  3803	  3803#	  3810	  3837	  3837#	  3844	  3871	  3871#	  3878	  3905	  3905#	  3912	  3939	  3939#
	  3946	  3973	  3973#	  3980	  4007	  4007#	  4014	  4041	  4041#	  4048	  4075	  4075#	  4082	  4109
	  4109#	  4116	  4143	  4143#	  4150	  4177	  4177#	  4184	  4211	  4211#	  4218	  4245	  4245#	  4252
	  4279	  4279#	  4286	  4313	  4313#	  4320	  4347	  4347#	  4354	  4381	  4381#	  4388	  4415	  4415#
	 12934#	 12962	 12962#	 12966	 12984	 12984#	 12988
XX	   721#	   738	   738#	   739	   739#	   743	   744	   745	   756	   757	   765	   766	   772	   772#
	   773	   777	   778	   779	   790	   791	   799	   800	   806	   806#	   807	   811	   812	   813
	   824	   825	   833	   834	   840	   840#	   841	   845	   846	   847	   858	   859	   867	   868
	   874	   874#	   875	   879	   880	   881	   892	   893	   901	   902	   908	   908#	   909	   913
	   914	   915	   926	   927	   935	   936	   942	   942#	   943	   947	   948	   949	   960	   961
	   969	   970	   976	   976#	   977	   981	   982	   983	   994	   995	  1003	  1004	  1010	  1010#
	  1011	  1015	  1016	  1017	  1028	  1029	  1037	  1038	  1044	  1044#	  1045	  1049	  1050	  1051
	  1062	  1063	  1071	  1072	  1078	  1078#	  1079	  1083	  1084	  1085	  1096	  1097	  1105	  1106
	  1112	  1112#	  1113	  1117	  1118	  1119	  1130	  1131	  1139	  1140	  1146	  1146#	  1147	  1151
	  1152	  1153	  1164	  1165	  1173	  1174	  1180	  1180#	  1181	  1185	  1186	  1187	  1198	  1199
	  1207	  1208	  1214	  1214#	  1215	  1219	  1220	  1221	  1232	  1233	  1241	  1242	  1248	  1248#
	  1249	  1253	  1254	  1255	  1266	  1267	  1275	  1276	  1282	  1282#	  1283	  1287	  1288	  1289
	  1300	  1301	  1309	  1310	  1316	  1316#	  1317	  1321	  1322	  1323	  1334	  1335	  1343	  1344
	  1350	  1350#	  1351	  1355	  1356	  1357	  1368	  1369	  1377	  1378	  1384	  1384#	  1385	  1389
	  1390	  1391	  1402	  1403	  1411	  1412	  1418	  1418#	  1419	  1423	  1424	  1425	  1436	  1437
	  1445	  1446	  1452	  1452#	  1453	  1457	  1458	  1459	  1470	  1471	  1479	  1480	  1486	  1486#
	  1487	  1491	  1492	  1493	  1504	  1505	  1513	  1514	  1520	  1520#	  1521	  1525	  1526	  1527
	  1538	  1539	  1547	  1548	  1554	  1554#	  1555	  1559	  1560	  1561	  1572	  1573	  1581	  1582
	  1588	  1588#	  1589	  1593	  1594	  1595	  1606	  1607	  1615	  1616	  1622	  1622#	  1623	  1627
	  1628	  1629	  1640	  1641	  1649	  1650	  1656	  1656#	  1657	  1661	  1662	  1663	  1674	  1675
	  1683	  1684	  1690	  1690#	  1691	  1695	  1696	  1697	  1708	  1709	  1717	  1718	  1724	  1724#
	  1725	  1729	  1730	  1731	  1742	  1743	  1751	  1752	  1758	  1758#	  1759	  1763	  1764	  1765
	  1776	  1777	  1785	  1786	  1792	  1792#	  1793	  1797	  1798	  1799	  1810	  1811	  1819	  1820
	  1826	  1826#	  1827	  1831	  1832	  1833	  1844	  1845	  1853	  1854	  1860	  1860#	  1861	  1865
	  1866	  1867	  1878	  1879	  1887	  1888	  1894	  1894#	  1895	  1899	  1900	  1901	  1912	  1913
	  1921	  1922	  1928	  1928#	  1929	  1933	  1934	  1935	  1946	  1947	  1955	  1956	  1969#	  1986
	  1986#	  1987	  1987#	  1991	  1992	  1993	  2000	  2001	  2020	  2020#	  2021	  2025	  2026	  2027
	  2034	  2035	  2054	  2054#	  2055	  2059	  2060	  2061	  2068	  2069	  2088	  2088#	  2089	  2093
	  2094	  2095	  2102	  2103	  2122	  2122#	  2123	  2127	  2128	  2129	  2136	  2137	  2156	  2156#
	  2157	  2161	  2162	  2163	  2170	  2171	  2190	  2190#	  2191	  2195	  2196	  2197	  2204	  2205
	  2224	  2224#	  2225	  2229	  2230	  2231	  2238	  2239	  2258	  2258#	  2259	  2263	  2264	  2265
	  2272	  2273	  2292	  2292#	  2293	  2297	  2298	  2299	  2306	  2307	  2326	  2326#	  2327	  2331
	  2332	  2333	  2340	  2341	  2360	  2360#	  2361	  2365	  2366	  2367	  2374	  2375	  2394	  2394#
	  2395	  2399	  2400	  2401	  2408	  2409	  2428	  2428#	  2429	  2433	  2434	  2435	  2442	  2443
	  2462	  2462#	  2463	  2467	  2468	  2469	  2476	  2477	  2496	  2496#	  2497	  2501	  2502	  2503
	  2510	  2511	  2530	  2530#	  2531	  2535	  2536	  2537	  2544	  2545	  2564	  2564#	  2565	  2569
	  2570	  2571	  2578	  2579	  2598	  2598#	  2599	  2603	  2604	  2605	  2612	  2613	  2632	  2632#
	  2633	  2637	  2638	  2639	  2646	  2647	  2666	  2666#	  2667	  2671	  2672	  2673	  2680	  2681
	  2700	  2700#	  2701	  2705	  2706	  2707	  2714	  2715	  2734	  2734#	  2735	  2739	  2740	  2741
	  2748	  2749	  2768	  2768#	  2769	  2773	  2774	  2775	  2782	  2783	  2802	  2802#	  2803	  2807
	  2808	  2809	  2816	  2817	  2836	  2836#	  2837	  2841	  2842	  2843	  2850	  2851	  2870	  2870#
	  2871	  2875	  2876	  2877	  2884	  2885	  2904	  2904#	  2905	  2909	  2910	  2911	  2918	  2919     SEQ 0406
	  2938	  2938#	  2939	  2943	  2944	  2945	  2952	  2953	  2972	  2972#	  2973	  2977	  2978	  2979
	  2986	  2987	  3006	  3006#	  3007	  3011	  3012	  3013	  3020	  3021	  3040	  3040#	  3041	  3045
	  3046	  3047	  3054	  3055	  3074	  3074#	  3075	  3079	  3080	  3081	  3088	  3089	  3108	  3108#
	  3109	  3113	  3114	  3115	  3122	  3123	  3142	  3142#	  3143	  3147	  3148	  3149	  3156	  3157
	  3175#	  3184	  3185	  3209#	  3226	  3226#	  3227	  3227#	  3231	  3232	  3233	  3244	  3245	  3253
	  3254	  3260	  3260#	  3261	  3265	  3266	  3267	  3278	  3279	  3287	  3288	  3294	  3294#	  3295
	  3299	  3300	  3301	  3312	  3313	  3321	  3322	  3328	  3328#	  3329	  3333	  3334	  3335	  3346
	  3347	  3355	  3356	  3362	  3362#	  3363	  3367	  3368	  3369	  3380	  3381	  3389	  3390	  3396
	  3396#	  3397	  3401	  3402	  3403	  3414	  3415	  3423	  3424	  3430	  3430#	  3431	  3435	  3436
	  3437	  3448	  3449	  3457	  3458	  3464	  3464#	  3465	  3469	  3470	  3471	  3482	  3483	  3491
	  3492	  3498	  3498#	  3499	  3503	  3504	  3505	  3516	  3517	  3525	  3526	  3532	  3532#	  3533
	  3537	  3538	  3539	  3550	  3551	  3559	  3560	  3566	  3566#	  3567	  3571	  3572	  3573	  3584
	  3585	  3593	  3594	  3600	  3600#	  3601	  3605	  3606	  3607	  3618	  3619	  3627	  3628	  3634
	  3634#	  3635	  3639	  3640	  3641	  3652	  3653	  3661	  3662	  3668	  3668#	  3669	  3673	  3674
	  3675	  3686	  3687	  3695	  3696	  3702	  3702#	  3703	  3707	  3708	  3709	  3720	  3721	  3729
	  3730	  3736	  3736#	  3737	  3741	  3742	  3743	  3754	  3755	  3763	  3764	  3770	  3770#	  3771
	  3775	  3776	  3777	  3788	  3789	  3797	  3798	  3804	  3804#	  3805	  3809	  3810	  3811	  3822
	  3823	  3831	  3832	  3838	  3838#	  3839	  3843	  3844	  3845	  3856	  3857	  3865	  3866	  3872
	  3872#	  3873	  3877	  3878	  3879	  3890	  3891	  3899	  3900	  3906	  3906#	  3907	  3911	  3912
	  3913	  3924	  3925	  3933	  3934	  3940	  3940#	  3941	  3945	  3946	  3947	  3958	  3959	  3967
	  3968	  3974	  3974#	  3975	  3979	  3980	  3981	  3992	  3993	  4001	  4002	  4008	  4008#	  4009
	  4013	  4014	  4015	  4026	  4027	  4035	  4036	  4042	  4042#	  4043	  4047	  4048	  4049	  4060
	  4061	  4069	  4070	  4076	  4076#	  4077	  4081	  4082	  4083	  4094	  4095	  4103	  4104	  4110
	  4110#	  4111	  4115	  4116	  4117	  4128	  4129	  4137	  4138	  4144	  4144#	  4145	  4149	  4150
	  4151	  4162	  4163	  4171	  4172	  4178	  4178#	  4179	  4183	  4184	  4185	  4196	  4197	  4205
	  4206	  4212	  4212#	  4213	  4217	  4218	  4219	  4230	  4231	  4239	  4240	  4246	  4246#	  4247
	  4251	  4252	  4253	  4264	  4265	  4273	  4274	  4280	  4280#	  4281	  4285	  4286	  4287	  4298
	  4299	  4307	  4308	  4314	  4314#	  4315	  4319	  4320	  4321	  4332	  4333	  4341	  4342	  4348
	  4348#	  4349	  4353	  4354	  4355	  4366	  4367	  4375	  4376	  4382	  4382#	  4383	  4387	  4388
	  4389	  4400	  4401	  4409	  4410	  4416	  4416#	  4417	  4421	  4422	  4423	  4434	  4435	  4443
	  4444	  4454#	  4468	  4468#	  4469	  4469#	  4472	  4473	  4474	  4481	  4482	  4485	  4486	  4494
	  4495	  4500	  4500#	  4501	  4504	  4505	  4506	  4513	  4514	  4517	  4518	  4526	  4527	  4532
	  4532#	  4533	  4536	  4537	  4538	  4545	  4546	  4549	  4550	  4558	  4559	  4564	  4564#	  4565
	  4568	  4569	  4570	  4577	  4578	  4581	  4582	  4590	  4591	  4596	  4596#	  4597	  4600	  4601
	  4602	  4609	  4610	  4613	  4614	  4622	  4623	  4628	  4628#	  4629	  4632	  4633	  4634	  4641
	  4642	  4645	  4646	  4654	  4655	  4660	  4660#	  4661	  4664	  4665	  4666	  4673	  4674	  4677
	  4678	  4686	  4687	  4692	  4692#	  4693	  4696	  4697	  4698	  4705	  4706	  4709	  4710	  4718
	  4719	  4724	  4724#	  4725	  4728	  4729	  4730	  4737	  4738	  4741	  4742	  4750	  4751	  4756
	  4756#	  4757	  4760	  4761	  4762	  4769	  4770	  4773	  4774	  4782	  4783	  4788	  4788#	  4789
	  4792	  4793	  4794	  4801	  4802	  4805	  4806	  4814	  4815	  4820	  4820#	  4821	  4824	  4825
	  4826	  4833	  4834	  4837	  4838	  4846	  4847	  4852	  4852#	  4853	  4856	  4857	  4858	  4865
	  4866	  4869	  4870	  4878	  4879	  4884	  4884#	  4885	  4888	  4889	  4890	  4897	  4898	  4901
	  4902	  4910	  4911	  4916	  4916#	  4917	  4920	  4921	  4922	  4929	  4930	  4933	  4934	  4942
	  4943	  4948	  4948#	  4949	  4952	  4953	  4954	  4961	  4962	  4965	  4966	  4974	  4975	  4980
	  4980#	  4981	  4984	  4985	  4986	  4993	  4994	  4997	  4998	  5006	  5007	  5012	  5012#	  5013
	  5016	  5017	  5018	  5025	  5026	  5029	  5030	  5038	  5039	  5044	  5044#	  5045	  5048	  5049
	  5050	  5057	  5058	  5061	  5062	  5070	  5071	  5076	  5076#	  5077	  5080	  5081	  5082	  5089
	  5090	  5093	  5094	  5102	  5103	  5108	  5108#	  5109	  5112	  5113	  5114	  5121	  5122	  5125
	  5126	  5134	  5135	  5140	  5140#	  5141	  5144	  5145	  5146	  5153	  5154	  5157	  5158	  5166
	  5167	  5172	  5172#	  5173	  5176	  5177	  5178	  5185	  5186	  5189	  5190	  5198	  5199	  5204
	  5204#	  5205	  5208	  5209	  5210	  5217	  5218	  5221	  5222	  5230	  5231	  5236	  5236#	  5237
	  5240	  5241	  5242	  5249	  5250	  5253	  5254	  5262	  5263	  5268	  5268#	  5269	  5272	  5273
	  5274	  5281	  5282	  5285	  5286	  5294	  5295	  5300	  5300#	  5301	  5304	  5305	  5306	  5313     SEQ 0407
	  5314	  5317	  5318	  5326	  5327	  5332	  5332#	  5333	  5336	  5337	  5338	  5345	  5346	  5349
	  5350	  5358	  5359	  5364	  5364#	  5365	  5368	  5369	  5370	  5377	  5378	  5381	  5382	  5390
	  5391	  5396	  5396#	  5397	  5400	  5401	  5402	  5409	  5410	  5413	  5414	  5422	  5423	  5428
	  5428#	  5429	  5432	  5433	  5434	  5441	  5442	  5445	  5446	  5454	  5455	  5460	  5460#	  5461
	  5464	  5465	  5466	  5473	  5474	  5477	  5478	  5486	  5487	  5492	  5492#	  5493	  5496	  5497
	  5498	  5505	  5506	  5509	  5510	  5518	  5519	  5524	  5524#	  5525	  5528	  5529	  5530	  5537
	  5538	  5541	  5542	  5550	  5551	  5556	  5556#	  5557	  5560	  5561	  5562	  5569	  5570	  5573
	  5574	  5582	  5583	  5588	  5588#	  5589	  5592	  5593	  5594	  5601	  5602	  5605	  5606	  5614
	  5615	  5625#	  5641	  5641#	  5642	  5642#	  5645	  5646	  5647	  5648	  5649	  5656	  5657	  5660
	  5661	  5669	  5670	  5675	  5675#	  5676	  5679	  5680	  5681	  5682	  5683	  5690	  5691	  5694
	  5695	  5703	  5704	  5709	  5709#	  5710	  5713	  5714	  5715	  5716	  5717	  5724	  5725	  5728
	  5729	  5737	  5738	  5743	  5743#	  5744	  5747	  5748	  5749	  5750	  5751	  5758	  5759	  5762
	  5763	  5771	  5772	  5777	  5777#	  5778	  5781	  5782	  5783	  5784	  5785	  5792	  5793	  5796
	  5797	  5805	  5806	  5811	  5811#	  5812	  5815	  5816	  5817	  5818	  5819	  5826	  5827	  5830
	  5831	  5839	  5840	  5845	  5845#	  5846	  5849	  5850	  5851	  5852	  5853	  5860	  5861	  5864
	  5865	  5873	  5874	  5879	  5879#	  5880	  5883	  5884	  5885	  5886	  5887	  5894	  5895	  5898
	  5899	  5907	  5908	  5913	  5913#	  5914	  5917	  5918	  5919	  5920	  5921	  5928	  5929	  5932
	  5933	  5941	  5942	  5947	  5947#	  5948	  5951	  5952	  5953	  5954	  5955	  5962	  5963	  5966
	  5967	  5975	  5976	  5981	  5981#	  5982	  5985	  5986	  5987	  5988	  5989	  5996	  5997	  6000
	  6001	  6009	  6010	  6015	  6015#	  6016	  6019	  6020	  6021	  6022	  6023	  6030	  6031	  6034
	  6035	  6043	  6044	  6049	  6049#	  6050	  6053	  6054	  6055	  6056	  6057	  6064	  6065	  6068
	  6069	  6077	  6078	  6083	  6083#	  6084	  6087	  6088	  6089	  6090	  6091	  6098	  6099	  6102
	  6103	  6111	  6112	  6117	  6117#	  6118	  6121	  6122	  6123	  6124	  6125	  6132	  6133	  6136
	  6137	  6145	  6146	  6151	  6151#	  6152	  6155	  6156	  6157	  6158	  6159	  6166	  6167	  6170
	  6171	  6179	  6180	  6185	  6185#	  6186	  6189	  6190	  6191	  6192	  6193	  6200	  6201	  6204
	  6205	  6213	  6214	  6219	  6219#	  6220	  6223	  6224	  6225	  6226	  6227	  6234	  6235	  6238
	  6239	  6247	  6248	  6253	  6253#	  6254	  6257	  6258	  6259	  6260	  6261	  6268	  6269	  6272
	  6273	  6281	  6282	  6287	  6287#	  6288	  6291	  6292	  6293	  6294	  6295	  6302	  6303	  6306
	  6307	  6315	  6316	  6321	  6321#	  6322	  6325	  6326	  6327	  6328	  6329	  6336	  6337	  6340
	  6341	  6349	  6350	  6355	  6355#	  6356	  6359	  6360	  6361	  6362	  6363	  6370	  6371	  6374
	  6375	  6383	  6384	  6389	  6389#	  6390	  6393	  6394	  6395	  6396	  6397	  6404	  6405	  6408
	  6409	  6417	  6418	  6423	  6423#	  6424	  6427	  6428	  6429	  6430	  6431	  6438	  6439	  6442
	  6443	  6451	  6452	  6457	  6457#	  6458	  6461	  6462	  6463	  6464	  6465	  6472	  6473	  6476
	  6477	  6485	  6486	  6491	  6491#	  6492	  6495	  6496	  6497	  6498	  6499	  6506	  6507	  6510
	  6511	  6519	  6520	  6525	  6525#	  6526	  6529	  6530	  6531	  6532	  6533	  6540	  6541	  6544
	  6545	  6553	  6554	  6559	  6559#	  6560	  6563	  6564	  6565	  6566	  6567	  6574	  6575	  6578
	  6579	  6587	  6588	  6593	  6593#	  6594	  6597	  6598	  6599	  6600	  6601	  6608	  6609	  6612
	  6613	  6621	  6622	  6627	  6627#	  6628	  6631	  6632	  6633	  6634	  6635	  6642	  6643	  6646
	  6647	  6655	  6656	  6661	  6661#	  6662	  6665	  6666	  6667	  6668	  6669	  6676	  6677	  6680
	  6681	  6689	  6690	  6695	  6695#	  6696	  6699	  6700	  6701	  6702	  6703	  6710	  6711	  6714
	  6715	  6723	  6724	  6729	  6729#	  6730	  6733	  6734	  6735	  6736	  6737	  6744	  6745	  6748
	  6749	  6757	  6758	  6763	  6763#	  6764	  6767	  6768	  6769	  6770	  6771	  6778	  6779	  6782
	  6783	  6791	  6792	  6797	  6797#	  6798	  6801	  6802	  6803	  6804	  6805	  6812	  6813	  6816
	  6817	  6825	  6826	  6831	  6831#	  6832	  6835	  6836	  6837	  6838	  6839	  6846	  6847	  6850
	  6851	  6859	  6860	  6870#	  6889	  6889#	  6891	  6891#	  6895	  6896	  6897	  6898	  6899	  6910
	  6911	  6919	  6920	  6925	  6925#	  6927	  6931	  6932	  6933	  6934	  6935	  6946	  6947	  6955
	  6956	  6961	  6961#	  6963	  6967	  6968	  6969	  6970	  6971	  6982	  6983	  6991	  6992	  6997
	  6997#	  6999	  7003	  7004	  7005	  7006	  7007	  7018	  7019	  7027	  7028	  7033	  7033#	  7035
	  7039	  7040	  7041	  7042	  7043	  7054	  7055	  7063	  7064	  7069	  7069#	  7071	  7075	  7076
	  7077	  7078	  7079	  7090	  7091	  7099	  7100	  7105	  7105#	  7107	  7111	  7112	  7113	  7114
	  7115	  7126	  7127	  7135	  7136	  7141	  7141#	  7143	  7147	  7148	  7149	  7150	  7151	  7162
	  7163	  7171	  7172	  7177	  7177#	  7179	  7183	  7184	  7185	  7186	  7187	  7198	  7199	  7207
	  7208	  7213	  7213#	  7215	  7219	  7220	  7221	  7222	  7223	  7234	  7235	  7243	  7244	  7249     SEQ 0408
	  7249#	  7251	  7255	  7256	  7257	  7258	  7259	  7270	  7271	  7279	  7280	  7285	  7285#	  7287
	  7291	  7292	  7293	  7294	  7295	  7306	  7307	  7315	  7316	  7321	  7321#	  7323	  7327	  7328
	  7329	  7330	  7331	  7342	  7343	  7351	  7352	  7357	  7357#	  7359	  7363	  7364	  7365	  7366
	  7367	  7378	  7379	  7387	  7388	  7393	  7393#	  7395	  7399	  7400	  7401	  7402	  7403	  7414
	  7415	  7423	  7424	  7429	  7429#	  7431	  7435	  7436	  7437	  7438	  7439	  7450	  7451	  7459
	  7460	  7465	  7465#	  7467	  7471	  7472	  7473	  7474	  7475	  7486	  7487	  7495	  7496	  7501
	  7501#	  7503	  7507	  7508	  7509	  7510	  7511	  7522	  7523	  7531	  7532	  7537	  7537#	  7539
	  7543	  7544	  7545	  7546	  7547	  7558	  7559	  7567	  7568	  7573	  7573#	  7575	  7579	  7580
	  7581	  7582	  7583	  7594	  7595	  7603	  7604	  7609	  7609#	  7611	  7615	  7616	  7617	  7618
	  7619	  7630	  7631	  7639	  7640	  7645	  7645#	  7647	  7651	  7652	  7653	  7654	  7655	  7666
	  7667	  7675	  7676	  7681	  7681#	  7683	  7687	  7688	  7689	  7690	  7691	  7702	  7703	  7711
	  7712	  7717	  7717#	  7719	  7723	  7724	  7725	  7726	  7727	  7738	  7739	  7747	  7748	  7753
	  7753#	  7755	  7759	  7760	  7761	  7762	  7763	  7774	  7775	  7783	  7784	  7789	  7789#	  7791
	  7795	  7796	  7797	  7798	  7799	  7810	  7811	  7819	  782