Google
 

Trailing-Edge - PDP-10 Archives - klad_sources - klad.sources/dskal.seq
There are no other files named dskal.seq in the archive.
;DSKAL







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

	PRODUCT CODE:		AH-E319A-DD

	DIAGNOSTIC CODE:	DSKAL

	PRODUCT NAME:	 	DSKALA0 DECSYSTEM 2020 BASIC
				INSTRUCTION DIAGNOSTIC (12)

	VERSION:		0.1

	DATE RELEASED:		MARCH 1978

	MAINTAINED BY:		DIAGNOSTIC ENGINEERING

	AUTHOR:			JOHN R. KIRCHOFF

		        COPYRIGHT (C) 1978

	        DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.

	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 EXCEPT 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  DIGITAL  EQUIPMENT
	CORPORATION.

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

	DIGITAL EQUIPMENT CORPORATION ASSUMES NO  RESPONSIBILITY FOR THE
	USE  OR  RELIABILITY  OF  ITS SOFTWARE IN EQUIPMENT WHICH IS NOT
	SUPPLIED BY DIGITAL EQUIPMENT CORPORATION.
							MAINDEC-10-DSKAL.TXT
							PAGE 2                                                             SEQ 0003

			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-DSKAL.TXT
							PAGE 3                                                             SEQ 0004

1.0	ABSTRACT

	THIS DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC IS THE
	TWELVETH IN A SERIES OF DECSYSTEM 2020 PROCESSOR DIAGNOSTICS.

	THE DIAGNOSTIC PERFORMS LOGIC TESTING OF THE PROCESSOR
	AND MICRO-CODE MULTIPLY, INTERGER MULTIPLY, DIVIDE
	AND INTEGER DIVIDE FUNCTIONS.

2.0	REQUIREMENTS

2.1	EQUIPMENT

	A DECSYSTEM 2020 EQUIPPED WITH A MINIMUM OF 32K OF MEMORY

	CONSOLE PROCESSOR
	CONSOLE TELETYPE
	LOAD DEVICE

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

	****** NOTE ******
	THIS DIAGNOSTIC REQUIRES THAT THE DECSYSTEM 2020 SUBROUTINE
	PROGRAM BE RESIDENT IN THE DECSYSTEM 2020.

	FOLLOW THE APPROPRIATE DIAGNOSTIC LOADING PROCEDURES.
							MAINDEC-10-DSKAL.TXT
							PAGE 4                                                             SEQ 0005

3.2	STARTING PROCEDURE

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

	    RUN UNDER "SMMON".
	    THE FOLLOWING QUESTIONS WILL BE ASKED TO 
	    SELECT THE OPERATIONAL SWITCHES:

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

		    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-DSKAL.TXT
							PAGE 5                                                             SEQ 0006

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-DSKAL.TXT
							PAGE 6                                                             SEQ 0007

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	0	ALLOW CACHE USE
			1	INHIBIT CACHE
							MAINDEC-10-DSKAL.TXT
							PAGE 7                                                             SEQ 0008

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.

	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 PRINTED BY THE
	CONSOLE PROCESSOR.

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-DSKAL.TXT
							PAGE 8                                                             SEQ 0009

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 'DSKAL.LPT'

	    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-DSKAL.TXT
							PAGE 9                                                             SEQ 0010

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
		HISTORY FILE FOR DSKAL                                                                                     SEQ 0011
		----------------------

---------------------------------------------------------------

CODE:		MAINDEC-10-DSKAL

TITLE:		DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12)

VERSION:	0.1

DATE:		MARCH 1978

REASON:		ORIGINAL RELEASE OF THIS PROGRAM FOR KS-10.
---------------------------------------------------------------
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 1
DSKALT	MAC	29-Mar-78 10:09		CONSOLE DATA SWITCH ASSIGNMENTS, MARCH 1978                                        SEQ 0012

     1					;DSKAL
     2
     3			000000		MCNVER==0
     4			000001		DECVER==1
     5
     6
     7						XLIST
     8						LIST
     9						LALL
    10
    11						NAME	\MCNVER,\DECVER^
    12
    13					TITLE	DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1
    14					^
    15
    16
    17					;MULTIPLY, INTERGER MULTIPLY, DIVIDE, INTERGER DIVIDE
    18
    19					;COPYRIGHT 1978
    20					;DIGITAL EQUIPMENT CORPORATION
    21					;MARLBORO, MASS. 01752
    22
    23					;JOHN R. KIRCHOFF
    24
    25	000137					LOC	137
    26	000137	000000	000001			MCNVER,,DECVER
    27
    28						.DIRECTIVE	.OKOVL
    29						NOSYM
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 2
DSKALT	MAC	29-Mar-78 10:09		DIAGNOSTIC PARAMETERS                                                              SEQ 0013

    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			044425		LUUO1=ERRMES
    47			044425		LUUO2=ERRMES
    48			044425		LUUO3=ERRMES
    49			044425		LUUO4=ERRMES
    50			044425		LUUO5=ERRMES
    51			044425		LUUO6=ERRMES
    52			044425		LUUO7=ERRMES
    53			044425		LUUO10=ERRMES
    54			044425		LUUO11=ERRMES
    55			044425		LUUO12=ERRMES
    56			044425		LUUO13=ERRMES
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 3
DSKALT	MAC	29-Mar-78 10:09		DIAGNOSTIC PARAMETERS                                                              SEQ 0014

    57					;SUBROUTINE ASSEMBLY DEFINITIONS
    58
    59			000040		DEBUG=40
    60			000001		EXCASB=1
    61			000001		USRASB=1
    62			000001		PGMEND=1
    63			000001		ERDIAG=1
    64
    65					;SPECIAL FEATURE DEFINITIONS
    66
    67			030000		SADR1=BEGIN
    68			030000		SADR2=BEGIN
    69			030000		SADR3=BEGIN
    70			030007		SADR4=SRTDDT
    71		254000	030061		SADR5=JRST $BEND2
    72		254000	030000		SADR6=JRST BEGIN
    73		254000	030000		SADR7=JRST BEGIN
    74		254000	030000		SADR8=JRST BEGIN
    75		254000	030000		SADR9=JRST BEGIN
    76		254000	030000		SADR10=JRST BEGIN
    77		254000	030000		SADR11=JRST BEGIN
    78
    79					;SPECIAL FEATURE PARAMETERS
    80
    81			000000		PAREA0=0
    82			000000		PAREA1=0
    83			000000		PAREA2=0
    84		446353	415400		PAREA3=SIXBIT/DSKAL/
    85		645560	000000		PAREA4=SIXBIT/TMP/
    86			000000		PAREA5=0
    87			000000		PAREA6=0
    88			000001		ITERAT==1
    89
    90					;MACROS
    91
    92					DEFINE	SAVEAC	(A,B)<
    93						MOVEI	AC+2,.		;SAVE TEST PC
    94						MOVEM	AC+2,TESTPC
    95						MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
    96						MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION>
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 4
DSKALT	MAC	29-Mar-78 10:09		DIAGNOSTIC PARAMETERS                                                              SEQ 0015

    97					DEFINE	MOP1	(T,A1,A2,EE,R1,R2)<
    98					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [A1],[A2] AND
    99					;[EE] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
   100					;AND E AGAINST [R1], [R2] AND [EE] RESPECTIVELY.
   101					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
   102					
   103					F'T'0:	AA1=A1				;INITIAL C(AC)
   104						MOVE	AC,[A1]			;PRELOAD AC (MULTIPLIER)
   105						AA2=A2				;INITIAL C(AC+1)
   106						MOVE	AC+1,[A2]		;PRELOAD AC+1
   107						AEE=EE				;INITIAL C(E)
   108						MOVE	E,[EE]			;PRELOAD E (MULTIPLICAND)
   109						MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
   110						AR1=R1				;EXPECTED RESULT IN AC
   111						CAME	AC,[R1]			;IS HIGH PRODUCT CORRECT?
   112						ER3	AC,T'1		;HIGH PRODUCT FAILED
   113						AR2=R2				;EXPECTED RESULT IN AC+1
   114						CAME	AC+1,[R2]		;IS LOW PRODUCT CORRECT?
   115						ER4	AC+1,T'2		;LOW PRODUCT FAILED
   116						AEE=EE				;INITIAL C(E)
   117						CAME	E,[EE]			;WAS C(E) CLOBBERED?
   118						ER5	E,T'3			;C(E) WAS CLOBBERED
   119						JUMPL	AC+2,F'T'0		;LOOP ON ERROR SWITCH>
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 1
PARAM	KSM	28-Mar-78 11:27		CONSOLE DATA SWITCH ASSIGNMENTS, MARCH 1978                                        SEQ 0016

   120					SUBTTL	CONSOLE DATA SWITCH ASSIGNMENTS, MARCH 1978
   121
   122					DEFINE	S,<;*********************************************************************>
   123
   124					S^;*********************************************************************^
   125					;*DATA SWITCHES
   126					;*LEFT HALF SWITCHES ARE PRE-ASSIGNED FOR SUBROUTINE PACKAGE USE
   127					;*AND CONTROL LOOPING, PRINTING (TTY OR OTHER DEVICE) AND MISC. FUNCTIONS
   128					S^;*********************************************************************^
   129
   130			400000		ABORT==	400000			;ABORT PROGRAM ON PASS COMPLETION
   131			200000		RSTART==200000			;RESTART TEST, PRINT TOTALS
   132			100000		TOTALS==100000			;PRINT TOTALS, CONTINUE
   133
   134			040000		NOPNT==	040000			;INHIBIT ALL PRINT/TYPE OUT (EXCEPT FORCED)
   135			020000		PNTLPT==020000			;PRINT ALL DATA ON LPT (LOGICAL DEVICE, USER MODE)
   136			010000		DING==	010000			;RING BELL ON ERROR
   137
   138			004000		LOOPER==004000			;ENTER EXERCISE/CHECK LOOP ON ERROR
   139			002000		ERSTOP==002000			;HALT ON TEST ERROR
   140			001000		PALERS==001000			;PRINT ALL ERRORS
   141
   142			000400		RELIAB==000400			;RELIABILITY MODE
   143			000200		TXTINH==000200			;INHIBIT ERROR TEXT
   144			000100		INHPAG==000100			;INHIBIT PAGING
   145
   146			000040		MODDVC==000040			;MODIFY DEVICE CODE
   147			000020		INHCSH==000020			;INHIBIT CACHE
   148			000010		OPRSEL==000010			;OPERATOR SELECTION
   149
   150			000004		CHAIN==	000004			;CHAIN CONTROL SWITCH
   151
   152									;SWITCH 16 RESERVED
   153
   154									;SWITCH 17 RESERVED !!!
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 2
PARAM	KSM	28-Mar-78 11:27		PROGRAM/SUBROUTINE PARAMETERS                                                      SEQ 0017

   155					SUBTTL	PROGRAM/SUBROUTINE PARAMETERS
   156
   157					S^;*********************************************************************^
   158					;*SPECIAL SUBPROGRAM LINKAGES
   159					S^;*********************************************************************^
   160
   161			027772		FSELNK=	27772	;FILE SELECT LINK
   162			027773		FRDLNK=	27773	;FILE READ LINK
   163			027774		LDLNK=	27774	;LOAD LINKAGE ADDRESS
   164			027775		DDTLNK=	27775	;DDT LINKAGE ADDRESS
   165			027776		MODLNK=	27776	;OPERATIONAL MODE CHECK LINKAGE ADDRESS
   166			027777		SUBLNK=	27777	;SUBROUTINE LINKAGE ADDRESS
   167
   168					S^;*********************************************************************^
   169					;*SPECIAL SUBROUTINE FATAL HALTS
   170					;*USED TO REPORT ERRORS THAT CAUSE THE SUBROUTINES TO BE UNUSABLE
   171					S^;*********************************************************************^
   172
   173					;ADDRESS   TAG	REASON
   174					;---------------------
   175
   176					; 1010 	NOEXEC	;PROGRAM NOT CODED FOR EXEC MODE OPERATION
   177					; 1011  PLERR	;FATAL PUSH LIST POINTER ERROR
   178					; 1012  PLERR1	;INITIAL PUSH LIST POINTER ERROR
   179					; 1013  MUOERR	;MUUO WITH LUUO HANDLER WIPED OUT
   180					; 1014  SMBER	;KS-10 INTERRUPT WITHOUT DOORBELL
   181					; 1015  SMCER	;KS-10 CLOCK INTERRUPT WITHOUT FLAG SET
   182					; 1016  CPIERR	;CPU INITIALIZATION ERROR
   183					; 1017  EOPERR	;END OF PROGRAM ERROR
   184					; 1020  LUOERR	;INTERRUPT WITH LUUO HANDLER WIPED OUT
   185
   186					S^;*********************************************************************^
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 3
PARAM	KSM	28-Mar-78 11:27		PROGRAM/SUBROUTINE PARAMETERS                                                      SEQ 0018

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

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

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

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

   357					SUBTTL	ERROR HANDLING UUO DEFINITIONS
   358
   359					S^;*********************************************************************^
   360					;*ERROR HANDLER PARAMETERS
   361					S^;*********************************************************************^
   362
   363		036000	000000		OPDEF	ERUUO	[36B8]		;ERROR CALL UUO
   364		035000	000000		OPDEF	ERLOOP	[35B8]		;ERROR LOOP, CHECKS PC,REPT,REPT1,ERROR
   365		035040	000000		OPDEF	ERLP1	[35B8!1B12]	;ERROR LOOP IF PC'S MATCH
   366		035100	000000		OPDEF	ERLP2	[35B8!2B12]	;ERROR LOOP IF ANY ERROR
   367		034000	000000		OPDEF	REPTUO	[34B8]		;REPEAT LOOP UUO
   368
   369					;*THE ERROR HANDLER MACROS
   370
   371					;*A MACRO TO REPORT AN ERROR AND LOOP
   372
   373						DEFINE	ERROR	(ADR,FORMAT,CORECT,ACTUAL,F,D,ERR)<
   374												SALL
   375						ERUUO	FORMAT,[T,,[SIXBIT\F'_\]
   376							   CORECT,,ACTUAL
   377							   [SIXBIT\D'_\],,ERR]
   378												XALL
   379						ERLOOP	ADR		;IF ERROR, LOOP TO ADR
   380					>
   381
   382					;*A MACRO TO REPORT AN ERROR AND NOT LOOP
   383
   384						DEFINE	ERROR1	(FORMAT,CORECT,ACTUAL,F,D,ERR)<
   385												SALL
   386						ERUUO	FORMAT,[T,,[SIXBIT\F'_\]
   387							   CORECT,,ACTUAL
   388							   [SIXBIT\D'_\],,ERR]
   389												XALL>
   390
   391					>;END OF EROLD CONDITIONAL
   392
   393						XLIST
   394						LIST
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 1
FIXED	KSM	28-Mar-78 11:28		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, MARCH 1978                             SEQ 0023

   395					SUBTTL	*FIXED* FIXED CONTROL AND DISPATCH STORAGE, MARCH 1978
   396
   397	030000					LOC	30000
   398
   399					S^;*********************************************************************^
   400					;*PROGRAM STARTING ADDRESSES
   401					;*THESE ADDRESSES CALL VARIOUS SPECIAL START ROUTINES AND OR OPTIONS
   402					;*NORMAL START ADDRESS IS 30000 ALL OTHERS ARE SPECIAL. INVOKED BECAUSE
   403					;*OF END OF PASS, POWER FAILURE, DDT START, RE-ENTERING(TYPICALLY USER
   404					;*MODE), OR ANY NUMBER OF SPECIAL FEATURE TESTS.
   405					S^;*********************************************************************^
   406
   407	030000	254 00 1 00 027776 	BEGIN:	JRST	@MODLNK		;STAND-ALONE START
   408	030001	254 00 0 00 030621 	$START:	JRST	START		;MODE CHECK STARTING ADDRESS
   409
   410	030002	254 00 1 00 027774 	DIAGMN:	JRST	@LDLNK		;DIAGNOSTIC MONITOR START
   411
   412	030003	254 00 1 00 027774 	SYSEXR:	JRST	@LDLNK		;SYSTEM EXERCISER START
   413
   414	030004	254 00 0 00 030000 	SFSTRT:	JRST	SADR1		;SPECIAL FEATURE START
   415
   416	030005	254 00 0 00 030000 	PFSTRT:	JRST	SADR2		;POWER FAIL RESTART
   417
   418	030006	254 00 0 00 030000 	REENTR:	JRST	SADR3		;REENTER START(USUALLY USER MODE ONLY)
   419
   420	030007				SRTDDT:				;COMMONLY MISTAKEN NAME FOR "DDTSRT"
   421	030007	254 00 1 00 027775 	DDTSRT:	JRST	@DDTLNK		;DDT START
   422
   423	030010	254 00 0 00 030624 	BEGIN1:	JRST	STARTA		;LOOP START(END OF PASS COMES HERE)
   424	030011	254 00 1 00 027777 	SBINIT:	JRST	@SUBLNK		;PMGINT LINKAGE
   425	030012	000000	000000		RETURN:	0			;RETURN ADDRESS STORAGE
   426
   427	030013	254000	030000		START1:	SADR7			;OPTIONAL STARTING ADR/INSTRUCTIONS
   428	030014	254000	030000		START2:	SADR8			; "
   429	030015	254000	030000		START3:	SADR9			; "
   430	030016	254000	030000		START4:	SADR10			; "
   431	030017	254000	030000		START5:	SADR11			; "
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 2
FIXED	KSM	28-Mar-78 11:28		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, MARCH 1978                             SEQ 0024

   432					S^;*********************************************************************^
   433					;*PROGRAM FIXED PARAMETER AREA
   434					S^;*********************************************************************^
   435
   436	030020	446353	415400		PNTNAM:	PAREA3		;SIXBIT PROGRAM NAME
   437	030021	645560	000000		PNTEXT:	PAREA4		;SIXBIT PROGRAM EXTENSION
   438	030022	000000	000000		RANDBS:	PAREA1		;RANDOM BASE NUMBER
   439	030023	000000	000000		SWTEXR:	PAREA2		;SYSTEM EXERCISER SWITCHES
   440	030024	000000	000001		ITRCNT:	ITERAT		;PROGRAM ITERATIONS
   441	030025	000000	030602		$PNAME:	PGMNAM		;POINTER TO PROGRAMS NAME
   442	030026	000000	000001		$PVER:	MCNVER,,DECVER	;MCN & DEC VERSION LEVEL
   443	030027	000000	030000		$MODVL:	MODDVL		;DEVICE CODE CHANGE LOWER LIMIT
   444	030030	000000	030000		$MODVU:	MODDVU		;DEVICE CODE CHANGE UPPER LIMIT
   445	030031	777777	777777		$EMODE:	IFNDEF EXCASB,<0> IFDEF EXCASB,<-1>	;EXEC ALLOWED
   446	030032	777777	777777		$UMODE:	IFNDEF USRASB,<0> IFDEF USRASB,<-1>	;USER ALLOWED
   447	030033	000000	000000		$DSKUP:	IFNDEF DSKUPD,<0> IFDEF DSKUPD,<-1>	;DISK UPDATE MODE
   448	030034	000000	000000		$MMAP:	IFNDEF MEMMAP,<0> IFDEF MEMMAP,<-1>	;ALLOW MEMORY RTNS
   449	030035	000000	000000		PAREA7:	PAREA5		;OPTIONAL PARAMETER
   450	030036	000000	000000		PAREA8:	PAREA6		;OPTIONAL PARAMETER
   451
   452					S^;*********************************************************************^
   453					;*PROGRAM VARIABLE PARAMETER AREA
   454					S^;*********************************************************************^
   455
   456	030037	000000	000000		USER:	0		; 0 = EXEC, -1 = USER MODE FLAG
   457	030040	000000	000000		KAIFLG:	0		;PROCESSOR TYPE, 0 = KA10, -1 = KI10
   458	030041	000000	000000		KLFLG:	0		;PROCESSOR TYPE, 0 = KA/KI, -1 = KL10
   459	030042	777777	777777		MONFLG:	-1		;DIAG MONITOR SPECIAL USER FLAG
   460	030043	000000	000000		MONCTL:	0		;DIAG MON/SYS EXR FLAG
   461	030044	000000	000000		MONTEN:	0		;-1= LOADED BY 10
   462	030045	000000	000000		CLOCKF:	0		;CLOCK TICKED FLAG
   463	030046	000000	000000		CONSW:	0		;CONSOLE SWITCH SETTINGS
   464	030047	000000	000000		PASCNT:	0		;PROGRAM PASS COUNT
   465	030050	000000	000000		RUNFLG:	0		;PROGRAM RUN FLAG
   466	030051	000000	000000		TESTPC:	0		;SUBTEST PC
   467	030052	000000	000000		ERRPC:	0		;ERROR PC
   468	030053	000000	000000		ERRTLS:	0		;ERROR TOTALS
   469	030054	000000	000000		TICKS:	0		;PROGRAM RUNNING TIME
   470	030055	000000	000000		MARGIN:	0		;KI10 MARGIN WORD VALUE
   471	030056	000000	000000		$ONETM:	0		;SUBROUTINE INITIALIZATION FLAG
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 3
FIXED	KSM	28-Mar-78 11:28		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, MARCH 1978                             SEQ 0025

   472					S^;*********************************************************************^
   473					;*SPECIAL PROGRAM DISPATCH ADDRESSES
   474					S^;*********************************************************************^
   475
   476	030057	037 12 0 00 000004 	BEGEND:	ENDUUO		;END OF PASS
   477	030060	254 00 0 00 030010 	$BEND1:	JRST	BEGIN1	;KEEP RUNNING PROGRAM
   478	030061	037 16 0 00 000004 	$BEND2:	EOPUUO		;END OF PROGRAM - NO RETURN
   479	030062	254000	030061		CNTLC:	SADR5		;CONTROL C XFER ADDRESS
   480	030063	254000	030000		ALTMGO:	SADR6		;ALTMODE XFER ADDRESS
   481	030064				CPOPJ1:			;SKIP RETURN
   482	030064	350 00 0 17 000000 	UUOSKP:	AOS	(P)	;SKIP RETURN FROM UUO
   483	030065				CPOPJ:			;NON-SKIP REGULAR RETURN
   484	030065	263 17 0 00 000000 	UUOEXT:	RTN		;UUO RETURN
   485	030066	255 00 0 00 000000 	UUORTN:	JFCL		;ADDITIONAL USERS UUO ROUTINE
   486	030067	255 00 0 00 000000 	$UORTX:	JFCL		;ADDITIONAL UUO LINKAGE
   487	030070	255 00 0 00 000000 	$UUOER:	JFCL		;INITED AS (JRST $UOERX)
   488	030071	255 00 0 00 000000 	$ITRHL:	JFCL		;ADDITIONAL INTERRUPT LINKAGE
   489	030072	255 00 0 00 000000 	$ITRX1:	JFCL		; "
   490	030073	255 00 0 00 000000 	$USRHL:	JFCL		; "
   491	030074	255 00 0 00 000000 	$RSRTX:	JFCL		;ADDITIONAL POWER FAIL LINKAGE
   492	030075	255 00 0 00 000000 	$RSRTY:	JFCL		; "
   493	030076	255 00 0 00 000000 	RESRT1:	JFCL		; INITED AS (JRST RESRTX)
   494	030077	255 00 0 00 000000 	RESRT2:	JFCL		; "
   495	030100	255 00 0 00 000000 	$PARER:	JFCL		;ADDITIONAL PARITY ERROR LINKAGE
   496	030101	255 00 0 00 000000 	ERMORE:	JFCL		;ADDITIONAL ERROR HANDLER LINKAGE
   497	030102	254 04 0 00 030102 		HALT	.	;IMPROPER TRANSFER HALT
   498
   499	030103	000000	000000		$PSHER:	0		;INITED AS (JRST PSHERR)
   500	030104	000000	000000		ITRCH1:	0		;PC & FLAGS OF CURRENT INTERRUPT
   501	030105	000000	000000			0		;INITED AS (JRST $ITRC1)
   502
   503					S^;*********************************************************************^
   504					;*PROCESSOR CONTROL STORAGE
   505					S^;*********************************************************************^
   506
   507	030106	000000	000000		$ACC0:	0		;INTERRUPT SAVED AC0
   508	030107	000000	000000		$SVPI:	0		;INTERRUPT SAVED PI
   509	030110	000000	000000		$SVAPR:	0		;INTERRUPT SAVED APR
   510	030111	000000	000000		$SVPAG:	0		;INTERRUPT SAVED PAG (DATAI)
   511	030112	000000	000000		$SPAG1:	0		;INTERRUPT SAVED PAG (CONI)
   512
   513	030113	000000	000000		$SVUUO:	0		;CURRENT USERS UUO
   514	030114	000000	000000		$SVUPC:	0		;PC OF CURRENT USERS UUO
   515
   516	030115	000000	000000		REPTU:	0		;REPEAT UUO ITERATIONS
   517	030116	000000	000000		SCOPE:	0		;ERROR HANDLER SCOPE LOOP FLAG
   518	030117	000000	000000		%CORFLG:0		; " CORRECT FLAG
   519	030120	000000	000000		%COREC:	0		; " CORRECT DATA
   520	030121	000000	000000		%ACTFL:	0		; " ACTUAL FLAG
   521	030122	000000	000000		%ACTUL:	0		; " ACTUAL DATA
   522	030123	000000	000000		%DISCR:	0		; " DISCREPENCY DATA
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 4
FIXED	KSM	28-Mar-78 11:28		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, MARCH 1978                             SEQ 0026

   523					S^;*********************************************************************^
   524					;*UUO DISPATCH TABLE
   525					S^;*********************************************************************^
   526						XLIST
   527						LIST
   528	030124	044425	030070		UUODIS:	LUUO1,,$UUOER
   529	030125	044425	044425			LUUO3,,LUUO2
   530	030126	044425	044425			LUUO5,,LUUO4
   531	030127	044425	044425			LUUO7,,LUUO6
   532	030130	044425	044425			LUUO11,,LUUO10
   533	030131	044425	044425			LUUO13,,LUUO12
   534	030132	030070	030070			LUUO15,,LUUO14
   535	030133	030070	030070			LUUO17,,LUUO16
   536	030134	030070	030070			LUUO21,,LUUO20
   537	030135	030070	030070			LUUO23,,LUUO22
   538	030136	030070	030070			LUUO25,,LUUO24
   539	030137	030070	030070			LUUO27,,LUUO26
   540	030140	030070	030070			LUUO31,,LUUO30
   541	030141	030070	030070			LUUO33,,LUUO32
   542
   543					S^;*********************************************************************^
   544					;*MEMORY MANAGMENT STORAGE
   545					S^;*********************************************************************^
   546
   547	030142	000000	000000		DF22F:	0		;DF10 CONTROL FLAG, 0 = 18, -1 = 22 BIT
   548	030143	000000	000000		MAPNEW:	0		;MEMORY MAPPING CONTROL FLAG, -1 = 4096K MAPPING
   549	030144	000000	000000		MEMTOT:	0		;TOTAL MEMORY SIZE IN K (1024.)
   550	030145	000000	000000		MEMLOW:	0		;LOWEST USABLE MEMORY
   551	030146				MEMSIZ:	BLOCK ^D41	;MEMORY SEGMENT POINTER TABLE
   552
   553					S^;*********************************************************************^
   554					;*PRINT CONTROL STORAGE
   555					S^;*********************************************************************^
   556
   557	030217	000000	000000		PNTFLG:	0		;PRINT FLAG, -1 WHILE IN PRINT ROUTINE
   558	030220	000000	000000		PNTENB:	0		;PRINT ENABLE
   559	030221	000000	000000		PDISF:	0		;PRINT DISABLED FLAG
   560	030222	000000	000000		PNTINH:	0		;INHIBIT PRINT INPUT CHECKS
   561	030223	000000	000000		PNTSPC:	0		;PRINT SPACE CONTROL
   562	030224	000000	000000		OPTIME:	0		;TYPE-IN WAIT TIME
   563	030225	000000	000000		$TWCNT:	0		;TIME WAITED
   564	030226	000000	000000		$DVOFF:	0		;LOGICAL DEVICE INITED FLAG
   565	030227	000000	000000		TTYFIL:	0		;TTY EXEC FILLERS FLAG
   566	030230	000000	000000		TTYSPD:	0		;TTY EXEC BAUD RATE
   567	030231	000000	000000		$TTCHR:	0		;ACTUAL TYPED IN CHAR
   568	030232	000000	000000		$CHRIN:	0		;UPPER CASED & PARITY STRIPPED CHAR
   569	030233	000000	000000		$TYPNB:	0		;TYPED IN NUMBER
   570	030234	000000	000000		$CRLF:	0		;FREE CR/LF FLAG
   571	030235	000000	000000		$TABF:	0		;TAB CONVERSION FLAG
   572	030236	000000	000000		$FFF:	0		;FORM FEED CONVERSION FLAG
   573	030237	000000	000000		$VTF:	0		;VERTICAL TAB CONVERSION FLAG
   574	030240	000000	000000		USRLFF:	0		;USER LF FILLERS
   575	030241	000000	000000		USRCRF:	0		;USER CR FILLERS
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 5
FIXED	KSM	28-Mar-78 11:28		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, MARCH 1978                             SEQ 0027

   576					S^;*********************************************************************^
   577					;*THE FOLLOWING MISCELLANEOUS PRINT CHARACTERS ARE INCLUDED
   578					;*TO FACILITATE PRINTING AND ARE CALLED AS FOLLOWS:
   579					;*	MOVEI	NAME
   580					;*	PNTA		;OR PNTAF
   581					S^;*********************************************************************^
   582
   583	030242				CRLF:	ASCII/
   584	030242	015 012 000 000 000 	/
   585	030243				CRLF2:	ASCII/
   586
   587	030243	015 012 015 012 000 	/
   588	030244	054 000 000 000 000 	COMMA:	ASCII/,/
   589	030245	056 000 000 000 000 	PERIOD:	ASCII/./
   590	030246	040 000 000 000 000 	SPACE:	ASCII/ /
   591	030247	011 000 000 000 000 	TAB:	ASCII/	/
   592	030250				MINUS:
   593	030250	055 000 000 000 000 	HYPEN:	ASCII/-/
   594	030251	053 000 000 000 000 	PLUS:	ASCII/+/
   595	030252	052 000 000 000 000 	AST:	ASCII/*/
   596	030253	100 000 000 000 000 	ATSIN:	ASCII/@/
   597	030254	050 000 000 000 000 	LFP:	ASCII/(/
   598	030255	051 000 000 000 000 	RTP:	ASCII/)/
   599	030256	007 0000000000 		BELL:	BYTE (7) 007
   600	030257	077 000 000 000 000 	QUEST:	ASCII/?/
   601	030260	057 000 000 000 000 	SLASH:	ASCII!/!
   602	030261	044 000 000 000 000 	DOLLAR:	ASCII/$/
   603	030262	000000	000012		RADIX:	^D10			;DECIMAL PRINT RADIX
   604	030263	000000	000040		RADLSP:	40			;DECIMAL PRINT LEADING CHAR
   605	030264	000000	000012		RADLSC:	^D10			;DECIMAL PRINT LEADING CHAR COUNT
   606
   607					S^;*********************************************************************^
   608					;*USER MODE OUTPUT FILE INFORMATION
   609					S^;*********************************************************************^
   610
   611	030265				$OBUF:	BLOCK	3		;LOGICAL FILE OUTPUT BUFFER HEADER
   612	030270	60 62 51 56 64 00 	$OUTNM:	SIXBIT	/PRINT/		;FILE NAME
   613	030271	60 56 64 00 00 00 	$OUTEX:	SIXBIT	/PNT/		;FILE NAME EXTENSION
   614	030272					BLOCK	2
   615
   616					S^;*********************************************************************^
   617					;*DISK UPDATE MODE FILE INFORMATION
   618					S^;*********************************************************************^
   619
   620	030274				$IBUF:	BLOCK	3
   621	030277	60 62 51 56 64 00 	$INNM:	SIXBIT	/PRINT/
   622	030300	60 56 64 00 00 00 	$INEXT:	SIXBIT	/PNT/
   623	030301					BLOCK	2
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 6
FIXED	KSM	28-Mar-78 11:28		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, MARCH 1978                             SEQ 0028

   624					S^;*********************************************************************^
   625					;*PUSHDOWN LIST CONTROL INFORMATION
   626					S^;*********************************************************************^
   627
   628	030303	777577	030303		PLIST:	PLIST-PLISTE,,PLIST
   629	030304				PLISTS:	BLOCK	200
   630	030504	000000	000000		PLISTE:	0		;END OF PUSHDOWN LIST
   631
   632					S^;*********************************************************************^
   633					;*POWER LINE CLOCK FREQUENCY FLAG
   634					S^;*********************************************************************^
   635
   636	030505	000000	000000		CYCL60:	0	;0 = 60, -1 = 50 CYCLE
   637
   638					S^;*********************************************************************^
   639					;*KL10 CACHE CONTROL FLAGS
   640					S^;*********************************************************************^
   641
   642	030506	000000	000000		CSHFLG:	0	;ALLOW CACHE IF 0
   643	030507	000000	000000		CSHMEM:	0	;CACHE MEMORY SEGMENTS IF 0
   644
   645					S^;*********************************************************************^
   646					;*NUMBER INPUT DIGIT FLAG
   647					S^;*********************************************************************^
   648
   649	030510	000000	000000		TTNBRF:	0	;-1 IF ANY DIGIT TYPED
   650
   651					S^;*********************************************************************^
   652					;*KL10 & KI10 "INHPAG" SWITCH PAGING PREVENTION
   653					S^;*********************************************************************^
   654
   655	030511	000000	000000		PVPAGI:	0	;IF NON-ZERO, OVERRIDE "INHPAG" SWITCH ACTION
   656
   657					S^;*********************************************************************^
   658					;*ERROR REPORTING ROUTINE ADDITIONAL USERS CONTROL INSTRUCTIONS
   659					S^;*********************************************************************^
   660
   661	030512	000000	000000		%ERHI1:	0	;IF NON-ZERO, XCT'D AT START OF %ERUUO
   662	030513	000000	000000		%ERHI2:	0	;IF NON-ZERO, XCT'D AT END OF %ERUUO
   663	030514	000000	000000		%ERHI3:	0	;IF NON-ZERO, XCT'D AFTER "PC" OF %ERUUO
   664
   665					S^;*********************************************************************^
   666					;*SPECIAL USERS UUO INTERCEPT INSTRUCTION
   667					S^;*********************************************************************^
   668
   669	030515	000000	000000		$$UUO:	0	;IF NON-ZERO, XCT'D AT START OF $UORTN
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 7
FIXED	KSM	28-Mar-78 11:28		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, MARCH 1978                             SEQ 0029

   670					S^;*********************************************************************^
   671					;*USER MODE MONITOR TYPE FLAG
   672					S^;*********************************************************************^
   673
   674	030516	000000	000000		MONTYP:	0	;0 = TOPS10, -1 = TOPS20
   675
   676					S^;*********************************************************************^
   677					;*SPECIAL USERS MUUO INTERCEPT INSTRUCTION
   678					S^;*********************************************************************^
   679
   680	030517	000000	000000		$$MUUO:	0	;IF NON-ZERO, XCT'D AT START OF MUUOER
   681
   682					S^;*********************************************************************^
   683					;*SPECIAL USERS USER MODE OUTPUT ERROR INTERCEPT INSTUCTION
   684					S^;*********************************************************************^
   685
   686	030520	000000	000000		$$OUTER:0	;IF NON-ZERO, XCT'D AT END OF USER MODE ERROR
   687
   688					S^;*********************************************************************^
   689					;*"SWITCH" CALL USAGE CONTROL
   690					S^;*********************************************************************^
   691
   692	030521	000000	000000		$$TOGGLE:0	;IF NON-ZERO, USE C(CONSW) FOR SWITCHES
   693
   694					S^;*********************************************************************^
   695					;*SPECIAL USERS ALTMODE SWITCH CALL INTERCEPT INSTRUCTIONS
   696					S^;*********************************************************************^
   697
   698	030522	000000	000000		$$TAX1:	0	;IF NON-ZERO, XCT'D AT START OF ALTMODE SWITCH CALL
   699	030523	000000	000000		$$TAX2:	0	;IF NON-ZERO, XCT'D AT END OF ALTMODE SWITCH CALL
   700
   701					S^;*********************************************************************^
   702					;*SM10 (KS-10) PROCESSOR TYPE FLAG
   703					S^;*********************************************************************^
   704
   705	030524	000000	000000		SM10:	0	;IF -1 THIS IS AN KS-10
   706
   707					S^;*********************************************************************^
   708					;*RIGHT HALF SWITCHES PROMPT TABLE ADDRESS
   709					S^;*********************************************************************^
   710
   711	030525	000000	000000		SWPTAB:	0	;0 = NO PROMPT, ADR = ADR OF SIXBIT PROMPT TABLE
   712
   713					S^;*********************************************************************^
   714					;*SPECIAL FUTURE EXPANSION ROOM
   715					S^;*********************************************************************^
   716
   717					S^;*********************************************************************^
   718					;*END OF FIXED STORAGE
   719					S^;*********************************************************************^
   720
   721	030577					LOC	30577
   722	030577	000000	000000		ENDFIX:	0		;END OF FIXED STORAGE
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 1
DSKAL1	MAC	29-Mar-78 10:10		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, MARCH 1978                             SEQ 0030

   723	030600	037 05 0 00 000002 	EXIT:	DROPDV			;CLOSE LOGICAL OUTPUT FILE
   724	030601	000000	030600			EXIT
   725
   726	030602				PGMNAM:	ASCIZ	%
   727	030602	015 012 104 105 103 	DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC [DSKAL]
   728	030603	123 131 123 124 105 
   729	030604	115 040 062 060 062 
   730	030605	060 040 102 101 123 
   731	030606	111 103 040 111 116 
   732	030607	123 124 122 125 103 
   733	030610	124 111 117 116 040 
   734	030611	104 111 101 107 116 
   735	030612	117 123 124 111 103 
   736	030613	040 133 104 123 113 
   737	030614	101 114 135 015 012 	MULTIPLY & DIVIDE
   738	030615	115 125 114 124 111 
   739	030616	120 114 131 040 046 
   740	030617	040 104 111 126 111 
   741	030620	104 105 015 012 000 	%
   742
   743					;INITIALIZE SUBROUTINES
   744
   745	030621	265 00 0 00 030011 	START:	PGMINT
   746	030622	200 00 0 00 044613 		MOVE	[ASCIZ/AL/]
   747	030623	202 00 0 00 044534 		MOVEM	TLET
   748
   749	030624	254 00 0 00 030625 	STARTA:	JRST	PART2		;GO PERFORM DIAGNOSTIC
   750					SUBTTL	MAIN TESTING
   751
   752			004000			ADR=4000
   753			000014		PART2:	AC=14
   754			000012			E=<AC-2>&17
   755		525252	525252			N1=525252525252
   756		252525	252525			N2=252525252525
   757						SAVEAC	(1,1)^
   758	030625	201 16 0 00 030625 		MOVEI	AC+2,.		;SAVE TEST PC
   759	030626	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
   760	030627	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
   761	030630	202 16 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
   762			000044			WW=^D36
   763			000000			XX=0
   764
   765						REPEAT	^D36,<
   766						ADR=ADR+1
   767						WW=WW-1
   768						XX=XX+XX
   769						IFE	XX,<XX=1>
   770					
   771					;MULTIPLY A FLOATING 1 BY 1010...101010
   772						V1=N1
   773						V2=N1*XX
   774						IFL	XX,<V3=N2+1>
   775						IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
   776						MOP1	(\ADR,V1,0,XX,V3,V2)>
   777
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 1-1
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0031

   778			004001			ADR=ADR+1
   779			000043			WW=WW-1
   780			000000			XX=XX+XX
   781			000001			IFE	XX,<XX=1>
   782
   783					;MULTIPLY A FLOATING 1 BY 1010...101010
   784		525252	525252			V1=N1
   785		525252	525252			V2=N1*XX
   786						IFL	XX,<V3=N2+1>
   787		777777	777777			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
   788						MOP1	(\ADR,V1,0,XX,V3,V2)^
   789					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
   790					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
   791					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
   792					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
   793
   794		525252	525252		F40010:	AA1=V1				;INITIAL C(AC)
   795	030631	200 14 0 00 044614 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
   796			000000			AA2=0				;INITIAL C(AC+1)
   797	030632	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
   798			000001			AEE=XX				;INITIAL C(E)
   799	030633	200 12 0 00 044616 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
   800	030634	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
   801		777777	777777			AR1=V3				;EXPECTED RESULT IN AC
   802	030635	312 14 0 00 044617 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
   803	030636	003 14 0 00 040011 		ER3	AC,40011		;HIGH PRODUCT FAILED
   804		525252	525252			AR2=V2				;EXPECTED RESULT IN AC+1
   805	030637	312 15 0 00 044614 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
   806	030640	004 15 0 00 040012 		ER4	AC+1,40012		;LOW PRODUCT FAILED
   807			000001			AEE=XX				;INITIAL C(E)
   808	030641	312 12 0 00 044616 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
   809	030642	005 12 0 00 040013 		ER5	E,40013			;C(E) WAS CLOBBERED
   810	030643	321 16 0 00 030631 		JUMPL	AC+2,F40010		;LOOP ON ERROR SWITCH^
   811
   812			004002			ADR=ADR+1
   813			000042			WW=WW-1
   814			000002			XX=XX+XX
   815						IFE	XX,<XX=1>
   816
   817					;MULTIPLY A FLOATING 1 BY 1010...101010
   818		525252	525252			V1=N1
   819		652525	252524			V2=N1*XX
   820						IFL	XX,<V3=N2+1>
   821		777777	777776			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
   822						MOP1	(\ADR,V1,0,XX,V3,V2)^
   823					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
   824					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
   825					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
   826					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
   827
   828		525252	525252		F40020:	AA1=V1				;INITIAL C(AC)
   829	030644	200 14 0 00 044614 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
   830			000000			AA2=0				;INITIAL C(AC+1)
   831	030645	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
   832			000002			AEE=XX				;INITIAL C(E)
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 1-2
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0032

   833	030646	200 12 0 00 044620 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
   834	030647	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
   835		777777	777776			AR1=V3				;EXPECTED RESULT IN AC
   836	030650	312 14 0 00 044621 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
   837	030651	003 14 0 00 040021 		ER3	AC,40021		;HIGH PRODUCT FAILED
   838		652525	252524			AR2=V2				;EXPECTED RESULT IN AC+1
   839	030652	312 15 0 00 044622 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
   840	030653	004 15 0 00 040022 		ER4	AC+1,40022		;LOW PRODUCT FAILED
   841			000002			AEE=XX				;INITIAL C(E)
   842	030654	312 12 0 00 044620 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
   843	030655	005 12 0 00 040023 		ER5	E,40023			;C(E) WAS CLOBBERED
   844	030656	321 16 0 00 030644 		JUMPL	AC+2,F40020		;LOOP ON ERROR SWITCH^
   845
   846			004003			ADR=ADR+1
   847			000041			WW=WW-1
   848			000004			XX=XX+XX
   849						IFE	XX,<XX=1>
   850
   851					;MULTIPLY A FLOATING 1 BY 1010...101010
   852		525252	525252			V1=N1
   853		525252	525250			V2=N1*XX
   854						IFL	XX,<V3=N2+1>
   855		777777	777775			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
   856						MOP1	(\ADR,V1,0,XX,V3,V2)^
   857					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
   858					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
   859					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
   860					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
   861
   862		525252	525252		F40030:	AA1=V1				;INITIAL C(AC)
   863	030657	200 14 0 00 044614 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
   864			000000			AA2=0				;INITIAL C(AC+1)
   865	030660	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
   866			000004			AEE=XX				;INITIAL C(E)
   867	030661	200 12 0 00 044623 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
   868	030662	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
   869		777777	777775			AR1=V3				;EXPECTED RESULT IN AC
   870	030663	312 14 0 00 044624 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
   871	030664	003 14 0 00 040031 		ER3	AC,40031		;HIGH PRODUCT FAILED
   872		525252	525250			AR2=V2				;EXPECTED RESULT IN AC+1
   873	030665	312 15 0 00 044625 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
   874	030666	004 15 0 00 040032 		ER4	AC+1,40032		;LOW PRODUCT FAILED
   875			000004			AEE=XX				;INITIAL C(E)
   876	030667	312 12 0 00 044623 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
   877	030670	005 12 0 00 040033 		ER5	E,40033			;C(E) WAS CLOBBERED
   878	030671	321 16 0 00 030657 		JUMPL	AC+2,F40030		;LOOP ON ERROR SWITCH^
   879
   880			004004			ADR=ADR+1
   881			000040			WW=WW-1
   882			000010			XX=XX+XX
   883						IFE	XX,<XX=1>
   884
   885					;MULTIPLY A FLOATING 1 BY 1010...101010
   886		525252	525252			V1=N1
   887		652525	252520			V2=N1*XX
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 1-3
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0033

   888						IFL	XX,<V3=N2+1>
   889		777777	777772			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
   890						MOP1	(\ADR,V1,0,XX,V3,V2)^
   891					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
   892					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
   893					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
   894					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
   895
   896		525252	525252		F40040:	AA1=V1				;INITIAL C(AC)
   897	030672	200 14 0 00 044614 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
   898			000000			AA2=0				;INITIAL C(AC+1)
   899	030673	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
   900			000010			AEE=XX				;INITIAL C(E)
   901	030674	200 12 0 00 044626 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
   902	030675	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
   903		777777	777772			AR1=V3				;EXPECTED RESULT IN AC
   904	030676	312 14 0 00 044627 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
   905	030677	003 14 0 00 040041 		ER3	AC,40041		;HIGH PRODUCT FAILED
   906		652525	252520			AR2=V2				;EXPECTED RESULT IN AC+1
   907	030700	312 15 0 00 044630 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
   908	030701	004 15 0 00 040042 		ER4	AC+1,40042		;LOW PRODUCT FAILED
   909			000010			AEE=XX				;INITIAL C(E)
   910	030702	312 12 0 00 044626 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
   911	030703	005 12 0 00 040043 		ER5	E,40043			;C(E) WAS CLOBBERED
   912	030704	321 16 0 00 030672 		JUMPL	AC+2,F40040		;LOOP ON ERROR SWITCH^
   913
   914			004005			ADR=ADR+1
   915			000037			WW=WW-1
   916			000020			XX=XX+XX
   917						IFE	XX,<XX=1>
   918
   919					;MULTIPLY A FLOATING 1 BY 1010...101010
   920		525252	525252			V1=N1
   921		525252	525240			V2=N1*XX
   922						IFL	XX,<V3=N2+1>
   923		777777	777765			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
   924						MOP1	(\ADR,V1,0,XX,V3,V2)^
   925					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
   926					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
   927					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
   928					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
   929
   930		525252	525252		F40050:	AA1=V1				;INITIAL C(AC)
   931	030705	200 14 0 00 044614 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
   932			000000			AA2=0				;INITIAL C(AC+1)
   933	030706	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
   934			000020			AEE=XX				;INITIAL C(E)
   935	030707	200 12 0 00 044631 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
   936	030710	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
   937		777777	777765			AR1=V3				;EXPECTED RESULT IN AC
   938	030711	312 14 0 00 044632 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
   939	030712	003 14 0 00 040051 		ER3	AC,40051		;HIGH PRODUCT FAILED
   940		525252	525240			AR2=V2				;EXPECTED RESULT IN AC+1
   941	030713	312 15 0 00 044633 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
   942	030714	004 15 0 00 040052 		ER4	AC+1,40052		;LOW PRODUCT FAILED
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 1-4
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0034

   943			000020			AEE=XX				;INITIAL C(E)
   944	030715	312 12 0 00 044631 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
   945	030716	005 12 0 00 040053 		ER5	E,40053			;C(E) WAS CLOBBERED
   946	030717	321 16 0 00 030705 		JUMPL	AC+2,F40050		;LOOP ON ERROR SWITCH^
   947
   948			004006			ADR=ADR+1
   949			000036			WW=WW-1
   950			000040			XX=XX+XX
   951						IFE	XX,<XX=1>
   952
   953					;MULTIPLY A FLOATING 1 BY 1010...101010
   954		525252	525252			V1=N1
   955		652525	252500			V2=N1*XX
   956						IFL	XX,<V3=N2+1>
   957		777777	777752			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
   958						MOP1	(\ADR,V1,0,XX,V3,V2)^
   959					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
   960					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
   961					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
   962					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
   963
   964		525252	525252		F40060:	AA1=V1				;INITIAL C(AC)
   965	030720	200 14 0 00 044614 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
   966			000000			AA2=0				;INITIAL C(AC+1)
   967	030721	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
   968			000040			AEE=XX				;INITIAL C(E)
   969	030722	200 12 0 00 044634 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
   970	030723	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
   971		777777	777752			AR1=V3				;EXPECTED RESULT IN AC
   972	030724	312 14 0 00 044635 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
   973	030725	003 14 0 00 040061 		ER3	AC,40061		;HIGH PRODUCT FAILED
   974		652525	252500			AR2=V2				;EXPECTED RESULT IN AC+1
   975	030726	312 15 0 00 044636 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
   976	030727	004 15 0 00 040062 		ER4	AC+1,40062		;LOW PRODUCT FAILED
   977			000040			AEE=XX				;INITIAL C(E)
   978	030730	312 12 0 00 044634 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
   979	030731	005 12 0 00 040063 		ER5	E,40063			;C(E) WAS CLOBBERED
   980	030732	321 16 0 00 030720 		JUMPL	AC+2,F40060		;LOOP ON ERROR SWITCH^
   981
   982			004007			ADR=ADR+1
   983			000035			WW=WW-1
   984			000100			XX=XX+XX
   985						IFE	XX,<XX=1>
   986
   987					;MULTIPLY A FLOATING 1 BY 1010...101010
   988		525252	525252			V1=N1
   989		525252	525200			V2=N1*XX
   990						IFL	XX,<V3=N2+1>
   991		777777	777725			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
   992						MOP1	(\ADR,V1,0,XX,V3,V2)^
   993					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
   994					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
   995					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
   996					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
   997
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 1-5
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0035

   998		525252	525252		F40070:	AA1=V1				;INITIAL C(AC)
   999	030733	200 14 0 00 044614 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1000			000000			AA2=0				;INITIAL C(AC+1)
  1001	030734	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1002			000100			AEE=XX				;INITIAL C(E)
  1003	030735	200 12 0 00 044637 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1004	030736	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1005		777777	777725			AR1=V3				;EXPECTED RESULT IN AC
  1006	030737	312 14 0 00 044640 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1007	030740	003 14 0 00 040071 		ER3	AC,40071		;HIGH PRODUCT FAILED
  1008		525252	525200			AR2=V2				;EXPECTED RESULT IN AC+1
  1009	030741	312 15 0 00 044641 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1010	030742	004 15 0 00 040072 		ER4	AC+1,40072		;LOW PRODUCT FAILED
  1011			000100			AEE=XX				;INITIAL C(E)
  1012	030743	312 12 0 00 044637 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1013	030744	005 12 0 00 040073 		ER5	E,40073			;C(E) WAS CLOBBERED
  1014	030745	321 16 0 00 030733 		JUMPL	AC+2,F40070		;LOOP ON ERROR SWITCH^
  1015
  1016			004010			ADR=ADR+1
  1017			000034			WW=WW-1
  1018			000200			XX=XX+XX
  1019						IFE	XX,<XX=1>
  1020
  1021					;MULTIPLY A FLOATING 1 BY 1010...101010
  1022		525252	525252			V1=N1
  1023		652525	252400			V2=N1*XX
  1024						IFL	XX,<V3=N2+1>
  1025		777777	777652			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1026						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1027					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1028					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1029					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1030					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1031
  1032		525252	525252		F40100:	AA1=V1				;INITIAL C(AC)
  1033	030746	200 14 0 00 044614 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1034			000000			AA2=0				;INITIAL C(AC+1)
  1035	030747	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1036			000200			AEE=XX				;INITIAL C(E)
  1037	030750	200 12 0 00 044642 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1038	030751	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1039		777777	777652			AR1=V3				;EXPECTED RESULT IN AC
  1040	030752	312 14 0 00 044643 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1041	030753	003 14 0 00 040101 		ER3	AC,40101		;HIGH PRODUCT FAILED
  1042		652525	252400			AR2=V2				;EXPECTED RESULT IN AC+1
  1043	030754	312 15 0 00 044644 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1044	030755	004 15 0 00 040102 		ER4	AC+1,40102		;LOW PRODUCT FAILED
  1045			000200			AEE=XX				;INITIAL C(E)
  1046	030756	312 12 0 00 044642 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1047	030757	005 12 0 00 040103 		ER5	E,40103			;C(E) WAS CLOBBERED
  1048	030760	321 16 0 00 030746 		JUMPL	AC+2,F40100		;LOOP ON ERROR SWITCH^
  1049
  1050			004011			ADR=ADR+1
  1051			000033			WW=WW-1
  1052			000400			XX=XX+XX
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 1-6
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0036

  1053						IFE	XX,<XX=1>
  1054
  1055					;MULTIPLY A FLOATING 1 BY 1010...101010
  1056		525252	525252			V1=N1
  1057		525252	525000			V2=N1*XX
  1058						IFL	XX,<V3=N2+1>
  1059		777777	777525			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1060						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1061					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1062					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1063					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1064					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1065
  1066		525252	525252		F40110:	AA1=V1				;INITIAL C(AC)
  1067	030761	200 14 0 00 044614 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1068			000000			AA2=0				;INITIAL C(AC+1)
  1069	030762	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1070			000400			AEE=XX				;INITIAL C(E)
  1071	030763	200 12 0 00 044645 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1072	030764	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1073		777777	777525			AR1=V3				;EXPECTED RESULT IN AC
  1074	030765	312 14 0 00 044646 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1075	030766	003 14 0 00 040111 		ER3	AC,40111		;HIGH PRODUCT FAILED
  1076		525252	525000			AR2=V2				;EXPECTED RESULT IN AC+1
  1077	030767	312 15 0 00 044647 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1078	030770	004 15 0 00 040112 		ER4	AC+1,40112		;LOW PRODUCT FAILED
  1079			000400			AEE=XX				;INITIAL C(E)
  1080	030771	312 12 0 00 044645 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1081	030772	005 12 0 00 040113 		ER5	E,40113			;C(E) WAS CLOBBERED
  1082	030773	321 16 0 00 030761 		JUMPL	AC+2,F40110		;LOOP ON ERROR SWITCH^
  1083
  1084			004012			ADR=ADR+1
  1085			000032			WW=WW-1
  1086			001000			XX=XX+XX
  1087						IFE	XX,<XX=1>
  1088
  1089					;MULTIPLY A FLOATING 1 BY 1010...101010
  1090		525252	525252			V1=N1
  1091		652525	252000			V2=N1*XX
  1092						IFL	XX,<V3=N2+1>
  1093		777777	777252			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1094						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1095					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1096					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1097					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1098					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1099
  1100		525252	525252		F40120:	AA1=V1				;INITIAL C(AC)
  1101	030774	200 14 0 00 044614 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1102			000000			AA2=0				;INITIAL C(AC+1)
  1103	030775	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1104			001000			AEE=XX				;INITIAL C(E)
  1105	030776	200 12 0 00 044650 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1106	030777	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1107		777777	777252			AR1=V3				;EXPECTED RESULT IN AC
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 1-7
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0037

  1108	031000	312 14 0 00 044651 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1109	031001	003 14 0 00 040121 		ER3	AC,40121		;HIGH PRODUCT FAILED
  1110		652525	252000			AR2=V2				;EXPECTED RESULT IN AC+1
  1111	031002	312 15 0 00 044652 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1112	031003	004 15 0 00 040122 		ER4	AC+1,40122		;LOW PRODUCT FAILED
  1113			001000			AEE=XX				;INITIAL C(E)
  1114	031004	312 12 0 00 044650 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1115	031005	005 12 0 00 040123 		ER5	E,40123			;C(E) WAS CLOBBERED
  1116	031006	321 16 0 00 030774 		JUMPL	AC+2,F40120		;LOOP ON ERROR SWITCH^
  1117
  1118			004013			ADR=ADR+1
  1119			000031			WW=WW-1
  1120			002000			XX=XX+XX
  1121						IFE	XX,<XX=1>
  1122
  1123					;MULTIPLY A FLOATING 1 BY 1010...101010
  1124		525252	525252			V1=N1
  1125		525252	524000			V2=N1*XX
  1126						IFL	XX,<V3=N2+1>
  1127		777777	776525			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1128						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1129					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1130					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1131					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1132					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1133
  1134		525252	525252		F40130:	AA1=V1				;INITIAL C(AC)
  1135	031007	200 14 0 00 044614 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1136			000000			AA2=0				;INITIAL C(AC+1)
  1137	031010	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1138			002000			AEE=XX				;INITIAL C(E)
  1139	031011	200 12 0 00 044653 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1140	031012	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1141		777777	776525			AR1=V3				;EXPECTED RESULT IN AC
  1142	031013	312 14 0 00 044654 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1143	031014	003 14 0 00 040131 		ER3	AC,40131		;HIGH PRODUCT FAILED
  1144		525252	524000			AR2=V2				;EXPECTED RESULT IN AC+1
  1145	031015	312 15 0 00 044655 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1146	031016	004 15 0 00 040132 		ER4	AC+1,40132		;LOW PRODUCT FAILED
  1147			002000			AEE=XX				;INITIAL C(E)
  1148	031017	312 12 0 00 044653 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1149	031020	005 12 0 00 040133 		ER5	E,40133			;C(E) WAS CLOBBERED
  1150	031021	321 16 0 00 031007 		JUMPL	AC+2,F40130		;LOOP ON ERROR SWITCH^
  1151
  1152			004014			ADR=ADR+1
  1153			000030			WW=WW-1
  1154			004000			XX=XX+XX
  1155						IFE	XX,<XX=1>
  1156
  1157					;MULTIPLY A FLOATING 1 BY 1010...101010
  1158		525252	525252			V1=N1
  1159		652525	250000			V2=N1*XX
  1160						IFL	XX,<V3=N2+1>
  1161		777777	775252			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1162						MOP1	(\ADR,V1,0,XX,V3,V2)^
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 1-8
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0038

  1163					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1164					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1165					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1166					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1167
  1168		525252	525252		F40140:	AA1=V1				;INITIAL C(AC)
  1169	031022	200 14 0 00 044614 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1170			000000			AA2=0				;INITIAL C(AC+1)
  1171	031023	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1172			004000			AEE=XX				;INITIAL C(E)
  1173	031024	200 12 0 00 044656 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1174	031025	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1175		777777	775252			AR1=V3				;EXPECTED RESULT IN AC
  1176	031026	312 14 0 00 044657 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1177	031027	003 14 0 00 040141 		ER3	AC,40141		;HIGH PRODUCT FAILED
  1178		652525	250000			AR2=V2				;EXPECTED RESULT IN AC+1
  1179	031030	312 15 0 00 044660 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1180	031031	004 15 0 00 040142 		ER4	AC+1,40142		;LOW PRODUCT FAILED
  1181			004000			AEE=XX				;INITIAL C(E)
  1182	031032	312 12 0 00 044656 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1183	031033	005 12 0 00 040143 		ER5	E,40143			;C(E) WAS CLOBBERED
  1184	031034	321 16 0 00 031022 		JUMPL	AC+2,F40140		;LOOP ON ERROR SWITCH^
  1185
  1186			004015			ADR=ADR+1
  1187			000027			WW=WW-1
  1188			010000			XX=XX+XX
  1189						IFE	XX,<XX=1>
  1190
  1191					;MULTIPLY A FLOATING 1 BY 1010...101010
  1192		525252	525252			V1=N1
  1193		525252	520000			V2=N1*XX
  1194						IFL	XX,<V3=N2+1>
  1195		777777	772525			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1196						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1197					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1198					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1199					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1200					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1201
  1202		525252	525252		F40150:	AA1=V1				;INITIAL C(AC)
  1203	031035	200 14 0 00 044614 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1204			000000			AA2=0				;INITIAL C(AC+1)
  1205	031036	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1206			010000			AEE=XX				;INITIAL C(E)
  1207	031037	200 12 0 00 044661 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1208	031040	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1209		777777	772525			AR1=V3				;EXPECTED RESULT IN AC
  1210	031041	312 14 0 00 044662 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1211	031042	003 14 0 00 040151 		ER3	AC,40151		;HIGH PRODUCT FAILED
  1212		525252	520000			AR2=V2				;EXPECTED RESULT IN AC+1
  1213	031043	312 15 0 00 044663 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1214	031044	004 15 0 00 040152 		ER4	AC+1,40152		;LOW PRODUCT FAILED
  1215			010000			AEE=XX				;INITIAL C(E)
  1216	031045	312 12 0 00 044661 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1217	031046	005 12 0 00 040153 		ER5	E,40153			;C(E) WAS CLOBBERED
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 1-9
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0039

  1218	031047	321 16 0 00 031035 		JUMPL	AC+2,F40150		;LOOP ON ERROR SWITCH^
  1219
  1220			004016			ADR=ADR+1
  1221			000026			WW=WW-1
  1222			020000			XX=XX+XX
  1223						IFE	XX,<XX=1>
  1224
  1225					;MULTIPLY A FLOATING 1 BY 1010...101010
  1226		525252	525252			V1=N1
  1227		652525	240000			V2=N1*XX
  1228						IFL	XX,<V3=N2+1>
  1229		777777	765252			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1230						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1231					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1232					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1233					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1234					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1235
  1236		525252	525252		F40160:	AA1=V1				;INITIAL C(AC)
  1237	031050	200 14 0 00 044614 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1238			000000			AA2=0				;INITIAL C(AC+1)
  1239	031051	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1240			020000			AEE=XX				;INITIAL C(E)
  1241	031052	200 12 0 00 044664 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1242	031053	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1243		777777	765252			AR1=V3				;EXPECTED RESULT IN AC
  1244	031054	312 14 0 00 044665 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1245	031055	003 14 0 00 040161 		ER3	AC,40161		;HIGH PRODUCT FAILED
  1246		652525	240000			AR2=V2				;EXPECTED RESULT IN AC+1
  1247	031056	312 15 0 00 044666 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1248	031057	004 15 0 00 040162 		ER4	AC+1,40162		;LOW PRODUCT FAILED
  1249			020000			AEE=XX				;INITIAL C(E)
  1250	031060	312 12 0 00 044664 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1251	031061	005 12 0 00 040163 		ER5	E,40163			;C(E) WAS CLOBBERED
  1252	031062	321 16 0 00 031050 		JUMPL	AC+2,F40160		;LOOP ON ERROR SWITCH^
  1253
  1254			004017			ADR=ADR+1
  1255			000025			WW=WW-1
  1256			040000			XX=XX+XX
  1257						IFE	XX,<XX=1>
  1258
  1259					;MULTIPLY A FLOATING 1 BY 1010...101010
  1260		525252	525252			V1=N1
  1261		525252	500000			V2=N1*XX
  1262						IFL	XX,<V3=N2+1>
  1263		777777	752525			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1264						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1265					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1266					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1267					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1268					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1269
  1270		525252	525252		F40170:	AA1=V1				;INITIAL C(AC)
  1271	031063	200 14 0 00 044614 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1272			000000			AA2=0				;INITIAL C(AC+1)
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 1-10
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0040

  1273	031064	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1274			040000			AEE=XX				;INITIAL C(E)
  1275	031065	200 12 0 00 044667 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1276	031066	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1277		777777	752525			AR1=V3				;EXPECTED RESULT IN AC
  1278	031067	312 14 0 00 044670 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1279	031070	003 14 0 00 040171 		ER3	AC,40171		;HIGH PRODUCT FAILED
  1280		525252	500000			AR2=V2				;EXPECTED RESULT IN AC+1
  1281	031071	312 15 0 00 044671 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1282	031072	004 15 0 00 040172 		ER4	AC+1,40172		;LOW PRODUCT FAILED
  1283			040000			AEE=XX				;INITIAL C(E)
  1284	031073	312 12 0 00 044667 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1285	031074	005 12 0 00 040173 		ER5	E,40173			;C(E) WAS CLOBBERED
  1286	031075	321 16 0 00 031063 		JUMPL	AC+2,F40170		;LOOP ON ERROR SWITCH^
  1287
  1288			004020			ADR=ADR+1
  1289			000024			WW=WW-1
  1290			100000			XX=XX+XX
  1291						IFE	XX,<XX=1>
  1292
  1293					;MULTIPLY A FLOATING 1 BY 1010...101010
  1294		525252	525252			V1=N1
  1295		652525	200000			V2=N1*XX
  1296						IFL	XX,<V3=N2+1>
  1297		777777	725252			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1298						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1299					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1300					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1301					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1302					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1303
  1304		525252	525252		F40200:	AA1=V1				;INITIAL C(AC)
  1305	031076	200 14 0 00 044614 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1306			000000			AA2=0				;INITIAL C(AC+1)
  1307	031077	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1308			100000			AEE=XX				;INITIAL C(E)
  1309	031100	200 12 0 00 044672 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1310	031101	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1311		777777	725252			AR1=V3				;EXPECTED RESULT IN AC
  1312	031102	312 14 0 00 044673 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1313	031103	003 14 0 00 040201 		ER3	AC,40201		;HIGH PRODUCT FAILED
  1314		652525	200000			AR2=V2				;EXPECTED RESULT IN AC+1
  1315	031104	312 15 0 00 044674 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1316	031105	004 15 0 00 040202 		ER4	AC+1,40202		;LOW PRODUCT FAILED
  1317			100000			AEE=XX				;INITIAL C(E)
  1318	031106	312 12 0 00 044672 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1319	031107	005 12 0 00 040203 		ER5	E,40203			;C(E) WAS CLOBBERED
  1320	031110	321 16 0 00 031076 		JUMPL	AC+2,F40200		;LOOP ON ERROR SWITCH^
  1321
  1322			004021			ADR=ADR+1
  1323			000023			WW=WW-1
  1324			200000			XX=XX+XX
  1325						IFE	XX,<XX=1>
  1326
  1327					;MULTIPLY A FLOATING 1 BY 1010...101010
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 1-11
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0041

  1328		525252	525252			V1=N1
  1329		525252	400000			V2=N1*XX
  1330						IFL	XX,<V3=N2+1>
  1331		777777	652525			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1332						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1333					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1334					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1335					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1336					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1337
  1338		525252	525252		F40210:	AA1=V1				;INITIAL C(AC)
  1339	031111	200 14 0 00 044614 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1340			000000			AA2=0				;INITIAL C(AC+1)
  1341	031112	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1342			200000			AEE=XX				;INITIAL C(E)
  1343	031113	200 12 0 00 044675 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1344	031114	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1345		777777	652525			AR1=V3				;EXPECTED RESULT IN AC
  1346	031115	312 14 0 00 044676 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1347	031116	003 14 0 00 040211 		ER3	AC,40211		;HIGH PRODUCT FAILED
  1348		525252	400000			AR2=V2				;EXPECTED RESULT IN AC+1
  1349	031117	312 15 0 00 044677 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1350	031120	004 15 0 00 040212 		ER4	AC+1,40212		;LOW PRODUCT FAILED
  1351			200000			AEE=XX				;INITIAL C(E)
  1352	031121	312 12 0 00 044675 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1353	031122	005 12 0 00 040213 		ER5	E,40213			;C(E) WAS CLOBBERED
  1354	031123	321 16 0 00 031111 		JUMPL	AC+2,F40210		;LOOP ON ERROR SWITCH^
  1355
  1356			004022			ADR=ADR+1
  1357			000022			WW=WW-1
  1358			400000			XX=XX+XX
  1359						IFE	XX,<XX=1>
  1360
  1361					;MULTIPLY A FLOATING 1 BY 1010...101010
  1362		525252	525252			V1=N1
  1363		652525	000000			V2=N1*XX
  1364						IFL	XX,<V3=N2+1>
  1365		777777	525252			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1366						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1367					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1368					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1369					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1370					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1371
  1372		525252	525252		F40220:	AA1=V1				;INITIAL C(AC)
  1373	031124	200 14 0 00 044614 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1374			000000			AA2=0				;INITIAL C(AC+1)
  1375	031125	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1376			400000			AEE=XX				;INITIAL C(E)
  1377	031126	200 12 0 00 044700 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1378	031127	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1379		777777	525252			AR1=V3				;EXPECTED RESULT IN AC
  1380	031130	312 14 0 00 044701 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1381	031131	003 14 0 00 040221 		ER3	AC,40221		;HIGH PRODUCT FAILED
  1382		652525	000000			AR2=V2				;EXPECTED RESULT IN AC+1
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 1-12
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0042

  1383	031132	312 15 0 00 044702 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1384	031133	004 15 0 00 040222 		ER4	AC+1,40222		;LOW PRODUCT FAILED
  1385			400000			AEE=XX				;INITIAL C(E)
  1386	031134	312 12 0 00 044700 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1387	031135	005 12 0 00 040223 		ER5	E,40223			;C(E) WAS CLOBBERED
  1388	031136	321 16 0 00 031124 		JUMPL	AC+2,F40220		;LOOP ON ERROR SWITCH^
  1389
  1390			004023			ADR=ADR+1
  1391			000021			WW=WW-1
  1392		000001	000000			XX=XX+XX
  1393						IFE	XX,<XX=1>
  1394
  1395					;MULTIPLY A FLOATING 1 BY 1010...101010
  1396		525252	525252			V1=N1
  1397		525252	000000			V2=N1*XX
  1398						IFL	XX,<V3=N2+1>
  1399		777777	252525			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1400						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1401					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1402					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1403					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1404					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1405
  1406		525252	525252		F40230:	AA1=V1				;INITIAL C(AC)
  1407	031137	200 14 0 00 044614 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1408			000000			AA2=0				;INITIAL C(AC+1)
  1409	031140	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1410		000001	000000			AEE=XX				;INITIAL C(E)
  1411	031141	200 12 0 00 044703 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1412	031142	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1413		777777	252525			AR1=V3				;EXPECTED RESULT IN AC
  1414	031143	312 14 0 00 044704 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1415	031144	003 14 0 00 040231 		ER3	AC,40231		;HIGH PRODUCT FAILED
  1416		525252	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  1417	031145	312 15 0 00 044705 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1418	031146	004 15 0 00 040232 		ER4	AC+1,40232		;LOW PRODUCT FAILED
  1419		000001	000000			AEE=XX				;INITIAL C(E)
  1420	031147	312 12 0 00 044703 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1421	031150	005 12 0 00 040233 		ER5	E,40233			;C(E) WAS CLOBBERED
  1422	031151	321 16 0 00 031137 		JUMPL	AC+2,F40230		;LOOP ON ERROR SWITCH^
  1423
  1424			004024			ADR=ADR+1
  1425			000020			WW=WW-1
  1426		000002	000000			XX=XX+XX
  1427						IFE	XX,<XX=1>
  1428
  1429					;MULTIPLY A FLOATING 1 BY 1010...101010
  1430		525252	525252			V1=N1
  1431		652524	000000			V2=N1*XX
  1432						IFL	XX,<V3=N2+1>
  1433		777776	525252			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1434						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1435					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1436					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1437					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 1-13
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0043

  1438					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1439
  1440		525252	525252		F40240:	AA1=V1				;INITIAL C(AC)
  1441	031152	200 14 0 00 044614 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1442			000000			AA2=0				;INITIAL C(AC+1)
  1443	031153	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1444		000002	000000			AEE=XX				;INITIAL C(E)
  1445	031154	200 12 0 00 044706 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1446	031155	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1447		777776	525252			AR1=V3				;EXPECTED RESULT IN AC
  1448	031156	312 14 0 00 044707 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1449	031157	003 14 0 00 040241 		ER3	AC,40241		;HIGH PRODUCT FAILED
  1450		652524	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  1451	031160	312 15 0 00 044710 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1452	031161	004 15 0 00 040242 		ER4	AC+1,40242		;LOW PRODUCT FAILED
  1453		000002	000000			AEE=XX				;INITIAL C(E)
  1454	031162	312 12 0 00 044706 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1455	031163	005 12 0 00 040243 		ER5	E,40243			;C(E) WAS CLOBBERED
  1456	031164	321 16 0 00 031152 		JUMPL	AC+2,F40240		;LOOP ON ERROR SWITCH^
  1457
  1458			004025			ADR=ADR+1
  1459			000017			WW=WW-1
  1460		000004	000000			XX=XX+XX
  1461						IFE	XX,<XX=1>
  1462
  1463					;MULTIPLY A FLOATING 1 BY 1010...101010
  1464		525252	525252			V1=N1
  1465		525250	000000			V2=N1*XX
  1466						IFL	XX,<V3=N2+1>
  1467		777775	252525			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1468						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1469					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1470					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1471					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1472					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1473
  1474		525252	525252		F40250:	AA1=V1				;INITIAL C(AC)
  1475	031165	200 14 0 00 044614 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1476			000000			AA2=0				;INITIAL C(AC+1)
  1477	031166	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1478		000004	000000			AEE=XX				;INITIAL C(E)
  1479	031167	200 12 0 00 044711 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1480	031170	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1481		777775	252525			AR1=V3				;EXPECTED RESULT IN AC
  1482	031171	312 14 0 00 044712 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1483	031172	003 14 0 00 040251 		ER3	AC,40251		;HIGH PRODUCT FAILED
  1484		525250	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  1485	031173	312 15 0 00 044713 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1486	031174	004 15 0 00 040252 		ER4	AC+1,40252		;LOW PRODUCT FAILED
  1487		000004	000000			AEE=XX				;INITIAL C(E)
  1488	031175	312 12 0 00 044711 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1489	031176	005 12 0 00 040253 		ER5	E,40253			;C(E) WAS CLOBBERED
  1490	031177	321 16 0 00 031165 		JUMPL	AC+2,F40250		;LOOP ON ERROR SWITCH^
  1491
  1492			004026			ADR=ADR+1
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 1-14
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0044

  1493			000016			WW=WW-1
  1494		000010	000000			XX=XX+XX
  1495						IFE	XX,<XX=1>
  1496
  1497					;MULTIPLY A FLOATING 1 BY 1010...101010
  1498		525252	525252			V1=N1
  1499		652520	000000			V2=N1*XX
  1500						IFL	XX,<V3=N2+1>
  1501		777772	525252			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1502						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1503					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1504					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1505					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1506					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1507
  1508		525252	525252		F40260:	AA1=V1				;INITIAL C(AC)
  1509	031200	200 14 0 00 044614 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1510			000000			AA2=0				;INITIAL C(AC+1)
  1511	031201	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1512		000010	000000			AEE=XX				;INITIAL C(E)
  1513	031202	200 12 0 00 044714 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1514	031203	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1515		777772	525252			AR1=V3				;EXPECTED RESULT IN AC
  1516	031204	312 14 0 00 044715 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1517	031205	003 14 0 00 040261 		ER3	AC,40261		;HIGH PRODUCT FAILED
  1518		652520	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  1519	031206	312 15 0 00 044716 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1520	031207	004 15 0 00 040262 		ER4	AC+1,40262		;LOW PRODUCT FAILED
  1521		000010	000000			AEE=XX				;INITIAL C(E)
  1522	031210	312 12 0 00 044714 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1523	031211	005 12 0 00 040263 		ER5	E,40263			;C(E) WAS CLOBBERED
  1524	031212	321 16 0 00 031200 		JUMPL	AC+2,F40260		;LOOP ON ERROR SWITCH^
  1525
  1526			004027			ADR=ADR+1
  1527			000015			WW=WW-1
  1528		000020	000000			XX=XX+XX
  1529						IFE	XX,<XX=1>
  1530
  1531					;MULTIPLY A FLOATING 1 BY 1010...101010
  1532		525252	525252			V1=N1
  1533		525240	000000			V2=N1*XX
  1534						IFL	XX,<V3=N2+1>
  1535		777765	252525			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1536						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1537					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1538					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1539					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1540					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1541
  1542		525252	525252		F40270:	AA1=V1				;INITIAL C(AC)
  1543	031213	200 14 0 00 044614 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1544			000000			AA2=0				;INITIAL C(AC+1)
  1545	031214	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1546		000020	000000			AEE=XX				;INITIAL C(E)
  1547	031215	200 12 0 00 044717 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 1-15
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0045

  1548	031216	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1549		777765	252525			AR1=V3				;EXPECTED RESULT IN AC
  1550	031217	312 14 0 00 044720 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1551	031220	003 14 0 00 040271 		ER3	AC,40271		;HIGH PRODUCT FAILED
  1552		525240	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  1553	031221	312 15 0 00 044721 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1554	031222	004 15 0 00 040272 		ER4	AC+1,40272		;LOW PRODUCT FAILED
  1555		000020	000000			AEE=XX				;INITIAL C(E)
  1556	031223	312 12 0 00 044717 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1557	031224	005 12 0 00 040273 		ER5	E,40273			;C(E) WAS CLOBBERED
  1558	031225	321 16 0 00 031213 		JUMPL	AC+2,F40270		;LOOP ON ERROR SWITCH^
  1559
  1560			004030			ADR=ADR+1
  1561			000014			WW=WW-1
  1562		000040	000000			XX=XX+XX
  1563						IFE	XX,<XX=1>
  1564
  1565					;MULTIPLY A FLOATING 1 BY 1010...101010
  1566		525252	525252			V1=N1
  1567		652500	000000			V2=N1*XX
  1568						IFL	XX,<V3=N2+1>
  1569		777752	525252			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1570						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1571					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1572					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1573					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1574					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1575
  1576		525252	525252		F40300:	AA1=V1				;INITIAL C(AC)
  1577	031226	200 14 0 00 044614 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1578			000000			AA2=0				;INITIAL C(AC+1)
  1579	031227	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1580		000040	000000			AEE=XX				;INITIAL C(E)
  1581	031230	200 12 0 00 044722 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1582	031231	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1583		777752	525252			AR1=V3				;EXPECTED RESULT IN AC
  1584	031232	312 14 0 00 044723 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1585	031233	003 14 0 00 040301 		ER3	AC,40301		;HIGH PRODUCT FAILED
  1586		652500	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  1587	031234	312 15 0 00 044724 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1588	031235	004 15 0 00 040302 		ER4	AC+1,40302		;LOW PRODUCT FAILED
  1589		000040	000000			AEE=XX				;INITIAL C(E)
  1590	031236	312 12 0 00 044722 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1591	031237	005 12 0 00 040303 		ER5	E,40303			;C(E) WAS CLOBBERED
  1592	031240	321 16 0 00 031226 		JUMPL	AC+2,F40300		;LOOP ON ERROR SWITCH^
  1593
  1594			004031			ADR=ADR+1
  1595			000013			WW=WW-1
  1596		000100	000000			XX=XX+XX
  1597						IFE	XX,<XX=1>
  1598
  1599					;MULTIPLY A FLOATING 1 BY 1010...101010
  1600		525252	525252			V1=N1
  1601		525200	000000			V2=N1*XX
  1602						IFL	XX,<V3=N2+1>
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 1-16
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0046

  1603		777725	252525			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1604						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1605					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1606					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1607					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1608					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1609
  1610		525252	525252		F40310:	AA1=V1				;INITIAL C(AC)
  1611	031241	200 14 0 00 044614 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1612			000000			AA2=0				;INITIAL C(AC+1)
  1613	031242	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1614		000100	000000			AEE=XX				;INITIAL C(E)
  1615	031243	200 12 0 00 044725 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1616	031244	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1617		777725	252525			AR1=V3				;EXPECTED RESULT IN AC
  1618	031245	312 14 0 00 044726 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1619	031246	003 14 0 00 040311 		ER3	AC,40311		;HIGH PRODUCT FAILED
  1620		525200	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  1621	031247	312 15 0 00 044727 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1622	031250	004 15 0 00 040312 		ER4	AC+1,40312		;LOW PRODUCT FAILED
  1623		000100	000000			AEE=XX				;INITIAL C(E)
  1624	031251	312 12 0 00 044725 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1625	031252	005 12 0 00 040313 		ER5	E,40313			;C(E) WAS CLOBBERED
  1626	031253	321 16 0 00 031241 		JUMPL	AC+2,F40310		;LOOP ON ERROR SWITCH^
  1627
  1628			004032			ADR=ADR+1
  1629			000012			WW=WW-1
  1630		000200	000000			XX=XX+XX
  1631						IFE	XX,<XX=1>
  1632
  1633					;MULTIPLY A FLOATING 1 BY 1010...101010
  1634		525252	525252			V1=N1
  1635		652400	000000			V2=N1*XX
  1636						IFL	XX,<V3=N2+1>
  1637		777652	525252			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1638						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1639					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1640					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1641					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1642					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1643
  1644		525252	525252		F40320:	AA1=V1				;INITIAL C(AC)
  1645	031254	200 14 0 00 044614 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1646			000000			AA2=0				;INITIAL C(AC+1)
  1647	031255	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1648		000200	000000			AEE=XX				;INITIAL C(E)
  1649	031256	200 12 0 00 044730 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1650	031257	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1651		777652	525252			AR1=V3				;EXPECTED RESULT IN AC
  1652	031260	312 14 0 00 044731 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1653	031261	003 14 0 00 040321 		ER3	AC,40321		;HIGH PRODUCT FAILED
  1654		652400	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  1655	031262	312 15 0 00 044732 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1656	031263	004 15 0 00 040322 		ER4	AC+1,40322		;LOW PRODUCT FAILED
  1657		000200	000000			AEE=XX				;INITIAL C(E)
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 1-17
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0047

  1658	031264	312 12 0 00 044730 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1659	031265	005 12 0 00 040323 		ER5	E,40323			;C(E) WAS CLOBBERED
  1660	031266	321 16 0 00 031254 		JUMPL	AC+2,F40320		;LOOP ON ERROR SWITCH^
  1661
  1662			004033			ADR=ADR+1
  1663			000011			WW=WW-1
  1664		000400	000000			XX=XX+XX
  1665						IFE	XX,<XX=1>
  1666
  1667					;MULTIPLY A FLOATING 1 BY 1010...101010
  1668		525252	525252			V1=N1
  1669		525000	000000			V2=N1*XX
  1670						IFL	XX,<V3=N2+1>
  1671		777525	252525			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1672						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1673					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1674					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1675					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1676					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1677
  1678		525252	525252		F40330:	AA1=V1				;INITIAL C(AC)
  1679	031267	200 14 0 00 044614 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1680			000000			AA2=0				;INITIAL C(AC+1)
  1681	031270	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1682		000400	000000			AEE=XX				;INITIAL C(E)
  1683	031271	200 12 0 00 044733 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1684	031272	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1685		777525	252525			AR1=V3				;EXPECTED RESULT IN AC
  1686	031273	312 14 0 00 044734 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1687	031274	003 14 0 00 040331 		ER3	AC,40331		;HIGH PRODUCT FAILED
  1688		525000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  1689	031275	312 15 0 00 044735 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1690	031276	004 15 0 00 040332 		ER4	AC+1,40332		;LOW PRODUCT FAILED
  1691		000400	000000			AEE=XX				;INITIAL C(E)
  1692	031277	312 12 0 00 044733 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1693	031300	005 12 0 00 040333 		ER5	E,40333			;C(E) WAS CLOBBERED
  1694	031301	321 16 0 00 031267 		JUMPL	AC+2,F40330		;LOOP ON ERROR SWITCH^
  1695
  1696			004034			ADR=ADR+1
  1697			000010			WW=WW-1
  1698		001000	000000			XX=XX+XX
  1699						IFE	XX,<XX=1>
  1700
  1701					;MULTIPLY A FLOATING 1 BY 1010...101010
  1702		525252	525252			V1=N1
  1703		652000	000000			V2=N1*XX
  1704						IFL	XX,<V3=N2+1>
  1705		777252	525252			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1706						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1707					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1708					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1709					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1710					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1711
  1712		525252	525252		F40340:	AA1=V1				;INITIAL C(AC)
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 1-18
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0048

  1713	031302	200 14 0 00 044614 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1714			000000			AA2=0				;INITIAL C(AC+1)
  1715	031303	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1716		001000	000000			AEE=XX				;INITIAL C(E)
  1717	031304	200 12 0 00 044736 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1718	031305	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1719		777252	525252			AR1=V3				;EXPECTED RESULT IN AC
  1720	031306	312 14 0 00 044737 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1721	031307	003 14 0 00 040341 		ER3	AC,40341		;HIGH PRODUCT FAILED
  1722		652000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  1723	031310	312 15 0 00 044740 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1724	031311	004 15 0 00 040342 		ER4	AC+1,40342		;LOW PRODUCT FAILED
  1725		001000	000000			AEE=XX				;INITIAL C(E)
  1726	031312	312 12 0 00 044736 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1727	031313	005 12 0 00 040343 		ER5	E,40343			;C(E) WAS CLOBBERED
  1728	031314	321 16 0 00 031302 		JUMPL	AC+2,F40340		;LOOP ON ERROR SWITCH^
  1729
  1730			004035			ADR=ADR+1
  1731			000007			WW=WW-1
  1732		002000	000000			XX=XX+XX
  1733						IFE	XX,<XX=1>
  1734
  1735					;MULTIPLY A FLOATING 1 BY 1010...101010
  1736		525252	525252			V1=N1
  1737		524000	000000			V2=N1*XX
  1738						IFL	XX,<V3=N2+1>
  1739		776525	252525			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1740						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1741					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1742					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1743					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1744					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1745
  1746		525252	525252		F40350:	AA1=V1				;INITIAL C(AC)
  1747	031315	200 14 0 00 044614 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1748			000000			AA2=0				;INITIAL C(AC+1)
  1749	031316	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1750		002000	000000			AEE=XX				;INITIAL C(E)
  1751	031317	200 12 0 00 044741 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1752	031320	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1753		776525	252525			AR1=V3				;EXPECTED RESULT IN AC
  1754	031321	312 14 0 00 044742 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1755	031322	003 14 0 00 040351 		ER3	AC,40351		;HIGH PRODUCT FAILED
  1756		524000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  1757	031323	312 15 0 00 044743 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1758	031324	004 15 0 00 040352 		ER4	AC+1,40352		;LOW PRODUCT FAILED
  1759		002000	000000			AEE=XX				;INITIAL C(E)
  1760	031325	312 12 0 00 044741 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1761	031326	005 12 0 00 040353 		ER5	E,40353			;C(E) WAS CLOBBERED
  1762	031327	321 16 0 00 031315 		JUMPL	AC+2,F40350		;LOOP ON ERROR SWITCH^
  1763
  1764			004036			ADR=ADR+1
  1765			000006			WW=WW-1
  1766		004000	000000			XX=XX+XX
  1767						IFE	XX,<XX=1>
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 1-19
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0049

  1768
  1769					;MULTIPLY A FLOATING 1 BY 1010...101010
  1770		525252	525252			V1=N1
  1771		650000	000000			V2=N1*XX
  1772						IFL	XX,<V3=N2+1>
  1773		775252	525252			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1774						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1775					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1776					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1777					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1778					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1779
  1780		525252	525252		F40360:	AA1=V1				;INITIAL C(AC)
  1781	031330	200 14 0 00 044614 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1782			000000			AA2=0				;INITIAL C(AC+1)
  1783	031331	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1784		004000	000000			AEE=XX				;INITIAL C(E)
  1785	031332	200 12 0 00 044744 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1786	031333	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1787		775252	525252			AR1=V3				;EXPECTED RESULT IN AC
  1788	031334	312 14 0 00 044745 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1789	031335	003 14 0 00 040361 		ER3	AC,40361		;HIGH PRODUCT FAILED
  1790		650000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  1791	031336	312 15 0 00 044746 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1792	031337	004 15 0 00 040362 		ER4	AC+1,40362		;LOW PRODUCT FAILED
  1793		004000	000000			AEE=XX				;INITIAL C(E)
  1794	031340	312 12 0 00 044744 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1795	031341	005 12 0 00 040363 		ER5	E,40363			;C(E) WAS CLOBBERED
  1796	031342	321 16 0 00 031330 		JUMPL	AC+2,F40360		;LOOP ON ERROR SWITCH^
  1797
  1798			004037			ADR=ADR+1
  1799			000005			WW=WW-1
  1800		010000	000000			XX=XX+XX
  1801						IFE	XX,<XX=1>
  1802
  1803					;MULTIPLY A FLOATING 1 BY 1010...101010
  1804		525252	525252			V1=N1
  1805		520000	000000			V2=N1*XX
  1806						IFL	XX,<V3=N2+1>
  1807		772525	252525			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1808						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1809					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1810					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1811					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1812					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1813
  1814		525252	525252		F40370:	AA1=V1				;INITIAL C(AC)
  1815	031343	200 14 0 00 044614 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1816			000000			AA2=0				;INITIAL C(AC+1)
  1817	031344	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1818		010000	000000			AEE=XX				;INITIAL C(E)
  1819	031345	200 12 0 00 044747 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1820	031346	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1821		772525	252525			AR1=V3				;EXPECTED RESULT IN AC
  1822	031347	312 14 0 00 044750 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 1-20
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0050

  1823	031350	003 14 0 00 040371 		ER3	AC,40371		;HIGH PRODUCT FAILED
  1824		520000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  1825	031351	312 15 0 00 044751 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1826	031352	004 15 0 00 040372 		ER4	AC+1,40372		;LOW PRODUCT FAILED
  1827		010000	000000			AEE=XX				;INITIAL C(E)
  1828	031353	312 12 0 00 044747 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1829	031354	005 12 0 00 040373 		ER5	E,40373			;C(E) WAS CLOBBERED
  1830	031355	321 16 0 00 031343 		JUMPL	AC+2,F40370		;LOOP ON ERROR SWITCH^
  1831
  1832			004040			ADR=ADR+1
  1833			000004			WW=WW-1
  1834		020000	000000			XX=XX+XX
  1835						IFE	XX,<XX=1>
  1836
  1837					;MULTIPLY A FLOATING 1 BY 1010...101010
  1838		525252	525252			V1=N1
  1839		640000	000000			V2=N1*XX
  1840						IFL	XX,<V3=N2+1>
  1841		765252	525252			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1842						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1843					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1844					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1845					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1846					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1847
  1848		525252	525252		F40400:	AA1=V1				;INITIAL C(AC)
  1849	031356	200 14 0 00 044614 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1850			000000			AA2=0				;INITIAL C(AC+1)
  1851	031357	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1852		020000	000000			AEE=XX				;INITIAL C(E)
  1853	031360	200 12 0 00 044752 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1854	031361	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1855		765252	525252			AR1=V3				;EXPECTED RESULT IN AC
  1856	031362	312 14 0 00 044753 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1857	031363	003 14 0 00 040401 		ER3	AC,40401		;HIGH PRODUCT FAILED
  1858		640000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  1859	031364	312 15 0 00 044754 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1860	031365	004 15 0 00 040402 		ER4	AC+1,40402		;LOW PRODUCT FAILED
  1861		020000	000000			AEE=XX				;INITIAL C(E)
  1862	031366	312 12 0 00 044752 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1863	031367	005 12 0 00 040403 		ER5	E,40403			;C(E) WAS CLOBBERED
  1864	031370	321 16 0 00 031356 		JUMPL	AC+2,F40400		;LOOP ON ERROR SWITCH^
  1865
  1866			004041			ADR=ADR+1
  1867			000003			WW=WW-1
  1868		040000	000000			XX=XX+XX
  1869						IFE	XX,<XX=1>
  1870
  1871					;MULTIPLY A FLOATING 1 BY 1010...101010
  1872		525252	525252			V1=N1
  1873		500000	000000			V2=N1*XX
  1874						IFL	XX,<V3=N2+1>
  1875		752525	252525			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1876						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1877					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 1-21
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0051

  1878					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1879					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1880					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1881
  1882		525252	525252		F40410:	AA1=V1				;INITIAL C(AC)
  1883	031371	200 14 0 00 044614 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1884			000000			AA2=0				;INITIAL C(AC+1)
  1885	031372	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1886		040000	000000			AEE=XX				;INITIAL C(E)
  1887	031373	200 12 0 00 044755 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1888	031374	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1889		752525	252525			AR1=V3				;EXPECTED RESULT IN AC
  1890	031375	312 14 0 00 044756 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1891	031376	003 14 0 00 040411 		ER3	AC,40411		;HIGH PRODUCT FAILED
  1892		500000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  1893	031377	312 15 0 00 044757 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1894	031400	004 15 0 00 040412 		ER4	AC+1,40412		;LOW PRODUCT FAILED
  1895		040000	000000			AEE=XX				;INITIAL C(E)
  1896	031401	312 12 0 00 044755 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1897	031402	005 12 0 00 040413 		ER5	E,40413			;C(E) WAS CLOBBERED
  1898	031403	321 16 0 00 031371 		JUMPL	AC+2,F40410		;LOOP ON ERROR SWITCH^
  1899
  1900			004042			ADR=ADR+1
  1901			000002			WW=WW-1
  1902		100000	000000			XX=XX+XX
  1903						IFE	XX,<XX=1>
  1904
  1905					;MULTIPLY A FLOATING 1 BY 1010...101010
  1906		525252	525252			V1=N1
  1907		600000	000000			V2=N1*XX
  1908						IFL	XX,<V3=N2+1>
  1909		725252	525252			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1910						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1911					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1912					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1913					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1914					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1915
  1916		525252	525252		F40420:	AA1=V1				;INITIAL C(AC)
  1917	031404	200 14 0 00 044614 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1918			000000			AA2=0				;INITIAL C(AC+1)
  1919	031405	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1920		100000	000000			AEE=XX				;INITIAL C(E)
  1921	031406	200 12 0 00 044760 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1922	031407	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1923		725252	525252			AR1=V3				;EXPECTED RESULT IN AC
  1924	031410	312 14 0 00 044761 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1925	031411	003 14 0 00 040421 		ER3	AC,40421		;HIGH PRODUCT FAILED
  1926		600000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  1927	031412	312 15 0 00 044762 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1928	031413	004 15 0 00 040422 		ER4	AC+1,40422		;LOW PRODUCT FAILED
  1929		100000	000000			AEE=XX				;INITIAL C(E)
  1930	031414	312 12 0 00 044760 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1931	031415	005 12 0 00 040423 		ER5	E,40423			;C(E) WAS CLOBBERED
  1932	031416	321 16 0 00 031404 		JUMPL	AC+2,F40420		;LOOP ON ERROR SWITCH^
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 1-22
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0052

  1933
  1934			004043			ADR=ADR+1
  1935			000001			WW=WW-1
  1936		200000	000000			XX=XX+XX
  1937						IFE	XX,<XX=1>
  1938
  1939					;MULTIPLY A FLOATING 1 BY 1010...101010
  1940		525252	525252			V1=N1
  1941		400000	000000			V2=N1*XX
  1942						IFL	XX,<V3=N2+1>
  1943		652525	252525			IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1944						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1945					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1946					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1947					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1948					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1949
  1950		525252	525252		F40430:	AA1=V1				;INITIAL C(AC)
  1951	031417	200 14 0 00 044614 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1952			000000			AA2=0				;INITIAL C(AC+1)
  1953	031420	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  1954		200000	000000			AEE=XX				;INITIAL C(E)
  1955	031421	200 12 0 00 044763 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1956	031422	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1957		652525	252525			AR1=V3				;EXPECTED RESULT IN AC
  1958	031423	312 14 0 00 044764 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1959	031424	003 14 0 00 040431 		ER3	AC,40431		;HIGH PRODUCT FAILED
  1960		400000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  1961	031425	312 15 0 00 044765 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1962	031426	004 15 0 00 040432 		ER4	AC+1,40432		;LOW PRODUCT FAILED
  1963		200000	000000			AEE=XX				;INITIAL C(E)
  1964	031427	312 12 0 00 044763 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1965	031430	005 12 0 00 040433 		ER5	E,40433			;C(E) WAS CLOBBERED
  1966	031431	321 16 0 00 031417 		JUMPL	AC+2,F40430		;LOOP ON ERROR SWITCH^
  1967
  1968			004044			ADR=ADR+1
  1969			000000			WW=WW-1
  1970		400000	000000			XX=XX+XX
  1971						IFE	XX,<XX=1>
  1972
  1973					;MULTIPLY A FLOATING 1 BY 1010...101010
  1974		525252	525252			V1=N1
  1975			000000			V2=N1*XX
  1976		252525	252526			IFL	XX,<V3=N2+1>
  1977						IFG	XX,<V3=<<-1B<WW>>!<N1_<-WW>>>>
  1978						MOP1	(\ADR,V1,0,XX,V3,V2)^
  1979					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  1980					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  1981					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  1982					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  1983
  1984		525252	525252		F40440:	AA1=V1				;INITIAL C(AC)
  1985	031432	200 14 0 00 044614 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  1986			000000			AA2=0				;INITIAL C(AC+1)
  1987	031433	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 1-23
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0053

  1988		400000	000000			AEE=XX				;INITIAL C(E)
  1989	031434	200 12 0 00 044765 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  1990	031435	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  1991		252525	252526			AR1=V3				;EXPECTED RESULT IN AC
  1992	031436	312 14 0 00 044766 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  1993	031437	003 14 0 00 040441 		ER3	AC,40441		;HIGH PRODUCT FAILED
  1994			000000			AR2=V2				;EXPECTED RESULT IN AC+1
  1995	031440	312 15 0 00 044615 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  1996	031441	004 15 0 00 040442 		ER4	AC+1,40442		;LOW PRODUCT FAILED
  1997		400000	000000			AEE=XX				;INITIAL C(E)
  1998	031442	312 12 0 00 044765 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  1999	031443	005 12 0 00 040443 		ER5	E,40443			;C(E) WAS CLOBBERED
  2000	031444	321 16 0 00 031432 		JUMPL	AC+2,F40440		;LOOP ON ERROR SWITCH^
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 2
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0054

  2001			000014			AC=14
  2002			000012			E=<AC-2>&17
  2003						SAVEAC	(1,1)^
  2004	031445	201 16 0 00 031445 		MOVEI	AC+2,.		;SAVE TEST PC
  2005	031446	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
  2006	031447	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  2007	031450	202 16 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  2008
  2009			000044			WW=^D36
  2010			000000			XX=0
  2011
  2012						REPEAT	^D36,<
  2013						ADR=ADR+1
  2014						WW=WW-1
  2015						XX=XX+XX
  2016						IFE	XX,<XX=1>
  2017					
  2018					;MULTIPLY 0101...0101 BY A FLOATING 1
  2019						V1=N2
  2020						V2=N2*XX
  2021						IFG	XX,<V3=<N2_<-WW>>>
  2022						IFL	XX,<V3=N1+1>
  2023						MOP1	(\ADR,XX,0,V1,V3,V2)>
  2024
  2025			004045			ADR=ADR+1
  2026			000043			WW=WW-1
  2027			000000			XX=XX+XX
  2028			000001			IFE	XX,<XX=1>
  2029
  2030					;MULTIPLY 0101...0101 BY A FLOATING 1
  2031		252525	252525			V1=N2
  2032		252525	252525			V2=N2*XX
  2033			000000			IFG	XX,<V3=<N2_<-WW>>>
  2034						IFL	XX,<V3=N1+1>
  2035						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2036					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2037					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2038					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2039					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2040
  2041			000001		F40450:	AA1=XX				;INITIAL C(AC)
  2042	031451	200 14 0 00 044616 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2043			000000			AA2=0				;INITIAL C(AC+1)
  2044	031452	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2045		252525	252525			AEE=V1				;INITIAL C(E)
  2046	031453	200 12 0 00 044767 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2047	031454	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2048			000000			AR1=V3				;EXPECTED RESULT IN AC
  2049	031455	312 14 0 00 044615 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2050	031456	003 14 0 00 040451 		ER3	AC,40451		;HIGH PRODUCT FAILED
  2051		252525	252525			AR2=V2				;EXPECTED RESULT IN AC+1
  2052	031457	312 15 0 00 044767 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2053	031460	004 15 0 00 040452 		ER4	AC+1,40452		;LOW PRODUCT FAILED
  2054		252525	252525			AEE=V1				;INITIAL C(E)
  2055	031461	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 2-1
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0055

  2056	031462	005 12 0 00 040453 		ER5	E,40453			;C(E) WAS CLOBBERED
  2057	031463	321 16 0 00 031451 		JUMPL	AC+2,F40450		;LOOP ON ERROR SWITCH^
  2058
  2059			004046			ADR=ADR+1
  2060			000042			WW=WW-1
  2061			000002			XX=XX+XX
  2062						IFE	XX,<XX=1>
  2063
  2064					;MULTIPLY 0101...0101 BY A FLOATING 1
  2065		252525	252525			V1=N2
  2066		125252	525252			V2=N2*XX
  2067			000001			IFG	XX,<V3=<N2_<-WW>>>
  2068						IFL	XX,<V3=N1+1>
  2069						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2070					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2071					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2072					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2073					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2074
  2075			000002		F40460:	AA1=XX				;INITIAL C(AC)
  2076	031464	200 14 0 00 044620 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2077			000000			AA2=0				;INITIAL C(AC+1)
  2078	031465	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2079		252525	252525			AEE=V1				;INITIAL C(E)
  2080	031466	200 12 0 00 044767 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2081	031467	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2082			000001			AR1=V3				;EXPECTED RESULT IN AC
  2083	031470	312 14 0 00 044616 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2084	031471	003 14 0 00 040461 		ER3	AC,40461		;HIGH PRODUCT FAILED
  2085		125252	525252			AR2=V2				;EXPECTED RESULT IN AC+1
  2086	031472	312 15 0 00 044770 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2087	031473	004 15 0 00 040462 		ER4	AC+1,40462		;LOW PRODUCT FAILED
  2088		252525	252525			AEE=V1				;INITIAL C(E)
  2089	031474	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2090	031475	005 12 0 00 040463 		ER5	E,40463			;C(E) WAS CLOBBERED
  2091	031476	321 16 0 00 031464 		JUMPL	AC+2,F40460		;LOOP ON ERROR SWITCH^
  2092
  2093			004047			ADR=ADR+1
  2094			000041			WW=WW-1
  2095			000004			XX=XX+XX
  2096						IFE	XX,<XX=1>
  2097
  2098					;MULTIPLY 0101...0101 BY A FLOATING 1
  2099		252525	252525			V1=N2
  2100		252525	252524			V2=N2*XX
  2101			000002			IFG	XX,<V3=<N2_<-WW>>>
  2102						IFL	XX,<V3=N1+1>
  2103						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2104					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2105					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2106					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2107					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2108
  2109			000004		F40470:	AA1=XX				;INITIAL C(AC)
  2110	031477	200 14 0 00 044623 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 2-2
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0056

  2111			000000			AA2=0				;INITIAL C(AC+1)
  2112	031500	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2113		252525	252525			AEE=V1				;INITIAL C(E)
  2114	031501	200 12 0 00 044767 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2115	031502	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2116			000002			AR1=V3				;EXPECTED RESULT IN AC
  2117	031503	312 14 0 00 044620 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2118	031504	003 14 0 00 040471 		ER3	AC,40471		;HIGH PRODUCT FAILED
  2119		252525	252524			AR2=V2				;EXPECTED RESULT IN AC+1
  2120	031505	312 15 0 00 044771 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2121	031506	004 15 0 00 040472 		ER4	AC+1,40472		;LOW PRODUCT FAILED
  2122		252525	252525			AEE=V1				;INITIAL C(E)
  2123	031507	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2124	031510	005 12 0 00 040473 		ER5	E,40473			;C(E) WAS CLOBBERED
  2125	031511	321 16 0 00 031477 		JUMPL	AC+2,F40470		;LOOP ON ERROR SWITCH^
  2126
  2127			004050			ADR=ADR+1
  2128			000040			WW=WW-1
  2129			000010			XX=XX+XX
  2130						IFE	XX,<XX=1>
  2131
  2132					;MULTIPLY 0101...0101 BY A FLOATING 1
  2133		252525	252525			V1=N2
  2134		125252	525250			V2=N2*XX
  2135			000005			IFG	XX,<V3=<N2_<-WW>>>
  2136						IFL	XX,<V3=N1+1>
  2137						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2138					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2139					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2140					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2141					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2142
  2143			000010		F40500:	AA1=XX				;INITIAL C(AC)
  2144	031512	200 14 0 00 044626 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2145			000000			AA2=0				;INITIAL C(AC+1)
  2146	031513	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2147		252525	252525			AEE=V1				;INITIAL C(E)
  2148	031514	200 12 0 00 044767 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2149	031515	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2150			000005			AR1=V3				;EXPECTED RESULT IN AC
  2151	031516	312 14 0 00 044772 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2152	031517	003 14 0 00 040501 		ER3	AC,40501		;HIGH PRODUCT FAILED
  2153		125252	525250			AR2=V2				;EXPECTED RESULT IN AC+1
  2154	031520	312 15 0 00 044773 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2155	031521	004 15 0 00 040502 		ER4	AC+1,40502		;LOW PRODUCT FAILED
  2156		252525	252525			AEE=V1				;INITIAL C(E)
  2157	031522	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2158	031523	005 12 0 00 040503 		ER5	E,40503			;C(E) WAS CLOBBERED
  2159	031524	321 16 0 00 031512 		JUMPL	AC+2,F40500		;LOOP ON ERROR SWITCH^
  2160
  2161			004051			ADR=ADR+1
  2162			000037			WW=WW-1
  2163			000020			XX=XX+XX
  2164						IFE	XX,<XX=1>
  2165
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 2-3
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0057

  2166					;MULTIPLY 0101...0101 BY A FLOATING 1
  2167		252525	252525			V1=N2
  2168		252525	252520			V2=N2*XX
  2169			000012			IFG	XX,<V3=<N2_<-WW>>>
  2170						IFL	XX,<V3=N1+1>
  2171						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2172					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2173					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2174					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2175					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2176
  2177			000020		F40510:	AA1=XX				;INITIAL C(AC)
  2178	031525	200 14 0 00 044631 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2179			000000			AA2=0				;INITIAL C(AC+1)
  2180	031526	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2181		252525	252525			AEE=V1				;INITIAL C(E)
  2182	031527	200 12 0 00 044767 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2183	031530	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2184			000012			AR1=V3				;EXPECTED RESULT IN AC
  2185	031531	312 14 0 00 044774 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2186	031532	003 14 0 00 040511 		ER3	AC,40511		;HIGH PRODUCT FAILED
  2187		252525	252520			AR2=V2				;EXPECTED RESULT IN AC+1
  2188	031533	312 15 0 00 044775 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2189	031534	004 15 0 00 040512 		ER4	AC+1,40512		;LOW PRODUCT FAILED
  2190		252525	252525			AEE=V1				;INITIAL C(E)
  2191	031535	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2192	031536	005 12 0 00 040513 		ER5	E,40513			;C(E) WAS CLOBBERED
  2193	031537	321 16 0 00 031525 		JUMPL	AC+2,F40510		;LOOP ON ERROR SWITCH^
  2194
  2195			004052			ADR=ADR+1
  2196			000036			WW=WW-1
  2197			000040			XX=XX+XX
  2198						IFE	XX,<XX=1>
  2199
  2200					;MULTIPLY 0101...0101 BY A FLOATING 1
  2201		252525	252525			V1=N2
  2202		125252	525240			V2=N2*XX
  2203			000025			IFG	XX,<V3=<N2_<-WW>>>
  2204						IFL	XX,<V3=N1+1>
  2205						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2206					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2207					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2208					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2209					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2210
  2211			000040		F40520:	AA1=XX				;INITIAL C(AC)
  2212	031540	200 14 0 00 044634 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2213			000000			AA2=0				;INITIAL C(AC+1)
  2214	031541	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2215		252525	252525			AEE=V1				;INITIAL C(E)
  2216	031542	200 12 0 00 044767 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2217	031543	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2218			000025			AR1=V3				;EXPECTED RESULT IN AC
  2219	031544	312 14 0 00 044776 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2220	031545	003 14 0 00 040521 		ER3	AC,40521		;HIGH PRODUCT FAILED
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 2-4
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0058

  2221		125252	525240			AR2=V2				;EXPECTED RESULT IN AC+1
  2222	031546	312 15 0 00 044777 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2223	031547	004 15 0 00 040522 		ER4	AC+1,40522		;LOW PRODUCT FAILED
  2224		252525	252525			AEE=V1				;INITIAL C(E)
  2225	031550	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2226	031551	005 12 0 00 040523 		ER5	E,40523			;C(E) WAS CLOBBERED
  2227	031552	321 16 0 00 031540 		JUMPL	AC+2,F40520		;LOOP ON ERROR SWITCH^
  2228
  2229			004053			ADR=ADR+1
  2230			000035			WW=WW-1
  2231			000100			XX=XX+XX
  2232						IFE	XX,<XX=1>
  2233
  2234					;MULTIPLY 0101...0101 BY A FLOATING 1
  2235		252525	252525			V1=N2
  2236		252525	252500			V2=N2*XX
  2237			000052			IFG	XX,<V3=<N2_<-WW>>>
  2238						IFL	XX,<V3=N1+1>
  2239						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2240					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2241					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2242					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2243					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2244
  2245			000100		F40530:	AA1=XX				;INITIAL C(AC)
  2246	031553	200 14 0 00 044637 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2247			000000			AA2=0				;INITIAL C(AC+1)
  2248	031554	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2249		252525	252525			AEE=V1				;INITIAL C(E)
  2250	031555	200 12 0 00 044767 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2251	031556	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2252			000052			AR1=V3				;EXPECTED RESULT IN AC
  2253	031557	312 14 0 00 045000 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2254	031560	003 14 0 00 040531 		ER3	AC,40531		;HIGH PRODUCT FAILED
  2255		252525	252500			AR2=V2				;EXPECTED RESULT IN AC+1
  2256	031561	312 15 0 00 045001 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2257	031562	004 15 0 00 040532 		ER4	AC+1,40532		;LOW PRODUCT FAILED
  2258		252525	252525			AEE=V1				;INITIAL C(E)
  2259	031563	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2260	031564	005 12 0 00 040533 		ER5	E,40533			;C(E) WAS CLOBBERED
  2261	031565	321 16 0 00 031553 		JUMPL	AC+2,F40530		;LOOP ON ERROR SWITCH^
  2262
  2263			004054			ADR=ADR+1
  2264			000034			WW=WW-1
  2265			000200			XX=XX+XX
  2266						IFE	XX,<XX=1>
  2267
  2268					;MULTIPLY 0101...0101 BY A FLOATING 1
  2269		252525	252525			V1=N2
  2270		125252	525200			V2=N2*XX
  2271			000125			IFG	XX,<V3=<N2_<-WW>>>
  2272						IFL	XX,<V3=N1+1>
  2273						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2274					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2275					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 2-5
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0059

  2276					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2277					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2278
  2279			000200		F40540:	AA1=XX				;INITIAL C(AC)
  2280	031566	200 14 0 00 044642 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2281			000000			AA2=0				;INITIAL C(AC+1)
  2282	031567	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2283		252525	252525			AEE=V1				;INITIAL C(E)
  2284	031570	200 12 0 00 044767 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2285	031571	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2286			000125			AR1=V3				;EXPECTED RESULT IN AC
  2287	031572	312 14 0 00 045002 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2288	031573	003 14 0 00 040541 		ER3	AC,40541		;HIGH PRODUCT FAILED
  2289		125252	525200			AR2=V2				;EXPECTED RESULT IN AC+1
  2290	031574	312 15 0 00 045003 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2291	031575	004 15 0 00 040542 		ER4	AC+1,40542		;LOW PRODUCT FAILED
  2292		252525	252525			AEE=V1				;INITIAL C(E)
  2293	031576	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2294	031577	005 12 0 00 040543 		ER5	E,40543			;C(E) WAS CLOBBERED
  2295	031600	321 16 0 00 031566 		JUMPL	AC+2,F40540		;LOOP ON ERROR SWITCH^
  2296
  2297			004055			ADR=ADR+1
  2298			000033			WW=WW-1
  2299			000400			XX=XX+XX
  2300						IFE	XX,<XX=1>
  2301
  2302					;MULTIPLY 0101...0101 BY A FLOATING 1
  2303		252525	252525			V1=N2
  2304		252525	252400			V2=N2*XX
  2305			000252			IFG	XX,<V3=<N2_<-WW>>>
  2306						IFL	XX,<V3=N1+1>
  2307						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2308					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2309					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2310					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2311					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2312
  2313			000400		F40550:	AA1=XX				;INITIAL C(AC)
  2314	031601	200 14 0 00 044645 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2315			000000			AA2=0				;INITIAL C(AC+1)
  2316	031602	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2317		252525	252525			AEE=V1				;INITIAL C(E)
  2318	031603	200 12 0 00 044767 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2319	031604	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2320			000252			AR1=V3				;EXPECTED RESULT IN AC
  2321	031605	312 14 0 00 045004 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2322	031606	003 14 0 00 040551 		ER3	AC,40551		;HIGH PRODUCT FAILED
  2323		252525	252400			AR2=V2				;EXPECTED RESULT IN AC+1
  2324	031607	312 15 0 00 045005 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2325	031610	004 15 0 00 040552 		ER4	AC+1,40552		;LOW PRODUCT FAILED
  2326		252525	252525			AEE=V1				;INITIAL C(E)
  2327	031611	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2328	031612	005 12 0 00 040553 		ER5	E,40553			;C(E) WAS CLOBBERED
  2329	031613	321 16 0 00 031601 		JUMPL	AC+2,F40550		;LOOP ON ERROR SWITCH^
  2330
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 2-6
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0060

  2331			004056			ADR=ADR+1
  2332			000032			WW=WW-1
  2333			001000			XX=XX+XX
  2334						IFE	XX,<XX=1>
  2335
  2336					;MULTIPLY 0101...0101 BY A FLOATING 1
  2337		252525	252525			V1=N2
  2338		125252	525000			V2=N2*XX
  2339			000525			IFG	XX,<V3=<N2_<-WW>>>
  2340						IFL	XX,<V3=N1+1>
  2341						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2342					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2343					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2344					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2345					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2346
  2347			001000		F40560:	AA1=XX				;INITIAL C(AC)
  2348	031614	200 14 0 00 044650 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2349			000000			AA2=0				;INITIAL C(AC+1)
  2350	031615	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2351		252525	252525			AEE=V1				;INITIAL C(E)
  2352	031616	200 12 0 00 044767 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2353	031617	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2354			000525			AR1=V3				;EXPECTED RESULT IN AC
  2355	031620	312 14 0 00 045006 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2356	031621	003 14 0 00 040561 		ER3	AC,40561		;HIGH PRODUCT FAILED
  2357		125252	525000			AR2=V2				;EXPECTED RESULT IN AC+1
  2358	031622	312 15 0 00 045007 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2359	031623	004 15 0 00 040562 		ER4	AC+1,40562		;LOW PRODUCT FAILED
  2360		252525	252525			AEE=V1				;INITIAL C(E)
  2361	031624	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2362	031625	005 12 0 00 040563 		ER5	E,40563			;C(E) WAS CLOBBERED
  2363	031626	321 16 0 00 031614 		JUMPL	AC+2,F40560		;LOOP ON ERROR SWITCH^
  2364
  2365			004057			ADR=ADR+1
  2366			000031			WW=WW-1
  2367			002000			XX=XX+XX
  2368						IFE	XX,<XX=1>
  2369
  2370					;MULTIPLY 0101...0101 BY A FLOATING 1
  2371		252525	252525			V1=N2
  2372		252525	252000			V2=N2*XX
  2373			001252			IFG	XX,<V3=<N2_<-WW>>>
  2374						IFL	XX,<V3=N1+1>
  2375						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2376					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2377					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2378					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2379					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2380
  2381			002000		F40570:	AA1=XX				;INITIAL C(AC)
  2382	031627	200 14 0 00 044653 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2383			000000			AA2=0				;INITIAL C(AC+1)
  2384	031630	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2385		252525	252525			AEE=V1				;INITIAL C(E)
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 2-7
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0061

  2386	031631	200 12 0 00 044767 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2387	031632	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2388			001252			AR1=V3				;EXPECTED RESULT IN AC
  2389	031633	312 14 0 00 045010 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2390	031634	003 14 0 00 040571 		ER3	AC,40571		;HIGH PRODUCT FAILED
  2391		252525	252000			AR2=V2				;EXPECTED RESULT IN AC+1
  2392	031635	312 15 0 00 045011 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2393	031636	004 15 0 00 040572 		ER4	AC+1,40572		;LOW PRODUCT FAILED
  2394		252525	252525			AEE=V1				;INITIAL C(E)
  2395	031637	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2396	031640	005 12 0 00 040573 		ER5	E,40573			;C(E) WAS CLOBBERED
  2397	031641	321 16 0 00 031627 		JUMPL	AC+2,F40570		;LOOP ON ERROR SWITCH^
  2398
  2399			004060			ADR=ADR+1
  2400			000030			WW=WW-1
  2401			004000			XX=XX+XX
  2402						IFE	XX,<XX=1>
  2403
  2404					;MULTIPLY 0101...0101 BY A FLOATING 1
  2405		252525	252525			V1=N2
  2406		125252	524000			V2=N2*XX
  2407			002525			IFG	XX,<V3=<N2_<-WW>>>
  2408						IFL	XX,<V3=N1+1>
  2409						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2410					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2411					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2412					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2413					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2414
  2415			004000		F40600:	AA1=XX				;INITIAL C(AC)
  2416	031642	200 14 0 00 044656 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2417			000000			AA2=0				;INITIAL C(AC+1)
  2418	031643	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2419		252525	252525			AEE=V1				;INITIAL C(E)
  2420	031644	200 12 0 00 044767 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2421	031645	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2422			002525			AR1=V3				;EXPECTED RESULT IN AC
  2423	031646	312 14 0 00 045012 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2424	031647	003 14 0 00 040601 		ER3	AC,40601		;HIGH PRODUCT FAILED
  2425		125252	524000			AR2=V2				;EXPECTED RESULT IN AC+1
  2426	031650	312 15 0 00 045013 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2427	031651	004 15 0 00 040602 		ER4	AC+1,40602		;LOW PRODUCT FAILED
  2428		252525	252525			AEE=V1				;INITIAL C(E)
  2429	031652	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2430	031653	005 12 0 00 040603 		ER5	E,40603			;C(E) WAS CLOBBERED
  2431	031654	321 16 0 00 031642 		JUMPL	AC+2,F40600		;LOOP ON ERROR SWITCH^
  2432
  2433			004061			ADR=ADR+1
  2434			000027			WW=WW-1
  2435			010000			XX=XX+XX
  2436						IFE	XX,<XX=1>
  2437
  2438					;MULTIPLY 0101...0101 BY A FLOATING 1
  2439		252525	252525			V1=N2
  2440		252525	250000			V2=N2*XX
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 2-8
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0062

  2441			005252			IFG	XX,<V3=<N2_<-WW>>>
  2442						IFL	XX,<V3=N1+1>
  2443						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2444					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2445					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2446					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2447					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2448
  2449			010000		F40610:	AA1=XX				;INITIAL C(AC)
  2450	031655	200 14 0 00 044661 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2451			000000			AA2=0				;INITIAL C(AC+1)
  2452	031656	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2453		252525	252525			AEE=V1				;INITIAL C(E)
  2454	031657	200 12 0 00 044767 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2455	031660	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2456			005252			AR1=V3				;EXPECTED RESULT IN AC
  2457	031661	312 14 0 00 045014 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2458	031662	003 14 0 00 040611 		ER3	AC,40611		;HIGH PRODUCT FAILED
  2459		252525	250000			AR2=V2				;EXPECTED RESULT IN AC+1
  2460	031663	312 15 0 00 045015 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2461	031664	004 15 0 00 040612 		ER4	AC+1,40612		;LOW PRODUCT FAILED
  2462		252525	252525			AEE=V1				;INITIAL C(E)
  2463	031665	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2464	031666	005 12 0 00 040613 		ER5	E,40613			;C(E) WAS CLOBBERED
  2465	031667	321 16 0 00 031655 		JUMPL	AC+2,F40610		;LOOP ON ERROR SWITCH^
  2466
  2467			004062			ADR=ADR+1
  2468			000026			WW=WW-1
  2469			020000			XX=XX+XX
  2470						IFE	XX,<XX=1>
  2471
  2472					;MULTIPLY 0101...0101 BY A FLOATING 1
  2473		252525	252525			V1=N2
  2474		125252	520000			V2=N2*XX
  2475			012525			IFG	XX,<V3=<N2_<-WW>>>
  2476						IFL	XX,<V3=N1+1>
  2477						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2478					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2479					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2480					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2481					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2482
  2483			020000		F40620:	AA1=XX				;INITIAL C(AC)
  2484	031670	200 14 0 00 044664 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2485			000000			AA2=0				;INITIAL C(AC+1)
  2486	031671	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2487		252525	252525			AEE=V1				;INITIAL C(E)
  2488	031672	200 12 0 00 044767 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2489	031673	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2490			012525			AR1=V3				;EXPECTED RESULT IN AC
  2491	031674	312 14 0 00 045016 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2492	031675	003 14 0 00 040621 		ER3	AC,40621		;HIGH PRODUCT FAILED
  2493		125252	520000			AR2=V2				;EXPECTED RESULT IN AC+1
  2494	031676	312 15 0 00 045017 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2495	031677	004 15 0 00 040622 		ER4	AC+1,40622		;LOW PRODUCT FAILED
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 2-9
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0063

  2496		252525	252525			AEE=V1				;INITIAL C(E)
  2497	031700	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2498	031701	005 12 0 00 040623 		ER5	E,40623			;C(E) WAS CLOBBERED
  2499	031702	321 16 0 00 031670 		JUMPL	AC+2,F40620		;LOOP ON ERROR SWITCH^
  2500
  2501			004063			ADR=ADR+1
  2502			000025			WW=WW-1
  2503			040000			XX=XX+XX
  2504						IFE	XX,<XX=1>
  2505
  2506					;MULTIPLY 0101...0101 BY A FLOATING 1
  2507		252525	252525			V1=N2
  2508		252525	240000			V2=N2*XX
  2509			025252			IFG	XX,<V3=<N2_<-WW>>>
  2510						IFL	XX,<V3=N1+1>
  2511						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2512					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2513					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2514					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2515					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2516
  2517			040000		F40630:	AA1=XX				;INITIAL C(AC)
  2518	031703	200 14 0 00 044667 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2519			000000			AA2=0				;INITIAL C(AC+1)
  2520	031704	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2521		252525	252525			AEE=V1				;INITIAL C(E)
  2522	031705	200 12 0 00 044767 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2523	031706	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2524			025252			AR1=V3				;EXPECTED RESULT IN AC
  2525	031707	312 14 0 00 045020 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2526	031710	003 14 0 00 040631 		ER3	AC,40631		;HIGH PRODUCT FAILED
  2527		252525	240000			AR2=V2				;EXPECTED RESULT IN AC+1
  2528	031711	312 15 0 00 045021 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2529	031712	004 15 0 00 040632 		ER4	AC+1,40632		;LOW PRODUCT FAILED
  2530		252525	252525			AEE=V1				;INITIAL C(E)
  2531	031713	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2532	031714	005 12 0 00 040633 		ER5	E,40633			;C(E) WAS CLOBBERED
  2533	031715	321 16 0 00 031703 		JUMPL	AC+2,F40630		;LOOP ON ERROR SWITCH^
  2534
  2535			004064			ADR=ADR+1
  2536			000024			WW=WW-1
  2537			100000			XX=XX+XX
  2538						IFE	XX,<XX=1>
  2539
  2540					;MULTIPLY 0101...0101 BY A FLOATING 1
  2541		252525	252525			V1=N2
  2542		125252	500000			V2=N2*XX
  2543			052525			IFG	XX,<V3=<N2_<-WW>>>
  2544						IFL	XX,<V3=N1+1>
  2545						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2546					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2547					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2548					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2549					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2550
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 2-10
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0064

  2551			100000		F40640:	AA1=XX				;INITIAL C(AC)
  2552	031716	200 14 0 00 044672 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2553			000000			AA2=0				;INITIAL C(AC+1)
  2554	031717	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2555		252525	252525			AEE=V1				;INITIAL C(E)
  2556	031720	200 12 0 00 044767 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2557	031721	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2558			052525			AR1=V3				;EXPECTED RESULT IN AC
  2559	031722	312 14 0 00 045022 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2560	031723	003 14 0 00 040641 		ER3	AC,40641		;HIGH PRODUCT FAILED
  2561		125252	500000			AR2=V2				;EXPECTED RESULT IN AC+1
  2562	031724	312 15 0 00 045023 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2563	031725	004 15 0 00 040642 		ER4	AC+1,40642		;LOW PRODUCT FAILED
  2564		252525	252525			AEE=V1				;INITIAL C(E)
  2565	031726	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2566	031727	005 12 0 00 040643 		ER5	E,40643			;C(E) WAS CLOBBERED
  2567	031730	321 16 0 00 031716 		JUMPL	AC+2,F40640		;LOOP ON ERROR SWITCH^
  2568
  2569			004065			ADR=ADR+1
  2570			000023			WW=WW-1
  2571			200000			XX=XX+XX
  2572						IFE	XX,<XX=1>
  2573
  2574					;MULTIPLY 0101...0101 BY A FLOATING 1
  2575		252525	252525			V1=N2
  2576		252525	200000			V2=N2*XX
  2577			125252			IFG	XX,<V3=<N2_<-WW>>>
  2578						IFL	XX,<V3=N1+1>
  2579						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2580					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2581					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2582					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2583					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2584
  2585			200000		F40650:	AA1=XX				;INITIAL C(AC)
  2586	031731	200 14 0 00 044675 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2587			000000			AA2=0				;INITIAL C(AC+1)
  2588	031732	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2589		252525	252525			AEE=V1				;INITIAL C(E)
  2590	031733	200 12 0 00 044767 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2591	031734	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2592			125252			AR1=V3				;EXPECTED RESULT IN AC
  2593	031735	312 14 0 00 045024 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2594	031736	003 14 0 00 040651 		ER3	AC,40651		;HIGH PRODUCT FAILED
  2595		252525	200000			AR2=V2				;EXPECTED RESULT IN AC+1
  2596	031737	312 15 0 00 045025 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2597	031740	004 15 0 00 040652 		ER4	AC+1,40652		;LOW PRODUCT FAILED
  2598		252525	252525			AEE=V1				;INITIAL C(E)
  2599	031741	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2600	031742	005 12 0 00 040653 		ER5	E,40653			;C(E) WAS CLOBBERED
  2601	031743	321 16 0 00 031731 		JUMPL	AC+2,F40650		;LOOP ON ERROR SWITCH^
  2602
  2603			004066			ADR=ADR+1
  2604			000022			WW=WW-1
  2605			400000			XX=XX+XX
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 2-11
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0065

  2606						IFE	XX,<XX=1>
  2607
  2608					;MULTIPLY 0101...0101 BY A FLOATING 1
  2609		252525	252525			V1=N2
  2610		125252	400000			V2=N2*XX
  2611			252525			IFG	XX,<V3=<N2_<-WW>>>
  2612						IFL	XX,<V3=N1+1>
  2613						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2614					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2615					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2616					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2617					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2618
  2619			400000		F40660:	AA1=XX				;INITIAL C(AC)
  2620	031744	200 14 0 00 044700 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2621			000000			AA2=0				;INITIAL C(AC+1)
  2622	031745	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2623		252525	252525			AEE=V1				;INITIAL C(E)
  2624	031746	200 12 0 00 044767 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2625	031747	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2626			252525			AR1=V3				;EXPECTED RESULT IN AC
  2627	031750	312 14 0 00 045026 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2628	031751	003 14 0 00 040661 		ER3	AC,40661		;HIGH PRODUCT FAILED
  2629		125252	400000			AR2=V2				;EXPECTED RESULT IN AC+1
  2630	031752	312 15 0 00 045027 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2631	031753	004 15 0 00 040662 		ER4	AC+1,40662		;LOW PRODUCT FAILED
  2632		252525	252525			AEE=V1				;INITIAL C(E)
  2633	031754	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2634	031755	005 12 0 00 040663 		ER5	E,40663			;C(E) WAS CLOBBERED
  2635	031756	321 16 0 00 031744 		JUMPL	AC+2,F40660		;LOOP ON ERROR SWITCH^
  2636
  2637			004067			ADR=ADR+1
  2638			000021			WW=WW-1
  2639		000001	000000			XX=XX+XX
  2640						IFE	XX,<XX=1>
  2641
  2642					;MULTIPLY 0101...0101 BY A FLOATING 1
  2643		252525	252525			V1=N2
  2644		252525	000000			V2=N2*XX
  2645			525252			IFG	XX,<V3=<N2_<-WW>>>
  2646						IFL	XX,<V3=N1+1>
  2647						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2648					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2649					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2650					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2651					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2652
  2653		000001	000000		F40670:	AA1=XX				;INITIAL C(AC)
  2654	031757	200 14 0 00 044703 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2655			000000			AA2=0				;INITIAL C(AC+1)
  2656	031760	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2657		252525	252525			AEE=V1				;INITIAL C(E)
  2658	031761	200 12 0 00 044767 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2659	031762	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2660			525252			AR1=V3				;EXPECTED RESULT IN AC
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 2-12
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0066

  2661	031763	312 14 0 00 045030 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2662	031764	003 14 0 00 040671 		ER3	AC,40671		;HIGH PRODUCT FAILED
  2663		252525	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  2664	031765	312 15 0 00 045031 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2665	031766	004 15 0 00 040672 		ER4	AC+1,40672		;LOW PRODUCT FAILED
  2666		252525	252525			AEE=V1				;INITIAL C(E)
  2667	031767	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2668	031770	005 12 0 00 040673 		ER5	E,40673			;C(E) WAS CLOBBERED
  2669	031771	321 16 0 00 031757 		JUMPL	AC+2,F40670		;LOOP ON ERROR SWITCH^
  2670
  2671			004070			ADR=ADR+1
  2672			000020			WW=WW-1
  2673		000002	000000			XX=XX+XX
  2674						IFE	XX,<XX=1>
  2675
  2676					;MULTIPLY 0101...0101 BY A FLOATING 1
  2677		252525	252525			V1=N2
  2678		125252	000000			V2=N2*XX
  2679		000001	252525			IFG	XX,<V3=<N2_<-WW>>>
  2680						IFL	XX,<V3=N1+1>
  2681						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2682					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2683					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2684					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2685					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2686
  2687		000002	000000		F40700:	AA1=XX				;INITIAL C(AC)
  2688	031772	200 14 0 00 044706 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2689			000000			AA2=0				;INITIAL C(AC+1)
  2690	031773	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2691		252525	252525			AEE=V1				;INITIAL C(E)
  2692	031774	200 12 0 00 044767 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2693	031775	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2694		000001	252525			AR1=V3				;EXPECTED RESULT IN AC
  2695	031776	312 14 0 00 045032 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2696	031777	003 14 0 00 040701 		ER3	AC,40701		;HIGH PRODUCT FAILED
  2697		125252	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  2698	032000	312 15 0 00 045033 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2699	032001	004 15 0 00 040702 		ER4	AC+1,40702		;LOW PRODUCT FAILED
  2700		252525	252525			AEE=V1				;INITIAL C(E)
  2701	032002	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2702	032003	005 12 0 00 040703 		ER5	E,40703			;C(E) WAS CLOBBERED
  2703	032004	321 16 0 00 031772 		JUMPL	AC+2,F40700		;LOOP ON ERROR SWITCH^
  2704
  2705			004071			ADR=ADR+1
  2706			000017			WW=WW-1
  2707		000004	000000			XX=XX+XX
  2708						IFE	XX,<XX=1>
  2709
  2710					;MULTIPLY 0101...0101 BY A FLOATING 1
  2711		252525	252525			V1=N2
  2712		252524	000000			V2=N2*XX
  2713		000002	525252			IFG	XX,<V3=<N2_<-WW>>>
  2714						IFL	XX,<V3=N1+1>
  2715						MOP1	(\ADR,XX,0,V1,V3,V2)^
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 2-13
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0067

  2716					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2717					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2718					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2719					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2720
  2721		000004	000000		F40710:	AA1=XX				;INITIAL C(AC)
  2722	032005	200 14 0 00 044711 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2723			000000			AA2=0				;INITIAL C(AC+1)
  2724	032006	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2725		252525	252525			AEE=V1				;INITIAL C(E)
  2726	032007	200 12 0 00 044767 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2727	032010	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2728		000002	525252			AR1=V3				;EXPECTED RESULT IN AC
  2729	032011	312 14 0 00 045034 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2730	032012	003 14 0 00 040711 		ER3	AC,40711		;HIGH PRODUCT FAILED
  2731		252524	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  2732	032013	312 15 0 00 045035 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2733	032014	004 15 0 00 040712 		ER4	AC+1,40712		;LOW PRODUCT FAILED
  2734		252525	252525			AEE=V1				;INITIAL C(E)
  2735	032015	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2736	032016	005 12 0 00 040713 		ER5	E,40713			;C(E) WAS CLOBBERED
  2737	032017	321 16 0 00 032005 		JUMPL	AC+2,F40710		;LOOP ON ERROR SWITCH^
  2738
  2739			004072			ADR=ADR+1
  2740			000016			WW=WW-1
  2741		000010	000000			XX=XX+XX
  2742						IFE	XX,<XX=1>
  2743
  2744					;MULTIPLY 0101...0101 BY A FLOATING 1
  2745		252525	252525			V1=N2
  2746		125250	000000			V2=N2*XX
  2747		000005	252525			IFG	XX,<V3=<N2_<-WW>>>
  2748						IFL	XX,<V3=N1+1>
  2749						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2750					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2751					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2752					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2753					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2754
  2755		000010	000000		F40720:	AA1=XX				;INITIAL C(AC)
  2756	032020	200 14 0 00 044714 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2757			000000			AA2=0				;INITIAL C(AC+1)
  2758	032021	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2759		252525	252525			AEE=V1				;INITIAL C(E)
  2760	032022	200 12 0 00 044767 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2761	032023	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2762		000005	252525			AR1=V3				;EXPECTED RESULT IN AC
  2763	032024	312 14 0 00 045036 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2764	032025	003 14 0 00 040721 		ER3	AC,40721		;HIGH PRODUCT FAILED
  2765		125250	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  2766	032026	312 15 0 00 045037 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2767	032027	004 15 0 00 040722 		ER4	AC+1,40722		;LOW PRODUCT FAILED
  2768		252525	252525			AEE=V1				;INITIAL C(E)
  2769	032030	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2770	032031	005 12 0 00 040723 		ER5	E,40723			;C(E) WAS CLOBBERED
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 2-14
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0068

  2771	032032	321 16 0 00 032020 		JUMPL	AC+2,F40720		;LOOP ON ERROR SWITCH^
  2772
  2773			004073			ADR=ADR+1
  2774			000015			WW=WW-1
  2775		000020	000000			XX=XX+XX
  2776						IFE	XX,<XX=1>
  2777
  2778					;MULTIPLY 0101...0101 BY A FLOATING 1
  2779		252525	252525			V1=N2
  2780		252520	000000			V2=N2*XX
  2781		000012	525252			IFG	XX,<V3=<N2_<-WW>>>
  2782						IFL	XX,<V3=N1+1>
  2783						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2784					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2785					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2786					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2787					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2788
  2789		000020	000000		F40730:	AA1=XX				;INITIAL C(AC)
  2790	032033	200 14 0 00 044717 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2791			000000			AA2=0				;INITIAL C(AC+1)
  2792	032034	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2793		252525	252525			AEE=V1				;INITIAL C(E)
  2794	032035	200 12 0 00 044767 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2795	032036	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2796		000012	525252			AR1=V3				;EXPECTED RESULT IN AC
  2797	032037	312 14 0 00 045040 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2798	032040	003 14 0 00 040731 		ER3	AC,40731		;HIGH PRODUCT FAILED
  2799		252520	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  2800	032041	312 15 0 00 045041 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2801	032042	004 15 0 00 040732 		ER4	AC+1,40732		;LOW PRODUCT FAILED
  2802		252525	252525			AEE=V1				;INITIAL C(E)
  2803	032043	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2804	032044	005 12 0 00 040733 		ER5	E,40733			;C(E) WAS CLOBBERED
  2805	032045	321 16 0 00 032033 		JUMPL	AC+2,F40730		;LOOP ON ERROR SWITCH^
  2806
  2807			004074			ADR=ADR+1
  2808			000014			WW=WW-1
  2809		000040	000000			XX=XX+XX
  2810						IFE	XX,<XX=1>
  2811
  2812					;MULTIPLY 0101...0101 BY A FLOATING 1
  2813		252525	252525			V1=N2
  2814		125240	000000			V2=N2*XX
  2815		000025	252525			IFG	XX,<V3=<N2_<-WW>>>
  2816						IFL	XX,<V3=N1+1>
  2817						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2818					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2819					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2820					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2821					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2822
  2823		000040	000000		F40740:	AA1=XX				;INITIAL C(AC)
  2824	032046	200 14 0 00 044722 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2825			000000			AA2=0				;INITIAL C(AC+1)
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 2-15
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0069

  2826	032047	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2827		252525	252525			AEE=V1				;INITIAL C(E)
  2828	032050	200 12 0 00 044767 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2829	032051	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2830		000025	252525			AR1=V3				;EXPECTED RESULT IN AC
  2831	032052	312 14 0 00 045042 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2832	032053	003 14 0 00 040741 		ER3	AC,40741		;HIGH PRODUCT FAILED
  2833		125240	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  2834	032054	312 15 0 00 045043 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2835	032055	004 15 0 00 040742 		ER4	AC+1,40742		;LOW PRODUCT FAILED
  2836		252525	252525			AEE=V1				;INITIAL C(E)
  2837	032056	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2838	032057	005 12 0 00 040743 		ER5	E,40743			;C(E) WAS CLOBBERED
  2839	032060	321 16 0 00 032046 		JUMPL	AC+2,F40740		;LOOP ON ERROR SWITCH^
  2840
  2841			004075			ADR=ADR+1
  2842			000013			WW=WW-1
  2843		000100	000000			XX=XX+XX
  2844						IFE	XX,<XX=1>
  2845
  2846					;MULTIPLY 0101...0101 BY A FLOATING 1
  2847		252525	252525			V1=N2
  2848		252500	000000			V2=N2*XX
  2849		000052	525252			IFG	XX,<V3=<N2_<-WW>>>
  2850						IFL	XX,<V3=N1+1>
  2851						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2852					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2853					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2854					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2855					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2856
  2857		000100	000000		F40750:	AA1=XX				;INITIAL C(AC)
  2858	032061	200 14 0 00 044725 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2859			000000			AA2=0				;INITIAL C(AC+1)
  2860	032062	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2861		252525	252525			AEE=V1				;INITIAL C(E)
  2862	032063	200 12 0 00 044767 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2863	032064	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2864		000052	525252			AR1=V3				;EXPECTED RESULT IN AC
  2865	032065	312 14 0 00 045044 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2866	032066	003 14 0 00 040751 		ER3	AC,40751		;HIGH PRODUCT FAILED
  2867		252500	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  2868	032067	312 15 0 00 045045 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2869	032070	004 15 0 00 040752 		ER4	AC+1,40752		;LOW PRODUCT FAILED
  2870		252525	252525			AEE=V1				;INITIAL C(E)
  2871	032071	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2872	032072	005 12 0 00 040753 		ER5	E,40753			;C(E) WAS CLOBBERED
  2873	032073	321 16 0 00 032061 		JUMPL	AC+2,F40750		;LOOP ON ERROR SWITCH^
  2874
  2875			004076			ADR=ADR+1
  2876			000012			WW=WW-1
  2877		000200	000000			XX=XX+XX
  2878						IFE	XX,<XX=1>
  2879
  2880					;MULTIPLY 0101...0101 BY A FLOATING 1
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 2-16
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0070

  2881		252525	252525			V1=N2
  2882		125200	000000			V2=N2*XX
  2883		000125	252525			IFG	XX,<V3=<N2_<-WW>>>
  2884						IFL	XX,<V3=N1+1>
  2885						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2886					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2887					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2888					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2889					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2890
  2891		000200	000000		F40760:	AA1=XX				;INITIAL C(AC)
  2892	032074	200 14 0 00 044730 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2893			000000			AA2=0				;INITIAL C(AC+1)
  2894	032075	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2895		252525	252525			AEE=V1				;INITIAL C(E)
  2896	032076	200 12 0 00 044767 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2897	032077	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2898		000125	252525			AR1=V3				;EXPECTED RESULT IN AC
  2899	032100	312 14 0 00 045046 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2900	032101	003 14 0 00 040761 		ER3	AC,40761		;HIGH PRODUCT FAILED
  2901		125200	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  2902	032102	312 15 0 00 045047 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2903	032103	004 15 0 00 040762 		ER4	AC+1,40762		;LOW PRODUCT FAILED
  2904		252525	252525			AEE=V1				;INITIAL C(E)
  2905	032104	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2906	032105	005 12 0 00 040763 		ER5	E,40763			;C(E) WAS CLOBBERED
  2907	032106	321 16 0 00 032074 		JUMPL	AC+2,F40760		;LOOP ON ERROR SWITCH^
  2908
  2909			004077			ADR=ADR+1
  2910			000011			WW=WW-1
  2911		000400	000000			XX=XX+XX
  2912						IFE	XX,<XX=1>
  2913
  2914					;MULTIPLY 0101...0101 BY A FLOATING 1
  2915		252525	252525			V1=N2
  2916		252400	000000			V2=N2*XX
  2917		000252	525252			IFG	XX,<V3=<N2_<-WW>>>
  2918						IFL	XX,<V3=N1+1>
  2919						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2920					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2921					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2922					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2923					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2924
  2925		000400	000000		F40770:	AA1=XX				;INITIAL C(AC)
  2926	032107	200 14 0 00 044733 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2927			000000			AA2=0				;INITIAL C(AC+1)
  2928	032110	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2929		252525	252525			AEE=V1				;INITIAL C(E)
  2930	032111	200 12 0 00 044767 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2931	032112	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2932		000252	525252			AR1=V3				;EXPECTED RESULT IN AC
  2933	032113	312 14 0 00 045050 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2934	032114	003 14 0 00 040771 		ER3	AC,40771		;HIGH PRODUCT FAILED
  2935		252400	000000			AR2=V2				;EXPECTED RESULT IN AC+1
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 2-17
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0071

  2936	032115	312 15 0 00 045051 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2937	032116	004 15 0 00 040772 		ER4	AC+1,40772		;LOW PRODUCT FAILED
  2938		252525	252525			AEE=V1				;INITIAL C(E)
  2939	032117	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2940	032120	005 12 0 00 040773 		ER5	E,40773			;C(E) WAS CLOBBERED
  2941	032121	321 16 0 00 032107 		JUMPL	AC+2,F40770		;LOOP ON ERROR SWITCH^
  2942
  2943			004100			ADR=ADR+1
  2944			000010			WW=WW-1
  2945		001000	000000			XX=XX+XX
  2946						IFE	XX,<XX=1>
  2947
  2948					;MULTIPLY 0101...0101 BY A FLOATING 1
  2949		252525	252525			V1=N2
  2950		125000	000000			V2=N2*XX
  2951		000525	252525			IFG	XX,<V3=<N2_<-WW>>>
  2952						IFL	XX,<V3=N1+1>
  2953						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2954					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2955					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2956					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  2957					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2958
  2959		001000	000000		F41000:	AA1=XX				;INITIAL C(AC)
  2960	032122	200 14 0 00 044736 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2961			000000			AA2=0				;INITIAL C(AC+1)
  2962	032123	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2963		252525	252525			AEE=V1				;INITIAL C(E)
  2964	032124	200 12 0 00 044767 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2965	032125	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  2966		000525	252525			AR1=V3				;EXPECTED RESULT IN AC
  2967	032126	312 14 0 00 045052 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  2968	032127	003 14 0 00 041001 		ER3	AC,41001		;HIGH PRODUCT FAILED
  2969		125000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  2970	032130	312 15 0 00 045053 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  2971	032131	004 15 0 00 041002 		ER4	AC+1,41002		;LOW PRODUCT FAILED
  2972		252525	252525			AEE=V1				;INITIAL C(E)
  2973	032132	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  2974	032133	005 12 0 00 041003 		ER5	E,41003			;C(E) WAS CLOBBERED
  2975	032134	321 16 0 00 032122 		JUMPL	AC+2,F41000		;LOOP ON ERROR SWITCH^
  2976
  2977			004101			ADR=ADR+1
  2978			000007			WW=WW-1
  2979		002000	000000			XX=XX+XX
  2980						IFE	XX,<XX=1>
  2981
  2982					;MULTIPLY 0101...0101 BY A FLOATING 1
  2983		252525	252525			V1=N2
  2984		252000	000000			V2=N2*XX
  2985		001252	525252			IFG	XX,<V3=<N2_<-WW>>>
  2986						IFL	XX,<V3=N1+1>
  2987						MOP1	(\ADR,XX,0,V1,V3,V2)^
  2988					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  2989					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  2990					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 2-18
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0072

  2991					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  2992
  2993		002000	000000		F41010:	AA1=XX				;INITIAL C(AC)
  2994	032135	200 14 0 00 044741 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  2995			000000			AA2=0				;INITIAL C(AC+1)
  2996	032136	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  2997		252525	252525			AEE=V1				;INITIAL C(E)
  2998	032137	200 12 0 00 044767 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  2999	032140	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3000		001252	525252			AR1=V3				;EXPECTED RESULT IN AC
  3001	032141	312 14 0 00 045054 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3002	032142	003 14 0 00 041011 		ER3	AC,41011		;HIGH PRODUCT FAILED
  3003		252000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  3004	032143	312 15 0 00 045055 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3005	032144	004 15 0 00 041012 		ER4	AC+1,41012		;LOW PRODUCT FAILED
  3006		252525	252525			AEE=V1				;INITIAL C(E)
  3007	032145	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  3008	032146	005 12 0 00 041013 		ER5	E,41013			;C(E) WAS CLOBBERED
  3009	032147	321 16 0 00 032135 		JUMPL	AC+2,F41010		;LOOP ON ERROR SWITCH^
  3010
  3011			004102			ADR=ADR+1
  3012			000006			WW=WW-1
  3013		004000	000000			XX=XX+XX
  3014						IFE	XX,<XX=1>
  3015
  3016					;MULTIPLY 0101...0101 BY A FLOATING 1
  3017		252525	252525			V1=N2
  3018		124000	000000			V2=N2*XX
  3019		002525	252525			IFG	XX,<V3=<N2_<-WW>>>
  3020						IFL	XX,<V3=N1+1>
  3021						MOP1	(\ADR,XX,0,V1,V3,V2)^
  3022					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  3023					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3024					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  3025					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3026
  3027		004000	000000		F41020:	AA1=XX				;INITIAL C(AC)
  3028	032150	200 14 0 00 044744 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  3029			000000			AA2=0				;INITIAL C(AC+1)
  3030	032151	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3031		252525	252525			AEE=V1				;INITIAL C(E)
  3032	032152	200 12 0 00 044767 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  3033	032153	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3034		002525	252525			AR1=V3				;EXPECTED RESULT IN AC
  3035	032154	312 14 0 00 045056 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3036	032155	003 14 0 00 041021 		ER3	AC,41021		;HIGH PRODUCT FAILED
  3037		124000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  3038	032156	312 15 0 00 045057 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3039	032157	004 15 0 00 041022 		ER4	AC+1,41022		;LOW PRODUCT FAILED
  3040		252525	252525			AEE=V1				;INITIAL C(E)
  3041	032160	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  3042	032161	005 12 0 00 041023 		ER5	E,41023			;C(E) WAS CLOBBERED
  3043	032162	321 16 0 00 032150 		JUMPL	AC+2,F41020		;LOOP ON ERROR SWITCH^
  3044
  3045			004103			ADR=ADR+1
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 2-19
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0073

  3046			000005			WW=WW-1
  3047		010000	000000			XX=XX+XX
  3048						IFE	XX,<XX=1>
  3049
  3050					;MULTIPLY 0101...0101 BY A FLOATING 1
  3051		252525	252525			V1=N2
  3052		250000	000000			V2=N2*XX
  3053		005252	525252			IFG	XX,<V3=<N2_<-WW>>>
  3054						IFL	XX,<V3=N1+1>
  3055						MOP1	(\ADR,XX,0,V1,V3,V2)^
  3056					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  3057					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3058					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  3059					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3060
  3061		010000	000000		F41030:	AA1=XX				;INITIAL C(AC)
  3062	032163	200 14 0 00 044747 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  3063			000000			AA2=0				;INITIAL C(AC+1)
  3064	032164	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3065		252525	252525			AEE=V1				;INITIAL C(E)
  3066	032165	200 12 0 00 044767 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  3067	032166	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3068		005252	525252			AR1=V3				;EXPECTED RESULT IN AC
  3069	032167	312 14 0 00 045060 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3070	032170	003 14 0 00 041031 		ER3	AC,41031		;HIGH PRODUCT FAILED
  3071		250000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  3072	032171	312 15 0 00 045061 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3073	032172	004 15 0 00 041032 		ER4	AC+1,41032		;LOW PRODUCT FAILED
  3074		252525	252525			AEE=V1				;INITIAL C(E)
  3075	032173	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  3076	032174	005 12 0 00 041033 		ER5	E,41033			;C(E) WAS CLOBBERED
  3077	032175	321 16 0 00 032163 		JUMPL	AC+2,F41030		;LOOP ON ERROR SWITCH^
  3078
  3079			004104			ADR=ADR+1
  3080			000004			WW=WW-1
  3081		020000	000000			XX=XX+XX
  3082						IFE	XX,<XX=1>
  3083
  3084					;MULTIPLY 0101...0101 BY A FLOATING 1
  3085		252525	252525			V1=N2
  3086		120000	000000			V2=N2*XX
  3087		012525	252525			IFG	XX,<V3=<N2_<-WW>>>
  3088						IFL	XX,<V3=N1+1>
  3089						MOP1	(\ADR,XX,0,V1,V3,V2)^
  3090					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  3091					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3092					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  3093					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3094
  3095		020000	000000		F41040:	AA1=XX				;INITIAL C(AC)
  3096	032176	200 14 0 00 044752 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  3097			000000			AA2=0				;INITIAL C(AC+1)
  3098	032177	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3099		252525	252525			AEE=V1				;INITIAL C(E)
  3100	032200	200 12 0 00 044767 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 2-20
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0074

  3101	032201	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3102		012525	252525			AR1=V3				;EXPECTED RESULT IN AC
  3103	032202	312 14 0 00 045062 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3104	032203	003 14 0 00 041041 		ER3	AC,41041		;HIGH PRODUCT FAILED
  3105		120000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  3106	032204	312 15 0 00 045063 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3107	032205	004 15 0 00 041042 		ER4	AC+1,41042		;LOW PRODUCT FAILED
  3108		252525	252525			AEE=V1				;INITIAL C(E)
  3109	032206	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  3110	032207	005 12 0 00 041043 		ER5	E,41043			;C(E) WAS CLOBBERED
  3111	032210	321 16 0 00 032176 		JUMPL	AC+2,F41040		;LOOP ON ERROR SWITCH^
  3112
  3113			004105			ADR=ADR+1
  3114			000003			WW=WW-1
  3115		040000	000000			XX=XX+XX
  3116						IFE	XX,<XX=1>
  3117
  3118					;MULTIPLY 0101...0101 BY A FLOATING 1
  3119		252525	252525			V1=N2
  3120		240000	000000			V2=N2*XX
  3121		025252	525252			IFG	XX,<V3=<N2_<-WW>>>
  3122						IFL	XX,<V3=N1+1>
  3123						MOP1	(\ADR,XX,0,V1,V3,V2)^
  3124					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  3125					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3126					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  3127					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3128
  3129		040000	000000		F41050:	AA1=XX				;INITIAL C(AC)
  3130	032211	200 14 0 00 044755 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  3131			000000			AA2=0				;INITIAL C(AC+1)
  3132	032212	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3133		252525	252525			AEE=V1				;INITIAL C(E)
  3134	032213	200 12 0 00 044767 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  3135	032214	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3136		025252	525252			AR1=V3				;EXPECTED RESULT IN AC
  3137	032215	312 14 0 00 045064 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3138	032216	003 14 0 00 041051 		ER3	AC,41051		;HIGH PRODUCT FAILED
  3139		240000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  3140	032217	312 15 0 00 045065 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3141	032220	004 15 0 00 041052 		ER4	AC+1,41052		;LOW PRODUCT FAILED
  3142		252525	252525			AEE=V1				;INITIAL C(E)
  3143	032221	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  3144	032222	005 12 0 00 041053 		ER5	E,41053			;C(E) WAS CLOBBERED
  3145	032223	321 16 0 00 032211 		JUMPL	AC+2,F41050		;LOOP ON ERROR SWITCH^
  3146
  3147			004106			ADR=ADR+1
  3148			000002			WW=WW-1
  3149		100000	000000			XX=XX+XX
  3150						IFE	XX,<XX=1>
  3151
  3152					;MULTIPLY 0101...0101 BY A FLOATING 1
  3153		252525	252525			V1=N2
  3154		100000	000000			V2=N2*XX
  3155		052525	252525			IFG	XX,<V3=<N2_<-WW>>>
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 2-21
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0075

  3156						IFL	XX,<V3=N1+1>
  3157						MOP1	(\ADR,XX,0,V1,V3,V2)^
  3158					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  3159					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3160					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  3161					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3162
  3163		100000	000000		F41060:	AA1=XX				;INITIAL C(AC)
  3164	032224	200 14 0 00 044760 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  3165			000000			AA2=0				;INITIAL C(AC+1)
  3166	032225	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3167		252525	252525			AEE=V1				;INITIAL C(E)
  3168	032226	200 12 0 00 044767 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  3169	032227	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3170		052525	252525			AR1=V3				;EXPECTED RESULT IN AC
  3171	032230	312 14 0 00 045066 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3172	032231	003 14 0 00 041061 		ER3	AC,41061		;HIGH PRODUCT FAILED
  3173		100000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  3174	032232	312 15 0 00 044760 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3175	032233	004 15 0 00 041062 		ER4	AC+1,41062		;LOW PRODUCT FAILED
  3176		252525	252525			AEE=V1				;INITIAL C(E)
  3177	032234	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  3178	032235	005 12 0 00 041063 		ER5	E,41063			;C(E) WAS CLOBBERED
  3179	032236	321 16 0 00 032224 		JUMPL	AC+2,F41060		;LOOP ON ERROR SWITCH^
  3180
  3181			004107			ADR=ADR+1
  3182			000001			WW=WW-1
  3183		200000	000000			XX=XX+XX
  3184						IFE	XX,<XX=1>
  3185
  3186					;MULTIPLY 0101...0101 BY A FLOATING 1
  3187		252525	252525			V1=N2
  3188		200000	000000			V2=N2*XX
  3189		125252	525252			IFG	XX,<V3=<N2_<-WW>>>
  3190						IFL	XX,<V3=N1+1>
  3191						MOP1	(\ADR,XX,0,V1,V3,V2)^
  3192					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  3193					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3194					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  3195					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3196
  3197		200000	000000		F41070:	AA1=XX				;INITIAL C(AC)
  3198	032237	200 14 0 00 044763 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  3199			000000			AA2=0				;INITIAL C(AC+1)
  3200	032240	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3201		252525	252525			AEE=V1				;INITIAL C(E)
  3202	032241	200 12 0 00 044767 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  3203	032242	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3204		125252	525252			AR1=V3				;EXPECTED RESULT IN AC
  3205	032243	312 14 0 00 044770 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3206	032244	003 14 0 00 041071 		ER3	AC,41071		;HIGH PRODUCT FAILED
  3207		200000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  3208	032245	312 15 0 00 044763 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3209	032246	004 15 0 00 041072 		ER4	AC+1,41072		;LOW PRODUCT FAILED
  3210		252525	252525			AEE=V1				;INITIAL C(E)
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 2-22
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0076

  3211	032247	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  3212	032250	005 12 0 00 041073 		ER5	E,41073			;C(E) WAS CLOBBERED
  3213	032251	321 16 0 00 032237 		JUMPL	AC+2,F41070		;LOOP ON ERROR SWITCH^
  3214
  3215			004110			ADR=ADR+1
  3216			000000			WW=WW-1
  3217		400000	000000			XX=XX+XX
  3218						IFE	XX,<XX=1>
  3219
  3220					;MULTIPLY 0101...0101 BY A FLOATING 1
  3221		252525	252525			V1=N2
  3222		400000	000000			V2=N2*XX
  3223						IFG	XX,<V3=<N2_<-WW>>>
  3224		525252	525253			IFL	XX,<V3=N1+1>
  3225						MOP1	(\ADR,XX,0,V1,V3,V2)^
  3226					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  3227					;[V1] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3228					;AND E AGAINST [V3], [V2] AND [V1] RESPECTIVELY.
  3229					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3230
  3231		400000	000000		F41100:	AA1=XX				;INITIAL C(AC)
  3232	032252	200 14 0 00 044765 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  3233			000000			AA2=0				;INITIAL C(AC+1)
  3234	032253	200 15 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3235		252525	252525			AEE=V1				;INITIAL C(E)
  3236	032254	200 12 0 00 044767 		MOVE	E,[V1]			;PRELOAD E (MULTIPLICAND)
  3237	032255	224 14 0 00 000012 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3238		525252	525253			AR1=V3				;EXPECTED RESULT IN AC
  3239	032256	312 14 0 00 045067 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3240	032257	003 14 0 00 041101 		ER3	AC,41101		;HIGH PRODUCT FAILED
  3241		400000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  3242	032260	312 15 0 00 044765 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3243	032261	004 15 0 00 041102 		ER4	AC+1,41102		;LOW PRODUCT FAILED
  3244		252525	252525			AEE=V1				;INITIAL C(E)
  3245	032262	312 12 0 00 044767 		CAME	E,[V1]			;WAS C(E) CLOBBERED?
  3246	032263	005 12 0 00 041103 		ER5	E,41103			;C(E) WAS CLOBBERED
  3247	032264	321 16 0 00 032252 		JUMPL	AC+2,F41100		;LOOP ON ERROR SWITCH^
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 3
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0077

  3248			000013			AC=13
  3249			000011			E=<AC-2>&17
  3250						SAVEAC	(1,1)^
  3251	032265	201 15 0 00 032265 		MOVEI	AC+2,.		;SAVE TEST PC
  3252	032266	202 15 0 00 030051 		MOVEM	AC+2,TESTPC
  3253	032267	201 15 0 00 000015 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  3254	032270	202 15 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  3255			000044			WW=^D36
  3256			000000			XX=0
  3257
  3258						REPEAT	^D36,<
  3259						ADR=ADR+1
  3260						WW=WW-1
  3261						XX=XX+XX
  3262						IFE	XX,<XX=1>
  3263					
  3264					;MULTIPLY A FLOATING 1 BY 0101...0101
  3265						V1=N2
  3266						V2=N2*XX
  3267						IFG	XX,<V3=<N2_<-WW>>>
  3268						IFL	XX,<V3=N1+1>
  3269						MOP1	(\ADR,V1,0,XX,V3,V2)>
  3270
  3271			004111			ADR=ADR+1
  3272			000043			WW=WW-1
  3273			000000			XX=XX+XX
  3274			000001			IFE	XX,<XX=1>
  3275
  3276					;MULTIPLY A FLOATING 1 BY 0101...0101
  3277		252525	252525			V1=N2
  3278		252525	252525			V2=N2*XX
  3279			000000			IFG	XX,<V3=<N2_<-WW>>>
  3280						IFL	XX,<V3=N1+1>
  3281						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3282					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3283					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3284					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3285					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3286
  3287		252525	252525		F41110:	AA1=V1				;INITIAL C(AC)
  3288	032271	200 13 0 00 044767 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3289			000000			AA2=0				;INITIAL C(AC+1)
  3290	032272	200 14 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3291			000001			AEE=XX				;INITIAL C(E)
  3292	032273	200 11 0 00 044616 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3293	032274	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3294			000000			AR1=V3				;EXPECTED RESULT IN AC
  3295	032275	312 13 0 00 044615 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3296	032276	003 13 0 00 041111 		ER3	AC,41111		;HIGH PRODUCT FAILED
  3297		252525	252525			AR2=V2				;EXPECTED RESULT IN AC+1
  3298	032277	312 14 0 00 044767 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3299	032300	004 14 0 00 041112 		ER4	AC+1,41112		;LOW PRODUCT FAILED
  3300			000001			AEE=XX				;INITIAL C(E)
  3301	032301	312 11 0 00 044616 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3302	032302	005 11 0 00 041113 		ER5	E,41113			;C(E) WAS CLOBBERED
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 3-1
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0078

  3303	032303	321 15 0 00 032271 		JUMPL	AC+2,F41110		;LOOP ON ERROR SWITCH^
  3304
  3305			004112			ADR=ADR+1
  3306			000042			WW=WW-1
  3307			000002			XX=XX+XX
  3308						IFE	XX,<XX=1>
  3309
  3310					;MULTIPLY A FLOATING 1 BY 0101...0101
  3311		252525	252525			V1=N2
  3312		125252	525252			V2=N2*XX
  3313			000001			IFG	XX,<V3=<N2_<-WW>>>
  3314						IFL	XX,<V3=N1+1>
  3315						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3316					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3317					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3318					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3319					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3320
  3321		252525	252525		F41120:	AA1=V1				;INITIAL C(AC)
  3322	032304	200 13 0 00 044767 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3323			000000			AA2=0				;INITIAL C(AC+1)
  3324	032305	200 14 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3325			000002			AEE=XX				;INITIAL C(E)
  3326	032306	200 11 0 00 044620 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3327	032307	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3328			000001			AR1=V3				;EXPECTED RESULT IN AC
  3329	032310	312 13 0 00 044616 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3330	032311	003 13 0 00 041121 		ER3	AC,41121		;HIGH PRODUCT FAILED
  3331		125252	525252			AR2=V2				;EXPECTED RESULT IN AC+1
  3332	032312	312 14 0 00 044770 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3333	032313	004 14 0 00 041122 		ER4	AC+1,41122		;LOW PRODUCT FAILED
  3334			000002			AEE=XX				;INITIAL C(E)
  3335	032314	312 11 0 00 044620 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3336	032315	005 11 0 00 041123 		ER5	E,41123			;C(E) WAS CLOBBERED
  3337	032316	321 15 0 00 032304 		JUMPL	AC+2,F41120		;LOOP ON ERROR SWITCH^
  3338
  3339			004113			ADR=ADR+1
  3340			000041			WW=WW-1
  3341			000004			XX=XX+XX
  3342						IFE	XX,<XX=1>
  3343
  3344					;MULTIPLY A FLOATING 1 BY 0101...0101
  3345		252525	252525			V1=N2
  3346		252525	252524			V2=N2*XX
  3347			000002			IFG	XX,<V3=<N2_<-WW>>>
  3348						IFL	XX,<V3=N1+1>
  3349						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3350					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3351					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3352					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3353					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3354
  3355		252525	252525		F41130:	AA1=V1				;INITIAL C(AC)
  3356	032317	200 13 0 00 044767 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3357			000000			AA2=0				;INITIAL C(AC+1)
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 3-2
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0079

  3358	032320	200 14 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3359			000004			AEE=XX				;INITIAL C(E)
  3360	032321	200 11 0 00 044623 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3361	032322	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3362			000002			AR1=V3				;EXPECTED RESULT IN AC
  3363	032323	312 13 0 00 044620 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3364	032324	003 13 0 00 041131 		ER3	AC,41131		;HIGH PRODUCT FAILED
  3365		252525	252524			AR2=V2				;EXPECTED RESULT IN AC+1
  3366	032325	312 14 0 00 044771 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3367	032326	004 14 0 00 041132 		ER4	AC+1,41132		;LOW PRODUCT FAILED
  3368			000004			AEE=XX				;INITIAL C(E)
  3369	032327	312 11 0 00 044623 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3370	032330	005 11 0 00 041133 		ER5	E,41133			;C(E) WAS CLOBBERED
  3371	032331	321 15 0 00 032317 		JUMPL	AC+2,F41130		;LOOP ON ERROR SWITCH^
  3372
  3373			004114			ADR=ADR+1
  3374			000040			WW=WW-1
  3375			000010			XX=XX+XX
  3376						IFE	XX,<XX=1>
  3377
  3378					;MULTIPLY A FLOATING 1 BY 0101...0101
  3379		252525	252525			V1=N2
  3380		125252	525250			V2=N2*XX
  3381			000005			IFG	XX,<V3=<N2_<-WW>>>
  3382						IFL	XX,<V3=N1+1>
  3383						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3384					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3385					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3386					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3387					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3388
  3389		252525	252525		F41140:	AA1=V1				;INITIAL C(AC)
  3390	032332	200 13 0 00 044767 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3391			000000			AA2=0				;INITIAL C(AC+1)
  3392	032333	200 14 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3393			000010			AEE=XX				;INITIAL C(E)
  3394	032334	200 11 0 00 044626 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3395	032335	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3396			000005			AR1=V3				;EXPECTED RESULT IN AC
  3397	032336	312 13 0 00 044772 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3398	032337	003 13 0 00 041141 		ER3	AC,41141		;HIGH PRODUCT FAILED
  3399		125252	525250			AR2=V2				;EXPECTED RESULT IN AC+1
  3400	032340	312 14 0 00 044773 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3401	032341	004 14 0 00 041142 		ER4	AC+1,41142		;LOW PRODUCT FAILED
  3402			000010			AEE=XX				;INITIAL C(E)
  3403	032342	312 11 0 00 044626 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3404	032343	005 11 0 00 041143 		ER5	E,41143			;C(E) WAS CLOBBERED
  3405	032344	321 15 0 00 032332 		JUMPL	AC+2,F41140		;LOOP ON ERROR SWITCH^
  3406
  3407			004115			ADR=ADR+1
  3408			000037			WW=WW-1
  3409			000020			XX=XX+XX
  3410						IFE	XX,<XX=1>
  3411
  3412					;MULTIPLY A FLOATING 1 BY 0101...0101
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 3-3
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0080

  3413		252525	252525			V1=N2
  3414		252525	252520			V2=N2*XX
  3415			000012			IFG	XX,<V3=<N2_<-WW>>>
  3416						IFL	XX,<V3=N1+1>
  3417						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3418					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3419					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3420					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3421					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3422
  3423		252525	252525		F41150:	AA1=V1				;INITIAL C(AC)
  3424	032345	200 13 0 00 044767 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3425			000000			AA2=0				;INITIAL C(AC+1)
  3426	032346	200 14 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3427			000020			AEE=XX				;INITIAL C(E)
  3428	032347	200 11 0 00 044631 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3429	032350	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3430			000012			AR1=V3				;EXPECTED RESULT IN AC
  3431	032351	312 13 0 00 044774 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3432	032352	003 13 0 00 041151 		ER3	AC,41151		;HIGH PRODUCT FAILED
  3433		252525	252520			AR2=V2				;EXPECTED RESULT IN AC+1
  3434	032353	312 14 0 00 044775 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3435	032354	004 14 0 00 041152 		ER4	AC+1,41152		;LOW PRODUCT FAILED
  3436			000020			AEE=XX				;INITIAL C(E)
  3437	032355	312 11 0 00 044631 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3438	032356	005 11 0 00 041153 		ER5	E,41153			;C(E) WAS CLOBBERED
  3439	032357	321 15 0 00 032345 		JUMPL	AC+2,F41150		;LOOP ON ERROR SWITCH^
  3440
  3441			004116			ADR=ADR+1
  3442			000036			WW=WW-1
  3443			000040			XX=XX+XX
  3444						IFE	XX,<XX=1>
  3445
  3446					;MULTIPLY A FLOATING 1 BY 0101...0101
  3447		252525	252525			V1=N2
  3448		125252	525240			V2=N2*XX
  3449			000025			IFG	XX,<V3=<N2_<-WW>>>
  3450						IFL	XX,<V3=N1+1>
  3451						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3452					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3453					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3454					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3455					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3456
  3457		252525	252525		F41160:	AA1=V1				;INITIAL C(AC)
  3458	032360	200 13 0 00 044767 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3459			000000			AA2=0				;INITIAL C(AC+1)
  3460	032361	200 14 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3461			000040			AEE=XX				;INITIAL C(E)
  3462	032362	200 11 0 00 044634 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3463	032363	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3464			000025			AR1=V3				;EXPECTED RESULT IN AC
  3465	032364	312 13 0 00 044776 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3466	032365	003 13 0 00 041161 		ER3	AC,41161		;HIGH PRODUCT FAILED
  3467		125252	525240			AR2=V2				;EXPECTED RESULT IN AC+1
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 3-4
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0081

  3468	032366	312 14 0 00 044777 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3469	032367	004 14 0 00 041162 		ER4	AC+1,41162		;LOW PRODUCT FAILED
  3470			000040			AEE=XX				;INITIAL C(E)
  3471	032370	312 11 0 00 044634 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3472	032371	005 11 0 00 041163 		ER5	E,41163			;C(E) WAS CLOBBERED
  3473	032372	321 15 0 00 032360 		JUMPL	AC+2,F41160		;LOOP ON ERROR SWITCH^
  3474
  3475			004117			ADR=ADR+1
  3476			000035			WW=WW-1
  3477			000100			XX=XX+XX
  3478						IFE	XX,<XX=1>
  3479
  3480					;MULTIPLY A FLOATING 1 BY 0101...0101
  3481		252525	252525			V1=N2
  3482		252525	252500			V2=N2*XX
  3483			000052			IFG	XX,<V3=<N2_<-WW>>>
  3484						IFL	XX,<V3=N1+1>
  3485						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3486					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3487					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3488					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3489					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3490
  3491		252525	252525		F41170:	AA1=V1				;INITIAL C(AC)
  3492	032373	200 13 0 00 044767 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3493			000000			AA2=0				;INITIAL C(AC+1)
  3494	032374	200 14 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3495			000100			AEE=XX				;INITIAL C(E)
  3496	032375	200 11 0 00 044637 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3497	032376	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3498			000052			AR1=V3				;EXPECTED RESULT IN AC
  3499	032377	312 13 0 00 045000 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3500	032400	003 13 0 00 041171 		ER3	AC,41171		;HIGH PRODUCT FAILED
  3501		252525	252500			AR2=V2				;EXPECTED RESULT IN AC+1
  3502	032401	312 14 0 00 045001 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3503	032402	004 14 0 00 041172 		ER4	AC+1,41172		;LOW PRODUCT FAILED
  3504			000100			AEE=XX				;INITIAL C(E)
  3505	032403	312 11 0 00 044637 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3506	032404	005 11 0 00 041173 		ER5	E,41173			;C(E) WAS CLOBBERED
  3507	032405	321 15 0 00 032373 		JUMPL	AC+2,F41170		;LOOP ON ERROR SWITCH^
  3508
  3509			004120			ADR=ADR+1
  3510			000034			WW=WW-1
  3511			000200			XX=XX+XX
  3512						IFE	XX,<XX=1>
  3513
  3514					;MULTIPLY A FLOATING 1 BY 0101...0101
  3515		252525	252525			V1=N2
  3516		125252	525200			V2=N2*XX
  3517			000125			IFG	XX,<V3=<N2_<-WW>>>
  3518						IFL	XX,<V3=N1+1>
  3519						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3520					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3521					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3522					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 3-5
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0082

  3523					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3524
  3525		252525	252525		F41200:	AA1=V1				;INITIAL C(AC)
  3526	032406	200 13 0 00 044767 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3527			000000			AA2=0				;INITIAL C(AC+1)
  3528	032407	200 14 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3529			000200			AEE=XX				;INITIAL C(E)
  3530	032410	200 11 0 00 044642 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3531	032411	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3532			000125			AR1=V3				;EXPECTED RESULT IN AC
  3533	032412	312 13 0 00 045002 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3534	032413	003 13 0 00 041201 		ER3	AC,41201		;HIGH PRODUCT FAILED
  3535		125252	525200			AR2=V2				;EXPECTED RESULT IN AC+1
  3536	032414	312 14 0 00 045003 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3537	032415	004 14 0 00 041202 		ER4	AC+1,41202		;LOW PRODUCT FAILED
  3538			000200			AEE=XX				;INITIAL C(E)
  3539	032416	312 11 0 00 044642 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3540	032417	005 11 0 00 041203 		ER5	E,41203			;C(E) WAS CLOBBERED
  3541	032420	321 15 0 00 032406 		JUMPL	AC+2,F41200		;LOOP ON ERROR SWITCH^
  3542
  3543			004121			ADR=ADR+1
  3544			000033			WW=WW-1
  3545			000400			XX=XX+XX
  3546						IFE	XX,<XX=1>
  3547
  3548					;MULTIPLY A FLOATING 1 BY 0101...0101
  3549		252525	252525			V1=N2
  3550		252525	252400			V2=N2*XX
  3551			000252			IFG	XX,<V3=<N2_<-WW>>>
  3552						IFL	XX,<V3=N1+1>
  3553						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3554					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3555					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3556					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3557					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3558
  3559		252525	252525		F41210:	AA1=V1				;INITIAL C(AC)
  3560	032421	200 13 0 00 044767 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3561			000000			AA2=0				;INITIAL C(AC+1)
  3562	032422	200 14 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3563			000400			AEE=XX				;INITIAL C(E)
  3564	032423	200 11 0 00 044645 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3565	032424	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3566			000252			AR1=V3				;EXPECTED RESULT IN AC
  3567	032425	312 13 0 00 045004 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3568	032426	003 13 0 00 041211 		ER3	AC,41211		;HIGH PRODUCT FAILED
  3569		252525	252400			AR2=V2				;EXPECTED RESULT IN AC+1
  3570	032427	312 14 0 00 045005 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3571	032430	004 14 0 00 041212 		ER4	AC+1,41212		;LOW PRODUCT FAILED
  3572			000400			AEE=XX				;INITIAL C(E)
  3573	032431	312 11 0 00 044645 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3574	032432	005 11 0 00 041213 		ER5	E,41213			;C(E) WAS CLOBBERED
  3575	032433	321 15 0 00 032421 		JUMPL	AC+2,F41210		;LOOP ON ERROR SWITCH^
  3576
  3577			004122			ADR=ADR+1
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 3-6
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0083

  3578			000032			WW=WW-1
  3579			001000			XX=XX+XX
  3580						IFE	XX,<XX=1>
  3581
  3582					;MULTIPLY A FLOATING 1 BY 0101...0101
  3583		252525	252525			V1=N2
  3584		125252	525000			V2=N2*XX
  3585			000525			IFG	XX,<V3=<N2_<-WW>>>
  3586						IFL	XX,<V3=N1+1>
  3587						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3588					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3589					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3590					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3591					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3592
  3593		252525	252525		F41220:	AA1=V1				;INITIAL C(AC)
  3594	032434	200 13 0 00 044767 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3595			000000			AA2=0				;INITIAL C(AC+1)
  3596	032435	200 14 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3597			001000			AEE=XX				;INITIAL C(E)
  3598	032436	200 11 0 00 044650 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3599	032437	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3600			000525			AR1=V3				;EXPECTED RESULT IN AC
  3601	032440	312 13 0 00 045006 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3602	032441	003 13 0 00 041221 		ER3	AC,41221		;HIGH PRODUCT FAILED
  3603		125252	525000			AR2=V2				;EXPECTED RESULT IN AC+1
  3604	032442	312 14 0 00 045007 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3605	032443	004 14 0 00 041222 		ER4	AC+1,41222		;LOW PRODUCT FAILED
  3606			001000			AEE=XX				;INITIAL C(E)
  3607	032444	312 11 0 00 044650 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3608	032445	005 11 0 00 041223 		ER5	E,41223			;C(E) WAS CLOBBERED
  3609	032446	321 15 0 00 032434 		JUMPL	AC+2,F41220		;LOOP ON ERROR SWITCH^
  3610
  3611			004123			ADR=ADR+1
  3612			000031			WW=WW-1
  3613			002000			XX=XX+XX
  3614						IFE	XX,<XX=1>
  3615
  3616					;MULTIPLY A FLOATING 1 BY 0101...0101
  3617		252525	252525			V1=N2
  3618		252525	252000			V2=N2*XX
  3619			001252			IFG	XX,<V3=<N2_<-WW>>>
  3620						IFL	XX,<V3=N1+1>
  3621						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3622					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3623					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3624					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3625					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3626
  3627		252525	252525		F41230:	AA1=V1				;INITIAL C(AC)
  3628	032447	200 13 0 00 044767 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3629			000000			AA2=0				;INITIAL C(AC+1)
  3630	032450	200 14 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3631			002000			AEE=XX				;INITIAL C(E)
  3632	032451	200 11 0 00 044653 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 3-7
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0084

  3633	032452	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3634			001252			AR1=V3				;EXPECTED RESULT IN AC
  3635	032453	312 13 0 00 045010 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3636	032454	003 13 0 00 041231 		ER3	AC,41231		;HIGH PRODUCT FAILED
  3637		252525	252000			AR2=V2				;EXPECTED RESULT IN AC+1
  3638	032455	312 14 0 00 045011 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3639	032456	004 14 0 00 041232 		ER4	AC+1,41232		;LOW PRODUCT FAILED
  3640			002000			AEE=XX				;INITIAL C(E)
  3641	032457	312 11 0 00 044653 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3642	032460	005 11 0 00 041233 		ER5	E,41233			;C(E) WAS CLOBBERED
  3643	032461	321 15 0 00 032447 		JUMPL	AC+2,F41230		;LOOP ON ERROR SWITCH^
  3644
  3645			004124			ADR=ADR+1
  3646			000030			WW=WW-1
  3647			004000			XX=XX+XX
  3648						IFE	XX,<XX=1>
  3649
  3650					;MULTIPLY A FLOATING 1 BY 0101...0101
  3651		252525	252525			V1=N2
  3652		125252	524000			V2=N2*XX
  3653			002525			IFG	XX,<V3=<N2_<-WW>>>
  3654						IFL	XX,<V3=N1+1>
  3655						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3656					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3657					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3658					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3659					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3660
  3661		252525	252525		F41240:	AA1=V1				;INITIAL C(AC)
  3662	032462	200 13 0 00 044767 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3663			000000			AA2=0				;INITIAL C(AC+1)
  3664	032463	200 14 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3665			004000			AEE=XX				;INITIAL C(E)
  3666	032464	200 11 0 00 044656 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3667	032465	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3668			002525			AR1=V3				;EXPECTED RESULT IN AC
  3669	032466	312 13 0 00 045012 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3670	032467	003 13 0 00 041241 		ER3	AC,41241		;HIGH PRODUCT FAILED
  3671		125252	524000			AR2=V2				;EXPECTED RESULT IN AC+1
  3672	032470	312 14 0 00 045013 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3673	032471	004 14 0 00 041242 		ER4	AC+1,41242		;LOW PRODUCT FAILED
  3674			004000			AEE=XX				;INITIAL C(E)
  3675	032472	312 11 0 00 044656 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3676	032473	005 11 0 00 041243 		ER5	E,41243			;C(E) WAS CLOBBERED
  3677	032474	321 15 0 00 032462 		JUMPL	AC+2,F41240		;LOOP ON ERROR SWITCH^
  3678
  3679			004125			ADR=ADR+1
  3680			000027			WW=WW-1
  3681			010000			XX=XX+XX
  3682						IFE	XX,<XX=1>
  3683
  3684					;MULTIPLY A FLOATING 1 BY 0101...0101
  3685		252525	252525			V1=N2
  3686		252525	250000			V2=N2*XX
  3687			005252			IFG	XX,<V3=<N2_<-WW>>>
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 3-8
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0085

  3688						IFL	XX,<V3=N1+1>
  3689						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3690					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3691					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3692					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3693					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3694
  3695		252525	252525		F41250:	AA1=V1				;INITIAL C(AC)
  3696	032475	200 13 0 00 044767 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3697			000000			AA2=0				;INITIAL C(AC+1)
  3698	032476	200 14 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3699			010000			AEE=XX				;INITIAL C(E)
  3700	032477	200 11 0 00 044661 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3701	032500	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3702			005252			AR1=V3				;EXPECTED RESULT IN AC
  3703	032501	312 13 0 00 045014 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3704	032502	003 13 0 00 041251 		ER3	AC,41251		;HIGH PRODUCT FAILED
  3705		252525	250000			AR2=V2				;EXPECTED RESULT IN AC+1
  3706	032503	312 14 0 00 045015 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3707	032504	004 14 0 00 041252 		ER4	AC+1,41252		;LOW PRODUCT FAILED
  3708			010000			AEE=XX				;INITIAL C(E)
  3709	032505	312 11 0 00 044661 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3710	032506	005 11 0 00 041253 		ER5	E,41253			;C(E) WAS CLOBBERED
  3711	032507	321 15 0 00 032475 		JUMPL	AC+2,F41250		;LOOP ON ERROR SWITCH^
  3712
  3713			004126			ADR=ADR+1
  3714			000026			WW=WW-1
  3715			020000			XX=XX+XX
  3716						IFE	XX,<XX=1>
  3717
  3718					;MULTIPLY A FLOATING 1 BY 0101...0101
  3719		252525	252525			V1=N2
  3720		125252	520000			V2=N2*XX
  3721			012525			IFG	XX,<V3=<N2_<-WW>>>
  3722						IFL	XX,<V3=N1+1>
  3723						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3724					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3725					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3726					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3727					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3728
  3729		252525	252525		F41260:	AA1=V1				;INITIAL C(AC)
  3730	032510	200 13 0 00 044767 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3731			000000			AA2=0				;INITIAL C(AC+1)
  3732	032511	200 14 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3733			020000			AEE=XX				;INITIAL C(E)
  3734	032512	200 11 0 00 044664 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3735	032513	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3736			012525			AR1=V3				;EXPECTED RESULT IN AC
  3737	032514	312 13 0 00 045016 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3738	032515	003 13 0 00 041261 		ER3	AC,41261		;HIGH PRODUCT FAILED
  3739		125252	520000			AR2=V2				;EXPECTED RESULT IN AC+1
  3740	032516	312 14 0 00 045017 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3741	032517	004 14 0 00 041262 		ER4	AC+1,41262		;LOW PRODUCT FAILED
  3742			020000			AEE=XX				;INITIAL C(E)
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 3-9
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0086

  3743	032520	312 11 0 00 044664 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3744	032521	005 11 0 00 041263 		ER5	E,41263			;C(E) WAS CLOBBERED
  3745	032522	321 15 0 00 032510 		JUMPL	AC+2,F41260		;LOOP ON ERROR SWITCH^
  3746
  3747			004127			ADR=ADR+1
  3748			000025			WW=WW-1
  3749			040000			XX=XX+XX
  3750						IFE	XX,<XX=1>
  3751
  3752					;MULTIPLY A FLOATING 1 BY 0101...0101
  3753		252525	252525			V1=N2
  3754		252525	240000			V2=N2*XX
  3755			025252			IFG	XX,<V3=<N2_<-WW>>>
  3756						IFL	XX,<V3=N1+1>
  3757						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3758					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3759					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3760					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3761					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3762
  3763		252525	252525		F41270:	AA1=V1				;INITIAL C(AC)
  3764	032523	200 13 0 00 044767 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3765			000000			AA2=0				;INITIAL C(AC+1)
  3766	032524	200 14 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3767			040000			AEE=XX				;INITIAL C(E)
  3768	032525	200 11 0 00 044667 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3769	032526	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3770			025252			AR1=V3				;EXPECTED RESULT IN AC
  3771	032527	312 13 0 00 045020 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3772	032530	003 13 0 00 041271 		ER3	AC,41271		;HIGH PRODUCT FAILED
  3773		252525	240000			AR2=V2				;EXPECTED RESULT IN AC+1
  3774	032531	312 14 0 00 045021 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3775	032532	004 14 0 00 041272 		ER4	AC+1,41272		;LOW PRODUCT FAILED
  3776			040000			AEE=XX				;INITIAL C(E)
  3777	032533	312 11 0 00 044667 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3778	032534	005 11 0 00 041273 		ER5	E,41273			;C(E) WAS CLOBBERED
  3779	032535	321 15 0 00 032523 		JUMPL	AC+2,F41270		;LOOP ON ERROR SWITCH^
  3780
  3781			004130			ADR=ADR+1
  3782			000024			WW=WW-1
  3783			100000			XX=XX+XX
  3784						IFE	XX,<XX=1>
  3785
  3786					;MULTIPLY A FLOATING 1 BY 0101...0101
  3787		252525	252525			V1=N2
  3788		125252	500000			V2=N2*XX
  3789			052525			IFG	XX,<V3=<N2_<-WW>>>
  3790						IFL	XX,<V3=N1+1>
  3791						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3792					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3793					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3794					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3795					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3796
  3797		252525	252525		F41300:	AA1=V1				;INITIAL C(AC)
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 3-10
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0087

  3798	032536	200 13 0 00 044767 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3799			000000			AA2=0				;INITIAL C(AC+1)
  3800	032537	200 14 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3801			100000			AEE=XX				;INITIAL C(E)
  3802	032540	200 11 0 00 044672 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3803	032541	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3804			052525			AR1=V3				;EXPECTED RESULT IN AC
  3805	032542	312 13 0 00 045022 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3806	032543	003 13 0 00 041301 		ER3	AC,41301		;HIGH PRODUCT FAILED
  3807		125252	500000			AR2=V2				;EXPECTED RESULT IN AC+1
  3808	032544	312 14 0 00 045023 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3809	032545	004 14 0 00 041302 		ER4	AC+1,41302		;LOW PRODUCT FAILED
  3810			100000			AEE=XX				;INITIAL C(E)
  3811	032546	312 11 0 00 044672 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3812	032547	005 11 0 00 041303 		ER5	E,41303			;C(E) WAS CLOBBERED
  3813	032550	321 15 0 00 032536 		JUMPL	AC+2,F41300		;LOOP ON ERROR SWITCH^
  3814
  3815			004131			ADR=ADR+1
  3816			000023			WW=WW-1
  3817			200000			XX=XX+XX
  3818						IFE	XX,<XX=1>
  3819
  3820					;MULTIPLY A FLOATING 1 BY 0101...0101
  3821		252525	252525			V1=N2
  3822		252525	200000			V2=N2*XX
  3823			125252			IFG	XX,<V3=<N2_<-WW>>>
  3824						IFL	XX,<V3=N1+1>
  3825						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3826					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3827					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3828					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3829					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3830
  3831		252525	252525		F41310:	AA1=V1				;INITIAL C(AC)
  3832	032551	200 13 0 00 044767 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3833			000000			AA2=0				;INITIAL C(AC+1)
  3834	032552	200 14 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3835			200000			AEE=XX				;INITIAL C(E)
  3836	032553	200 11 0 00 044675 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3837	032554	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3838			125252			AR1=V3				;EXPECTED RESULT IN AC
  3839	032555	312 13 0 00 045024 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3840	032556	003 13 0 00 041311 		ER3	AC,41311		;HIGH PRODUCT FAILED
  3841		252525	200000			AR2=V2				;EXPECTED RESULT IN AC+1
  3842	032557	312 14 0 00 045025 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3843	032560	004 14 0 00 041312 		ER4	AC+1,41312		;LOW PRODUCT FAILED
  3844			200000			AEE=XX				;INITIAL C(E)
  3845	032561	312 11 0 00 044675 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3846	032562	005 11 0 00 041313 		ER5	E,41313			;C(E) WAS CLOBBERED
  3847	032563	321 15 0 00 032551 		JUMPL	AC+2,F41310		;LOOP ON ERROR SWITCH^
  3848
  3849			004132			ADR=ADR+1
  3850			000022			WW=WW-1
  3851			400000			XX=XX+XX
  3852						IFE	XX,<XX=1>
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 3-11
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0088

  3853
  3854					;MULTIPLY A FLOATING 1 BY 0101...0101
  3855		252525	252525			V1=N2
  3856		125252	400000			V2=N2*XX
  3857			252525			IFG	XX,<V3=<N2_<-WW>>>
  3858						IFL	XX,<V3=N1+1>
  3859						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3860					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3861					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3862					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3863					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3864
  3865		252525	252525		F41320:	AA1=V1				;INITIAL C(AC)
  3866	032564	200 13 0 00 044767 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3867			000000			AA2=0				;INITIAL C(AC+1)
  3868	032565	200 14 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3869			400000			AEE=XX				;INITIAL C(E)
  3870	032566	200 11 0 00 044700 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3871	032567	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3872			252525			AR1=V3				;EXPECTED RESULT IN AC
  3873	032570	312 13 0 00 045026 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3874	032571	003 13 0 00 041321 		ER3	AC,41321		;HIGH PRODUCT FAILED
  3875		125252	400000			AR2=V2				;EXPECTED RESULT IN AC+1
  3876	032572	312 14 0 00 045027 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3877	032573	004 14 0 00 041322 		ER4	AC+1,41322		;LOW PRODUCT FAILED
  3878			400000			AEE=XX				;INITIAL C(E)
  3879	032574	312 11 0 00 044700 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3880	032575	005 11 0 00 041323 		ER5	E,41323			;C(E) WAS CLOBBERED
  3881	032576	321 15 0 00 032564 		JUMPL	AC+2,F41320		;LOOP ON ERROR SWITCH^
  3882
  3883			004133			ADR=ADR+1
  3884			000021			WW=WW-1
  3885		000001	000000			XX=XX+XX
  3886						IFE	XX,<XX=1>
  3887
  3888					;MULTIPLY A FLOATING 1 BY 0101...0101
  3889		252525	252525			V1=N2
  3890		252525	000000			V2=N2*XX
  3891			525252			IFG	XX,<V3=<N2_<-WW>>>
  3892						IFL	XX,<V3=N1+1>
  3893						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3894					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3895					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3896					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3897					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3898
  3899		252525	252525		F41330:	AA1=V1				;INITIAL C(AC)
  3900	032577	200 13 0 00 044767 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3901			000000			AA2=0				;INITIAL C(AC+1)
  3902	032600	200 14 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3903		000001	000000			AEE=XX				;INITIAL C(E)
  3904	032601	200 11 0 00 044703 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3905	032602	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3906			525252			AR1=V3				;EXPECTED RESULT IN AC
  3907	032603	312 13 0 00 045030 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 3-12
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0089

  3908	032604	003 13 0 00 041331 		ER3	AC,41331		;HIGH PRODUCT FAILED
  3909		252525	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  3910	032605	312 14 0 00 045031 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3911	032606	004 14 0 00 041332 		ER4	AC+1,41332		;LOW PRODUCT FAILED
  3912		000001	000000			AEE=XX				;INITIAL C(E)
  3913	032607	312 11 0 00 044703 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3914	032610	005 11 0 00 041333 		ER5	E,41333			;C(E) WAS CLOBBERED
  3915	032611	321 15 0 00 032577 		JUMPL	AC+2,F41330		;LOOP ON ERROR SWITCH^
  3916
  3917			004134			ADR=ADR+1
  3918			000020			WW=WW-1
  3919		000002	000000			XX=XX+XX
  3920						IFE	XX,<XX=1>
  3921
  3922					;MULTIPLY A FLOATING 1 BY 0101...0101
  3923		252525	252525			V1=N2
  3924		125252	000000			V2=N2*XX
  3925		000001	252525			IFG	XX,<V3=<N2_<-WW>>>
  3926						IFL	XX,<V3=N1+1>
  3927						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3928					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3929					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3930					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3931					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3932
  3933		252525	252525		F41340:	AA1=V1				;INITIAL C(AC)
  3934	032612	200 13 0 00 044767 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3935			000000			AA2=0				;INITIAL C(AC+1)
  3936	032613	200 14 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3937		000002	000000			AEE=XX				;INITIAL C(E)
  3938	032614	200 11 0 00 044706 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3939	032615	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3940		000001	252525			AR1=V3				;EXPECTED RESULT IN AC
  3941	032616	312 13 0 00 045032 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3942	032617	003 13 0 00 041341 		ER3	AC,41341		;HIGH PRODUCT FAILED
  3943		125252	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  3944	032620	312 14 0 00 045033 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3945	032621	004 14 0 00 041342 		ER4	AC+1,41342		;LOW PRODUCT FAILED
  3946		000002	000000			AEE=XX				;INITIAL C(E)
  3947	032622	312 11 0 00 044706 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3948	032623	005 11 0 00 041343 		ER5	E,41343			;C(E) WAS CLOBBERED
  3949	032624	321 15 0 00 032612 		JUMPL	AC+2,F41340		;LOOP ON ERROR SWITCH^
  3950
  3951			004135			ADR=ADR+1
  3952			000017			WW=WW-1
  3953		000004	000000			XX=XX+XX
  3954						IFE	XX,<XX=1>
  3955
  3956					;MULTIPLY A FLOATING 1 BY 0101...0101
  3957		252525	252525			V1=N2
  3958		252524	000000			V2=N2*XX
  3959		000002	525252			IFG	XX,<V3=<N2_<-WW>>>
  3960						IFL	XX,<V3=N1+1>
  3961						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3962					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 3-13
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0090

  3963					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3964					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3965					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  3966
  3967		252525	252525		F41350:	AA1=V1				;INITIAL C(AC)
  3968	032625	200 13 0 00 044767 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  3969			000000			AA2=0				;INITIAL C(AC+1)
  3970	032626	200 14 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  3971		000004	000000			AEE=XX				;INITIAL C(E)
  3972	032627	200 11 0 00 044711 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  3973	032630	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  3974		000002	525252			AR1=V3				;EXPECTED RESULT IN AC
  3975	032631	312 13 0 00 045034 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  3976	032632	003 13 0 00 041351 		ER3	AC,41351		;HIGH PRODUCT FAILED
  3977		252524	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  3978	032633	312 14 0 00 045035 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  3979	032634	004 14 0 00 041352 		ER4	AC+1,41352		;LOW PRODUCT FAILED
  3980		000004	000000			AEE=XX				;INITIAL C(E)
  3981	032635	312 11 0 00 044711 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  3982	032636	005 11 0 00 041353 		ER5	E,41353			;C(E) WAS CLOBBERED
  3983	032637	321 15 0 00 032625 		JUMPL	AC+2,F41350		;LOOP ON ERROR SWITCH^
  3984
  3985			004136			ADR=ADR+1
  3986			000016			WW=WW-1
  3987		000010	000000			XX=XX+XX
  3988						IFE	XX,<XX=1>
  3989
  3990					;MULTIPLY A FLOATING 1 BY 0101...0101
  3991		252525	252525			V1=N2
  3992		125250	000000			V2=N2*XX
  3993		000005	252525			IFG	XX,<V3=<N2_<-WW>>>
  3994						IFL	XX,<V3=N1+1>
  3995						MOP1	(\ADR,V1,0,XX,V3,V2)^
  3996					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  3997					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  3998					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  3999					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4000
  4001		252525	252525		F41360:	AA1=V1				;INITIAL C(AC)
  4002	032640	200 13 0 00 044767 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  4003			000000			AA2=0				;INITIAL C(AC+1)
  4004	032641	200 14 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  4005		000010	000000			AEE=XX				;INITIAL C(E)
  4006	032642	200 11 0 00 044714 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4007	032643	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4008		000005	252525			AR1=V3				;EXPECTED RESULT IN AC
  4009	032644	312 13 0 00 045036 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  4010	032645	003 13 0 00 041361 		ER3	AC,41361		;HIGH PRODUCT FAILED
  4011		125250	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  4012	032646	312 14 0 00 045037 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  4013	032647	004 14 0 00 041362 		ER4	AC+1,41362		;LOW PRODUCT FAILED
  4014		000010	000000			AEE=XX				;INITIAL C(E)
  4015	032650	312 11 0 00 044714 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4016	032651	005 11 0 00 041363 		ER5	E,41363			;C(E) WAS CLOBBERED
  4017	032652	321 15 0 00 032640 		JUMPL	AC+2,F41360		;LOOP ON ERROR SWITCH^
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 3-14
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0091

  4018
  4019			004137			ADR=ADR+1
  4020			000015			WW=WW-1
  4021		000020	000000			XX=XX+XX
  4022						IFE	XX,<XX=1>
  4023
  4024					;MULTIPLY A FLOATING 1 BY 0101...0101
  4025		252525	252525			V1=N2
  4026		252520	000000			V2=N2*XX
  4027		000012	525252			IFG	XX,<V3=<N2_<-WW>>>
  4028						IFL	XX,<V3=N1+1>
  4029						MOP1	(\ADR,V1,0,XX,V3,V2)^
  4030					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  4031					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4032					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  4033					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4034
  4035		252525	252525		F41370:	AA1=V1				;INITIAL C(AC)
  4036	032653	200 13 0 00 044767 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  4037			000000			AA2=0				;INITIAL C(AC+1)
  4038	032654	200 14 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  4039		000020	000000			AEE=XX				;INITIAL C(E)
  4040	032655	200 11 0 00 044717 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4041	032656	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4042		000012	525252			AR1=V3				;EXPECTED RESULT IN AC
  4043	032657	312 13 0 00 045040 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  4044	032660	003 13 0 00 041371 		ER3	AC,41371		;HIGH PRODUCT FAILED
  4045		252520	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  4046	032661	312 14 0 00 045041 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  4047	032662	004 14 0 00 041372 		ER4	AC+1,41372		;LOW PRODUCT FAILED
  4048		000020	000000			AEE=XX				;INITIAL C(E)
  4049	032663	312 11 0 00 044717 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4050	032664	005 11 0 00 041373 		ER5	E,41373			;C(E) WAS CLOBBERED
  4051	032665	321 15 0 00 032653 		JUMPL	AC+2,F41370		;LOOP ON ERROR SWITCH^
  4052
  4053			004140			ADR=ADR+1
  4054			000014			WW=WW-1
  4055		000040	000000			XX=XX+XX
  4056						IFE	XX,<XX=1>
  4057
  4058					;MULTIPLY A FLOATING 1 BY 0101...0101
  4059		252525	252525			V1=N2
  4060		125240	000000			V2=N2*XX
  4061		000025	252525			IFG	XX,<V3=<N2_<-WW>>>
  4062						IFL	XX,<V3=N1+1>
  4063						MOP1	(\ADR,V1,0,XX,V3,V2)^
  4064					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  4065					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4066					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  4067					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4068
  4069		252525	252525		F41400:	AA1=V1				;INITIAL C(AC)
  4070	032666	200 13 0 00 044767 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  4071			000000			AA2=0				;INITIAL C(AC+1)
  4072	032667	200 14 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 3-15
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0092

  4073		000040	000000			AEE=XX				;INITIAL C(E)
  4074	032670	200 11 0 00 044722 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4075	032671	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4076		000025	252525			AR1=V3				;EXPECTED RESULT IN AC
  4077	032672	312 13 0 00 045042 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  4078	032673	003 13 0 00 041401 		ER3	AC,41401		;HIGH PRODUCT FAILED
  4079		125240	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  4080	032674	312 14 0 00 045043 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  4081	032675	004 14 0 00 041402 		ER4	AC+1,41402		;LOW PRODUCT FAILED
  4082		000040	000000			AEE=XX				;INITIAL C(E)
  4083	032676	312 11 0 00 044722 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4084	032677	005 11 0 00 041403 		ER5	E,41403			;C(E) WAS CLOBBERED
  4085	032700	321 15 0 00 032666 		JUMPL	AC+2,F41400		;LOOP ON ERROR SWITCH^
  4086
  4087			004141			ADR=ADR+1
  4088			000013			WW=WW-1
  4089		000100	000000			XX=XX+XX
  4090						IFE	XX,<XX=1>
  4091
  4092					;MULTIPLY A FLOATING 1 BY 0101...0101
  4093		252525	252525			V1=N2
  4094		252500	000000			V2=N2*XX
  4095		000052	525252			IFG	XX,<V3=<N2_<-WW>>>
  4096						IFL	XX,<V3=N1+1>
  4097						MOP1	(\ADR,V1,0,XX,V3,V2)^
  4098					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  4099					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4100					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  4101					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4102
  4103		252525	252525		F41410:	AA1=V1				;INITIAL C(AC)
  4104	032701	200 13 0 00 044767 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  4105			000000			AA2=0				;INITIAL C(AC+1)
  4106	032702	200 14 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  4107		000100	000000			AEE=XX				;INITIAL C(E)
  4108	032703	200 11 0 00 044725 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4109	032704	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4110		000052	525252			AR1=V3				;EXPECTED RESULT IN AC
  4111	032705	312 13 0 00 045044 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  4112	032706	003 13 0 00 041411 		ER3	AC,41411		;HIGH PRODUCT FAILED
  4113		252500	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  4114	032707	312 14 0 00 045045 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  4115	032710	004 14 0 00 041412 		ER4	AC+1,41412		;LOW PRODUCT FAILED
  4116		000100	000000			AEE=XX				;INITIAL C(E)
  4117	032711	312 11 0 00 044725 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4118	032712	005 11 0 00 041413 		ER5	E,41413			;C(E) WAS CLOBBERED
  4119	032713	321 15 0 00 032701 		JUMPL	AC+2,F41410		;LOOP ON ERROR SWITCH^
  4120
  4121			004142			ADR=ADR+1
  4122			000012			WW=WW-1
  4123		000200	000000			XX=XX+XX
  4124						IFE	XX,<XX=1>
  4125
  4126					;MULTIPLY A FLOATING 1 BY 0101...0101
  4127		252525	252525			V1=N2
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 3-16
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0093

  4128		125200	000000			V2=N2*XX
  4129		000125	252525			IFG	XX,<V3=<N2_<-WW>>>
  4130						IFL	XX,<V3=N1+1>
  4131						MOP1	(\ADR,V1,0,XX,V3,V2)^
  4132					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  4133					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4134					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  4135					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4136
  4137		252525	252525		F41420:	AA1=V1				;INITIAL C(AC)
  4138	032714	200 13 0 00 044767 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  4139			000000			AA2=0				;INITIAL C(AC+1)
  4140	032715	200 14 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  4141		000200	000000			AEE=XX				;INITIAL C(E)
  4142	032716	200 11 0 00 044730 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4143	032717	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4144		000125	252525			AR1=V3				;EXPECTED RESULT IN AC
  4145	032720	312 13 0 00 045046 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  4146	032721	003 13 0 00 041421 		ER3	AC,41421		;HIGH PRODUCT FAILED
  4147		125200	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  4148	032722	312 14 0 00 045047 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  4149	032723	004 14 0 00 041422 		ER4	AC+1,41422		;LOW PRODUCT FAILED
  4150		000200	000000			AEE=XX				;INITIAL C(E)
  4151	032724	312 11 0 00 044730 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4152	032725	005 11 0 00 041423 		ER5	E,41423			;C(E) WAS CLOBBERED
  4153	032726	321 15 0 00 032714 		JUMPL	AC+2,F41420		;LOOP ON ERROR SWITCH^
  4154
  4155			004143			ADR=ADR+1
  4156			000011			WW=WW-1
  4157		000400	000000			XX=XX+XX
  4158						IFE	XX,<XX=1>
  4159
  4160					;MULTIPLY A FLOATING 1 BY 0101...0101
  4161		252525	252525			V1=N2
  4162		252400	000000			V2=N2*XX
  4163		000252	525252			IFG	XX,<V3=<N2_<-WW>>>
  4164						IFL	XX,<V3=N1+1>
  4165						MOP1	(\ADR,V1,0,XX,V3,V2)^
  4166					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  4167					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4168					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  4169					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4170
  4171		252525	252525		F41430:	AA1=V1				;INITIAL C(AC)
  4172	032727	200 13 0 00 044767 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  4173			000000			AA2=0				;INITIAL C(AC+1)
  4174	032730	200 14 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  4175		000400	000000			AEE=XX				;INITIAL C(E)
  4176	032731	200 11 0 00 044733 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4177	032732	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4178		000252	525252			AR1=V3				;EXPECTED RESULT IN AC
  4179	032733	312 13 0 00 045050 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  4180	032734	003 13 0 00 041431 		ER3	AC,41431		;HIGH PRODUCT FAILED
  4181		252400	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  4182	032735	312 14 0 00 045051 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 3-17
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0094

  4183	032736	004 14 0 00 041432 		ER4	AC+1,41432		;LOW PRODUCT FAILED
  4184		000400	000000			AEE=XX				;INITIAL C(E)
  4185	032737	312 11 0 00 044733 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4186	032740	005 11 0 00 041433 		ER5	E,41433			;C(E) WAS CLOBBERED
  4187	032741	321 15 0 00 032727 		JUMPL	AC+2,F41430		;LOOP ON ERROR SWITCH^
  4188
  4189			004144			ADR=ADR+1
  4190			000010			WW=WW-1
  4191		001000	000000			XX=XX+XX
  4192						IFE	XX,<XX=1>
  4193
  4194					;MULTIPLY A FLOATING 1 BY 0101...0101
  4195		252525	252525			V1=N2
  4196		125000	000000			V2=N2*XX
  4197		000525	252525			IFG	XX,<V3=<N2_<-WW>>>
  4198						IFL	XX,<V3=N1+1>
  4199						MOP1	(\ADR,V1,0,XX,V3,V2)^
  4200					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  4201					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4202					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  4203					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4204
  4205		252525	252525		F41440:	AA1=V1				;INITIAL C(AC)
  4206	032742	200 13 0 00 044767 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  4207			000000			AA2=0				;INITIAL C(AC+1)
  4208	032743	200 14 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  4209		001000	000000			AEE=XX				;INITIAL C(E)
  4210	032744	200 11 0 00 044736 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4211	032745	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4212		000525	252525			AR1=V3				;EXPECTED RESULT IN AC
  4213	032746	312 13 0 00 045052 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  4214	032747	003 13 0 00 041441 		ER3	AC,41441		;HIGH PRODUCT FAILED
  4215		125000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  4216	032750	312 14 0 00 045053 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  4217	032751	004 14 0 00 041442 		ER4	AC+1,41442		;LOW PRODUCT FAILED
  4218		001000	000000			AEE=XX				;INITIAL C(E)
  4219	032752	312 11 0 00 044736 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4220	032753	005 11 0 00 041443 		ER5	E,41443			;C(E) WAS CLOBBERED
  4221	032754	321 15 0 00 032742 		JUMPL	AC+2,F41440		;LOOP ON ERROR SWITCH^
  4222
  4223			004145			ADR=ADR+1
  4224			000007			WW=WW-1
  4225		002000	000000			XX=XX+XX
  4226						IFE	XX,<XX=1>
  4227
  4228					;MULTIPLY A FLOATING 1 BY 0101...0101
  4229		252525	252525			V1=N2
  4230		252000	000000			V2=N2*XX
  4231		001252	525252			IFG	XX,<V3=<N2_<-WW>>>
  4232						IFL	XX,<V3=N1+1>
  4233						MOP1	(\ADR,V1,0,XX,V3,V2)^
  4234					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  4235					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4236					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  4237					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 3-18
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0095

  4238
  4239		252525	252525		F41450:	AA1=V1				;INITIAL C(AC)
  4240	032755	200 13 0 00 044767 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  4241			000000			AA2=0				;INITIAL C(AC+1)
  4242	032756	200 14 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  4243		002000	000000			AEE=XX				;INITIAL C(E)
  4244	032757	200 11 0 00 044741 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4245	032760	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4246		001252	525252			AR1=V3				;EXPECTED RESULT IN AC
  4247	032761	312 13 0 00 045054 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  4248	032762	003 13 0 00 041451 		ER3	AC,41451		;HIGH PRODUCT FAILED
  4249		252000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  4250	032763	312 14 0 00 045055 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  4251	032764	004 14 0 00 041452 		ER4	AC+1,41452		;LOW PRODUCT FAILED
  4252		002000	000000			AEE=XX				;INITIAL C(E)
  4253	032765	312 11 0 00 044741 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4254	032766	005 11 0 00 041453 		ER5	E,41453			;C(E) WAS CLOBBERED
  4255	032767	321 15 0 00 032755 		JUMPL	AC+2,F41450		;LOOP ON ERROR SWITCH^
  4256
  4257			004146			ADR=ADR+1
  4258			000006			WW=WW-1
  4259		004000	000000			XX=XX+XX
  4260						IFE	XX,<XX=1>
  4261
  4262					;MULTIPLY A FLOATING 1 BY 0101...0101
  4263		252525	252525			V1=N2
  4264		124000	000000			V2=N2*XX
  4265		002525	252525			IFG	XX,<V3=<N2_<-WW>>>
  4266						IFL	XX,<V3=N1+1>
  4267						MOP1	(\ADR,V1,0,XX,V3,V2)^
  4268					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  4269					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4270					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  4271					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4272
  4273		252525	252525		F41460:	AA1=V1				;INITIAL C(AC)
  4274	032770	200 13 0 00 044767 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  4275			000000			AA2=0				;INITIAL C(AC+1)
  4276	032771	200 14 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  4277		004000	000000			AEE=XX				;INITIAL C(E)
  4278	032772	200 11 0 00 044744 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4279	032773	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4280		002525	252525			AR1=V3				;EXPECTED RESULT IN AC
  4281	032774	312 13 0 00 045056 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  4282	032775	003 13 0 00 041461 		ER3	AC,41461		;HIGH PRODUCT FAILED
  4283		124000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  4284	032776	312 14 0 00 045057 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  4285	032777	004 14 0 00 041462 		ER4	AC+1,41462		;LOW PRODUCT FAILED
  4286		004000	000000			AEE=XX				;INITIAL C(E)
  4287	033000	312 11 0 00 044744 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4288	033001	005 11 0 00 041463 		ER5	E,41463			;C(E) WAS CLOBBERED
  4289	033002	321 15 0 00 032770 		JUMPL	AC+2,F41460		;LOOP ON ERROR SWITCH^
  4290
  4291			004147			ADR=ADR+1
  4292			000005			WW=WW-1
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 3-19
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0096

  4293		010000	000000			XX=XX+XX
  4294						IFE	XX,<XX=1>
  4295
  4296					;MULTIPLY A FLOATING 1 BY 0101...0101
  4297		252525	252525			V1=N2
  4298		250000	000000			V2=N2*XX
  4299		005252	525252			IFG	XX,<V3=<N2_<-WW>>>
  4300						IFL	XX,<V3=N1+1>
  4301						MOP1	(\ADR,V1,0,XX,V3,V2)^
  4302					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  4303					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4304					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  4305					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4306
  4307		252525	252525		F41470:	AA1=V1				;INITIAL C(AC)
  4308	033003	200 13 0 00 044767 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  4309			000000			AA2=0				;INITIAL C(AC+1)
  4310	033004	200 14 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  4311		010000	000000			AEE=XX				;INITIAL C(E)
  4312	033005	200 11 0 00 044747 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4313	033006	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4314		005252	525252			AR1=V3				;EXPECTED RESULT IN AC
  4315	033007	312 13 0 00 045060 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  4316	033010	003 13 0 00 041471 		ER3	AC,41471		;HIGH PRODUCT FAILED
  4317		250000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  4318	033011	312 14 0 00 045061 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  4319	033012	004 14 0 00 041472 		ER4	AC+1,41472		;LOW PRODUCT FAILED
  4320		010000	000000			AEE=XX				;INITIAL C(E)
  4321	033013	312 11 0 00 044747 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4322	033014	005 11 0 00 041473 		ER5	E,41473			;C(E) WAS CLOBBERED
  4323	033015	321 15 0 00 033003 		JUMPL	AC+2,F41470		;LOOP ON ERROR SWITCH^
  4324
  4325			004150			ADR=ADR+1
  4326			000004			WW=WW-1
  4327		020000	000000			XX=XX+XX
  4328						IFE	XX,<XX=1>
  4329
  4330					;MULTIPLY A FLOATING 1 BY 0101...0101
  4331		252525	252525			V1=N2
  4332		120000	000000			V2=N2*XX
  4333		012525	252525			IFG	XX,<V3=<N2_<-WW>>>
  4334						IFL	XX,<V3=N1+1>
  4335						MOP1	(\ADR,V1,0,XX,V3,V2)^
  4336					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  4337					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4338					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  4339					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4340
  4341		252525	252525		F41500:	AA1=V1				;INITIAL C(AC)
  4342	033016	200 13 0 00 044767 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  4343			000000			AA2=0				;INITIAL C(AC+1)
  4344	033017	200 14 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  4345		020000	000000			AEE=XX				;INITIAL C(E)
  4346	033020	200 11 0 00 044752 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4347	033021	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 3-20
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0097

  4348		012525	252525			AR1=V3				;EXPECTED RESULT IN AC
  4349	033022	312 13 0 00 045062 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  4350	033023	003 13 0 00 041501 		ER3	AC,41501		;HIGH PRODUCT FAILED
  4351		120000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  4352	033024	312 14 0 00 045063 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  4353	033025	004 14 0 00 041502 		ER4	AC+1,41502		;LOW PRODUCT FAILED
  4354		020000	000000			AEE=XX				;INITIAL C(E)
  4355	033026	312 11 0 00 044752 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4356	033027	005 11 0 00 041503 		ER5	E,41503			;C(E) WAS CLOBBERED
  4357	033030	321 15 0 00 033016 		JUMPL	AC+2,F41500		;LOOP ON ERROR SWITCH^
  4358
  4359			004151			ADR=ADR+1
  4360			000003			WW=WW-1
  4361		040000	000000			XX=XX+XX
  4362						IFE	XX,<XX=1>
  4363
  4364					;MULTIPLY A FLOATING 1 BY 0101...0101
  4365		252525	252525			V1=N2
  4366		240000	000000			V2=N2*XX
  4367		025252	525252			IFG	XX,<V3=<N2_<-WW>>>
  4368						IFL	XX,<V3=N1+1>
  4369						MOP1	(\ADR,V1,0,XX,V3,V2)^
  4370					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  4371					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4372					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  4373					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4374
  4375		252525	252525		F41510:	AA1=V1				;INITIAL C(AC)
  4376	033031	200 13 0 00 044767 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  4377			000000			AA2=0				;INITIAL C(AC+1)
  4378	033032	200 14 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  4379		040000	000000			AEE=XX				;INITIAL C(E)
  4380	033033	200 11 0 00 044755 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4381	033034	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4382		025252	525252			AR1=V3				;EXPECTED RESULT IN AC
  4383	033035	312 13 0 00 045064 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  4384	033036	003 13 0 00 041511 		ER3	AC,41511		;HIGH PRODUCT FAILED
  4385		240000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  4386	033037	312 14 0 00 045065 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  4387	033040	004 14 0 00 041512 		ER4	AC+1,41512		;LOW PRODUCT FAILED
  4388		040000	000000			AEE=XX				;INITIAL C(E)
  4389	033041	312 11 0 00 044755 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4390	033042	005 11 0 00 041513 		ER5	E,41513			;C(E) WAS CLOBBERED
  4391	033043	321 15 0 00 033031 		JUMPL	AC+2,F41510		;LOOP ON ERROR SWITCH^
  4392
  4393			004152			ADR=ADR+1
  4394			000002			WW=WW-1
  4395		100000	000000			XX=XX+XX
  4396						IFE	XX,<XX=1>
  4397
  4398					;MULTIPLY A FLOATING 1 BY 0101...0101
  4399		252525	252525			V1=N2
  4400		100000	000000			V2=N2*XX
  4401		052525	252525			IFG	XX,<V3=<N2_<-WW>>>
  4402						IFL	XX,<V3=N1+1>
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 3-21
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0098

  4403						MOP1	(\ADR,V1,0,XX,V3,V2)^
  4404					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  4405					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4406					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  4407					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4408
  4409		252525	252525		F41520:	AA1=V1				;INITIAL C(AC)
  4410	033044	200 13 0 00 044767 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  4411			000000			AA2=0				;INITIAL C(AC+1)
  4412	033045	200 14 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  4413		100000	000000			AEE=XX				;INITIAL C(E)
  4414	033046	200 11 0 00 044760 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4415	033047	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4416		052525	252525			AR1=V3				;EXPECTED RESULT IN AC
  4417	033050	312 13 0 00 045066 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  4418	033051	003 13 0 00 041521 		ER3	AC,41521		;HIGH PRODUCT FAILED
  4419		100000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  4420	033052	312 14 0 00 044760 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  4421	033053	004 14 0 00 041522 		ER4	AC+1,41522		;LOW PRODUCT FAILED
  4422		100000	000000			AEE=XX				;INITIAL C(E)
  4423	033054	312 11 0 00 044760 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4424	033055	005 11 0 00 041523 		ER5	E,41523			;C(E) WAS CLOBBERED
  4425	033056	321 15 0 00 033044 		JUMPL	AC+2,F41520		;LOOP ON ERROR SWITCH^
  4426
  4427			004153			ADR=ADR+1
  4428			000001			WW=WW-1
  4429		200000	000000			XX=XX+XX
  4430						IFE	XX,<XX=1>
  4431
  4432					;MULTIPLY A FLOATING 1 BY 0101...0101
  4433		252525	252525			V1=N2
  4434		200000	000000			V2=N2*XX
  4435		125252	525252			IFG	XX,<V3=<N2_<-WW>>>
  4436						IFL	XX,<V3=N1+1>
  4437						MOP1	(\ADR,V1,0,XX,V3,V2)^
  4438					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  4439					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4440					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  4441					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4442
  4443		252525	252525		F41530:	AA1=V1				;INITIAL C(AC)
  4444	033057	200 13 0 00 044767 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  4445			000000			AA2=0				;INITIAL C(AC+1)
  4446	033060	200 14 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  4447		200000	000000			AEE=XX				;INITIAL C(E)
  4448	033061	200 11 0 00 044763 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4449	033062	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4450		125252	525252			AR1=V3				;EXPECTED RESULT IN AC
  4451	033063	312 13 0 00 044770 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  4452	033064	003 13 0 00 041531 		ER3	AC,41531		;HIGH PRODUCT FAILED
  4453		200000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  4454	033065	312 14 0 00 044763 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  4455	033066	004 14 0 00 041532 		ER4	AC+1,41532		;LOW PRODUCT FAILED
  4456		200000	000000			AEE=XX				;INITIAL C(E)
  4457	033067	312 11 0 00 044763 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 3-22
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0099

  4458	033070	005 11 0 00 041533 		ER5	E,41533			;C(E) WAS CLOBBERED
  4459	033071	321 15 0 00 033057 		JUMPL	AC+2,F41530		;LOOP ON ERROR SWITCH^
  4460
  4461			004154			ADR=ADR+1
  4462			000000			WW=WW-1
  4463		400000	000000			XX=XX+XX
  4464						IFE	XX,<XX=1>
  4465
  4466					;MULTIPLY A FLOATING 1 BY 0101...0101
  4467		252525	252525			V1=N2
  4468		400000	000000			V2=N2*XX
  4469						IFG	XX,<V3=<N2_<-WW>>>
  4470		525252	525253			IFL	XX,<V3=N1+1>
  4471						MOP1	(\ADR,V1,0,XX,V3,V2)^
  4472					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [V1],[0] AND
  4473					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4474					;AND E AGAINST [V3], [V2] AND [XX] RESPECTIVELY.
  4475					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4476
  4477		252525	252525		F41540:	AA1=V1				;INITIAL C(AC)
  4478	033072	200 13 0 00 044767 		MOVE	AC,[V1]			;PRELOAD AC (MULTIPLIER)
  4479			000000			AA2=0				;INITIAL C(AC+1)
  4480	033073	200 14 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  4481		400000	000000			AEE=XX				;INITIAL C(E)
  4482	033074	200 11 0 00 044765 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4483	033075	224 13 0 00 000011 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4484		525252	525253			AR1=V3				;EXPECTED RESULT IN AC
  4485	033076	312 13 0 00 045067 		CAME	AC,[V3]			;IS HIGH PRODUCT CORRECT?
  4486	033077	003 13 0 00 041541 		ER3	AC,41541		;HIGH PRODUCT FAILED
  4487		400000	000000			AR2=V2				;EXPECTED RESULT IN AC+1
  4488	033100	312 14 0 00 044765 		CAME	AC+1,[V2]		;IS LOW PRODUCT CORRECT?
  4489	033101	004 14 0 00 041542 		ER4	AC+1,41542		;LOW PRODUCT FAILED
  4490		400000	000000			AEE=XX				;INITIAL C(E)
  4491	033102	312 11 0 00 044765 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4492	033103	005 11 0 00 041543 		ER5	E,41543			;C(E) WAS CLOBBERED
  4493	033104	321 15 0 00 033072 		JUMPL	AC+2,F41540		;LOOP ON ERROR SWITCH^
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 4
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0100

  4494			000012			AC=12
  4495			000010			E=<AC-2>&17
  4496						SAVEAC	(1,1)^
  4497	033105	201 14 0 00 033105 		MOVEI	AC+2,.		;SAVE TEST PC
  4498	033106	202 14 0 00 030051 		MOVEM	AC+2,TESTPC
  4499	033107	201 14 0 00 000014 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  4500	033110	202 14 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  4501			000000			XX=0
  4502
  4503						REPEAT	^D36,<
  4504						ADR=ADR+1
  4505						XX=XX+XX
  4506						IFE	XX,<XX=1>
  4507					
  4508					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  4509						V1=XX*XX
  4510						IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  4511						IFL	XX,<V2=XX*XX>
  4512						MOP1	(\ADR,XX,-1,XX,V2,V1)>
  4513
  4514			004155			ADR=ADR+1
  4515			000000			XX=XX+XX
  4516			000001			IFE	XX,<XX=1>
  4517
  4518					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  4519			000001			V1=XX*XX
  4520			000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  4521						IFL	XX,<V2=XX*XX>
  4522						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  4523					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  4524					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4525					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  4526					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4527
  4528			000001		F41550:	AA1=XX				;INITIAL C(AC)
  4529	033111	200 12 0 00 044616 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  4530		777777	777777			AA2=-1				;INITIAL C(AC+1)
  4531	033112	200 13 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  4532			000001			AEE=XX				;INITIAL C(E)
  4533	033113	200 10 0 00 044616 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4534	033114	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4535			000000			AR1=V2				;EXPECTED RESULT IN AC
  4536	033115	312 12 0 00 044615 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  4537	033116	003 12 0 00 041551 		ER3	AC,41551		;HIGH PRODUCT FAILED
  4538			000001			AR2=V1				;EXPECTED RESULT IN AC+1
  4539	033117	312 13 0 00 044616 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  4540	033120	004 13 0 00 041552 		ER4	AC+1,41552		;LOW PRODUCT FAILED
  4541			000001			AEE=XX				;INITIAL C(E)
  4542	033121	312 10 0 00 044616 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4543	033122	005 10 0 00 041553 		ER5	E,41553			;C(E) WAS CLOBBERED
  4544	033123	321 14 0 00 033111 		JUMPL	AC+2,F41550		;LOOP ON ERROR SWITCH^
  4545
  4546			004156			ADR=ADR+1
  4547			000002			XX=XX+XX
  4548						IFE	XX,<XX=1>
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 4-1
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0101

  4549
  4550					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  4551			000004			V1=XX*XX
  4552			000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  4553						IFL	XX,<V2=XX*XX>
  4554						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  4555					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  4556					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4557					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  4558					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4559
  4560			000002		F41560:	AA1=XX				;INITIAL C(AC)
  4561	033124	200 12 0 00 044620 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  4562		777777	777777			AA2=-1				;INITIAL C(AC+1)
  4563	033125	200 13 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  4564			000002			AEE=XX				;INITIAL C(E)
  4565	033126	200 10 0 00 044620 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4566	033127	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4567			000000			AR1=V2				;EXPECTED RESULT IN AC
  4568	033130	312 12 0 00 044615 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  4569	033131	003 12 0 00 041561 		ER3	AC,41561		;HIGH PRODUCT FAILED
  4570			000004			AR2=V1				;EXPECTED RESULT IN AC+1
  4571	033132	312 13 0 00 044623 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  4572	033133	004 13 0 00 041562 		ER4	AC+1,41562		;LOW PRODUCT FAILED
  4573			000002			AEE=XX				;INITIAL C(E)
  4574	033134	312 10 0 00 044620 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4575	033135	005 10 0 00 041563 		ER5	E,41563			;C(E) WAS CLOBBERED
  4576	033136	321 14 0 00 033124 		JUMPL	AC+2,F41560		;LOOP ON ERROR SWITCH^
  4577
  4578			004157			ADR=ADR+1
  4579			000004			XX=XX+XX
  4580						IFE	XX,<XX=1>
  4581
  4582					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  4583			000020			V1=XX*XX
  4584			000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  4585						IFL	XX,<V2=XX*XX>
  4586						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  4587					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  4588					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4589					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  4590					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4591
  4592			000004		F41570:	AA1=XX				;INITIAL C(AC)
  4593	033137	200 12 0 00 044623 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  4594		777777	777777			AA2=-1				;INITIAL C(AC+1)
  4595	033140	200 13 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  4596			000004			AEE=XX				;INITIAL C(E)
  4597	033141	200 10 0 00 044623 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4598	033142	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4599			000000			AR1=V2				;EXPECTED RESULT IN AC
  4600	033143	312 12 0 00 044615 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  4601	033144	003 12 0 00 041571 		ER3	AC,41571		;HIGH PRODUCT FAILED
  4602			000020			AR2=V1				;EXPECTED RESULT IN AC+1
  4603	033145	312 13 0 00 044631 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 4-2
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0102

  4604	033146	004 13 0 00 041572 		ER4	AC+1,41572		;LOW PRODUCT FAILED
  4605			000004			AEE=XX				;INITIAL C(E)
  4606	033147	312 10 0 00 044623 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4607	033150	005 10 0 00 041573 		ER5	E,41573			;C(E) WAS CLOBBERED
  4608	033151	321 14 0 00 033137 		JUMPL	AC+2,F41570		;LOOP ON ERROR SWITCH^
  4609
  4610			004160			ADR=ADR+1
  4611			000010			XX=XX+XX
  4612						IFE	XX,<XX=1>
  4613
  4614					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  4615			000100			V1=XX*XX
  4616			000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  4617						IFL	XX,<V2=XX*XX>
  4618						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  4619					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  4620					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4621					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  4622					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4623
  4624			000010		F41600:	AA1=XX				;INITIAL C(AC)
  4625	033152	200 12 0 00 044626 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  4626		777777	777777			AA2=-1				;INITIAL C(AC+1)
  4627	033153	200 13 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  4628			000010			AEE=XX				;INITIAL C(E)
  4629	033154	200 10 0 00 044626 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4630	033155	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4631			000000			AR1=V2				;EXPECTED RESULT IN AC
  4632	033156	312 12 0 00 044615 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  4633	033157	003 12 0 00 041601 		ER3	AC,41601		;HIGH PRODUCT FAILED
  4634			000100			AR2=V1				;EXPECTED RESULT IN AC+1
  4635	033160	312 13 0 00 044637 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  4636	033161	004 13 0 00 041602 		ER4	AC+1,41602		;LOW PRODUCT FAILED
  4637			000010			AEE=XX				;INITIAL C(E)
  4638	033162	312 10 0 00 044626 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4639	033163	005 10 0 00 041603 		ER5	E,41603			;C(E) WAS CLOBBERED
  4640	033164	321 14 0 00 033152 		JUMPL	AC+2,F41600		;LOOP ON ERROR SWITCH^
  4641
  4642			004161			ADR=ADR+1
  4643			000020			XX=XX+XX
  4644						IFE	XX,<XX=1>
  4645
  4646					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  4647			000400			V1=XX*XX
  4648			000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  4649						IFL	XX,<V2=XX*XX>
  4650						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  4651					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  4652					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4653					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  4654					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4655
  4656			000020		F41610:	AA1=XX				;INITIAL C(AC)
  4657	033165	200 12 0 00 044631 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  4658		777777	777777			AA2=-1				;INITIAL C(AC+1)
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 4-3
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0103

  4659	033166	200 13 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  4660			000020			AEE=XX				;INITIAL C(E)
  4661	033167	200 10 0 00 044631 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4662	033170	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4663			000000			AR1=V2				;EXPECTED RESULT IN AC
  4664	033171	312 12 0 00 044615 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  4665	033172	003 12 0 00 041611 		ER3	AC,41611		;HIGH PRODUCT FAILED
  4666			000400			AR2=V1				;EXPECTED RESULT IN AC+1
  4667	033173	312 13 0 00 044645 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  4668	033174	004 13 0 00 041612 		ER4	AC+1,41612		;LOW PRODUCT FAILED
  4669			000020			AEE=XX				;INITIAL C(E)
  4670	033175	312 10 0 00 044631 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4671	033176	005 10 0 00 041613 		ER5	E,41613			;C(E) WAS CLOBBERED
  4672	033177	321 14 0 00 033165 		JUMPL	AC+2,F41610		;LOOP ON ERROR SWITCH^
  4673
  4674			004162			ADR=ADR+1
  4675			000040			XX=XX+XX
  4676						IFE	XX,<XX=1>
  4677
  4678					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  4679			002000			V1=XX*XX
  4680			000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  4681						IFL	XX,<V2=XX*XX>
  4682						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  4683					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  4684					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4685					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  4686					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4687
  4688			000040		F41620:	AA1=XX				;INITIAL C(AC)
  4689	033200	200 12 0 00 044634 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  4690		777777	777777			AA2=-1				;INITIAL C(AC+1)
  4691	033201	200 13 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  4692			000040			AEE=XX				;INITIAL C(E)
  4693	033202	200 10 0 00 044634 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4694	033203	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4695			000000			AR1=V2				;EXPECTED RESULT IN AC
  4696	033204	312 12 0 00 044615 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  4697	033205	003 12 0 00 041621 		ER3	AC,41621		;HIGH PRODUCT FAILED
  4698			002000			AR2=V1				;EXPECTED RESULT IN AC+1
  4699	033206	312 13 0 00 044653 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  4700	033207	004 13 0 00 041622 		ER4	AC+1,41622		;LOW PRODUCT FAILED
  4701			000040			AEE=XX				;INITIAL C(E)
  4702	033210	312 10 0 00 044634 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4703	033211	005 10 0 00 041623 		ER5	E,41623			;C(E) WAS CLOBBERED
  4704	033212	321 14 0 00 033200 		JUMPL	AC+2,F41620		;LOOP ON ERROR SWITCH^
  4705
  4706			004163			ADR=ADR+1
  4707			000100			XX=XX+XX
  4708						IFE	XX,<XX=1>
  4709
  4710					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  4711			010000			V1=XX*XX
  4712			000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  4713						IFL	XX,<V2=XX*XX>
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 4-4
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0104

  4714						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  4715					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  4716					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4717					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  4718					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4719
  4720			000100		F41630:	AA1=XX				;INITIAL C(AC)
  4721	033213	200 12 0 00 044637 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  4722		777777	777777			AA2=-1				;INITIAL C(AC+1)
  4723	033214	200 13 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  4724			000100			AEE=XX				;INITIAL C(E)
  4725	033215	200 10 0 00 044637 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4726	033216	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4727			000000			AR1=V2				;EXPECTED RESULT IN AC
  4728	033217	312 12 0 00 044615 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  4729	033220	003 12 0 00 041631 		ER3	AC,41631		;HIGH PRODUCT FAILED
  4730			010000			AR2=V1				;EXPECTED RESULT IN AC+1
  4731	033221	312 13 0 00 044661 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  4732	033222	004 13 0 00 041632 		ER4	AC+1,41632		;LOW PRODUCT FAILED
  4733			000100			AEE=XX				;INITIAL C(E)
  4734	033223	312 10 0 00 044637 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4735	033224	005 10 0 00 041633 		ER5	E,41633			;C(E) WAS CLOBBERED
  4736	033225	321 14 0 00 033213 		JUMPL	AC+2,F41630		;LOOP ON ERROR SWITCH^
  4737
  4738			004164			ADR=ADR+1
  4739			000200			XX=XX+XX
  4740						IFE	XX,<XX=1>
  4741
  4742					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  4743			040000			V1=XX*XX
  4744			000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  4745						IFL	XX,<V2=XX*XX>
  4746						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  4747					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  4748					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4749					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  4750					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4751
  4752			000200		F41640:	AA1=XX				;INITIAL C(AC)
  4753	033226	200 12 0 00 044642 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  4754		777777	777777			AA2=-1				;INITIAL C(AC+1)
  4755	033227	200 13 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  4756			000200			AEE=XX				;INITIAL C(E)
  4757	033230	200 10 0 00 044642 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4758	033231	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4759			000000			AR1=V2				;EXPECTED RESULT IN AC
  4760	033232	312 12 0 00 044615 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  4761	033233	003 12 0 00 041641 		ER3	AC,41641		;HIGH PRODUCT FAILED
  4762			040000			AR2=V1				;EXPECTED RESULT IN AC+1
  4763	033234	312 13 0 00 044667 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  4764	033235	004 13 0 00 041642 		ER4	AC+1,41642		;LOW PRODUCT FAILED
  4765			000200			AEE=XX				;INITIAL C(E)
  4766	033236	312 10 0 00 044642 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4767	033237	005 10 0 00 041643 		ER5	E,41643			;C(E) WAS CLOBBERED
  4768	033240	321 14 0 00 033226 		JUMPL	AC+2,F41640		;LOOP ON ERROR SWITCH^
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 4-5
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0105

  4769
  4770			004165			ADR=ADR+1
  4771			000400			XX=XX+XX
  4772						IFE	XX,<XX=1>
  4773
  4774					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  4775			200000			V1=XX*XX
  4776			000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  4777						IFL	XX,<V2=XX*XX>
  4778						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  4779					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  4780					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4781					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  4782					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4783
  4784			000400		F41650:	AA1=XX				;INITIAL C(AC)
  4785	033241	200 12 0 00 044645 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  4786		777777	777777			AA2=-1				;INITIAL C(AC+1)
  4787	033242	200 13 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  4788			000400			AEE=XX				;INITIAL C(E)
  4789	033243	200 10 0 00 044645 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4790	033244	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4791			000000			AR1=V2				;EXPECTED RESULT IN AC
  4792	033245	312 12 0 00 044615 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  4793	033246	003 12 0 00 041651 		ER3	AC,41651		;HIGH PRODUCT FAILED
  4794			200000			AR2=V1				;EXPECTED RESULT IN AC+1
  4795	033247	312 13 0 00 044675 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  4796	033250	004 13 0 00 041652 		ER4	AC+1,41652		;LOW PRODUCT FAILED
  4797			000400			AEE=XX				;INITIAL C(E)
  4798	033251	312 10 0 00 044645 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4799	033252	005 10 0 00 041653 		ER5	E,41653			;C(E) WAS CLOBBERED
  4800	033253	321 14 0 00 033241 		JUMPL	AC+2,F41650		;LOOP ON ERROR SWITCH^
  4801
  4802			004166			ADR=ADR+1
  4803			001000			XX=XX+XX
  4804						IFE	XX,<XX=1>
  4805
  4806					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  4807		000001	000000			V1=XX*XX
  4808			000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  4809						IFL	XX,<V2=XX*XX>
  4810						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  4811					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  4812					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4813					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  4814					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4815
  4816			001000		F41660:	AA1=XX				;INITIAL C(AC)
  4817	033254	200 12 0 00 044650 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  4818		777777	777777			AA2=-1				;INITIAL C(AC+1)
  4819	033255	200 13 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  4820			001000			AEE=XX				;INITIAL C(E)
  4821	033256	200 10 0 00 044650 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4822	033257	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4823			000000			AR1=V2				;EXPECTED RESULT IN AC
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 4-6
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0106

  4824	033260	312 12 0 00 044615 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  4825	033261	003 12 0 00 041661 		ER3	AC,41661		;HIGH PRODUCT FAILED
  4826		000001	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  4827	033262	312 13 0 00 044703 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  4828	033263	004 13 0 00 041662 		ER4	AC+1,41662		;LOW PRODUCT FAILED
  4829			001000			AEE=XX				;INITIAL C(E)
  4830	033264	312 10 0 00 044650 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4831	033265	005 10 0 00 041663 		ER5	E,41663			;C(E) WAS CLOBBERED
  4832	033266	321 14 0 00 033254 		JUMPL	AC+2,F41660		;LOOP ON ERROR SWITCH^
  4833
  4834			004167			ADR=ADR+1
  4835			002000			XX=XX+XX
  4836						IFE	XX,<XX=1>
  4837
  4838					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  4839		000004	000000			V1=XX*XX
  4840			000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  4841						IFL	XX,<V2=XX*XX>
  4842						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  4843					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  4844					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4845					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  4846					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4847
  4848			002000		F41670:	AA1=XX				;INITIAL C(AC)
  4849	033267	200 12 0 00 044653 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  4850		777777	777777			AA2=-1				;INITIAL C(AC+1)
  4851	033270	200 13 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  4852			002000			AEE=XX				;INITIAL C(E)
  4853	033271	200 10 0 00 044653 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4854	033272	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4855			000000			AR1=V2				;EXPECTED RESULT IN AC
  4856	033273	312 12 0 00 044615 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  4857	033274	003 12 0 00 041671 		ER3	AC,41671		;HIGH PRODUCT FAILED
  4858		000004	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  4859	033275	312 13 0 00 044711 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  4860	033276	004 13 0 00 041672 		ER4	AC+1,41672		;LOW PRODUCT FAILED
  4861			002000			AEE=XX				;INITIAL C(E)
  4862	033277	312 10 0 00 044653 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4863	033300	005 10 0 00 041673 		ER5	E,41673			;C(E) WAS CLOBBERED
  4864	033301	321 14 0 00 033267 		JUMPL	AC+2,F41670		;LOOP ON ERROR SWITCH^
  4865
  4866			004170			ADR=ADR+1
  4867			004000			XX=XX+XX
  4868						IFE	XX,<XX=1>
  4869
  4870					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  4871		000020	000000			V1=XX*XX
  4872			000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  4873						IFL	XX,<V2=XX*XX>
  4874						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  4875					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  4876					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4877					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  4878					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 4-7
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0107

  4879
  4880			004000		F41700:	AA1=XX				;INITIAL C(AC)
  4881	033302	200 12 0 00 044656 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  4882		777777	777777			AA2=-1				;INITIAL C(AC+1)
  4883	033303	200 13 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  4884			004000			AEE=XX				;INITIAL C(E)
  4885	033304	200 10 0 00 044656 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4886	033305	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4887			000000			AR1=V2				;EXPECTED RESULT IN AC
  4888	033306	312 12 0 00 044615 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  4889	033307	003 12 0 00 041701 		ER3	AC,41701		;HIGH PRODUCT FAILED
  4890		000020	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  4891	033310	312 13 0 00 044717 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  4892	033311	004 13 0 00 041702 		ER4	AC+1,41702		;LOW PRODUCT FAILED
  4893			004000			AEE=XX				;INITIAL C(E)
  4894	033312	312 10 0 00 044656 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4895	033313	005 10 0 00 041703 		ER5	E,41703			;C(E) WAS CLOBBERED
  4896	033314	321 14 0 00 033302 		JUMPL	AC+2,F41700		;LOOP ON ERROR SWITCH^
  4897
  4898			004171			ADR=ADR+1
  4899			010000			XX=XX+XX
  4900						IFE	XX,<XX=1>
  4901
  4902					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  4903		000100	000000			V1=XX*XX
  4904			000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  4905						IFL	XX,<V2=XX*XX>
  4906						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  4907					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  4908					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4909					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  4910					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4911
  4912			010000		F41710:	AA1=XX				;INITIAL C(AC)
  4913	033315	200 12 0 00 044661 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  4914		777777	777777			AA2=-1				;INITIAL C(AC+1)
  4915	033316	200 13 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  4916			010000			AEE=XX				;INITIAL C(E)
  4917	033317	200 10 0 00 044661 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4918	033320	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4919			000000			AR1=V2				;EXPECTED RESULT IN AC
  4920	033321	312 12 0 00 044615 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  4921	033322	003 12 0 00 041711 		ER3	AC,41711		;HIGH PRODUCT FAILED
  4922		000100	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  4923	033323	312 13 0 00 044725 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  4924	033324	004 13 0 00 041712 		ER4	AC+1,41712		;LOW PRODUCT FAILED
  4925			010000			AEE=XX				;INITIAL C(E)
  4926	033325	312 10 0 00 044661 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4927	033326	005 10 0 00 041713 		ER5	E,41713			;C(E) WAS CLOBBERED
  4928	033327	321 14 0 00 033315 		JUMPL	AC+2,F41710		;LOOP ON ERROR SWITCH^
  4929
  4930			004172			ADR=ADR+1
  4931			020000			XX=XX+XX
  4932						IFE	XX,<XX=1>
  4933
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 4-8
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0108

  4934					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  4935		000400	000000			V1=XX*XX
  4936			000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  4937						IFL	XX,<V2=XX*XX>
  4938						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  4939					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  4940					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4941					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  4942					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4943
  4944			020000		F41720:	AA1=XX				;INITIAL C(AC)
  4945	033330	200 12 0 00 044664 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  4946		777777	777777			AA2=-1				;INITIAL C(AC+1)
  4947	033331	200 13 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  4948			020000			AEE=XX				;INITIAL C(E)
  4949	033332	200 10 0 00 044664 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4950	033333	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4951			000000			AR1=V2				;EXPECTED RESULT IN AC
  4952	033334	312 12 0 00 044615 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  4953	033335	003 12 0 00 041721 		ER3	AC,41721		;HIGH PRODUCT FAILED
  4954		000400	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  4955	033336	312 13 0 00 044733 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  4956	033337	004 13 0 00 041722 		ER4	AC+1,41722		;LOW PRODUCT FAILED
  4957			020000			AEE=XX				;INITIAL C(E)
  4958	033340	312 10 0 00 044664 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4959	033341	005 10 0 00 041723 		ER5	E,41723			;C(E) WAS CLOBBERED
  4960	033342	321 14 0 00 033330 		JUMPL	AC+2,F41720		;LOOP ON ERROR SWITCH^
  4961
  4962			004173			ADR=ADR+1
  4963			040000			XX=XX+XX
  4964						IFE	XX,<XX=1>
  4965
  4966					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  4967		002000	000000			V1=XX*XX
  4968			000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  4969						IFL	XX,<V2=XX*XX>
  4970						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  4971					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  4972					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  4973					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  4974					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  4975
  4976			040000		F41730:	AA1=XX				;INITIAL C(AC)
  4977	033343	200 12 0 00 044667 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  4978		777777	777777			AA2=-1				;INITIAL C(AC+1)
  4979	033344	200 13 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  4980			040000			AEE=XX				;INITIAL C(E)
  4981	033345	200 10 0 00 044667 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  4982	033346	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  4983			000000			AR1=V2				;EXPECTED RESULT IN AC
  4984	033347	312 12 0 00 044615 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  4985	033350	003 12 0 00 041731 		ER3	AC,41731		;HIGH PRODUCT FAILED
  4986		002000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  4987	033351	312 13 0 00 044741 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  4988	033352	004 13 0 00 041732 		ER4	AC+1,41732		;LOW PRODUCT FAILED
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 4-9
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0109

  4989			040000			AEE=XX				;INITIAL C(E)
  4990	033353	312 10 0 00 044667 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  4991	033354	005 10 0 00 041733 		ER5	E,41733			;C(E) WAS CLOBBERED
  4992	033355	321 14 0 00 033343 		JUMPL	AC+2,F41730		;LOOP ON ERROR SWITCH^
  4993
  4994			004174			ADR=ADR+1
  4995			100000			XX=XX+XX
  4996						IFE	XX,<XX=1>
  4997
  4998					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  4999		010000	000000			V1=XX*XX
  5000			000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5001						IFL	XX,<V2=XX*XX>
  5002						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5003					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5004					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5005					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5006					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5007
  5008			100000		F41740:	AA1=XX				;INITIAL C(AC)
  5009	033356	200 12 0 00 044672 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5010		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5011	033357	200 13 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5012			100000			AEE=XX				;INITIAL C(E)
  5013	033360	200 10 0 00 044672 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5014	033361	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5015			000000			AR1=V2				;EXPECTED RESULT IN AC
  5016	033362	312 12 0 00 044615 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5017	033363	003 12 0 00 041741 		ER3	AC,41741		;HIGH PRODUCT FAILED
  5018		010000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5019	033364	312 13 0 00 044747 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5020	033365	004 13 0 00 041742 		ER4	AC+1,41742		;LOW PRODUCT FAILED
  5021			100000			AEE=XX				;INITIAL C(E)
  5022	033366	312 10 0 00 044672 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5023	033367	005 10 0 00 041743 		ER5	E,41743			;C(E) WAS CLOBBERED
  5024	033370	321 14 0 00 033356 		JUMPL	AC+2,F41740		;LOOP ON ERROR SWITCH^
  5025
  5026			004175			ADR=ADR+1
  5027			200000			XX=XX+XX
  5028						IFE	XX,<XX=1>
  5029
  5030					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  5031		040000	000000			V1=XX*XX
  5032			000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5033						IFL	XX,<V2=XX*XX>
  5034						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5035					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5036					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5037					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5038					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5039
  5040			200000		F41750:	AA1=XX				;INITIAL C(AC)
  5041	033371	200 12 0 00 044675 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5042		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5043	033372	200 13 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 4-10
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0110

  5044			200000			AEE=XX				;INITIAL C(E)
  5045	033373	200 10 0 00 044675 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5046	033374	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5047			000000			AR1=V2				;EXPECTED RESULT IN AC
  5048	033375	312 12 0 00 044615 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5049	033376	003 12 0 00 041751 		ER3	AC,41751		;HIGH PRODUCT FAILED
  5050		040000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5051	033377	312 13 0 00 044755 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5052	033400	004 13 0 00 041752 		ER4	AC+1,41752		;LOW PRODUCT FAILED
  5053			200000			AEE=XX				;INITIAL C(E)
  5054	033401	312 10 0 00 044675 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5055	033402	005 10 0 00 041753 		ER5	E,41753			;C(E) WAS CLOBBERED
  5056	033403	321 14 0 00 033371 		JUMPL	AC+2,F41750		;LOOP ON ERROR SWITCH^
  5057
  5058			004176			ADR=ADR+1
  5059			400000			XX=XX+XX
  5060						IFE	XX,<XX=1>
  5061
  5062					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  5063		200000	000000			V1=XX*XX
  5064			000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5065						IFL	XX,<V2=XX*XX>
  5066						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5067					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5068					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5069					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5070					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5071
  5072			400000		F41760:	AA1=XX				;INITIAL C(AC)
  5073	033404	200 12 0 00 044700 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5074		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5075	033405	200 13 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5076			400000			AEE=XX				;INITIAL C(E)
  5077	033406	200 10 0 00 044700 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5078	033407	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5079			000000			AR1=V2				;EXPECTED RESULT IN AC
  5080	033410	312 12 0 00 044615 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5081	033411	003 12 0 00 041761 		ER3	AC,41761		;HIGH PRODUCT FAILED
  5082		200000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5083	033412	312 13 0 00 044763 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5084	033413	004 13 0 00 041762 		ER4	AC+1,41762		;LOW PRODUCT FAILED
  5085			400000			AEE=XX				;INITIAL C(E)
  5086	033414	312 10 0 00 044700 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5087	033415	005 10 0 00 041763 		ER5	E,41763			;C(E) WAS CLOBBERED
  5088	033416	321 14 0 00 033404 		JUMPL	AC+2,F41760		;LOOP ON ERROR SWITCH^
  5089
  5090			004177			ADR=ADR+1
  5091		000001	000000			XX=XX+XX
  5092						IFE	XX,<XX=1>
  5093
  5094					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  5095			000000			V1=XX*XX
  5096			000002			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5097						IFL	XX,<V2=XX*XX>
  5098						MOP1	(\ADR,XX,-1,XX,V2,V1)^
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 4-11
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0111

  5099					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5100					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5101					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5102					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5103
  5104		000001	000000		F41770:	AA1=XX				;INITIAL C(AC)
  5105	033417	200 12 0 00 044703 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5106		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5107	033420	200 13 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5108		000001	000000			AEE=XX				;INITIAL C(E)
  5109	033421	200 10 0 00 044703 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5110	033422	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5111			000002			AR1=V2				;EXPECTED RESULT IN AC
  5112	033423	312 12 0 00 044620 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5113	033424	003 12 0 00 041771 		ER3	AC,41771		;HIGH PRODUCT FAILED
  5114			000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5115	033425	312 13 0 00 044615 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5116	033426	004 13 0 00 041772 		ER4	AC+1,41772		;LOW PRODUCT FAILED
  5117		000001	000000			AEE=XX				;INITIAL C(E)
  5118	033427	312 10 0 00 044703 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5119	033430	005 10 0 00 041773 		ER5	E,41773			;C(E) WAS CLOBBERED
  5120	033431	321 14 0 00 033417 		JUMPL	AC+2,F41770		;LOOP ON ERROR SWITCH^
  5121
  5122			004200			ADR=ADR+1
  5123		000002	000000			XX=XX+XX
  5124						IFE	XX,<XX=1>
  5125
  5126					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  5127			000000			V1=XX*XX
  5128			000010			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5129						IFL	XX,<V2=XX*XX>
  5130						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5131					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5132					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5133					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5134					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5135
  5136		000002	000000		F42000:	AA1=XX				;INITIAL C(AC)
  5137	033432	200 12 0 00 044706 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5138		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5139	033433	200 13 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5140		000002	000000			AEE=XX				;INITIAL C(E)
  5141	033434	200 10 0 00 044706 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5142	033435	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5143			000010			AR1=V2				;EXPECTED RESULT IN AC
  5144	033436	312 12 0 00 044626 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5145	033437	003 12 0 00 042001 		ER3	AC,42001		;HIGH PRODUCT FAILED
  5146			000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5147	033440	312 13 0 00 044615 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5148	033441	004 13 0 00 042002 		ER4	AC+1,42002		;LOW PRODUCT FAILED
  5149		000002	000000			AEE=XX				;INITIAL C(E)
  5150	033442	312 10 0 00 044706 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5151	033443	005 10 0 00 042003 		ER5	E,42003			;C(E) WAS CLOBBERED
  5152	033444	321 14 0 00 033432 		JUMPL	AC+2,F42000		;LOOP ON ERROR SWITCH^
  5153
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 4-12
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0112

  5154			004201			ADR=ADR+1
  5155		000004	000000			XX=XX+XX
  5156						IFE	XX,<XX=1>
  5157
  5158					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  5159			000000			V1=XX*XX
  5160			000040			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5161						IFL	XX,<V2=XX*XX>
  5162						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5163					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5164					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5165					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5166					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5167
  5168		000004	000000		F42010:	AA1=XX				;INITIAL C(AC)
  5169	033445	200 12 0 00 044711 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5170		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5171	033446	200 13 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5172		000004	000000			AEE=XX				;INITIAL C(E)
  5173	033447	200 10 0 00 044711 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5174	033450	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5175			000040			AR1=V2				;EXPECTED RESULT IN AC
  5176	033451	312 12 0 00 044634 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5177	033452	003 12 0 00 042011 		ER3	AC,42011		;HIGH PRODUCT FAILED
  5178			000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5179	033453	312 13 0 00 044615 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5180	033454	004 13 0 00 042012 		ER4	AC+1,42012		;LOW PRODUCT FAILED
  5181		000004	000000			AEE=XX				;INITIAL C(E)
  5182	033455	312 10 0 00 044711 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5183	033456	005 10 0 00 042013 		ER5	E,42013			;C(E) WAS CLOBBERED
  5184	033457	321 14 0 00 033445 		JUMPL	AC+2,F42010		;LOOP ON ERROR SWITCH^
  5185
  5186			004202			ADR=ADR+1
  5187		000010	000000			XX=XX+XX
  5188						IFE	XX,<XX=1>
  5189
  5190					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  5191			000000			V1=XX*XX
  5192			000200			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5193						IFL	XX,<V2=XX*XX>
  5194						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5195					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5196					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5197					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5198					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5199
  5200		000010	000000		F42020:	AA1=XX				;INITIAL C(AC)
  5201	033460	200 12 0 00 044714 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5202		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5203	033461	200 13 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5204		000010	000000			AEE=XX				;INITIAL C(E)
  5205	033462	200 10 0 00 044714 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5206	033463	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5207			000200			AR1=V2				;EXPECTED RESULT IN AC
  5208	033464	312 12 0 00 044642 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 4-13
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0113

  5209	033465	003 12 0 00 042021 		ER3	AC,42021		;HIGH PRODUCT FAILED
  5210			000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5211	033466	312 13 0 00 044615 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5212	033467	004 13 0 00 042022 		ER4	AC+1,42022		;LOW PRODUCT FAILED
  5213		000010	000000			AEE=XX				;INITIAL C(E)
  5214	033470	312 10 0 00 044714 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5215	033471	005 10 0 00 042023 		ER5	E,42023			;C(E) WAS CLOBBERED
  5216	033472	321 14 0 00 033460 		JUMPL	AC+2,F42020		;LOOP ON ERROR SWITCH^
  5217
  5218			004203			ADR=ADR+1
  5219		000020	000000			XX=XX+XX
  5220						IFE	XX,<XX=1>
  5221
  5222					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  5223			000000			V1=XX*XX
  5224			001000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5225						IFL	XX,<V2=XX*XX>
  5226						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5227					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5228					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5229					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5230					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5231
  5232		000020	000000		F42030:	AA1=XX				;INITIAL C(AC)
  5233	033473	200 12 0 00 044717 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5234		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5235	033474	200 13 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5236		000020	000000			AEE=XX				;INITIAL C(E)
  5237	033475	200 10 0 00 044717 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5238	033476	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5239			001000			AR1=V2				;EXPECTED RESULT IN AC
  5240	033477	312 12 0 00 044650 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5241	033500	003 12 0 00 042031 		ER3	AC,42031		;HIGH PRODUCT FAILED
  5242			000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5243	033501	312 13 0 00 044615 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5244	033502	004 13 0 00 042032 		ER4	AC+1,42032		;LOW PRODUCT FAILED
  5245		000020	000000			AEE=XX				;INITIAL C(E)
  5246	033503	312 10 0 00 044717 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5247	033504	005 10 0 00 042033 		ER5	E,42033			;C(E) WAS CLOBBERED
  5248	033505	321 14 0 00 033473 		JUMPL	AC+2,F42030		;LOOP ON ERROR SWITCH^
  5249
  5250			004204			ADR=ADR+1
  5251		000040	000000			XX=XX+XX
  5252						IFE	XX,<XX=1>
  5253
  5254					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  5255			000000			V1=XX*XX
  5256			004000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5257						IFL	XX,<V2=XX*XX>
  5258						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5259					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5260					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5261					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5262					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5263
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 4-14
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0114

  5264		000040	000000		F42040:	AA1=XX				;INITIAL C(AC)
  5265	033506	200 12 0 00 044722 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5266		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5267	033507	200 13 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5268		000040	000000			AEE=XX				;INITIAL C(E)
  5269	033510	200 10 0 00 044722 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5270	033511	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5271			004000			AR1=V2				;EXPECTED RESULT IN AC
  5272	033512	312 12 0 00 044656 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5273	033513	003 12 0 00 042041 		ER3	AC,42041		;HIGH PRODUCT FAILED
  5274			000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5275	033514	312 13 0 00 044615 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5276	033515	004 13 0 00 042042 		ER4	AC+1,42042		;LOW PRODUCT FAILED
  5277		000040	000000			AEE=XX				;INITIAL C(E)
  5278	033516	312 10 0 00 044722 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5279	033517	005 10 0 00 042043 		ER5	E,42043			;C(E) WAS CLOBBERED
  5280	033520	321 14 0 00 033506 		JUMPL	AC+2,F42040		;LOOP ON ERROR SWITCH^
  5281
  5282			004205			ADR=ADR+1
  5283		000100	000000			XX=XX+XX
  5284						IFE	XX,<XX=1>
  5285
  5286					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  5287			000000			V1=XX*XX
  5288			020000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5289						IFL	XX,<V2=XX*XX>
  5290						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5291					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5292					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5293					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5294					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5295
  5296		000100	000000		F42050:	AA1=XX				;INITIAL C(AC)
  5297	033521	200 12 0 00 044725 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5298		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5299	033522	200 13 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5300		000100	000000			AEE=XX				;INITIAL C(E)
  5301	033523	200 10 0 00 044725 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5302	033524	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5303			020000			AR1=V2				;EXPECTED RESULT IN AC
  5304	033525	312 12 0 00 044664 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5305	033526	003 12 0 00 042051 		ER3	AC,42051		;HIGH PRODUCT FAILED
  5306			000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5307	033527	312 13 0 00 044615 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5308	033530	004 13 0 00 042052 		ER4	AC+1,42052		;LOW PRODUCT FAILED
  5309		000100	000000			AEE=XX				;INITIAL C(E)
  5310	033531	312 10 0 00 044725 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5311	033532	005 10 0 00 042053 		ER5	E,42053			;C(E) WAS CLOBBERED
  5312	033533	321 14 0 00 033521 		JUMPL	AC+2,F42050		;LOOP ON ERROR SWITCH^
  5313
  5314			004206			ADR=ADR+1
  5315		000200	000000			XX=XX+XX
  5316						IFE	XX,<XX=1>
  5317
  5318					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 4-15
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0115

  5319			000000			V1=XX*XX
  5320			100000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5321						IFL	XX,<V2=XX*XX>
  5322						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5323					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5324					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5325					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5326					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5327
  5328		000200	000000		F42060:	AA1=XX				;INITIAL C(AC)
  5329	033534	200 12 0 00 044730 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5330		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5331	033535	200 13 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5332		000200	000000			AEE=XX				;INITIAL C(E)
  5333	033536	200 10 0 00 044730 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5334	033537	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5335			100000			AR1=V2				;EXPECTED RESULT IN AC
  5336	033540	312 12 0 00 044672 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5337	033541	003 12 0 00 042061 		ER3	AC,42061		;HIGH PRODUCT FAILED
  5338			000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5339	033542	312 13 0 00 044615 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5340	033543	004 13 0 00 042062 		ER4	AC+1,42062		;LOW PRODUCT FAILED
  5341		000200	000000			AEE=XX				;INITIAL C(E)
  5342	033544	312 10 0 00 044730 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5343	033545	005 10 0 00 042063 		ER5	E,42063			;C(E) WAS CLOBBERED
  5344	033546	321 14 0 00 033534 		JUMPL	AC+2,F42060		;LOOP ON ERROR SWITCH^
  5345
  5346			004207			ADR=ADR+1
  5347		000400	000000			XX=XX+XX
  5348						IFE	XX,<XX=1>
  5349
  5350					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  5351			000000			V1=XX*XX
  5352			400000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5353						IFL	XX,<V2=XX*XX>
  5354						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5355					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5356					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5357					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5358					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5359
  5360		000400	000000		F42070:	AA1=XX				;INITIAL C(AC)
  5361	033547	200 12 0 00 044733 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5362		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5363	033550	200 13 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5364		000400	000000			AEE=XX				;INITIAL C(E)
  5365	033551	200 10 0 00 044733 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5366	033552	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5367			400000			AR1=V2				;EXPECTED RESULT IN AC
  5368	033553	312 12 0 00 044700 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5369	033554	003 12 0 00 042071 		ER3	AC,42071		;HIGH PRODUCT FAILED
  5370			000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5371	033555	312 13 0 00 044615 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5372	033556	004 13 0 00 042072 		ER4	AC+1,42072		;LOW PRODUCT FAILED
  5373		000400	000000			AEE=XX				;INITIAL C(E)
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 4-16
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0116

  5374	033557	312 10 0 00 044733 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5375	033560	005 10 0 00 042073 		ER5	E,42073			;C(E) WAS CLOBBERED
  5376	033561	321 14 0 00 033547 		JUMPL	AC+2,F42070		;LOOP ON ERROR SWITCH^
  5377
  5378			004210			ADR=ADR+1
  5379		001000	000000			XX=XX+XX
  5380						IFE	XX,<XX=1>
  5381
  5382					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  5383			000000			V1=XX*XX
  5384		000002	000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5385						IFL	XX,<V2=XX*XX>
  5386						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5387					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5388					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5389					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5390					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5391
  5392		001000	000000		F42100:	AA1=XX				;INITIAL C(AC)
  5393	033562	200 12 0 00 044736 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5394		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5395	033563	200 13 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5396		001000	000000			AEE=XX				;INITIAL C(E)
  5397	033564	200 10 0 00 044736 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5398	033565	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5399		000002	000000			AR1=V2				;EXPECTED RESULT IN AC
  5400	033566	312 12 0 00 044706 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5401	033567	003 12 0 00 042101 		ER3	AC,42101		;HIGH PRODUCT FAILED
  5402			000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5403	033570	312 13 0 00 044615 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5404	033571	004 13 0 00 042102 		ER4	AC+1,42102		;LOW PRODUCT FAILED
  5405		001000	000000			AEE=XX				;INITIAL C(E)
  5406	033572	312 10 0 00 044736 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5407	033573	005 10 0 00 042103 		ER5	E,42103			;C(E) WAS CLOBBERED
  5408	033574	321 14 0 00 033562 		JUMPL	AC+2,F42100		;LOOP ON ERROR SWITCH^
  5409
  5410			004211			ADR=ADR+1
  5411		002000	000000			XX=XX+XX
  5412						IFE	XX,<XX=1>
  5413
  5414					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  5415			000000			V1=XX*XX
  5416		000010	000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5417						IFL	XX,<V2=XX*XX>
  5418						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5419					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5420					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5421					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5422					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5423
  5424		002000	000000		F42110:	AA1=XX				;INITIAL C(AC)
  5425	033575	200 12 0 00 044741 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5426		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5427	033576	200 13 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5428		002000	000000			AEE=XX				;INITIAL C(E)
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 4-17
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0117

  5429	033577	200 10 0 00 044741 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5430	033600	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5431		000010	000000			AR1=V2				;EXPECTED RESULT IN AC
  5432	033601	312 12 0 00 044714 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5433	033602	003 12 0 00 042111 		ER3	AC,42111		;HIGH PRODUCT FAILED
  5434			000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5435	033603	312 13 0 00 044615 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5436	033604	004 13 0 00 042112 		ER4	AC+1,42112		;LOW PRODUCT FAILED
  5437		002000	000000			AEE=XX				;INITIAL C(E)
  5438	033605	312 10 0 00 044741 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5439	033606	005 10 0 00 042113 		ER5	E,42113			;C(E) WAS CLOBBERED
  5440	033607	321 14 0 00 033575 		JUMPL	AC+2,F42110		;LOOP ON ERROR SWITCH^
  5441
  5442			004212			ADR=ADR+1
  5443		004000	000000			XX=XX+XX
  5444						IFE	XX,<XX=1>
  5445
  5446					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  5447			000000			V1=XX*XX
  5448		000040	000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5449						IFL	XX,<V2=XX*XX>
  5450						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5451					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5452					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5453					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5454					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5455
  5456		004000	000000		F42120:	AA1=XX				;INITIAL C(AC)
  5457	033610	200 12 0 00 044744 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5458		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5459	033611	200 13 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5460		004000	000000			AEE=XX				;INITIAL C(E)
  5461	033612	200 10 0 00 044744 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5462	033613	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5463		000040	000000			AR1=V2				;EXPECTED RESULT IN AC
  5464	033614	312 12 0 00 044722 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5465	033615	003 12 0 00 042121 		ER3	AC,42121		;HIGH PRODUCT FAILED
  5466			000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5467	033616	312 13 0 00 044615 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5468	033617	004 13 0 00 042122 		ER4	AC+1,42122		;LOW PRODUCT FAILED
  5469		004000	000000			AEE=XX				;INITIAL C(E)
  5470	033620	312 10 0 00 044744 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5471	033621	005 10 0 00 042123 		ER5	E,42123			;C(E) WAS CLOBBERED
  5472	033622	321 14 0 00 033610 		JUMPL	AC+2,F42120		;LOOP ON ERROR SWITCH^
  5473
  5474			004213			ADR=ADR+1
  5475		010000	000000			XX=XX+XX
  5476						IFE	XX,<XX=1>
  5477
  5478					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  5479			000000			V1=XX*XX
  5480		000200	000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5481						IFL	XX,<V2=XX*XX>
  5482						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5483					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 4-18
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0118

  5484					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5485					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5486					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5487
  5488		010000	000000		F42130:	AA1=XX				;INITIAL C(AC)
  5489	033623	200 12 0 00 044747 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5490		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5491	033624	200 13 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5492		010000	000000			AEE=XX				;INITIAL C(E)
  5493	033625	200 10 0 00 044747 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5494	033626	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5495		000200	000000			AR1=V2				;EXPECTED RESULT IN AC
  5496	033627	312 12 0 00 044730 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5497	033630	003 12 0 00 042131 		ER3	AC,42131		;HIGH PRODUCT FAILED
  5498			000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5499	033631	312 13 0 00 044615 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5500	033632	004 13 0 00 042132 		ER4	AC+1,42132		;LOW PRODUCT FAILED
  5501		010000	000000			AEE=XX				;INITIAL C(E)
  5502	033633	312 10 0 00 044747 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5503	033634	005 10 0 00 042133 		ER5	E,42133			;C(E) WAS CLOBBERED
  5504	033635	321 14 0 00 033623 		JUMPL	AC+2,F42130		;LOOP ON ERROR SWITCH^
  5505
  5506			004214			ADR=ADR+1
  5507		020000	000000			XX=XX+XX
  5508						IFE	XX,<XX=1>
  5509
  5510					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  5511			000000			V1=XX*XX
  5512		001000	000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5513						IFL	XX,<V2=XX*XX>
  5514						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5515					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5516					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5517					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5518					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5519
  5520		020000	000000		F42140:	AA1=XX				;INITIAL C(AC)
  5521	033636	200 12 0 00 044752 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5522		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5523	033637	200 13 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5524		020000	000000			AEE=XX				;INITIAL C(E)
  5525	033640	200 10 0 00 044752 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5526	033641	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5527		001000	000000			AR1=V2				;EXPECTED RESULT IN AC
  5528	033642	312 12 0 00 044736 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5529	033643	003 12 0 00 042141 		ER3	AC,42141		;HIGH PRODUCT FAILED
  5530			000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5531	033644	312 13 0 00 044615 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5532	033645	004 13 0 00 042142 		ER4	AC+1,42142		;LOW PRODUCT FAILED
  5533		020000	000000			AEE=XX				;INITIAL C(E)
  5534	033646	312 10 0 00 044752 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5535	033647	005 10 0 00 042143 		ER5	E,42143			;C(E) WAS CLOBBERED
  5536	033650	321 14 0 00 033636 		JUMPL	AC+2,F42140		;LOOP ON ERROR SWITCH^
  5537
  5538			004215			ADR=ADR+1
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 4-19
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0119

  5539		040000	000000			XX=XX+XX
  5540						IFE	XX,<XX=1>
  5541
  5542					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  5543			000000			V1=XX*XX
  5544		004000	000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5545						IFL	XX,<V2=XX*XX>
  5546						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5547					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5548					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5549					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5550					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5551
  5552		040000	000000		F42150:	AA1=XX				;INITIAL C(AC)
  5553	033651	200 12 0 00 044755 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5554		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5555	033652	200 13 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5556		040000	000000			AEE=XX				;INITIAL C(E)
  5557	033653	200 10 0 00 044755 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5558	033654	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5559		004000	000000			AR1=V2				;EXPECTED RESULT IN AC
  5560	033655	312 12 0 00 044744 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5561	033656	003 12 0 00 042151 		ER3	AC,42151		;HIGH PRODUCT FAILED
  5562			000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5563	033657	312 13 0 00 044615 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5564	033660	004 13 0 00 042152 		ER4	AC+1,42152		;LOW PRODUCT FAILED
  5565		040000	000000			AEE=XX				;INITIAL C(E)
  5566	033661	312 10 0 00 044755 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5567	033662	005 10 0 00 042153 		ER5	E,42153			;C(E) WAS CLOBBERED
  5568	033663	321 14 0 00 033651 		JUMPL	AC+2,F42150		;LOOP ON ERROR SWITCH^
  5569
  5570			004216			ADR=ADR+1
  5571		100000	000000			XX=XX+XX
  5572						IFE	XX,<XX=1>
  5573
  5574					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  5575			000000			V1=XX*XX
  5576		020000	000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5577						IFL	XX,<V2=XX*XX>
  5578						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5579					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5580					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5581					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5582					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5583
  5584		100000	000000		F42160:	AA1=XX				;INITIAL C(AC)
  5585	033664	200 12 0 00 044760 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5586		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5587	033665	200 13 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5588		100000	000000			AEE=XX				;INITIAL C(E)
  5589	033666	200 10 0 00 044760 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5590	033667	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5591		020000	000000			AR1=V2				;EXPECTED RESULT IN AC
  5592	033670	312 12 0 00 044752 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5593	033671	003 12 0 00 042161 		ER3	AC,42161		;HIGH PRODUCT FAILED
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 4-20
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0120

  5594			000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5595	033672	312 13 0 00 044615 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5596	033673	004 13 0 00 042162 		ER4	AC+1,42162		;LOW PRODUCT FAILED
  5597		100000	000000			AEE=XX				;INITIAL C(E)
  5598	033674	312 10 0 00 044760 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5599	033675	005 10 0 00 042163 		ER5	E,42163			;C(E) WAS CLOBBERED
  5600	033676	321 14 0 00 033664 		JUMPL	AC+2,F42160		;LOOP ON ERROR SWITCH^
  5601
  5602			004217			ADR=ADR+1
  5603		200000	000000			XX=XX+XX
  5604						IFE	XX,<XX=1>
  5605
  5606					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  5607			000000			V1=XX*XX
  5608		100000	000000			IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5609						IFL	XX,<V2=XX*XX>
  5610						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5611					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5612					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5613					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5614					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5615
  5616		200000	000000		F42170:	AA1=XX				;INITIAL C(AC)
  5617	033677	200 12 0 00 044763 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5618		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5619	033700	200 13 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5620		200000	000000			AEE=XX				;INITIAL C(E)
  5621	033701	200 10 0 00 044763 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5622	033702	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5623		100000	000000			AR1=V2				;EXPECTED RESULT IN AC
  5624	033703	312 12 0 00 044760 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5625	033704	003 12 0 00 042171 		ER3	AC,42171		;HIGH PRODUCT FAILED
  5626			000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5627	033705	312 13 0 00 044615 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5628	033706	004 13 0 00 042172 		ER4	AC+1,42172		;LOW PRODUCT FAILED
  5629		200000	000000			AEE=XX				;INITIAL C(E)
  5630	033707	312 10 0 00 044763 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5631	033710	005 10 0 00 042173 		ER5	E,42173			;C(E) WAS CLOBBERED
  5632	033711	321 14 0 00 033677 		JUMPL	AC+2,F42170		;LOOP ON ERROR SWITCH^
  5633
  5634			004220			ADR=ADR+1
  5635		400000	000000			XX=XX+XX
  5636						IFE	XX,<XX=1>
  5637
  5638					;MULTIPLY A FLOATING 1 BY ITSELF FOR A SQUARE PRODUCT
  5639		400000	000000			V1=XX*XX
  5640						IFG	XX,<V2=<<<XX_-22>*<XX_-22>>_1>>
  5641		400000	000000			IFL	XX,<V2=XX*XX>
  5642						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5643					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5644					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5645					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5646					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5647
  5648		400000	000000		F42200:	AA1=XX				;INITIAL C(AC)
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 4-21
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0121

  5649	033712	200 12 0 00 044765 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5650		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5651	033713	200 13 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5652		400000	000000			AEE=XX				;INITIAL C(E)
  5653	033714	200 10 0 00 044765 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5654	033715	224 12 0 00 000010 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5655		400000	000000			AR1=V2				;EXPECTED RESULT IN AC
  5656	033716	312 12 0 00 044765 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5657	033717	003 12 0 00 042201 		ER3	AC,42201		;HIGH PRODUCT FAILED
  5658		400000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  5659	033720	312 13 0 00 044765 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5660	033721	004 13 0 00 042202 		ER4	AC+1,42202		;LOW PRODUCT FAILED
  5661		400000	000000			AEE=XX				;INITIAL C(E)
  5662	033722	312 10 0 00 044765 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5663	033723	005 10 0 00 042203 		ER5	E,42203			;C(E) WAS CLOBBERED
  5664	033724	321 14 0 00 033712 		JUMPL	AC+2,F42200		;LOOP ON ERROR SWITCH^
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 5
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0122

  5665			000011			AC=11
  5666			000007			E=<AC-2>&17
  5667						SAVEAC	(1,1)^
  5668	033725	201 13 0 00 033725 		MOVEI	AC+2,.		;SAVE TEST PC
  5669	033726	202 13 0 00 030051 		MOVEM	AC+2,TESTPC
  5670	033727	201 13 0 00 000013 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  5671	033730	202 13 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  5672			000000			XX=0
  5673
  5674						REPEAT	^D36,<
  5675						ADR=ADR+1
  5676						XX=XX+XX+1
  5677						IFE	<XX-1>,<XX=-2>
  5678					
  5679					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  5680						V1=XX*XX
  5681						IFE	<XX&1B1>,<V2A=1>
  5682						IFN	<XX&1B1>,<V2A=0>
  5683						IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  5684						IFG	XX,<V2=XX-1>
  5685						MOP1	(\ADR,XX,-1,XX,V2,V1)>
  5686
  5687			004221			ADR=ADR+1
  5688			000001			XX=XX+XX+1
  5689		777777	777776			IFE	<XX-1>,<XX=-2>
  5690
  5691					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  5692			000004			V1=XX*XX
  5693						IFE	<XX&1B1>,<V2A=1>
  5694			000000			IFN	<XX&1B1>,<V2A=0>
  5695			000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  5696						IFG	XX,<V2=XX-1>
  5697						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5698					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5699					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5700					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5701					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5702
  5703		777777	777776		F42210:	AA1=XX				;INITIAL C(AC)
  5704	033731	200 11 0 00 044621 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5705		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5706	033732	200 12 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5707		777777	777776			AEE=XX				;INITIAL C(E)
  5708	033733	200 07 0 00 044621 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5709	033734	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5710			000000			AR1=V2				;EXPECTED RESULT IN AC
  5711	033735	312 11 0 00 044615 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5712	033736	003 11 0 00 042211 		ER3	AC,42211		;HIGH PRODUCT FAILED
  5713			000004			AR2=V1				;EXPECTED RESULT IN AC+1
  5714	033737	312 12 0 00 044623 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5715	033740	004 12 0 00 042212 		ER4	AC+1,42212		;LOW PRODUCT FAILED
  5716		777777	777776			AEE=XX				;INITIAL C(E)
  5717	033741	312 07 0 00 044621 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5718	033742	005 07 0 00 042213 		ER5	E,42213			;C(E) WAS CLOBBERED
  5719	033743	321 13 0 00 033731 		JUMPL	AC+2,F42210		;LOOP ON ERROR SWITCH^
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 5-1
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0123

  5720
  5721			004222			ADR=ADR+1
  5722		777777	777775			XX=XX+XX+1
  5723						IFE	<XX-1>,<XX=-2>
  5724
  5725					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  5726			000011			V1=XX*XX
  5727						IFE	<XX&1B1>,<V2A=1>
  5728			000000			IFN	<XX&1B1>,<V2A=0>
  5729			000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  5730						IFG	XX,<V2=XX-1>
  5731						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5732					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5733					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5734					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5735					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5736
  5737		777777	777775		F42220:	AA1=XX				;INITIAL C(AC)
  5738	033744	200 11 0 00 044624 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5739		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5740	033745	200 12 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5741		777777	777775			AEE=XX				;INITIAL C(E)
  5742	033746	200 07 0 00 044624 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5743	033747	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5744			000000			AR1=V2				;EXPECTED RESULT IN AC
  5745	033750	312 11 0 00 044615 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5746	033751	003 11 0 00 042221 		ER3	AC,42221		;HIGH PRODUCT FAILED
  5747			000011			AR2=V1				;EXPECTED RESULT IN AC+1
  5748	033752	312 12 0 00 045070 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5749	033753	004 12 0 00 042222 		ER4	AC+1,42222		;LOW PRODUCT FAILED
  5750		777777	777775			AEE=XX				;INITIAL C(E)
  5751	033754	312 07 0 00 044624 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5752	033755	005 07 0 00 042223 		ER5	E,42223			;C(E) WAS CLOBBERED
  5753	033756	321 13 0 00 033744 		JUMPL	AC+2,F42220		;LOOP ON ERROR SWITCH^
  5754
  5755			004223			ADR=ADR+1
  5756		777777	777773			XX=XX+XX+1
  5757						IFE	<XX-1>,<XX=-2>
  5758
  5759					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  5760			000031			V1=XX*XX
  5761						IFE	<XX&1B1>,<V2A=1>
  5762			000000			IFN	<XX&1B1>,<V2A=0>
  5763			000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  5764						IFG	XX,<V2=XX-1>
  5765						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5766					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5767					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5768					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5769					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5770
  5771		777777	777773		F42230:	AA1=XX				;INITIAL C(AC)
  5772	033757	200 11 0 00 045071 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5773		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5774	033760	200 12 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 5-2
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0124

  5775		777777	777773			AEE=XX				;INITIAL C(E)
  5776	033761	200 07 0 00 045071 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5777	033762	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5778			000000			AR1=V2				;EXPECTED RESULT IN AC
  5779	033763	312 11 0 00 044615 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5780	033764	003 11 0 00 042231 		ER3	AC,42231		;HIGH PRODUCT FAILED
  5781			000031			AR2=V1				;EXPECTED RESULT IN AC+1
  5782	033765	312 12 0 00 045072 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5783	033766	004 12 0 00 042232 		ER4	AC+1,42232		;LOW PRODUCT FAILED
  5784		777777	777773			AEE=XX				;INITIAL C(E)
  5785	033767	312 07 0 00 045071 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5786	033770	005 07 0 00 042233 		ER5	E,42233			;C(E) WAS CLOBBERED
  5787	033771	321 13 0 00 033757 		JUMPL	AC+2,F42230		;LOOP ON ERROR SWITCH^
  5788
  5789			004224			ADR=ADR+1
  5790		777777	777767			XX=XX+XX+1
  5791						IFE	<XX-1>,<XX=-2>
  5792
  5793					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  5794			000121			V1=XX*XX
  5795						IFE	<XX&1B1>,<V2A=1>
  5796			000000			IFN	<XX&1B1>,<V2A=0>
  5797			000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  5798						IFG	XX,<V2=XX-1>
  5799						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5800					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5801					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5802					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5803					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5804
  5805		777777	777767		F42240:	AA1=XX				;INITIAL C(AC)
  5806	033772	200 11 0 00 045073 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5807		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5808	033773	200 12 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5809		777777	777767			AEE=XX				;INITIAL C(E)
  5810	033774	200 07 0 00 045073 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5811	033775	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5812			000000			AR1=V2				;EXPECTED RESULT IN AC
  5813	033776	312 11 0 00 044615 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5814	033777	003 11 0 00 042241 		ER3	AC,42241		;HIGH PRODUCT FAILED
  5815			000121			AR2=V1				;EXPECTED RESULT IN AC+1
  5816	034000	312 12 0 00 045074 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5817	034001	004 12 0 00 042242 		ER4	AC+1,42242		;LOW PRODUCT FAILED
  5818		777777	777767			AEE=XX				;INITIAL C(E)
  5819	034002	312 07 0 00 045073 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5820	034003	005 07 0 00 042243 		ER5	E,42243			;C(E) WAS CLOBBERED
  5821	034004	321 13 0 00 033772 		JUMPL	AC+2,F42240		;LOOP ON ERROR SWITCH^
  5822
  5823			004225			ADR=ADR+1
  5824		777777	777757			XX=XX+XX+1
  5825						IFE	<XX-1>,<XX=-2>
  5826
  5827					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  5828			000441			V1=XX*XX
  5829						IFE	<XX&1B1>,<V2A=1>
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 5-3
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0125

  5830			000000			IFN	<XX&1B1>,<V2A=0>
  5831			000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  5832						IFG	XX,<V2=XX-1>
  5833						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5834					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5835					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5836					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5837					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5838
  5839		777777	777757		F42250:	AA1=XX				;INITIAL C(AC)
  5840	034005	200 11 0 00 045075 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5841		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5842	034006	200 12 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5843		777777	777757			AEE=XX				;INITIAL C(E)
  5844	034007	200 07 0 00 045075 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5845	034010	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5846			000000			AR1=V2				;EXPECTED RESULT IN AC
  5847	034011	312 11 0 00 044615 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5848	034012	003 11 0 00 042251 		ER3	AC,42251		;HIGH PRODUCT FAILED
  5849			000441			AR2=V1				;EXPECTED RESULT IN AC+1
  5850	034013	312 12 0 00 045076 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5851	034014	004 12 0 00 042252 		ER4	AC+1,42252		;LOW PRODUCT FAILED
  5852		777777	777757			AEE=XX				;INITIAL C(E)
  5853	034015	312 07 0 00 045075 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5854	034016	005 07 0 00 042253 		ER5	E,42253			;C(E) WAS CLOBBERED
  5855	034017	321 13 0 00 034005 		JUMPL	AC+2,F42250		;LOOP ON ERROR SWITCH^
  5856
  5857			004226			ADR=ADR+1
  5858		777777	777737			XX=XX+XX+1
  5859						IFE	<XX-1>,<XX=-2>
  5860
  5861					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  5862			002101			V1=XX*XX
  5863						IFE	<XX&1B1>,<V2A=1>
  5864			000000			IFN	<XX&1B1>,<V2A=0>
  5865			000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  5866						IFG	XX,<V2=XX-1>
  5867						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5868					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5869					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5870					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5871					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5872
  5873		777777	777737		F42260:	AA1=XX				;INITIAL C(AC)
  5874	034020	200 11 0 00 045077 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5875		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5876	034021	200 12 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5877		777777	777737			AEE=XX				;INITIAL C(E)
  5878	034022	200 07 0 00 045077 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5879	034023	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5880			000000			AR1=V2				;EXPECTED RESULT IN AC
  5881	034024	312 11 0 00 044615 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5882	034025	003 11 0 00 042261 		ER3	AC,42261		;HIGH PRODUCT FAILED
  5883			002101			AR2=V1				;EXPECTED RESULT IN AC+1
  5884	034026	312 12 0 00 045100 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 5-4
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0126

  5885	034027	004 12 0 00 042262 		ER4	AC+1,42262		;LOW PRODUCT FAILED
  5886		777777	777737			AEE=XX				;INITIAL C(E)
  5887	034030	312 07 0 00 045077 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5888	034031	005 07 0 00 042263 		ER5	E,42263			;C(E) WAS CLOBBERED
  5889	034032	321 13 0 00 034020 		JUMPL	AC+2,F42260		;LOOP ON ERROR SWITCH^
  5890
  5891			004227			ADR=ADR+1
  5892		777777	777677			XX=XX+XX+1
  5893						IFE	<XX-1>,<XX=-2>
  5894
  5895					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  5896			010201			V1=XX*XX
  5897						IFE	<XX&1B1>,<V2A=1>
  5898			000000			IFN	<XX&1B1>,<V2A=0>
  5899			000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  5900						IFG	XX,<V2=XX-1>
  5901						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5902					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5903					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5904					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5905					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5906
  5907		777777	777677		F42270:	AA1=XX				;INITIAL C(AC)
  5908	034033	200 11 0 00 045101 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5909		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5910	034034	200 12 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5911		777777	777677			AEE=XX				;INITIAL C(E)
  5912	034035	200 07 0 00 045101 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5913	034036	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5914			000000			AR1=V2				;EXPECTED RESULT IN AC
  5915	034037	312 11 0 00 044615 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5916	034040	003 11 0 00 042271 		ER3	AC,42271		;HIGH PRODUCT FAILED
  5917			010201			AR2=V1				;EXPECTED RESULT IN AC+1
  5918	034041	312 12 0 00 045102 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5919	034042	004 12 0 00 042272 		ER4	AC+1,42272		;LOW PRODUCT FAILED
  5920		777777	777677			AEE=XX				;INITIAL C(E)
  5921	034043	312 07 0 00 045101 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5922	034044	005 07 0 00 042273 		ER5	E,42273			;C(E) WAS CLOBBERED
  5923	034045	321 13 0 00 034033 		JUMPL	AC+2,F42270		;LOOP ON ERROR SWITCH^
  5924
  5925			004230			ADR=ADR+1
  5926		777777	777577			XX=XX+XX+1
  5927						IFE	<XX-1>,<XX=-2>
  5928
  5929					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  5930			040401			V1=XX*XX
  5931						IFE	<XX&1B1>,<V2A=1>
  5932			000000			IFN	<XX&1B1>,<V2A=0>
  5933			000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  5934						IFG	XX,<V2=XX-1>
  5935						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5936					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5937					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5938					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5939					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 5-5
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0127

  5940
  5941		777777	777577		F42300:	AA1=XX				;INITIAL C(AC)
  5942	034046	200 11 0 00 045103 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5943		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5944	034047	200 12 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5945		777777	777577			AEE=XX				;INITIAL C(E)
  5946	034050	200 07 0 00 045103 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5947	034051	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5948			000000			AR1=V2				;EXPECTED RESULT IN AC
  5949	034052	312 11 0 00 044615 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5950	034053	003 11 0 00 042301 		ER3	AC,42301		;HIGH PRODUCT FAILED
  5951			040401			AR2=V1				;EXPECTED RESULT IN AC+1
  5952	034054	312 12 0 00 045104 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5953	034055	004 12 0 00 042302 		ER4	AC+1,42302		;LOW PRODUCT FAILED
  5954		777777	777577			AEE=XX				;INITIAL C(E)
  5955	034056	312 07 0 00 045103 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5956	034057	005 07 0 00 042303 		ER5	E,42303			;C(E) WAS CLOBBERED
  5957	034060	321 13 0 00 034046 		JUMPL	AC+2,F42300		;LOOP ON ERROR SWITCH^
  5958
  5959			004231			ADR=ADR+1
  5960		777777	777377			XX=XX+XX+1
  5961						IFE	<XX-1>,<XX=-2>
  5962
  5963					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  5964			201001			V1=XX*XX
  5965						IFE	<XX&1B1>,<V2A=1>
  5966			000000			IFN	<XX&1B1>,<V2A=0>
  5967			000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  5968						IFG	XX,<V2=XX-1>
  5969						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  5970					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  5971					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  5972					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  5973					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  5974
  5975		777777	777377		F42310:	AA1=XX				;INITIAL C(AC)
  5976	034061	200 11 0 00 045105 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  5977		777777	777777			AA2=-1				;INITIAL C(AC+1)
  5978	034062	200 12 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  5979		777777	777377			AEE=XX				;INITIAL C(E)
  5980	034063	200 07 0 00 045105 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  5981	034064	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  5982			000000			AR1=V2				;EXPECTED RESULT IN AC
  5983	034065	312 11 0 00 044615 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  5984	034066	003 11 0 00 042311 		ER3	AC,42311		;HIGH PRODUCT FAILED
  5985			201001			AR2=V1				;EXPECTED RESULT IN AC+1
  5986	034067	312 12 0 00 045106 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  5987	034070	004 12 0 00 042312 		ER4	AC+1,42312		;LOW PRODUCT FAILED
  5988		777777	777377			AEE=XX				;INITIAL C(E)
  5989	034071	312 07 0 00 045105 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  5990	034072	005 07 0 00 042313 		ER5	E,42313			;C(E) WAS CLOBBERED
  5991	034073	321 13 0 00 034061 		JUMPL	AC+2,F42310		;LOOP ON ERROR SWITCH^
  5992
  5993			004232			ADR=ADR+1
  5994		777777	776777			XX=XX+XX+1
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 5-6
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0128

  5995						IFE	<XX-1>,<XX=-2>
  5996
  5997					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  5998		000001	002001			V1=XX*XX
  5999						IFE	<XX&1B1>,<V2A=1>
  6000			000000			IFN	<XX&1B1>,<V2A=0>
  6001			000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6002						IFG	XX,<V2=XX-1>
  6003						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6004					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6005					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6006					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6007					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6008
  6009		777777	776777		F42320:	AA1=XX				;INITIAL C(AC)
  6010	034074	200 11 0 00 045107 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6011		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6012	034075	200 12 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6013		777777	776777			AEE=XX				;INITIAL C(E)
  6014	034076	200 07 0 00 045107 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6015	034077	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6016			000000			AR1=V2				;EXPECTED RESULT IN AC
  6017	034100	312 11 0 00 044615 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6018	034101	003 11 0 00 042321 		ER3	AC,42321		;HIGH PRODUCT FAILED
  6019		000001	002001			AR2=V1				;EXPECTED RESULT IN AC+1
  6020	034102	312 12 0 00 045110 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6021	034103	004 12 0 00 042322 		ER4	AC+1,42322		;LOW PRODUCT FAILED
  6022		777777	776777			AEE=XX				;INITIAL C(E)
  6023	034104	312 07 0 00 045107 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6024	034105	005 07 0 00 042323 		ER5	E,42323			;C(E) WAS CLOBBERED
  6025	034106	321 13 0 00 034074 		JUMPL	AC+2,F42320		;LOOP ON ERROR SWITCH^
  6026
  6027			004233			ADR=ADR+1
  6028		777777	775777			XX=XX+XX+1
  6029						IFE	<XX-1>,<XX=-2>
  6030
  6031					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6032		000004	004001			V1=XX*XX
  6033						IFE	<XX&1B1>,<V2A=1>
  6034			000000			IFN	<XX&1B1>,<V2A=0>
  6035			000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6036						IFG	XX,<V2=XX-1>
  6037						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6038					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6039					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6040					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6041					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6042
  6043		777777	775777		F42330:	AA1=XX				;INITIAL C(AC)
  6044	034107	200 11 0 00 045111 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6045		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6046	034110	200 12 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6047		777777	775777			AEE=XX				;INITIAL C(E)
  6048	034111	200 07 0 00 045111 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6049	034112	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 5-7
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0129

  6050			000000			AR1=V2				;EXPECTED RESULT IN AC
  6051	034113	312 11 0 00 044615 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6052	034114	003 11 0 00 042331 		ER3	AC,42331		;HIGH PRODUCT FAILED
  6053		000004	004001			AR2=V1				;EXPECTED RESULT IN AC+1
  6054	034115	312 12 0 00 045112 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6055	034116	004 12 0 00 042332 		ER4	AC+1,42332		;LOW PRODUCT FAILED
  6056		777777	775777			AEE=XX				;INITIAL C(E)
  6057	034117	312 07 0 00 045111 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6058	034120	005 07 0 00 042333 		ER5	E,42333			;C(E) WAS CLOBBERED
  6059	034121	321 13 0 00 034107 		JUMPL	AC+2,F42330		;LOOP ON ERROR SWITCH^
  6060
  6061			004234			ADR=ADR+1
  6062		777777	773777			XX=XX+XX+1
  6063						IFE	<XX-1>,<XX=-2>
  6064
  6065					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6066		000020	010001			V1=XX*XX
  6067						IFE	<XX&1B1>,<V2A=1>
  6068			000000			IFN	<XX&1B1>,<V2A=0>
  6069			000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6070						IFG	XX,<V2=XX-1>
  6071						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6072					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6073					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6074					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6075					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6076
  6077		777777	773777		F42340:	AA1=XX				;INITIAL C(AC)
  6078	034122	200 11 0 00 045113 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6079		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6080	034123	200 12 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6081		777777	773777			AEE=XX				;INITIAL C(E)
  6082	034124	200 07 0 00 045113 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6083	034125	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6084			000000			AR1=V2				;EXPECTED RESULT IN AC
  6085	034126	312 11 0 00 044615 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6086	034127	003 11 0 00 042341 		ER3	AC,42341		;HIGH PRODUCT FAILED
  6087		000020	010001			AR2=V1				;EXPECTED RESULT IN AC+1
  6088	034130	312 12 0 00 045114 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6089	034131	004 12 0 00 042342 		ER4	AC+1,42342		;LOW PRODUCT FAILED
  6090		777777	773777			AEE=XX				;INITIAL C(E)
  6091	034132	312 07 0 00 045113 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6092	034133	005 07 0 00 042343 		ER5	E,42343			;C(E) WAS CLOBBERED
  6093	034134	321 13 0 00 034122 		JUMPL	AC+2,F42340		;LOOP ON ERROR SWITCH^
  6094
  6095			004235			ADR=ADR+1
  6096		777777	767777			XX=XX+XX+1
  6097						IFE	<XX-1>,<XX=-2>
  6098
  6099					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6100		000100	020001			V1=XX*XX
  6101						IFE	<XX&1B1>,<V2A=1>
  6102			000000			IFN	<XX&1B1>,<V2A=0>
  6103			000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6104						IFG	XX,<V2=XX-1>
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 5-8
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0130

  6105						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6106					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6107					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6108					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6109					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6110
  6111		777777	767777		F42350:	AA1=XX				;INITIAL C(AC)
  6112	034135	200 11 0 00 045115 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6113		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6114	034136	200 12 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6115		777777	767777			AEE=XX				;INITIAL C(E)
  6116	034137	200 07 0 00 045115 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6117	034140	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6118			000000			AR1=V2				;EXPECTED RESULT IN AC
  6119	034141	312 11 0 00 044615 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6120	034142	003 11 0 00 042351 		ER3	AC,42351		;HIGH PRODUCT FAILED
  6121		000100	020001			AR2=V1				;EXPECTED RESULT IN AC+1
  6122	034143	312 12 0 00 045116 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6123	034144	004 12 0 00 042352 		ER4	AC+1,42352		;LOW PRODUCT FAILED
  6124		777777	767777			AEE=XX				;INITIAL C(E)
  6125	034145	312 07 0 00 045115 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6126	034146	005 07 0 00 042353 		ER5	E,42353			;C(E) WAS CLOBBERED
  6127	034147	321 13 0 00 034135 		JUMPL	AC+2,F42350		;LOOP ON ERROR SWITCH^
  6128
  6129			004236			ADR=ADR+1
  6130		777777	757777			XX=XX+XX+1
  6131						IFE	<XX-1>,<XX=-2>
  6132
  6133					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6134		000400	040001			V1=XX*XX
  6135						IFE	<XX&1B1>,<V2A=1>
  6136			000000			IFN	<XX&1B1>,<V2A=0>
  6137			000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6138						IFG	XX,<V2=XX-1>
  6139						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6140					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6141					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6142					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6143					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6144
  6145		777777	757777		F42360:	AA1=XX				;INITIAL C(AC)
  6146	034150	200 11 0 00 045117 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6147		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6148	034151	200 12 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6149		777777	757777			AEE=XX				;INITIAL C(E)
  6150	034152	200 07 0 00 045117 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6151	034153	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6152			000000			AR1=V2				;EXPECTED RESULT IN AC
  6153	034154	312 11 0 00 044615 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6154	034155	003 11 0 00 042361 		ER3	AC,42361		;HIGH PRODUCT FAILED
  6155		000400	040001			AR2=V1				;EXPECTED RESULT IN AC+1
  6156	034156	312 12 0 00 045120 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6157	034157	004 12 0 00 042362 		ER4	AC+1,42362		;LOW PRODUCT FAILED
  6158		777777	757777			AEE=XX				;INITIAL C(E)
  6159	034160	312 07 0 00 045117 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 5-9
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0131

  6160	034161	005 07 0 00 042363 		ER5	E,42363			;C(E) WAS CLOBBERED
  6161	034162	321 13 0 00 034150 		JUMPL	AC+2,F42360		;LOOP ON ERROR SWITCH^
  6162
  6163			004237			ADR=ADR+1
  6164		777777	737777			XX=XX+XX+1
  6165						IFE	<XX-1>,<XX=-2>
  6166
  6167					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6168		002000	100001			V1=XX*XX
  6169						IFE	<XX&1B1>,<V2A=1>
  6170			000000			IFN	<XX&1B1>,<V2A=0>
  6171			000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6172						IFG	XX,<V2=XX-1>
  6173						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6174					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6175					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6176					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6177					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6178
  6179		777777	737777		F42370:	AA1=XX				;INITIAL C(AC)
  6180	034163	200 11 0 00 045121 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6181		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6182	034164	200 12 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6183		777777	737777			AEE=XX				;INITIAL C(E)
  6184	034165	200 07 0 00 045121 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6185	034166	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6186			000000			AR1=V2				;EXPECTED RESULT IN AC
  6187	034167	312 11 0 00 044615 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6188	034170	003 11 0 00 042371 		ER3	AC,42371		;HIGH PRODUCT FAILED
  6189		002000	100001			AR2=V1				;EXPECTED RESULT IN AC+1
  6190	034171	312 12 0 00 045122 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6191	034172	004 12 0 00 042372 		ER4	AC+1,42372		;LOW PRODUCT FAILED
  6192		777777	737777			AEE=XX				;INITIAL C(E)
  6193	034173	312 07 0 00 045121 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6194	034174	005 07 0 00 042373 		ER5	E,42373			;C(E) WAS CLOBBERED
  6195	034175	321 13 0 00 034163 		JUMPL	AC+2,F42370		;LOOP ON ERROR SWITCH^
  6196
  6197			004240			ADR=ADR+1
  6198		777777	677777			XX=XX+XX+1
  6199						IFE	<XX-1>,<XX=-2>
  6200
  6201					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6202		010000	200001			V1=XX*XX
  6203						IFE	<XX&1B1>,<V2A=1>
  6204			000000			IFN	<XX&1B1>,<V2A=0>
  6205			000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6206						IFG	XX,<V2=XX-1>
  6207						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6208					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6209					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6210					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6211					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6212
  6213		777777	677777		F42400:	AA1=XX				;INITIAL C(AC)
  6214	034176	200 11 0 00 045123 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 5-10
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0132

  6215		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6216	034177	200 12 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6217		777777	677777			AEE=XX				;INITIAL C(E)
  6218	034200	200 07 0 00 045123 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6219	034201	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6220			000000			AR1=V2				;EXPECTED RESULT IN AC
  6221	034202	312 11 0 00 044615 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6222	034203	003 11 0 00 042401 		ER3	AC,42401		;HIGH PRODUCT FAILED
  6223		010000	200001			AR2=V1				;EXPECTED RESULT IN AC+1
  6224	034204	312 12 0 00 045124 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6225	034205	004 12 0 00 042402 		ER4	AC+1,42402		;LOW PRODUCT FAILED
  6226		777777	677777			AEE=XX				;INITIAL C(E)
  6227	034206	312 07 0 00 045123 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6228	034207	005 07 0 00 042403 		ER5	E,42403			;C(E) WAS CLOBBERED
  6229	034210	321 13 0 00 034176 		JUMPL	AC+2,F42400		;LOOP ON ERROR SWITCH^
  6230
  6231			004241			ADR=ADR+1
  6232		777777	577777			XX=XX+XX+1
  6233						IFE	<XX-1>,<XX=-2>
  6234
  6235					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6236		040000	400001			V1=XX*XX
  6237						IFE	<XX&1B1>,<V2A=1>
  6238			000000			IFN	<XX&1B1>,<V2A=0>
  6239			000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6240						IFG	XX,<V2=XX-1>
  6241						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6242					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6243					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6244					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6245					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6246
  6247		777777	577777		F42410:	AA1=XX				;INITIAL C(AC)
  6248	034211	200 11 0 00 045125 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6249		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6250	034212	200 12 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6251		777777	577777			AEE=XX				;INITIAL C(E)
  6252	034213	200 07 0 00 045125 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6253	034214	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6254			000000			AR1=V2				;EXPECTED RESULT IN AC
  6255	034215	312 11 0 00 044615 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6256	034216	003 11 0 00 042411 		ER3	AC,42411		;HIGH PRODUCT FAILED
  6257		040000	400001			AR2=V1				;EXPECTED RESULT IN AC+1
  6258	034217	312 12 0 00 045126 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6259	034220	004 12 0 00 042412 		ER4	AC+1,42412		;LOW PRODUCT FAILED
  6260		777777	577777			AEE=XX				;INITIAL C(E)
  6261	034221	312 07 0 00 045125 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6262	034222	005 07 0 00 042413 		ER5	E,42413			;C(E) WAS CLOBBERED
  6263	034223	321 13 0 00 034211 		JUMPL	AC+2,F42410		;LOOP ON ERROR SWITCH^
  6264
  6265			004242			ADR=ADR+1
  6266		777777	377777			XX=XX+XX+1
  6267						IFE	<XX-1>,<XX=-2>
  6268
  6269					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 5-11
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0133

  6270		200001	000001			V1=XX*XX
  6271						IFE	<XX&1B1>,<V2A=1>
  6272			000000			IFN	<XX&1B1>,<V2A=0>
  6273			000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6274						IFG	XX,<V2=XX-1>
  6275						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6276					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6277					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6278					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6279					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6280
  6281		777777	377777		F42420:	AA1=XX				;INITIAL C(AC)
  6282	034224	200 11 0 00 045127 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6283		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6284	034225	200 12 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6285		777777	377777			AEE=XX				;INITIAL C(E)
  6286	034226	200 07 0 00 045127 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6287	034227	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6288			000000			AR1=V2				;EXPECTED RESULT IN AC
  6289	034230	312 11 0 00 044615 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6290	034231	003 11 0 00 042421 		ER3	AC,42421		;HIGH PRODUCT FAILED
  6291		200001	000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6292	034232	312 12 0 00 045130 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6293	034233	004 12 0 00 042422 		ER4	AC+1,42422		;LOW PRODUCT FAILED
  6294		777777	377777			AEE=XX				;INITIAL C(E)
  6295	034234	312 07 0 00 045127 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6296	034235	005 07 0 00 042423 		ER5	E,42423			;C(E) WAS CLOBBERED
  6297	034236	321 13 0 00 034224 		JUMPL	AC+2,F42420		;LOOP ON ERROR SWITCH^
  6298
  6299			004243			ADR=ADR+1
  6300		777776	777777			XX=XX+XX+1
  6301						IFE	<XX-1>,<XX=-2>
  6302
  6303					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6304		000002	000001			V1=XX*XX
  6305						IFE	<XX&1B1>,<V2A=1>
  6306			000000			IFN	<XX&1B1>,<V2A=0>
  6307			000002			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6308						IFG	XX,<V2=XX-1>
  6309						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6310					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6311					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6312					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6313					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6314
  6315		777776	777777		F42430:	AA1=XX				;INITIAL C(AC)
  6316	034237	200 11 0 00 045131 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6317		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6318	034240	200 12 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6319		777776	777777			AEE=XX				;INITIAL C(E)
  6320	034241	200 07 0 00 045131 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6321	034242	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6322			000002			AR1=V2				;EXPECTED RESULT IN AC
  6323	034243	312 11 0 00 044620 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6324	034244	003 11 0 00 042431 		ER3	AC,42431		;HIGH PRODUCT FAILED
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 5-12
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0134

  6325		000002	000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6326	034245	312 12 0 00 045132 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6327	034246	004 12 0 00 042432 		ER4	AC+1,42432		;LOW PRODUCT FAILED
  6328		777776	777777			AEE=XX				;INITIAL C(E)
  6329	034247	312 07 0 00 045131 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6330	034250	005 07 0 00 042433 		ER5	E,42433			;C(E) WAS CLOBBERED
  6331	034251	321 13 0 00 034237 		JUMPL	AC+2,F42430		;LOOP ON ERROR SWITCH^
  6332
  6333			004244			ADR=ADR+1
  6334		777775	777777			XX=XX+XX+1
  6335						IFE	<XX-1>,<XX=-2>
  6336
  6337					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6338		000004	000001			V1=XX*XX
  6339						IFE	<XX&1B1>,<V2A=1>
  6340			000000			IFN	<XX&1B1>,<V2A=0>
  6341			000010			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6342						IFG	XX,<V2=XX-1>
  6343						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6344					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6345					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6346					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6347					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6348
  6349		777775	777777		F42440:	AA1=XX				;INITIAL C(AC)
  6350	034252	200 11 0 00 045133 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6351		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6352	034253	200 12 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6353		777775	777777			AEE=XX				;INITIAL C(E)
  6354	034254	200 07 0 00 045133 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6355	034255	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6356			000010			AR1=V2				;EXPECTED RESULT IN AC
  6357	034256	312 11 0 00 044626 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6358	034257	003 11 0 00 042441 		ER3	AC,42441		;HIGH PRODUCT FAILED
  6359		000004	000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6360	034260	312 12 0 00 045134 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6361	034261	004 12 0 00 042442 		ER4	AC+1,42442		;LOW PRODUCT FAILED
  6362		777775	777777			AEE=XX				;INITIAL C(E)
  6363	034262	312 07 0 00 045133 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6364	034263	005 07 0 00 042443 		ER5	E,42443			;C(E) WAS CLOBBERED
  6365	034264	321 13 0 00 034252 		JUMPL	AC+2,F42440		;LOOP ON ERROR SWITCH^
  6366
  6367			004245			ADR=ADR+1
  6368		777773	777777			XX=XX+XX+1
  6369						IFE	<XX-1>,<XX=-2>
  6370
  6371					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6372		000010	000001			V1=XX*XX
  6373						IFE	<XX&1B1>,<V2A=1>
  6374			000000			IFN	<XX&1B1>,<V2A=0>
  6375			000040			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6376						IFG	XX,<V2=XX-1>
  6377						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6378					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6379					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 5-13
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0135

  6380					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6381					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6382
  6383		777773	777777		F42450:	AA1=XX				;INITIAL C(AC)
  6384	034265	200 11 0 00 045135 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6385		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6386	034266	200 12 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6387		777773	777777			AEE=XX				;INITIAL C(E)
  6388	034267	200 07 0 00 045135 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6389	034270	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6390			000040			AR1=V2				;EXPECTED RESULT IN AC
  6391	034271	312 11 0 00 044634 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6392	034272	003 11 0 00 042451 		ER3	AC,42451		;HIGH PRODUCT FAILED
  6393		000010	000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6394	034273	312 12 0 00 045136 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6395	034274	004 12 0 00 042452 		ER4	AC+1,42452		;LOW PRODUCT FAILED
  6396		777773	777777			AEE=XX				;INITIAL C(E)
  6397	034275	312 07 0 00 045135 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6398	034276	005 07 0 00 042453 		ER5	E,42453			;C(E) WAS CLOBBERED
  6399	034277	321 13 0 00 034265 		JUMPL	AC+2,F42450		;LOOP ON ERROR SWITCH^
  6400
  6401			004246			ADR=ADR+1
  6402		777767	777777			XX=XX+XX+1
  6403						IFE	<XX-1>,<XX=-2>
  6404
  6405					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6406		000020	000001			V1=XX*XX
  6407						IFE	<XX&1B1>,<V2A=1>
  6408			000000			IFN	<XX&1B1>,<V2A=0>
  6409			000200			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6410						IFG	XX,<V2=XX-1>
  6411						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6412					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6413					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6414					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6415					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6416
  6417		777767	777777		F42460:	AA1=XX				;INITIAL C(AC)
  6418	034300	200 11 0 00 045137 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6419		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6420	034301	200 12 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6421		777767	777777			AEE=XX				;INITIAL C(E)
  6422	034302	200 07 0 00 045137 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6423	034303	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6424			000200			AR1=V2				;EXPECTED RESULT IN AC
  6425	034304	312 11 0 00 044642 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6426	034305	003 11 0 00 042461 		ER3	AC,42461		;HIGH PRODUCT FAILED
  6427		000020	000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6428	034306	312 12 0 00 045140 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6429	034307	004 12 0 00 042462 		ER4	AC+1,42462		;LOW PRODUCT FAILED
  6430		777767	777777			AEE=XX				;INITIAL C(E)
  6431	034310	312 07 0 00 045137 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6432	034311	005 07 0 00 042463 		ER5	E,42463			;C(E) WAS CLOBBERED
  6433	034312	321 13 0 00 034300 		JUMPL	AC+2,F42460		;LOOP ON ERROR SWITCH^
  6434
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 5-14
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0136

  6435			004247			ADR=ADR+1
  6436		777757	777777			XX=XX+XX+1
  6437						IFE	<XX-1>,<XX=-2>
  6438
  6439					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6440		000040	000001			V1=XX*XX
  6441						IFE	<XX&1B1>,<V2A=1>
  6442			000000			IFN	<XX&1B1>,<V2A=0>
  6443			001000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6444						IFG	XX,<V2=XX-1>
  6445						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6446					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6447					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6448					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6449					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6450
  6451		777757	777777		F42470:	AA1=XX				;INITIAL C(AC)
  6452	034313	200 11 0 00 045141 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6453		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6454	034314	200 12 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6455		777757	777777			AEE=XX				;INITIAL C(E)
  6456	034315	200 07 0 00 045141 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6457	034316	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6458			001000			AR1=V2				;EXPECTED RESULT IN AC
  6459	034317	312 11 0 00 044650 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6460	034320	003 11 0 00 042471 		ER3	AC,42471		;HIGH PRODUCT FAILED
  6461		000040	000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6462	034321	312 12 0 00 045142 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6463	034322	004 12 0 00 042472 		ER4	AC+1,42472		;LOW PRODUCT FAILED
  6464		777757	777777			AEE=XX				;INITIAL C(E)
  6465	034323	312 07 0 00 045141 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6466	034324	005 07 0 00 042473 		ER5	E,42473			;C(E) WAS CLOBBERED
  6467	034325	321 13 0 00 034313 		JUMPL	AC+2,F42470		;LOOP ON ERROR SWITCH^
  6468
  6469			004250			ADR=ADR+1
  6470		777737	777777			XX=XX+XX+1
  6471						IFE	<XX-1>,<XX=-2>
  6472
  6473					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6474		000100	000001			V1=XX*XX
  6475						IFE	<XX&1B1>,<V2A=1>
  6476			000000			IFN	<XX&1B1>,<V2A=0>
  6477			004000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6478						IFG	XX,<V2=XX-1>
  6479						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6480					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6481					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6482					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6483					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6484
  6485		777737	777777		F42500:	AA1=XX				;INITIAL C(AC)
  6486	034326	200 11 0 00 045143 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6487		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6488	034327	200 12 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6489		777737	777777			AEE=XX				;INITIAL C(E)
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 5-15
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0137

  6490	034330	200 07 0 00 045143 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6491	034331	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6492			004000			AR1=V2				;EXPECTED RESULT IN AC
  6493	034332	312 11 0 00 044656 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6494	034333	003 11 0 00 042501 		ER3	AC,42501		;HIGH PRODUCT FAILED
  6495		000100	000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6496	034334	312 12 0 00 045144 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6497	034335	004 12 0 00 042502 		ER4	AC+1,42502		;LOW PRODUCT FAILED
  6498		777737	777777			AEE=XX				;INITIAL C(E)
  6499	034336	312 07 0 00 045143 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6500	034337	005 07 0 00 042503 		ER5	E,42503			;C(E) WAS CLOBBERED
  6501	034340	321 13 0 00 034326 		JUMPL	AC+2,F42500		;LOOP ON ERROR SWITCH^
  6502
  6503			004251			ADR=ADR+1
  6504		777677	777777			XX=XX+XX+1
  6505						IFE	<XX-1>,<XX=-2>
  6506
  6507					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6508		000200	000001			V1=XX*XX
  6509						IFE	<XX&1B1>,<V2A=1>
  6510			000000			IFN	<XX&1B1>,<V2A=0>
  6511			020000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6512						IFG	XX,<V2=XX-1>
  6513						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6514					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6515					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6516					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6517					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6518
  6519		777677	777777		F42510:	AA1=XX				;INITIAL C(AC)
  6520	034341	200 11 0 00 045145 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6521		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6522	034342	200 12 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6523		777677	777777			AEE=XX				;INITIAL C(E)
  6524	034343	200 07 0 00 045145 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6525	034344	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6526			020000			AR1=V2				;EXPECTED RESULT IN AC
  6527	034345	312 11 0 00 044664 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6528	034346	003 11 0 00 042511 		ER3	AC,42511		;HIGH PRODUCT FAILED
  6529		000200	000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6530	034347	312 12 0 00 045146 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6531	034350	004 12 0 00 042512 		ER4	AC+1,42512		;LOW PRODUCT FAILED
  6532		777677	777777			AEE=XX				;INITIAL C(E)
  6533	034351	312 07 0 00 045145 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6534	034352	005 07 0 00 042513 		ER5	E,42513			;C(E) WAS CLOBBERED
  6535	034353	321 13 0 00 034341 		JUMPL	AC+2,F42510		;LOOP ON ERROR SWITCH^
  6536
  6537			004252			ADR=ADR+1
  6538		777577	777777			XX=XX+XX+1
  6539						IFE	<XX-1>,<XX=-2>
  6540
  6541					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6542		000400	000001			V1=XX*XX
  6543						IFE	<XX&1B1>,<V2A=1>
  6544			000000			IFN	<XX&1B1>,<V2A=0>
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 5-16
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0138

  6545			100000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6546						IFG	XX,<V2=XX-1>
  6547						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6548					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6549					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6550					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6551					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6552
  6553		777577	777777		F42520:	AA1=XX				;INITIAL C(AC)
  6554	034354	200 11 0 00 045147 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6555		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6556	034355	200 12 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6557		777577	777777			AEE=XX				;INITIAL C(E)
  6558	034356	200 07 0 00 045147 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6559	034357	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6560			100000			AR1=V2				;EXPECTED RESULT IN AC
  6561	034360	312 11 0 00 044672 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6562	034361	003 11 0 00 042521 		ER3	AC,42521		;HIGH PRODUCT FAILED
  6563		000400	000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6564	034362	312 12 0 00 045150 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6565	034363	004 12 0 00 042522 		ER4	AC+1,42522		;LOW PRODUCT FAILED
  6566		777577	777777			AEE=XX				;INITIAL C(E)
  6567	034364	312 07 0 00 045147 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6568	034365	005 07 0 00 042523 		ER5	E,42523			;C(E) WAS CLOBBERED
  6569	034366	321 13 0 00 034354 		JUMPL	AC+2,F42520		;LOOP ON ERROR SWITCH^
  6570
  6571			004253			ADR=ADR+1
  6572		777377	777777			XX=XX+XX+1
  6573						IFE	<XX-1>,<XX=-2>
  6574
  6575					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6576		001000	000001			V1=XX*XX
  6577						IFE	<XX&1B1>,<V2A=1>
  6578			000000			IFN	<XX&1B1>,<V2A=0>
  6579			400000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6580						IFG	XX,<V2=XX-1>
  6581						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6582					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6583					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6584					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6585					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6586
  6587		777377	777777		F42530:	AA1=XX				;INITIAL C(AC)
  6588	034367	200 11 0 00 045151 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6589		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6590	034370	200 12 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6591		777377	777777			AEE=XX				;INITIAL C(E)
  6592	034371	200 07 0 00 045151 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6593	034372	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6594			400000			AR1=V2				;EXPECTED RESULT IN AC
  6595	034373	312 11 0 00 044700 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6596	034374	003 11 0 00 042531 		ER3	AC,42531		;HIGH PRODUCT FAILED
  6597		001000	000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6598	034375	312 12 0 00 045152 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6599	034376	004 12 0 00 042532 		ER4	AC+1,42532		;LOW PRODUCT FAILED
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 5-17
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0139

  6600		777377	777777			AEE=XX				;INITIAL C(E)
  6601	034377	312 07 0 00 045151 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6602	034400	005 07 0 00 042533 		ER5	E,42533			;C(E) WAS CLOBBERED
  6603	034401	321 13 0 00 034367 		JUMPL	AC+2,F42530		;LOOP ON ERROR SWITCH^
  6604
  6605			004254			ADR=ADR+1
  6606		776777	777777			XX=XX+XX+1
  6607						IFE	<XX-1>,<XX=-2>
  6608
  6609					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6610		002000	000001			V1=XX*XX
  6611						IFE	<XX&1B1>,<V2A=1>
  6612			000000			IFN	<XX&1B1>,<V2A=0>
  6613		000002	000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6614						IFG	XX,<V2=XX-1>
  6615						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6616					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6617					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6618					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6619					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6620
  6621		776777	777777		F42540:	AA1=XX				;INITIAL C(AC)
  6622	034402	200 11 0 00 045153 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6623		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6624	034403	200 12 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6625		776777	777777			AEE=XX				;INITIAL C(E)
  6626	034404	200 07 0 00 045153 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6627	034405	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6628		000002	000000			AR1=V2				;EXPECTED RESULT IN AC
  6629	034406	312 11 0 00 044706 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6630	034407	003 11 0 00 042541 		ER3	AC,42541		;HIGH PRODUCT FAILED
  6631		002000	000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6632	034410	312 12 0 00 045154 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6633	034411	004 12 0 00 042542 		ER4	AC+1,42542		;LOW PRODUCT FAILED
  6634		776777	777777			AEE=XX				;INITIAL C(E)
  6635	034412	312 07 0 00 045153 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6636	034413	005 07 0 00 042543 		ER5	E,42543			;C(E) WAS CLOBBERED
  6637	034414	321 13 0 00 034402 		JUMPL	AC+2,F42540		;LOOP ON ERROR SWITCH^
  6638
  6639			004255			ADR=ADR+1
  6640		775777	777777			XX=XX+XX+1
  6641						IFE	<XX-1>,<XX=-2>
  6642
  6643					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6644		004000	000001			V1=XX*XX
  6645						IFE	<XX&1B1>,<V2A=1>
  6646			000000			IFN	<XX&1B1>,<V2A=0>
  6647		000010	000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6648						IFG	XX,<V2=XX-1>
  6649						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6650					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6651					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6652					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6653					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6654
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 5-18
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0140

  6655		775777	777777		F42550:	AA1=XX				;INITIAL C(AC)
  6656	034415	200 11 0 00 045155 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6657		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6658	034416	200 12 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6659		775777	777777			AEE=XX				;INITIAL C(E)
  6660	034417	200 07 0 00 045155 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6661	034420	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6662		000010	000000			AR1=V2				;EXPECTED RESULT IN AC
  6663	034421	312 11 0 00 044714 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6664	034422	003 11 0 00 042551 		ER3	AC,42551		;HIGH PRODUCT FAILED
  6665		004000	000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6666	034423	312 12 0 00 045156 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6667	034424	004 12 0 00 042552 		ER4	AC+1,42552		;LOW PRODUCT FAILED
  6668		775777	777777			AEE=XX				;INITIAL C(E)
  6669	034425	312 07 0 00 045155 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6670	034426	005 07 0 00 042553 		ER5	E,42553			;C(E) WAS CLOBBERED
  6671	034427	321 13 0 00 034415 		JUMPL	AC+2,F42550		;LOOP ON ERROR SWITCH^
  6672
  6673			004256			ADR=ADR+1
  6674		773777	777777			XX=XX+XX+1
  6675						IFE	<XX-1>,<XX=-2>
  6676
  6677					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6678		010000	000001			V1=XX*XX
  6679						IFE	<XX&1B1>,<V2A=1>
  6680			000000			IFN	<XX&1B1>,<V2A=0>
  6681		000040	000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6682						IFG	XX,<V2=XX-1>
  6683						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6684					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6685					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6686					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6687					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6688
  6689		773777	777777		F42560:	AA1=XX				;INITIAL C(AC)
  6690	034430	200 11 0 00 045157 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6691		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6692	034431	200 12 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6693		773777	777777			AEE=XX				;INITIAL C(E)
  6694	034432	200 07 0 00 045157 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6695	034433	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6696		000040	000000			AR1=V2				;EXPECTED RESULT IN AC
  6697	034434	312 11 0 00 044722 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6698	034435	003 11 0 00 042561 		ER3	AC,42561		;HIGH PRODUCT FAILED
  6699		010000	000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6700	034436	312 12 0 00 045160 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6701	034437	004 12 0 00 042562 		ER4	AC+1,42562		;LOW PRODUCT FAILED
  6702		773777	777777			AEE=XX				;INITIAL C(E)
  6703	034440	312 07 0 00 045157 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6704	034441	005 07 0 00 042563 		ER5	E,42563			;C(E) WAS CLOBBERED
  6705	034442	321 13 0 00 034430 		JUMPL	AC+2,F42560		;LOOP ON ERROR SWITCH^
  6706
  6707			004257			ADR=ADR+1
  6708		767777	777777			XX=XX+XX+1
  6709						IFE	<XX-1>,<XX=-2>
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 5-19
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0141

  6710
  6711					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6712		020000	000001			V1=XX*XX
  6713						IFE	<XX&1B1>,<V2A=1>
  6714			000000			IFN	<XX&1B1>,<V2A=0>
  6715		000200	000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6716						IFG	XX,<V2=XX-1>
  6717						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6718					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6719					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6720					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6721					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6722
  6723		767777	777777		F42570:	AA1=XX				;INITIAL C(AC)
  6724	034443	200 11 0 00 045161 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6725		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6726	034444	200 12 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6727		767777	777777			AEE=XX				;INITIAL C(E)
  6728	034445	200 07 0 00 045161 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6729	034446	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6730		000200	000000			AR1=V2				;EXPECTED RESULT IN AC
  6731	034447	312 11 0 00 044730 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6732	034450	003 11 0 00 042571 		ER3	AC,42571		;HIGH PRODUCT FAILED
  6733		020000	000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6734	034451	312 12 0 00 045162 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6735	034452	004 12 0 00 042572 		ER4	AC+1,42572		;LOW PRODUCT FAILED
  6736		767777	777777			AEE=XX				;INITIAL C(E)
  6737	034453	312 07 0 00 045161 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6738	034454	005 07 0 00 042573 		ER5	E,42573			;C(E) WAS CLOBBERED
  6739	034455	321 13 0 00 034443 		JUMPL	AC+2,F42570		;LOOP ON ERROR SWITCH^
  6740
  6741			004260			ADR=ADR+1
  6742		757777	777777			XX=XX+XX+1
  6743						IFE	<XX-1>,<XX=-2>
  6744
  6745					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6746		040000	000001			V1=XX*XX
  6747						IFE	<XX&1B1>,<V2A=1>
  6748			000000			IFN	<XX&1B1>,<V2A=0>
  6749		001000	000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6750						IFG	XX,<V2=XX-1>
  6751						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6752					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6753					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6754					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6755					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6756
  6757		757777	777777		F42600:	AA1=XX				;INITIAL C(AC)
  6758	034456	200 11 0 00 045163 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6759		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6760	034457	200 12 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6761		757777	777777			AEE=XX				;INITIAL C(E)
  6762	034460	200 07 0 00 045163 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6763	034461	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6764		001000	000000			AR1=V2				;EXPECTED RESULT IN AC
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 5-20
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0142

  6765	034462	312 11 0 00 044736 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6766	034463	003 11 0 00 042601 		ER3	AC,42601		;HIGH PRODUCT FAILED
  6767		040000	000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6768	034464	312 12 0 00 045164 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6769	034465	004 12 0 00 042602 		ER4	AC+1,42602		;LOW PRODUCT FAILED
  6770		757777	777777			AEE=XX				;INITIAL C(E)
  6771	034466	312 07 0 00 045163 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6772	034467	005 07 0 00 042603 		ER5	E,42603			;C(E) WAS CLOBBERED
  6773	034470	321 13 0 00 034456 		JUMPL	AC+2,F42600		;LOOP ON ERROR SWITCH^
  6774
  6775			004261			ADR=ADR+1
  6776		737777	777777			XX=XX+XX+1
  6777						IFE	<XX-1>,<XX=-2>
  6778
  6779					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6780		100000	000001			V1=XX*XX
  6781						IFE	<XX&1B1>,<V2A=1>
  6782			000000			IFN	<XX&1B1>,<V2A=0>
  6783		004000	000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6784						IFG	XX,<V2=XX-1>
  6785						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6786					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6787					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6788					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6789					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6790
  6791		737777	777777		F42610:	AA1=XX				;INITIAL C(AC)
  6792	034471	200 11 0 00 045165 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6793		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6794	034472	200 12 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6795		737777	777777			AEE=XX				;INITIAL C(E)
  6796	034473	200 07 0 00 045165 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6797	034474	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6798		004000	000000			AR1=V2				;EXPECTED RESULT IN AC
  6799	034475	312 11 0 00 044744 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6800	034476	003 11 0 00 042611 		ER3	AC,42611		;HIGH PRODUCT FAILED
  6801		100000	000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6802	034477	312 12 0 00 045166 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6803	034500	004 12 0 00 042612 		ER4	AC+1,42612		;LOW PRODUCT FAILED
  6804		737777	777777			AEE=XX				;INITIAL C(E)
  6805	034501	312 07 0 00 045165 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6806	034502	005 07 0 00 042613 		ER5	E,42613			;C(E) WAS CLOBBERED
  6807	034503	321 13 0 00 034471 		JUMPL	AC+2,F42610		;LOOP ON ERROR SWITCH^
  6808
  6809			004262			ADR=ADR+1
  6810		677777	777777			XX=XX+XX+1
  6811						IFE	<XX-1>,<XX=-2>
  6812
  6813					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6814		200000	000001			V1=XX*XX
  6815						IFE	<XX&1B1>,<V2A=1>
  6816			000000			IFN	<XX&1B1>,<V2A=0>
  6817		020000	000000			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6818						IFG	XX,<V2=XX-1>
  6819						MOP1	(\ADR,XX,-1,XX,V2,V1)^
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 5-21
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0143

  6820					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6821					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6822					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6823					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6824
  6825		677777	777777		F42620:	AA1=XX				;INITIAL C(AC)
  6826	034504	200 11 0 00 045167 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6827		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6828	034505	200 12 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6829		677777	777777			AEE=XX				;INITIAL C(E)
  6830	034506	200 07 0 00 045167 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6831	034507	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6832		020000	000000			AR1=V2				;EXPECTED RESULT IN AC
  6833	034510	312 11 0 00 044752 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6834	034511	003 11 0 00 042621 		ER3	AC,42621		;HIGH PRODUCT FAILED
  6835		200000	000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6836	034512	312 12 0 00 045170 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6837	034513	004 12 0 00 042622 		ER4	AC+1,42622		;LOW PRODUCT FAILED
  6838		677777	777777			AEE=XX				;INITIAL C(E)
  6839	034514	312 07 0 00 045167 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6840	034515	005 07 0 00 042623 		ER5	E,42623			;C(E) WAS CLOBBERED
  6841	034516	321 13 0 00 034504 		JUMPL	AC+2,F42620		;LOOP ON ERROR SWITCH^
  6842
  6843			004263			ADR=ADR+1
  6844		577777	777777			XX=XX+XX+1
  6845						IFE	<XX-1>,<XX=-2>
  6846
  6847					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6848			000001			V1=XX*XX
  6849			000001			IFE	<XX&1B1>,<V2A=1>
  6850						IFN	<XX&1B1>,<V2A=0>
  6851		100000	000001			IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6852						IFG	XX,<V2=XX-1>
  6853						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6854					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6855					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6856					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6857					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6858
  6859		577777	777777		F42630:	AA1=XX				;INITIAL C(AC)
  6860	034517	200 11 0 00 045171 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6861		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6862	034520	200 12 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6863		577777	777777			AEE=XX				;INITIAL C(E)
  6864	034521	200 07 0 00 045171 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6865	034522	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6866		100000	000001			AR1=V2				;EXPECTED RESULT IN AC
  6867	034523	312 11 0 00 045166 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6868	034524	003 11 0 00 042631 		ER3	AC,42631		;HIGH PRODUCT FAILED
  6869			000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6870	034525	312 12 0 00 044616 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6871	034526	004 12 0 00 042632 		ER4	AC+1,42632		;LOW PRODUCT FAILED
  6872		577777	777777			AEE=XX				;INITIAL C(E)
  6873	034527	312 07 0 00 045171 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6874	034530	005 07 0 00 042633 		ER5	E,42633			;C(E) WAS CLOBBERED
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 5-22
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0144

  6875	034531	321 13 0 00 034517 		JUMPL	AC+2,F42630		;LOOP ON ERROR SWITCH^
  6876
  6877			004264			ADR=ADR+1
  6878		377777	777777			XX=XX+XX+1
  6879						IFE	<XX-1>,<XX=-2>
  6880
  6881					;MULTIPLY A FLOATING 0 BY ITSELF FOR A SQUARE PRODUCT
  6882			000001			V1=XX*XX
  6883						IFE	<XX&1B1>,<V2A=1>
  6884			000000			IFN	<XX&1B1>,<V2A=0>
  6885						IFL	XX,<V2=<<<<<-<XX+1>>_-22>*<<-<XX+1>>_-22>>_1>+V2A>>
  6886		377777	777776			IFG	XX,<V2=XX-1>
  6887						MOP1	(\ADR,XX,-1,XX,V2,V1)^
  6888					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[-1] AND
  6889					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6890					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6891					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6892
  6893		377777	777777		F42640:	AA1=XX				;INITIAL C(AC)
  6894	034532	200 11 0 00 045172 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  6895		777777	777777			AA2=-1				;INITIAL C(AC+1)
  6896	034533	200 12 0 00 044617 		MOVE	AC+1,[-1]		;PRELOAD AC+1
  6897		377777	777777			AEE=XX				;INITIAL C(E)
  6898	034534	200 07 0 00 045172 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6899	034535	224 11 0 00 000007 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6900		377777	777776			AR1=V2				;EXPECTED RESULT IN AC
  6901	034536	312 11 0 00 045173 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6902	034537	003 11 0 00 042641 		ER3	AC,42641		;HIGH PRODUCT FAILED
  6903			000001			AR2=V1				;EXPECTED RESULT IN AC+1
  6904	034540	312 12 0 00 044616 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  6905	034541	004 12 0 00 042642 		ER4	AC+1,42642		;LOW PRODUCT FAILED
  6906		377777	777777			AEE=XX				;INITIAL C(E)
  6907	034542	312 07 0 00 045172 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6908	034543	005 07 0 00 042643 		ER5	E,42643			;C(E) WAS CLOBBERED
  6909	034544	321 13 0 00 034532 		JUMPL	AC+2,F42640		;LOOP ON ERROR SWITCH^
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 6
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0145

  6910			000010			AC=10
  6911			000006			E=<AC-2>&17
  6912						SAVEAC	(1,1)^
  6913	034545	201 12 0 00 034545 		MOVEI	AC+2,.		;SAVE TEST PC
  6914	034546	202 12 0 00 030051 		MOVEM	AC+2,TESTPC
  6915	034547	201 12 0 00 000012 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  6916	034550	202 12 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  6917			000000			XX=0
  6918			000000			YY=0
  6919
  6920						REPEAT	^D36,<
  6921						ADR=ADR+1
  6922						XX=XX+XX
  6923						YY=YY+YY+1
  6924						IFE	XX,<XX=1>
  6925						IFE	<YY-1>,<YY=-2>
  6926					
  6927					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  6928						V1=XX*YY
  6929						IFE	<XX_-22>,<V2A=-1>
  6930						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  6931						IFG	XX,<V2=V2A>
  6932						IFL	XX,<V2=XX+1>
  6933						MOP1	(\ADR,YY,0,XX,V2,V1)>
  6934
  6935			004265			ADR=ADR+1
  6936			000000			XX=XX+XX
  6937			000001			YY=YY+YY+1
  6938			000001			IFE	XX,<XX=1>
  6939		777777	777776			IFE	<YY-1>,<YY=-2>
  6940
  6941					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  6942		777777	777776			V1=XX*YY
  6943		777777	777777			IFE	<XX_-22>,<V2A=-1>
  6944						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  6945		777777	777777			IFG	XX,<V2=V2A>
  6946						IFL	XX,<V2=XX+1>
  6947						MOP1	(\ADR,YY,0,XX,V2,V1)^
  6948					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  6949					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6950					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6951					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6952
  6953		777777	777776		F42650:	AA1=YY				;INITIAL C(AC)
  6954	034551	200 10 0 00 044621 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  6955			000000			AA2=0				;INITIAL C(AC+1)
  6956	034552	200 11 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  6957			000001			AEE=XX				;INITIAL C(E)
  6958	034553	200 06 0 00 044616 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6959	034554	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6960		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  6961	034555	312 10 0 00 044617 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6962	034556	003 10 0 00 042651 		ER3	AC,42651		;HIGH PRODUCT FAILED
  6963		777777	777776			AR2=V1				;EXPECTED RESULT IN AC+1
  6964	034557	312 11 0 00 044621 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 6-1
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0146

  6965	034560	004 11 0 00 042652 		ER4	AC+1,42652		;LOW PRODUCT FAILED
  6966			000001			AEE=XX				;INITIAL C(E)
  6967	034561	312 06 0 00 044616 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  6968	034562	005 06 0 00 042653 		ER5	E,42653			;C(E) WAS CLOBBERED
  6969	034563	321 12 0 00 034551 		JUMPL	AC+2,F42650		;LOOP ON ERROR SWITCH^
  6970
  6971			004266			ADR=ADR+1
  6972			000002			XX=XX+XX
  6973		777777	777775			YY=YY+YY+1
  6974						IFE	XX,<XX=1>
  6975						IFE	<YY-1>,<YY=-2>
  6976
  6977					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  6978		777777	777772			V1=XX*YY
  6979		777777	777777			IFE	<XX_-22>,<V2A=-1>
  6980						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  6981		777777	777777			IFG	XX,<V2=V2A>
  6982						IFL	XX,<V2=XX+1>
  6983						MOP1	(\ADR,YY,0,XX,V2,V1)^
  6984					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  6985					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  6986					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  6987					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  6988
  6989		777777	777775		F42660:	AA1=YY				;INITIAL C(AC)
  6990	034564	200 10 0 00 044624 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  6991			000000			AA2=0				;INITIAL C(AC+1)
  6992	034565	200 11 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  6993			000002			AEE=XX				;INITIAL C(E)
  6994	034566	200 06 0 00 044620 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  6995	034567	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  6996		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  6997	034570	312 10 0 00 044617 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  6998	034571	003 10 0 00 042661 		ER3	AC,42661		;HIGH PRODUCT FAILED
  6999		777777	777772			AR2=V1				;EXPECTED RESULT IN AC+1
  7000	034572	312 11 0 00 044627 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7001	034573	004 11 0 00 042662 		ER4	AC+1,42662		;LOW PRODUCT FAILED
  7002			000002			AEE=XX				;INITIAL C(E)
  7003	034574	312 06 0 00 044620 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7004	034575	005 06 0 00 042663 		ER5	E,42663			;C(E) WAS CLOBBERED
  7005	034576	321 12 0 00 034564 		JUMPL	AC+2,F42660		;LOOP ON ERROR SWITCH^
  7006
  7007			004267			ADR=ADR+1
  7008			000004			XX=XX+XX
  7009		777777	777773			YY=YY+YY+1
  7010						IFE	XX,<XX=1>
  7011						IFE	<YY-1>,<YY=-2>
  7012
  7013					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7014		777777	777754			V1=XX*YY
  7015		777777	777777			IFE	<XX_-22>,<V2A=-1>
  7016						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7017		777777	777777			IFG	XX,<V2=V2A>
  7018						IFL	XX,<V2=XX+1>
  7019						MOP1	(\ADR,YY,0,XX,V2,V1)^
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 6-2
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0147

  7020					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7021					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7022					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7023					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7024
  7025		777777	777773		F42670:	AA1=YY				;INITIAL C(AC)
  7026	034577	200 10 0 00 045071 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7027			000000			AA2=0				;INITIAL C(AC+1)
  7028	034600	200 11 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7029			000004			AEE=XX				;INITIAL C(E)
  7030	034601	200 06 0 00 044623 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7031	034602	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7032		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  7033	034603	312 10 0 00 044617 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7034	034604	003 10 0 00 042671 		ER3	AC,42671		;HIGH PRODUCT FAILED
  7035		777777	777754			AR2=V1				;EXPECTED RESULT IN AC+1
  7036	034605	312 11 0 00 045174 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7037	034606	004 11 0 00 042672 		ER4	AC+1,42672		;LOW PRODUCT FAILED
  7038			000004			AEE=XX				;INITIAL C(E)
  7039	034607	312 06 0 00 044623 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7040	034610	005 06 0 00 042673 		ER5	E,42673			;C(E) WAS CLOBBERED
  7041	034611	321 12 0 00 034577 		JUMPL	AC+2,F42670		;LOOP ON ERROR SWITCH^
  7042
  7043			004270			ADR=ADR+1
  7044			000010			XX=XX+XX
  7045		777777	777767			YY=YY+YY+1
  7046						IFE	XX,<XX=1>
  7047						IFE	<YY-1>,<YY=-2>
  7048
  7049					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7050		777777	777670			V1=XX*YY
  7051		777777	777777			IFE	<XX_-22>,<V2A=-1>
  7052						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7053		777777	777777			IFG	XX,<V2=V2A>
  7054						IFL	XX,<V2=XX+1>
  7055						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7056					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7057					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7058					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7059					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7060
  7061		777777	777767		F42700:	AA1=YY				;INITIAL C(AC)
  7062	034612	200 10 0 00 045073 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7063			000000			AA2=0				;INITIAL C(AC+1)
  7064	034613	200 11 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7065			000010			AEE=XX				;INITIAL C(E)
  7066	034614	200 06 0 00 044626 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7067	034615	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7068		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  7069	034616	312 10 0 00 044617 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7070	034617	003 10 0 00 042701 		ER3	AC,42701		;HIGH PRODUCT FAILED
  7071		777777	777670			AR2=V1				;EXPECTED RESULT IN AC+1
  7072	034620	312 11 0 00 045175 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7073	034621	004 11 0 00 042702 		ER4	AC+1,42702		;LOW PRODUCT FAILED
  7074			000010			AEE=XX				;INITIAL C(E)
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 6-3
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0148

  7075	034622	312 06 0 00 044626 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7076	034623	005 06 0 00 042703 		ER5	E,42703			;C(E) WAS CLOBBERED
  7077	034624	321 12 0 00 034612 		JUMPL	AC+2,F42700		;LOOP ON ERROR SWITCH^
  7078
  7079			004271			ADR=ADR+1
  7080			000020			XX=XX+XX
  7081		777777	777757			YY=YY+YY+1
  7082						IFE	XX,<XX=1>
  7083						IFE	<YY-1>,<YY=-2>
  7084
  7085					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7086		777777	777360			V1=XX*YY
  7087		777777	777777			IFE	<XX_-22>,<V2A=-1>
  7088						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7089		777777	777777			IFG	XX,<V2=V2A>
  7090						IFL	XX,<V2=XX+1>
  7091						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7092					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7093					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7094					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7095					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7096
  7097		777777	777757		F42710:	AA1=YY				;INITIAL C(AC)
  7098	034625	200 10 0 00 045075 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7099			000000			AA2=0				;INITIAL C(AC+1)
  7100	034626	200 11 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7101			000020			AEE=XX				;INITIAL C(E)
  7102	034627	200 06 0 00 044631 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7103	034630	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7104		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  7105	034631	312 10 0 00 044617 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7106	034632	003 10 0 00 042711 		ER3	AC,42711		;HIGH PRODUCT FAILED
  7107		777777	777360			AR2=V1				;EXPECTED RESULT IN AC+1
  7108	034633	312 11 0 00 045176 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7109	034634	004 11 0 00 042712 		ER4	AC+1,42712		;LOW PRODUCT FAILED
  7110			000020			AEE=XX				;INITIAL C(E)
  7111	034635	312 06 0 00 044631 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7112	034636	005 06 0 00 042713 		ER5	E,42713			;C(E) WAS CLOBBERED
  7113	034637	321 12 0 00 034625 		JUMPL	AC+2,F42710		;LOOP ON ERROR SWITCH^
  7114
  7115			004272			ADR=ADR+1
  7116			000040			XX=XX+XX
  7117		777777	777737			YY=YY+YY+1
  7118						IFE	XX,<XX=1>
  7119						IFE	<YY-1>,<YY=-2>
  7120
  7121					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7122		777777	775740			V1=XX*YY
  7123		777777	777777			IFE	<XX_-22>,<V2A=-1>
  7124						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7125		777777	777777			IFG	XX,<V2=V2A>
  7126						IFL	XX,<V2=XX+1>
  7127						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7128					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7129					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 6-4
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0149

  7130					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7131					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7132
  7133		777777	777737		F42720:	AA1=YY				;INITIAL C(AC)
  7134	034640	200 10 0 00 045077 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7135			000000			AA2=0				;INITIAL C(AC+1)
  7136	034641	200 11 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7137			000040			AEE=XX				;INITIAL C(E)
  7138	034642	200 06 0 00 044634 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7139	034643	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7140		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  7141	034644	312 10 0 00 044617 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7142	034645	003 10 0 00 042721 		ER3	AC,42721		;HIGH PRODUCT FAILED
  7143		777777	775740			AR2=V1				;EXPECTED RESULT IN AC+1
  7144	034646	312 11 0 00 045177 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7145	034647	004 11 0 00 042722 		ER4	AC+1,42722		;LOW PRODUCT FAILED
  7146			000040			AEE=XX				;INITIAL C(E)
  7147	034650	312 06 0 00 044634 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7148	034651	005 06 0 00 042723 		ER5	E,42723			;C(E) WAS CLOBBERED
  7149	034652	321 12 0 00 034640 		JUMPL	AC+2,F42720		;LOOP ON ERROR SWITCH^
  7150
  7151			004273			ADR=ADR+1
  7152			000100			XX=XX+XX
  7153		777777	777677			YY=YY+YY+1
  7154						IFE	XX,<XX=1>
  7155						IFE	<YY-1>,<YY=-2>
  7156
  7157					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7158		777777	767700			V1=XX*YY
  7159		777777	777777			IFE	<XX_-22>,<V2A=-1>
  7160						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7161		777777	777777			IFG	XX,<V2=V2A>
  7162						IFL	XX,<V2=XX+1>
  7163						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7164					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7165					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7166					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7167					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7168
  7169		777777	777677		F42730:	AA1=YY				;INITIAL C(AC)
  7170	034653	200 10 0 00 045101 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7171			000000			AA2=0				;INITIAL C(AC+1)
  7172	034654	200 11 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7173			000100			AEE=XX				;INITIAL C(E)
  7174	034655	200 06 0 00 044637 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7175	034656	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7176		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  7177	034657	312 10 0 00 044617 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7178	034660	003 10 0 00 042731 		ER3	AC,42731		;HIGH PRODUCT FAILED
  7179		777777	767700			AR2=V1				;EXPECTED RESULT IN AC+1
  7180	034661	312 11 0 00 045200 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7181	034662	004 11 0 00 042732 		ER4	AC+1,42732		;LOW PRODUCT FAILED
  7182			000100			AEE=XX				;INITIAL C(E)
  7183	034663	312 06 0 00 044637 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7184	034664	005 06 0 00 042733 		ER5	E,42733			;C(E) WAS CLOBBERED
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 6-5
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0150

  7185	034665	321 12 0 00 034653 		JUMPL	AC+2,F42730		;LOOP ON ERROR SWITCH^
  7186
  7187			004274			ADR=ADR+1
  7188			000200			XX=XX+XX
  7189		777777	777577			YY=YY+YY+1
  7190						IFE	XX,<XX=1>
  7191						IFE	<YY-1>,<YY=-2>
  7192
  7193					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7194		777777	737600			V1=XX*YY
  7195		777777	777777			IFE	<XX_-22>,<V2A=-1>
  7196						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7197		777777	777777			IFG	XX,<V2=V2A>
  7198						IFL	XX,<V2=XX+1>
  7199						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7200					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7201					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7202					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7203					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7204
  7205		777777	777577		F42740:	AA1=YY				;INITIAL C(AC)
  7206	034666	200 10 0 00 045103 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7207			000000			AA2=0				;INITIAL C(AC+1)
  7208	034667	200 11 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7209			000200			AEE=XX				;INITIAL C(E)
  7210	034670	200 06 0 00 044642 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7211	034671	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7212		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  7213	034672	312 10 0 00 044617 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7214	034673	003 10 0 00 042741 		ER3	AC,42741		;HIGH PRODUCT FAILED
  7215		777777	737600			AR2=V1				;EXPECTED RESULT IN AC+1
  7216	034674	312 11 0 00 045201 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7217	034675	004 11 0 00 042742 		ER4	AC+1,42742		;LOW PRODUCT FAILED
  7218			000200			AEE=XX				;INITIAL C(E)
  7219	034676	312 06 0 00 044642 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7220	034677	005 06 0 00 042743 		ER5	E,42743			;C(E) WAS CLOBBERED
  7221	034700	321 12 0 00 034666 		JUMPL	AC+2,F42740		;LOOP ON ERROR SWITCH^
  7222
  7223			004275			ADR=ADR+1
  7224			000400			XX=XX+XX
  7225		777777	777377			YY=YY+YY+1
  7226						IFE	XX,<XX=1>
  7227						IFE	<YY-1>,<YY=-2>
  7228
  7229					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7230		777777	577400			V1=XX*YY
  7231		777777	777777			IFE	<XX_-22>,<V2A=-1>
  7232						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7233		777777	777777			IFG	XX,<V2=V2A>
  7234						IFL	XX,<V2=XX+1>
  7235						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7236					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7237					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7238					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7239					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 6-6
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0151

  7240
  7241		777777	777377		F42750:	AA1=YY				;INITIAL C(AC)
  7242	034701	200 10 0 00 045105 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7243			000000			AA2=0				;INITIAL C(AC+1)
  7244	034702	200 11 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7245			000400			AEE=XX				;INITIAL C(E)
  7246	034703	200 06 0 00 044645 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7247	034704	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7248		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  7249	034705	312 10 0 00 044617 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7250	034706	003 10 0 00 042751 		ER3	AC,42751		;HIGH PRODUCT FAILED
  7251		777777	577400			AR2=V1				;EXPECTED RESULT IN AC+1
  7252	034707	312 11 0 00 045202 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7253	034710	004 11 0 00 042752 		ER4	AC+1,42752		;LOW PRODUCT FAILED
  7254			000400			AEE=XX				;INITIAL C(E)
  7255	034711	312 06 0 00 044645 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7256	034712	005 06 0 00 042753 		ER5	E,42753			;C(E) WAS CLOBBERED
  7257	034713	321 12 0 00 034701 		JUMPL	AC+2,F42750		;LOOP ON ERROR SWITCH^
  7258
  7259			004276			ADR=ADR+1
  7260			001000			XX=XX+XX
  7261		777777	776777			YY=YY+YY+1
  7262						IFE	XX,<XX=1>
  7263						IFE	<YY-1>,<YY=-2>
  7264
  7265					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7266		777776	777000			V1=XX*YY
  7267		777777	777777			IFE	<XX_-22>,<V2A=-1>
  7268						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7269		777777	777777			IFG	XX,<V2=V2A>
  7270						IFL	XX,<V2=XX+1>
  7271						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7272					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7273					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7274					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7275					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7276
  7277		777777	776777		F42760:	AA1=YY				;INITIAL C(AC)
  7278	034714	200 10 0 00 045107 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7279			000000			AA2=0				;INITIAL C(AC+1)
  7280	034715	200 11 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7281			001000			AEE=XX				;INITIAL C(E)
  7282	034716	200 06 0 00 044650 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7283	034717	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7284		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  7285	034720	312 10 0 00 044617 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7286	034721	003 10 0 00 042761 		ER3	AC,42761		;HIGH PRODUCT FAILED
  7287		777776	777000			AR2=V1				;EXPECTED RESULT IN AC+1
  7288	034722	312 11 0 00 045203 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7289	034723	004 11 0 00 042762 		ER4	AC+1,42762		;LOW PRODUCT FAILED
  7290			001000			AEE=XX				;INITIAL C(E)
  7291	034724	312 06 0 00 044650 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7292	034725	005 06 0 00 042763 		ER5	E,42763			;C(E) WAS CLOBBERED
  7293	034726	321 12 0 00 034714 		JUMPL	AC+2,F42760		;LOOP ON ERROR SWITCH^
  7294
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 6-7
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0152

  7295			004277			ADR=ADR+1
  7296			002000			XX=XX+XX
  7297		777777	775777			YY=YY+YY+1
  7298						IFE	XX,<XX=1>
  7299						IFE	<YY-1>,<YY=-2>
  7300
  7301					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7302		777773	776000			V1=XX*YY
  7303		777777	777777			IFE	<XX_-22>,<V2A=-1>
  7304						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7305		777777	777777			IFG	XX,<V2=V2A>
  7306						IFL	XX,<V2=XX+1>
  7307						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7308					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7309					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7310					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7311					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7312
  7313		777777	775777		F42770:	AA1=YY				;INITIAL C(AC)
  7314	034727	200 10 0 00 045111 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7315			000000			AA2=0				;INITIAL C(AC+1)
  7316	034730	200 11 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7317			002000			AEE=XX				;INITIAL C(E)
  7318	034731	200 06 0 00 044653 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7319	034732	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7320		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  7321	034733	312 10 0 00 044617 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7322	034734	003 10 0 00 042771 		ER3	AC,42771		;HIGH PRODUCT FAILED
  7323		777773	776000			AR2=V1				;EXPECTED RESULT IN AC+1
  7324	034735	312 11 0 00 045204 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7325	034736	004 11 0 00 042772 		ER4	AC+1,42772		;LOW PRODUCT FAILED
  7326			002000			AEE=XX				;INITIAL C(E)
  7327	034737	312 06 0 00 044653 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7328	034740	005 06 0 00 042773 		ER5	E,42773			;C(E) WAS CLOBBERED
  7329	034741	321 12 0 00 034727 		JUMPL	AC+2,F42770		;LOOP ON ERROR SWITCH^
  7330
  7331			004300			ADR=ADR+1
  7332			004000			XX=XX+XX
  7333		777777	773777			YY=YY+YY+1
  7334						IFE	XX,<XX=1>
  7335						IFE	<YY-1>,<YY=-2>
  7336
  7337					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7338		777757	774000			V1=XX*YY
  7339		777777	777777			IFE	<XX_-22>,<V2A=-1>
  7340						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7341		777777	777777			IFG	XX,<V2=V2A>
  7342						IFL	XX,<V2=XX+1>
  7343						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7344					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7345					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7346					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7347					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7348
  7349		777777	773777		F43000:	AA1=YY				;INITIAL C(AC)
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 6-8
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0153

  7350	034742	200 10 0 00 045113 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7351			000000			AA2=0				;INITIAL C(AC+1)
  7352	034743	200 11 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7353			004000			AEE=XX				;INITIAL C(E)
  7354	034744	200 06 0 00 044656 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7355	034745	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7356		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  7357	034746	312 10 0 00 044617 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7358	034747	003 10 0 00 043001 		ER3	AC,43001		;HIGH PRODUCT FAILED
  7359		777757	774000			AR2=V1				;EXPECTED RESULT IN AC+1
  7360	034750	312 11 0 00 045205 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7361	034751	004 11 0 00 043002 		ER4	AC+1,43002		;LOW PRODUCT FAILED
  7362			004000			AEE=XX				;INITIAL C(E)
  7363	034752	312 06 0 00 044656 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7364	034753	005 06 0 00 043003 		ER5	E,43003			;C(E) WAS CLOBBERED
  7365	034754	321 12 0 00 034742 		JUMPL	AC+2,F43000		;LOOP ON ERROR SWITCH^
  7366
  7367			004301			ADR=ADR+1
  7368			010000			XX=XX+XX
  7369		777777	767777			YY=YY+YY+1
  7370						IFE	XX,<XX=1>
  7371						IFE	<YY-1>,<YY=-2>
  7372
  7373					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7374		777677	770000			V1=XX*YY
  7375		777777	777777			IFE	<XX_-22>,<V2A=-1>
  7376						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7377		777777	777777			IFG	XX,<V2=V2A>
  7378						IFL	XX,<V2=XX+1>
  7379						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7380					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7381					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7382					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7383					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7384
  7385		777777	767777		F43010:	AA1=YY				;INITIAL C(AC)
  7386	034755	200 10 0 00 045115 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7387			000000			AA2=0				;INITIAL C(AC+1)
  7388	034756	200 11 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7389			010000			AEE=XX				;INITIAL C(E)
  7390	034757	200 06 0 00 044661 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7391	034760	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7392		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  7393	034761	312 10 0 00 044617 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7394	034762	003 10 0 00 043011 		ER3	AC,43011		;HIGH PRODUCT FAILED
  7395		777677	770000			AR2=V1				;EXPECTED RESULT IN AC+1
  7396	034763	312 11 0 00 045206 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7397	034764	004 11 0 00 043012 		ER4	AC+1,43012		;LOW PRODUCT FAILED
  7398			010000			AEE=XX				;INITIAL C(E)
  7399	034765	312 06 0 00 044661 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7400	034766	005 06 0 00 043013 		ER5	E,43013			;C(E) WAS CLOBBERED
  7401	034767	321 12 0 00 034755 		JUMPL	AC+2,F43010		;LOOP ON ERROR SWITCH^
  7402
  7403			004302			ADR=ADR+1
  7404			020000			XX=XX+XX
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 6-9
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0154

  7405		777777	757777			YY=YY+YY+1
  7406						IFE	XX,<XX=1>
  7407						IFE	<YY-1>,<YY=-2>
  7408
  7409					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7410		777377	760000			V1=XX*YY
  7411		777777	777777			IFE	<XX_-22>,<V2A=-1>
  7412						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7413		777777	777777			IFG	XX,<V2=V2A>
  7414						IFL	XX,<V2=XX+1>
  7415						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7416					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7417					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7418					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7419					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7420
  7421		777777	757777		F43020:	AA1=YY				;INITIAL C(AC)
  7422	034770	200 10 0 00 045117 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7423			000000			AA2=0				;INITIAL C(AC+1)
  7424	034771	200 11 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7425			020000			AEE=XX				;INITIAL C(E)
  7426	034772	200 06 0 00 044664 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7427	034773	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7428		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  7429	034774	312 10 0 00 044617 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7430	034775	003 10 0 00 043021 		ER3	AC,43021		;HIGH PRODUCT FAILED
  7431		777377	760000			AR2=V1				;EXPECTED RESULT IN AC+1
  7432	034776	312 11 0 00 045207 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7433	034777	004 11 0 00 043022 		ER4	AC+1,43022		;LOW PRODUCT FAILED
  7434			020000			AEE=XX				;INITIAL C(E)
  7435	035000	312 06 0 00 044664 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7436	035001	005 06 0 00 043023 		ER5	E,43023			;C(E) WAS CLOBBERED
  7437	035002	321 12 0 00 034770 		JUMPL	AC+2,F43020		;LOOP ON ERROR SWITCH^
  7438
  7439			004303			ADR=ADR+1
  7440			040000			XX=XX+XX
  7441		777777	737777			YY=YY+YY+1
  7442						IFE	XX,<XX=1>
  7443						IFE	<YY-1>,<YY=-2>
  7444
  7445					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7446		775777	740000			V1=XX*YY
  7447		777777	777777			IFE	<XX_-22>,<V2A=-1>
  7448						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7449		777777	777777			IFG	XX,<V2=V2A>
  7450						IFL	XX,<V2=XX+1>
  7451						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7452					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7453					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7454					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7455					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7456
  7457		777777	737777		F43030:	AA1=YY				;INITIAL C(AC)
  7458	035003	200 10 0 00 045121 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7459			000000			AA2=0				;INITIAL C(AC+1)
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 6-10
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0155

  7460	035004	200 11 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7461			040000			AEE=XX				;INITIAL C(E)
  7462	035005	200 06 0 00 044667 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7463	035006	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7464		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  7465	035007	312 10 0 00 044617 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7466	035010	003 10 0 00 043031 		ER3	AC,43031		;HIGH PRODUCT FAILED
  7467		775777	740000			AR2=V1				;EXPECTED RESULT IN AC+1
  7468	035011	312 11 0 00 045210 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7469	035012	004 11 0 00 043032 		ER4	AC+1,43032		;LOW PRODUCT FAILED
  7470			040000			AEE=XX				;INITIAL C(E)
  7471	035013	312 06 0 00 044667 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7472	035014	005 06 0 00 043033 		ER5	E,43033			;C(E) WAS CLOBBERED
  7473	035015	321 12 0 00 035003 		JUMPL	AC+2,F43030		;LOOP ON ERROR SWITCH^
  7474
  7475			004304			ADR=ADR+1
  7476			100000			XX=XX+XX
  7477		777777	677777			YY=YY+YY+1
  7478						IFE	XX,<XX=1>
  7479						IFE	<YY-1>,<YY=-2>
  7480
  7481					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7482		767777	700000			V1=XX*YY
  7483		777777	777777			IFE	<XX_-22>,<V2A=-1>
  7484						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7485		777777	777777			IFG	XX,<V2=V2A>
  7486						IFL	XX,<V2=XX+1>
  7487						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7488					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7489					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7490					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7491					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7492
  7493		777777	677777		F43040:	AA1=YY				;INITIAL C(AC)
  7494	035016	200 10 0 00 045123 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7495			000000			AA2=0				;INITIAL C(AC+1)
  7496	035017	200 11 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7497			100000			AEE=XX				;INITIAL C(E)
  7498	035020	200 06 0 00 044672 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7499	035021	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7500		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  7501	035022	312 10 0 00 044617 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7502	035023	003 10 0 00 043041 		ER3	AC,43041		;HIGH PRODUCT FAILED
  7503		767777	700000			AR2=V1				;EXPECTED RESULT IN AC+1
  7504	035024	312 11 0 00 045211 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7505	035025	004 11 0 00 043042 		ER4	AC+1,43042		;LOW PRODUCT FAILED
  7506			100000			AEE=XX				;INITIAL C(E)
  7507	035026	312 06 0 00 044672 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7508	035027	005 06 0 00 043043 		ER5	E,43043			;C(E) WAS CLOBBERED
  7509	035030	321 12 0 00 035016 		JUMPL	AC+2,F43040		;LOOP ON ERROR SWITCH^
  7510
  7511			004305			ADR=ADR+1
  7512			200000			XX=XX+XX
  7513		777777	577777			YY=YY+YY+1
  7514						IFE	XX,<XX=1>
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 6-11
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0156

  7515						IFE	<YY-1>,<YY=-2>
  7516
  7517					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7518		737777	600000			V1=XX*YY
  7519		777777	777777			IFE	<XX_-22>,<V2A=-1>
  7520						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7521		777777	777777			IFG	XX,<V2=V2A>
  7522						IFL	XX,<V2=XX+1>
  7523						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7524					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7525					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7526					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7527					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7528
  7529		777777	577777		F43050:	AA1=YY				;INITIAL C(AC)
  7530	035031	200 10 0 00 045125 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7531			000000			AA2=0				;INITIAL C(AC+1)
  7532	035032	200 11 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7533			200000			AEE=XX				;INITIAL C(E)
  7534	035033	200 06 0 00 044675 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7535	035034	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7536		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  7537	035035	312 10 0 00 044617 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7538	035036	003 10 0 00 043051 		ER3	AC,43051		;HIGH PRODUCT FAILED
  7539		737777	600000			AR2=V1				;EXPECTED RESULT IN AC+1
  7540	035037	312 11 0 00 045212 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7541	035040	004 11 0 00 043052 		ER4	AC+1,43052		;LOW PRODUCT FAILED
  7542			200000			AEE=XX				;INITIAL C(E)
  7543	035041	312 06 0 00 044675 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7544	035042	005 06 0 00 043053 		ER5	E,43053			;C(E) WAS CLOBBERED
  7545	035043	321 12 0 00 035031 		JUMPL	AC+2,F43050		;LOOP ON ERROR SWITCH^
  7546
  7547			004306			ADR=ADR+1
  7548			400000			XX=XX+XX
  7549		777777	377777			YY=YY+YY+1
  7550						IFE	XX,<XX=1>
  7551						IFE	<YY-1>,<YY=-2>
  7552
  7553					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7554		577777	400000			V1=XX*YY
  7555		777777	777777			IFE	<XX_-22>,<V2A=-1>
  7556						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7557		777777	777777			IFG	XX,<V2=V2A>
  7558						IFL	XX,<V2=XX+1>
  7559						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7560					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7561					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7562					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7563					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7564
  7565		777777	377777		F43060:	AA1=YY				;INITIAL C(AC)
  7566	035044	200 10 0 00 045127 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7567			000000			AA2=0				;INITIAL C(AC+1)
  7568	035045	200 11 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7569			400000			AEE=XX				;INITIAL C(E)
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 6-12
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0157

  7570	035046	200 06 0 00 044700 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7571	035047	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7572		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  7573	035050	312 10 0 00 044617 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7574	035051	003 10 0 00 043061 		ER3	AC,43061		;HIGH PRODUCT FAILED
  7575		577777	400000			AR2=V1				;EXPECTED RESULT IN AC+1
  7576	035052	312 11 0 00 045213 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7577	035053	004 11 0 00 043062 		ER4	AC+1,43062		;LOW PRODUCT FAILED
  7578			400000			AEE=XX				;INITIAL C(E)
  7579	035054	312 06 0 00 044700 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7580	035055	005 06 0 00 043063 		ER5	E,43063			;C(E) WAS CLOBBERED
  7581	035056	321 12 0 00 035044 		JUMPL	AC+2,F43060		;LOOP ON ERROR SWITCH^
  7582
  7583			004307			ADR=ADR+1
  7584		000001	000000			XX=XX+XX
  7585		777776	777777			YY=YY+YY+1
  7586						IFE	XX,<XX=1>
  7587						IFE	<YY-1>,<YY=-2>
  7588
  7589					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7590		777777	000000			V1=XX*YY
  7591						IFE	<XX_-22>,<V2A=-1>
  7592		777777	777775			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7593		777777	777775			IFG	XX,<V2=V2A>
  7594						IFL	XX,<V2=XX+1>
  7595						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7596					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7597					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7598					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7599					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7600
  7601		777776	777777		F43070:	AA1=YY				;INITIAL C(AC)
  7602	035057	200 10 0 00 045131 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7603			000000			AA2=0				;INITIAL C(AC+1)
  7604	035060	200 11 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7605		000001	000000			AEE=XX				;INITIAL C(E)
  7606	035061	200 06 0 00 044703 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7607	035062	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7608		777777	777775			AR1=V2				;EXPECTED RESULT IN AC
  7609	035063	312 10 0 00 044624 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7610	035064	003 10 0 00 043071 		ER3	AC,43071		;HIGH PRODUCT FAILED
  7611		777777	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  7612	035065	312 11 0 00 045214 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7613	035066	004 11 0 00 043072 		ER4	AC+1,43072		;LOW PRODUCT FAILED
  7614		000001	000000			AEE=XX				;INITIAL C(E)
  7615	035067	312 06 0 00 044703 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7616	035070	005 06 0 00 043073 		ER5	E,43073			;C(E) WAS CLOBBERED
  7617	035071	321 12 0 00 035057 		JUMPL	AC+2,F43070		;LOOP ON ERROR SWITCH^
  7618
  7619			004310			ADR=ADR+1
  7620		000002	000000			XX=XX+XX
  7621		777775	777777			YY=YY+YY+1
  7622						IFE	XX,<XX=1>
  7623						IFE	<YY-1>,<YY=-2>
  7624
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 6-13
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0158

  7625					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7626		777776	000000			V1=XX*YY
  7627						IFE	<XX_-22>,<V2A=-1>
  7628		777777	777767			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7629		777777	777767			IFG	XX,<V2=V2A>
  7630						IFL	XX,<V2=XX+1>
  7631						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7632					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7633					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7634					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7635					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7636
  7637		777775	777777		F43100:	AA1=YY				;INITIAL C(AC)
  7638	035072	200 10 0 00 045133 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7639			000000			AA2=0				;INITIAL C(AC+1)
  7640	035073	200 11 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7641		000002	000000			AEE=XX				;INITIAL C(E)
  7642	035074	200 06 0 00 044706 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7643	035075	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7644		777777	777767			AR1=V2				;EXPECTED RESULT IN AC
  7645	035076	312 10 0 00 045073 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7646	035077	003 10 0 00 043101 		ER3	AC,43101		;HIGH PRODUCT FAILED
  7647		777776	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  7648	035100	312 11 0 00 045215 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7649	035101	004 11 0 00 043102 		ER4	AC+1,43102		;LOW PRODUCT FAILED
  7650		000002	000000			AEE=XX				;INITIAL C(E)
  7651	035102	312 06 0 00 044706 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7652	035103	005 06 0 00 043103 		ER5	E,43103			;C(E) WAS CLOBBERED
  7653	035104	321 12 0 00 035072 		JUMPL	AC+2,F43100		;LOOP ON ERROR SWITCH^
  7654
  7655			004311			ADR=ADR+1
  7656		000004	000000			XX=XX+XX
  7657		777773	777777			YY=YY+YY+1
  7658						IFE	XX,<XX=1>
  7659						IFE	<YY-1>,<YY=-2>
  7660
  7661					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7662		777774	000000			V1=XX*YY
  7663						IFE	<XX_-22>,<V2A=-1>
  7664		777777	777737			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7665		777777	777737			IFG	XX,<V2=V2A>
  7666						IFL	XX,<V2=XX+1>
  7667						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7668					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7669					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7670					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7671					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7672
  7673		777773	777777		F43110:	AA1=YY				;INITIAL C(AC)
  7674	035105	200 10 0 00 045135 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7675			000000			AA2=0				;INITIAL C(AC+1)
  7676	035106	200 11 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7677		000004	000000			AEE=XX				;INITIAL C(E)
  7678	035107	200 06 0 00 044711 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7679	035110	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 6-14
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0159

  7680		777777	777737			AR1=V2				;EXPECTED RESULT IN AC
  7681	035111	312 10 0 00 045077 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7682	035112	003 10 0 00 043111 		ER3	AC,43111		;HIGH PRODUCT FAILED
  7683		777774	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  7684	035113	312 11 0 00 045216 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7685	035114	004 11 0 00 043112 		ER4	AC+1,43112		;LOW PRODUCT FAILED
  7686		000004	000000			AEE=XX				;INITIAL C(E)
  7687	035115	312 06 0 00 044711 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7688	035116	005 06 0 00 043113 		ER5	E,43113			;C(E) WAS CLOBBERED
  7689	035117	321 12 0 00 035105 		JUMPL	AC+2,F43110		;LOOP ON ERROR SWITCH^
  7690
  7691			004312			ADR=ADR+1
  7692		000010	000000			XX=XX+XX
  7693		777767	777777			YY=YY+YY+1
  7694						IFE	XX,<XX=1>
  7695						IFE	<YY-1>,<YY=-2>
  7696
  7697					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7698		777770	000000			V1=XX*YY
  7699						IFE	<XX_-22>,<V2A=-1>
  7700		777777	777577			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7701		777777	777577			IFG	XX,<V2=V2A>
  7702						IFL	XX,<V2=XX+1>
  7703						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7704					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7705					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7706					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7707					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7708
  7709		777767	777777		F43120:	AA1=YY				;INITIAL C(AC)
  7710	035120	200 10 0 00 045137 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7711			000000			AA2=0				;INITIAL C(AC+1)
  7712	035121	200 11 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7713		000010	000000			AEE=XX				;INITIAL C(E)
  7714	035122	200 06 0 00 044714 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7715	035123	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7716		777777	777577			AR1=V2				;EXPECTED RESULT IN AC
  7717	035124	312 10 0 00 045103 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7718	035125	003 10 0 00 043121 		ER3	AC,43121		;HIGH PRODUCT FAILED
  7719		777770	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  7720	035126	312 11 0 00 045217 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7721	035127	004 11 0 00 043122 		ER4	AC+1,43122		;LOW PRODUCT FAILED
  7722		000010	000000			AEE=XX				;INITIAL C(E)
  7723	035130	312 06 0 00 044714 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7724	035131	005 06 0 00 043123 		ER5	E,43123			;C(E) WAS CLOBBERED
  7725	035132	321 12 0 00 035120 		JUMPL	AC+2,F43120		;LOOP ON ERROR SWITCH^
  7726
  7727			004313			ADR=ADR+1
  7728		000020	000000			XX=XX+XX
  7729		777757	777777			YY=YY+YY+1
  7730						IFE	XX,<XX=1>
  7731						IFE	<YY-1>,<YY=-2>
  7732
  7733					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7734		777760	000000			V1=XX*YY
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 6-15
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0160

  7735						IFE	<XX_-22>,<V2A=-1>
  7736		777777	776777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7737		777777	776777			IFG	XX,<V2=V2A>
  7738						IFL	XX,<V2=XX+1>
  7739						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7740					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7741					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7742					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7743					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7744
  7745		777757	777777		F43130:	AA1=YY				;INITIAL C(AC)
  7746	035133	200 10 0 00 045141 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7747			000000			AA2=0				;INITIAL C(AC+1)
  7748	035134	200 11 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7749		000020	000000			AEE=XX				;INITIAL C(E)
  7750	035135	200 06 0 00 044717 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7751	035136	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7752		777777	776777			AR1=V2				;EXPECTED RESULT IN AC
  7753	035137	312 10 0 00 045107 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7754	035140	003 10 0 00 043131 		ER3	AC,43131		;HIGH PRODUCT FAILED
  7755		777760	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  7756	035141	312 11 0 00 045220 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7757	035142	004 11 0 00 043132 		ER4	AC+1,43132		;LOW PRODUCT FAILED
  7758		000020	000000			AEE=XX				;INITIAL C(E)
  7759	035143	312 06 0 00 044717 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7760	035144	005 06 0 00 043133 		ER5	E,43133			;C(E) WAS CLOBBERED
  7761	035145	321 12 0 00 035133 		JUMPL	AC+2,F43130		;LOOP ON ERROR SWITCH^
  7762
  7763			004314			ADR=ADR+1
  7764		000040	000000			XX=XX+XX
  7765		777737	777777			YY=YY+YY+1
  7766						IFE	XX,<XX=1>
  7767						IFE	<YY-1>,<YY=-2>
  7768
  7769					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7770		777740	000000			V1=XX*YY
  7771						IFE	<XX_-22>,<V2A=-1>
  7772		777777	773777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7773		777777	773777			IFG	XX,<V2=V2A>
  7774						IFL	XX,<V2=XX+1>
  7775						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7776					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7777					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7778					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7779					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7780
  7781		777737	777777		F43140:	AA1=YY				;INITIAL C(AC)
  7782	035146	200 10 0 00 045143 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7783			000000			AA2=0				;INITIAL C(AC+1)
  7784	035147	200 11 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7785		000040	000000			AEE=XX				;INITIAL C(E)
  7786	035150	200 06 0 00 044722 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7787	035151	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7788		777777	773777			AR1=V2				;EXPECTED RESULT IN AC
  7789	035152	312 10 0 00 045113 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 6-16
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0161

  7790	035153	003 10 0 00 043141 		ER3	AC,43141		;HIGH PRODUCT FAILED
  7791		777740	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  7792	035154	312 11 0 00 045221 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7793	035155	004 11 0 00 043142 		ER4	AC+1,43142		;LOW PRODUCT FAILED
  7794		000040	000000			AEE=XX				;INITIAL C(E)
  7795	035156	312 06 0 00 044722 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7796	035157	005 06 0 00 043143 		ER5	E,43143			;C(E) WAS CLOBBERED
  7797	035160	321 12 0 00 035146 		JUMPL	AC+2,F43140		;LOOP ON ERROR SWITCH^
  7798
  7799			004315			ADR=ADR+1
  7800		000100	000000			XX=XX+XX
  7801		777677	777777			YY=YY+YY+1
  7802						IFE	XX,<XX=1>
  7803						IFE	<YY-1>,<YY=-2>
  7804
  7805					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7806		777700	000000			V1=XX*YY
  7807						IFE	<XX_-22>,<V2A=-1>
  7808		777777	757777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7809		777777	757777			IFG	XX,<V2=V2A>
  7810						IFL	XX,<V2=XX+1>
  7811						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7812					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7813					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7814					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7815					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7816
  7817		777677	777777		F43150:	AA1=YY				;INITIAL C(AC)
  7818	035161	200 10 0 00 045145 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7819			000000			AA2=0				;INITIAL C(AC+1)
  7820	035162	200 11 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7821		000100	000000			AEE=XX				;INITIAL C(E)
  7822	035163	200 06 0 00 044725 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7823	035164	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7824		777777	757777			AR1=V2				;EXPECTED RESULT IN AC
  7825	035165	312 10 0 00 045117 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7826	035166	003 10 0 00 043151 		ER3	AC,43151		;HIGH PRODUCT FAILED
  7827		777700	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  7828	035167	312 11 0 00 045222 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7829	035170	004 11 0 00 043152 		ER4	AC+1,43152		;LOW PRODUCT FAILED
  7830		000100	000000			AEE=XX				;INITIAL C(E)
  7831	035171	312 06 0 00 044725 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7832	035172	005 06 0 00 043153 		ER5	E,43153			;C(E) WAS CLOBBERED
  7833	035173	321 12 0 00 035161 		JUMPL	AC+2,F43150		;LOOP ON ERROR SWITCH^
  7834
  7835			004316			ADR=ADR+1
  7836		000200	000000			XX=XX+XX
  7837		777577	777777			YY=YY+YY+1
  7838						IFE	XX,<XX=1>
  7839						IFE	<YY-1>,<YY=-2>
  7840
  7841					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7842		777600	000000			V1=XX*YY
  7843						IFE	<XX_-22>,<V2A=-1>
  7844		777777	677777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 6-17
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0162

  7845		777777	677777			IFG	XX,<V2=V2A>
  7846						IFL	XX,<V2=XX+1>
  7847						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7848					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7849					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7850					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7851					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7852
  7853		777577	777777		F43160:	AA1=YY				;INITIAL C(AC)
  7854	035174	200 10 0 00 045147 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7855			000000			AA2=0				;INITIAL C(AC+1)
  7856	035175	200 11 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7857		000200	000000			AEE=XX				;INITIAL C(E)
  7858	035176	200 06 0 00 044730 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7859	035177	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7860		777777	677777			AR1=V2				;EXPECTED RESULT IN AC
  7861	035200	312 10 0 00 045123 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7862	035201	003 10 0 00 043161 		ER3	AC,43161		;HIGH PRODUCT FAILED
  7863		777600	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  7864	035202	312 11 0 00 045223 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7865	035203	004 11 0 00 043162 		ER4	AC+1,43162		;LOW PRODUCT FAILED
  7866		000200	000000			AEE=XX				;INITIAL C(E)
  7867	035204	312 06 0 00 044730 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7868	035205	005 06 0 00 043163 		ER5	E,43163			;C(E) WAS CLOBBERED
  7869	035206	321 12 0 00 035174 		JUMPL	AC+2,F43160		;LOOP ON ERROR SWITCH^
  7870
  7871			004317			ADR=ADR+1
  7872		000400	000000			XX=XX+XX
  7873		777377	777777			YY=YY+YY+1
  7874						IFE	XX,<XX=1>
  7875						IFE	<YY-1>,<YY=-2>
  7876
  7877					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7878		777400	000000			V1=XX*YY
  7879						IFE	<XX_-22>,<V2A=-1>
  7880		777777	377777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7881		777777	377777			IFG	XX,<V2=V2A>
  7882						IFL	XX,<V2=XX+1>
  7883						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7884					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7885					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7886					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7887					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7888
  7889		777377	777777		F43170:	AA1=YY				;INITIAL C(AC)
  7890	035207	200 10 0 00 045151 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7891			000000			AA2=0				;INITIAL C(AC+1)
  7892	035210	200 11 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7893		000400	000000			AEE=XX				;INITIAL C(E)
  7894	035211	200 06 0 00 044733 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7895	035212	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7896		777777	377777			AR1=V2				;EXPECTED RESULT IN AC
  7897	035213	312 10 0 00 045127 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7898	035214	003 10 0 00 043171 		ER3	AC,43171		;HIGH PRODUCT FAILED
  7899		777400	000000			AR2=V1				;EXPECTED RESULT IN AC+1
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 6-18
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0163

  7900	035215	312 11 0 00 045224 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7901	035216	004 11 0 00 043172 		ER4	AC+1,43172		;LOW PRODUCT FAILED
  7902		000400	000000			AEE=XX				;INITIAL C(E)
  7903	035217	312 06 0 00 044733 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7904	035220	005 06 0 00 043173 		ER5	E,43173			;C(E) WAS CLOBBERED
  7905	035221	321 12 0 00 035207 		JUMPL	AC+2,F43170		;LOOP ON ERROR SWITCH^
  7906
  7907			004320			ADR=ADR+1
  7908		001000	000000			XX=XX+XX
  7909		776777	777777			YY=YY+YY+1
  7910						IFE	XX,<XX=1>
  7911						IFE	<YY-1>,<YY=-2>
  7912
  7913					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7914		777000	000000			V1=XX*YY
  7915						IFE	<XX_-22>,<V2A=-1>
  7916		777775	777777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7917		777775	777777			IFG	XX,<V2=V2A>
  7918						IFL	XX,<V2=XX+1>
  7919						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7920					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7921					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7922					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7923					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7924
  7925		776777	777777		F43200:	AA1=YY				;INITIAL C(AC)
  7926	035222	200 10 0 00 045153 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7927			000000			AA2=0				;INITIAL C(AC+1)
  7928	035223	200 11 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7929		001000	000000			AEE=XX				;INITIAL C(E)
  7930	035224	200 06 0 00 044736 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7931	035225	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7932		777775	777777			AR1=V2				;EXPECTED RESULT IN AC
  7933	035226	312 10 0 00 045133 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7934	035227	003 10 0 00 043201 		ER3	AC,43201		;HIGH PRODUCT FAILED
  7935		777000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  7936	035230	312 11 0 00 045225 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7937	035231	004 11 0 00 043202 		ER4	AC+1,43202		;LOW PRODUCT FAILED
  7938		001000	000000			AEE=XX				;INITIAL C(E)
  7939	035232	312 06 0 00 044736 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7940	035233	005 06 0 00 043203 		ER5	E,43203			;C(E) WAS CLOBBERED
  7941	035234	321 12 0 00 035222 		JUMPL	AC+2,F43200		;LOOP ON ERROR SWITCH^
  7942
  7943			004321			ADR=ADR+1
  7944		002000	000000			XX=XX+XX
  7945		775777	777777			YY=YY+YY+1
  7946						IFE	XX,<XX=1>
  7947						IFE	<YY-1>,<YY=-2>
  7948
  7949					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7950		776000	000000			V1=XX*YY
  7951						IFE	<XX_-22>,<V2A=-1>
  7952		777767	777777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7953		777767	777777			IFG	XX,<V2=V2A>
  7954						IFL	XX,<V2=XX+1>
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 6-19
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0164

  7955						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7956					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7957					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7958					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7959					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7960
  7961		775777	777777		F43210:	AA1=YY				;INITIAL C(AC)
  7962	035235	200 10 0 00 045155 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7963			000000			AA2=0				;INITIAL C(AC+1)
  7964	035236	200 11 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  7965		002000	000000			AEE=XX				;INITIAL C(E)
  7966	035237	200 06 0 00 044741 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  7967	035240	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  7968		777767	777777			AR1=V2				;EXPECTED RESULT IN AC
  7969	035241	312 10 0 00 045137 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  7970	035242	003 10 0 00 043211 		ER3	AC,43211		;HIGH PRODUCT FAILED
  7971		776000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  7972	035243	312 11 0 00 045226 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  7973	035244	004 11 0 00 043212 		ER4	AC+1,43212		;LOW PRODUCT FAILED
  7974		002000	000000			AEE=XX				;INITIAL C(E)
  7975	035245	312 06 0 00 044741 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  7976	035246	005 06 0 00 043213 		ER5	E,43213			;C(E) WAS CLOBBERED
  7977	035247	321 12 0 00 035235 		JUMPL	AC+2,F43210		;LOOP ON ERROR SWITCH^
  7978
  7979			004322			ADR=ADR+1
  7980		004000	000000			XX=XX+XX
  7981		773777	777777			YY=YY+YY+1
  7982						IFE	XX,<XX=1>
  7983						IFE	<YY-1>,<YY=-2>
  7984
  7985					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  7986		774000	000000			V1=XX*YY
  7987						IFE	<XX_-22>,<V2A=-1>
  7988		777737	777777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  7989		777737	777777			IFG	XX,<V2=V2A>
  7990						IFL	XX,<V2=XX+1>
  7991						MOP1	(\ADR,YY,0,XX,V2,V1)^
  7992					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  7993					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  7994					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  7995					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  7996
  7997		773777	777777		F43220:	AA1=YY				;INITIAL C(AC)
  7998	035250	200 10 0 00 045157 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  7999			000000			AA2=0				;INITIAL C(AC+1)
  8000	035251	200 11 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8001		004000	000000			AEE=XX				;INITIAL C(E)
  8002	035252	200 06 0 00 044744 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  8003	035253	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8004		777737	777777			AR1=V2				;EXPECTED RESULT IN AC
  8005	035254	312 10 0 00 045143 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8006	035255	003 10 0 00 043221 		ER3	AC,43221		;HIGH PRODUCT FAILED
  8007		774000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  8008	035256	312 11 0 00 045227 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8009	035257	004 11 0 00 043222 		ER4	AC+1,43222		;LOW PRODUCT FAILED
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 6-20
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0165

  8010		004000	000000			AEE=XX				;INITIAL C(E)
  8011	035260	312 06 0 00 044744 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  8012	035261	005 06 0 00 043223 		ER5	E,43223			;C(E) WAS CLOBBERED
  8013	035262	321 12 0 00 035250 		JUMPL	AC+2,F43220		;LOOP ON ERROR SWITCH^
  8014
  8015			004323			ADR=ADR+1
  8016		010000	000000			XX=XX+XX
  8017		767777	777777			YY=YY+YY+1
  8018						IFE	XX,<XX=1>
  8019						IFE	<YY-1>,<YY=-2>
  8020
  8021					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  8022		770000	000000			V1=XX*YY
  8023						IFE	<XX_-22>,<V2A=-1>
  8024		777577	777777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8025		777577	777777			IFG	XX,<V2=V2A>
  8026						IFL	XX,<V2=XX+1>
  8027						MOP1	(\ADR,YY,0,XX,V2,V1)^
  8028					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  8029					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8030					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  8031					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8032
  8033		767777	777777		F43230:	AA1=YY				;INITIAL C(AC)
  8034	035263	200 10 0 00 045161 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  8035			000000			AA2=0				;INITIAL C(AC+1)
  8036	035264	200 11 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8037		010000	000000			AEE=XX				;INITIAL C(E)
  8038	035265	200 06 0 00 044747 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  8039	035266	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8040		777577	777777			AR1=V2				;EXPECTED RESULT IN AC
  8041	035267	312 10 0 00 045147 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8042	035270	003 10 0 00 043231 		ER3	AC,43231		;HIGH PRODUCT FAILED
  8043		770000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  8044	035271	312 11 0 00 045230 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8045	035272	004 11 0 00 043232 		ER4	AC+1,43232		;LOW PRODUCT FAILED
  8046		010000	000000			AEE=XX				;INITIAL C(E)
  8047	035273	312 06 0 00 044747 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  8048	035274	005 06 0 00 043233 		ER5	E,43233			;C(E) WAS CLOBBERED
  8049	035275	321 12 0 00 035263 		JUMPL	AC+2,F43230		;LOOP ON ERROR SWITCH^
  8050
  8051			004324			ADR=ADR+1
  8052		020000	000000			XX=XX+XX
  8053		757777	777777			YY=YY+YY+1
  8054						IFE	XX,<XX=1>
  8055						IFE	<YY-1>,<YY=-2>
  8056
  8057					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  8058		760000	000000			V1=XX*YY
  8059						IFE	<XX_-22>,<V2A=-1>
  8060		776777	777777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8061		776777	777777			IFG	XX,<V2=V2A>
  8062						IFL	XX,<V2=XX+1>
  8063						MOP1	(\ADR,YY,0,XX,V2,V1)^
  8064					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 6-21
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0166

  8065					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8066					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  8067					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8068
  8069		757777	777777		F43240:	AA1=YY				;INITIAL C(AC)
  8070	035276	200 10 0 00 045163 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  8071			000000			AA2=0				;INITIAL C(AC+1)
  8072	035277	200 11 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8073		020000	000000			AEE=XX				;INITIAL C(E)
  8074	035300	200 06 0 00 044752 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  8075	035301	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8076		776777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8077	035302	312 10 0 00 045153 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8078	035303	003 10 0 00 043241 		ER3	AC,43241		;HIGH PRODUCT FAILED
  8079		760000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  8080	035304	312 11 0 00 045231 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8081	035305	004 11 0 00 043242 		ER4	AC+1,43242		;LOW PRODUCT FAILED
  8082		020000	000000			AEE=XX				;INITIAL C(E)
  8083	035306	312 06 0 00 044752 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  8084	035307	005 06 0 00 043243 		ER5	E,43243			;C(E) WAS CLOBBERED
  8085	035310	321 12 0 00 035276 		JUMPL	AC+2,F43240		;LOOP ON ERROR SWITCH^
  8086
  8087			004325			ADR=ADR+1
  8088		040000	000000			XX=XX+XX
  8089		737777	777777			YY=YY+YY+1
  8090						IFE	XX,<XX=1>
  8091						IFE	<YY-1>,<YY=-2>
  8092
  8093					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  8094		740000	000000			V1=XX*YY
  8095						IFE	<XX_-22>,<V2A=-1>
  8096		773777	777777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8097		773777	777777			IFG	XX,<V2=V2A>
  8098						IFL	XX,<V2=XX+1>
  8099						MOP1	(\ADR,YY,0,XX,V2,V1)^
  8100					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  8101					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8102					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  8103					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8104
  8105		737777	777777		F43250:	AA1=YY				;INITIAL C(AC)
  8106	035311	200 10 0 00 045165 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  8107			000000			AA2=0				;INITIAL C(AC+1)
  8108	035312	200 11 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8109		040000	000000			AEE=XX				;INITIAL C(E)
  8110	035313	200 06 0 00 044755 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  8111	035314	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8112		773777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8113	035315	312 10 0 00 045157 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8114	035316	003 10 0 00 043251 		ER3	AC,43251		;HIGH PRODUCT FAILED
  8115		740000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  8116	035317	312 11 0 00 045232 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8117	035320	004 11 0 00 043252 		ER4	AC+1,43252		;LOW PRODUCT FAILED
  8118		040000	000000			AEE=XX				;INITIAL C(E)
  8119	035321	312 06 0 00 044755 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 6-22
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0167

  8120	035322	005 06 0 00 043253 		ER5	E,43253			;C(E) WAS CLOBBERED
  8121	035323	321 12 0 00 035311 		JUMPL	AC+2,F43250		;LOOP ON ERROR SWITCH^
  8122
  8123			004326			ADR=ADR+1
  8124		100000	000000			XX=XX+XX
  8125		677777	777777			YY=YY+YY+1
  8126						IFE	XX,<XX=1>
  8127						IFE	<YY-1>,<YY=-2>
  8128
  8129					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  8130		700000	000000			V1=XX*YY
  8131						IFE	<XX_-22>,<V2A=-1>
  8132		757777	777777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8133		757777	777777			IFG	XX,<V2=V2A>
  8134						IFL	XX,<V2=XX+1>
  8135						MOP1	(\ADR,YY,0,XX,V2,V1)^
  8136					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  8137					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8138					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  8139					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8140
  8141		677777	777777		F43260:	AA1=YY				;INITIAL C(AC)
  8142	035324	200 10 0 00 045167 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  8143			000000			AA2=0				;INITIAL C(AC+1)
  8144	035325	200 11 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8145		100000	000000			AEE=XX				;INITIAL C(E)
  8146	035326	200 06 0 00 044760 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  8147	035327	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8148		757777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8149	035330	312 10 0 00 045163 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8150	035331	003 10 0 00 043261 		ER3	AC,43261		;HIGH PRODUCT FAILED
  8151		700000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  8152	035332	312 11 0 00 045233 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8153	035333	004 11 0 00 043262 		ER4	AC+1,43262		;LOW PRODUCT FAILED
  8154		100000	000000			AEE=XX				;INITIAL C(E)
  8155	035334	312 06 0 00 044760 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  8156	035335	005 06 0 00 043263 		ER5	E,43263			;C(E) WAS CLOBBERED
  8157	035336	321 12 0 00 035324 		JUMPL	AC+2,F43260		;LOOP ON ERROR SWITCH^
  8158
  8159			004327			ADR=ADR+1
  8160		200000	000000			XX=XX+XX
  8161		577777	777777			YY=YY+YY+1
  8162						IFE	XX,<XX=1>
  8163						IFE	<YY-1>,<YY=-2>
  8164
  8165					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  8166		600000	000000			V1=XX*YY
  8167						IFE	<XX_-22>,<V2A=-1>
  8168		677777	777777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8169		677777	777777			IFG	XX,<V2=V2A>
  8170						IFL	XX,<V2=XX+1>
  8171						MOP1	(\ADR,YY,0,XX,V2,V1)^
  8172					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  8173					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8174					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 6-23
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0168

  8175					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8176
  8177		577777	777777		F43270:	AA1=YY				;INITIAL C(AC)
  8178	035337	200 10 0 00 045171 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  8179			000000			AA2=0				;INITIAL C(AC+1)
  8180	035340	200 11 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8181		200000	000000			AEE=XX				;INITIAL C(E)
  8182	035341	200 06 0 00 044763 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  8183	035342	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8184		677777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8185	035343	312 10 0 00 045167 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8186	035344	003 10 0 00 043271 		ER3	AC,43271		;HIGH PRODUCT FAILED
  8187		600000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  8188	035345	312 11 0 00 044762 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8189	035346	004 11 0 00 043272 		ER4	AC+1,43272		;LOW PRODUCT FAILED
  8190		200000	000000			AEE=XX				;INITIAL C(E)
  8191	035347	312 06 0 00 044763 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  8192	035350	005 06 0 00 043273 		ER5	E,43273			;C(E) WAS CLOBBERED
  8193	035351	321 12 0 00 035337 		JUMPL	AC+2,F43270		;LOOP ON ERROR SWITCH^
  8194
  8195			004330			ADR=ADR+1
  8196		400000	000000			XX=XX+XX
  8197		377777	777777			YY=YY+YY+1
  8198						IFE	XX,<XX=1>
  8199						IFE	<YY-1>,<YY=-2>
  8200
  8201					;MULTIPLY A FLOATING 1 BY A FLOATING 0
  8202		400000	000000			V1=XX*YY
  8203						IFE	<XX_-22>,<V2A=-1>
  8204		777777	777777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8205						IFG	XX,<V2=V2A>
  8206		400000	000001			IFL	XX,<V2=XX+1>
  8207						MOP1	(\ADR,YY,0,XX,V2,V1)^
  8208					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [YY],[0] AND
  8209					;[XX] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8210					;AND E AGAINST [V2], [V1] AND [XX] RESPECTIVELY.
  8211					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8212
  8213		377777	777777		F43300:	AA1=YY				;INITIAL C(AC)
  8214	035352	200 10 0 00 045172 		MOVE	AC,[YY]			;PRELOAD AC (MULTIPLIER)
  8215			000000			AA2=0				;INITIAL C(AC+1)
  8216	035353	200 11 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8217		400000	000000			AEE=XX				;INITIAL C(E)
  8218	035354	200 06 0 00 044765 		MOVE	E,[XX]			;PRELOAD E (MULTIPLICAND)
  8219	035355	224 10 0 00 000006 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8220		400000	000001			AR1=V2				;EXPECTED RESULT IN AC
  8221	035356	312 10 0 00 045234 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8222	035357	003 10 0 00 043301 		ER3	AC,43301		;HIGH PRODUCT FAILED
  8223		400000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  8224	035360	312 11 0 00 044765 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8225	035361	004 11 0 00 043302 		ER4	AC+1,43302		;LOW PRODUCT FAILED
  8226		400000	000000			AEE=XX				;INITIAL C(E)
  8227	035362	312 06 0 00 044765 		CAME	E,[XX]			;WAS C(E) CLOBBERED?
  8228	035363	005 06 0 00 043303 		ER5	E,43303			;C(E) WAS CLOBBERED
  8229	035364	321 12 0 00 035352 		JUMPL	AC+2,F43300		;LOOP ON ERROR SWITCH^
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 7
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0169

  8230			000007			AC=7
  8231			000005			E=<AC-2>&17
  8232						SAVEAC	(1,1)^
  8233	035365	201 11 0 00 035365 		MOVEI	AC+2,.		;SAVE TEST PC
  8234	035366	202 11 0 00 030051 		MOVEM	AC+2,TESTPC
  8235	035367	201 11 0 00 000011 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  8236	035370	202 11 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  8237			000000			XX=0
  8238			000000			YY=0
  8239
  8240						REPEAT	^D36,<
  8241						ADR=ADR+1
  8242						XX=XX+XX
  8243						YY=YY+YY+1
  8244						IFE	XX,<XX=1>
  8245						IFE	<YY-1>,<YY=-2>
  8246					
  8247					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8248						V1=XX*YY
  8249						IFE	<XX_-22>,<V2A=-1>
  8250						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8251						IFG	XX,<V2=V2A>
  8252						IFL	XX,<V2=XX+1>
  8253						MOP1	(\ADR,XX,0,YY,V2,V1)>
  8254
  8255			004331			ADR=ADR+1
  8256			000000			XX=XX+XX
  8257			000001			YY=YY+YY+1
  8258			000001			IFE	XX,<XX=1>
  8259		777777	777776			IFE	<YY-1>,<YY=-2>
  8260
  8261					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8262		777777	777776			V1=XX*YY
  8263		777777	777777			IFE	<XX_-22>,<V2A=-1>
  8264						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8265		777777	777777			IFG	XX,<V2=V2A>
  8266						IFL	XX,<V2=XX+1>
  8267						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8268					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8269					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8270					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8271					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8272
  8273			000001		F43310:	AA1=XX				;INITIAL C(AC)
  8274	035371	200 07 0 00 044616 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8275			000000			AA2=0				;INITIAL C(AC+1)
  8276	035372	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8277		777777	777776			AEE=YY				;INITIAL C(E)
  8278	035373	200 05 0 00 044621 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8279	035374	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8280		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8281	035375	312 07 0 00 044617 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8282	035376	003 07 0 00 043311 		ER3	AC,43311		;HIGH PRODUCT FAILED
  8283		777777	777776			AR2=V1				;EXPECTED RESULT IN AC+1
  8284	035377	312 10 0 00 044621 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 7-1
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0170

  8285	035400	004 10 0 00 043312 		ER4	AC+1,43312		;LOW PRODUCT FAILED
  8286		777777	777776			AEE=YY				;INITIAL C(E)
  8287	035401	312 05 0 00 044621 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8288	035402	005 05 0 00 043313 		ER5	E,43313			;C(E) WAS CLOBBERED
  8289	035403	321 11 0 00 035371 		JUMPL	AC+2,F43310		;LOOP ON ERROR SWITCH^
  8290
  8291			004332			ADR=ADR+1
  8292			000002			XX=XX+XX
  8293		777777	777775			YY=YY+YY+1
  8294						IFE	XX,<XX=1>
  8295						IFE	<YY-1>,<YY=-2>
  8296
  8297					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8298		777777	777772			V1=XX*YY
  8299		777777	777777			IFE	<XX_-22>,<V2A=-1>
  8300						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8301		777777	777777			IFG	XX,<V2=V2A>
  8302						IFL	XX,<V2=XX+1>
  8303						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8304					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8305					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8306					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8307					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8308
  8309			000002		F43320:	AA1=XX				;INITIAL C(AC)
  8310	035404	200 07 0 00 044620 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8311			000000			AA2=0				;INITIAL C(AC+1)
  8312	035405	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8313		777777	777775			AEE=YY				;INITIAL C(E)
  8314	035406	200 05 0 00 044624 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8315	035407	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8316		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8317	035410	312 07 0 00 044617 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8318	035411	003 07 0 00 043321 		ER3	AC,43321		;HIGH PRODUCT FAILED
  8319		777777	777772			AR2=V1				;EXPECTED RESULT IN AC+1
  8320	035412	312 10 0 00 044627 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8321	035413	004 10 0 00 043322 		ER4	AC+1,43322		;LOW PRODUCT FAILED
  8322		777777	777775			AEE=YY				;INITIAL C(E)
  8323	035414	312 05 0 00 044624 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8324	035415	005 05 0 00 043323 		ER5	E,43323			;C(E) WAS CLOBBERED
  8325	035416	321 11 0 00 035404 		JUMPL	AC+2,F43320		;LOOP ON ERROR SWITCH^
  8326
  8327			004333			ADR=ADR+1
  8328			000004			XX=XX+XX
  8329		777777	777773			YY=YY+YY+1
  8330						IFE	XX,<XX=1>
  8331						IFE	<YY-1>,<YY=-2>
  8332
  8333					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8334		777777	777754			V1=XX*YY
  8335		777777	777777			IFE	<XX_-22>,<V2A=-1>
  8336						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8337		777777	777777			IFG	XX,<V2=V2A>
  8338						IFL	XX,<V2=XX+1>
  8339						MOP1	(\ADR,XX,0,YY,V2,V1)^
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 7-2
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0171

  8340					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8341					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8342					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8343					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8344
  8345			000004		F43330:	AA1=XX				;INITIAL C(AC)
  8346	035417	200 07 0 00 044623 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8347			000000			AA2=0				;INITIAL C(AC+1)
  8348	035420	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8349		777777	777773			AEE=YY				;INITIAL C(E)
  8350	035421	200 05 0 00 045071 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8351	035422	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8352		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8353	035423	312 07 0 00 044617 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8354	035424	003 07 0 00 043331 		ER3	AC,43331		;HIGH PRODUCT FAILED
  8355		777777	777754			AR2=V1				;EXPECTED RESULT IN AC+1
  8356	035425	312 10 0 00 045174 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8357	035426	004 10 0 00 043332 		ER4	AC+1,43332		;LOW PRODUCT FAILED
  8358		777777	777773			AEE=YY				;INITIAL C(E)
  8359	035427	312 05 0 00 045071 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8360	035430	005 05 0 00 043333 		ER5	E,43333			;C(E) WAS CLOBBERED
  8361	035431	321 11 0 00 035417 		JUMPL	AC+2,F43330		;LOOP ON ERROR SWITCH^
  8362
  8363			004334			ADR=ADR+1
  8364			000010			XX=XX+XX
  8365		777777	777767			YY=YY+YY+1
  8366						IFE	XX,<XX=1>
  8367						IFE	<YY-1>,<YY=-2>
  8368
  8369					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8370		777777	777670			V1=XX*YY
  8371		777777	777777			IFE	<XX_-22>,<V2A=-1>
  8372						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8373		777777	777777			IFG	XX,<V2=V2A>
  8374						IFL	XX,<V2=XX+1>
  8375						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8376					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8377					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8378					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8379					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8380
  8381			000010		F43340:	AA1=XX				;INITIAL C(AC)
  8382	035432	200 07 0 00 044626 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8383			000000			AA2=0				;INITIAL C(AC+1)
  8384	035433	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8385		777777	777767			AEE=YY				;INITIAL C(E)
  8386	035434	200 05 0 00 045073 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8387	035435	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8388		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8389	035436	312 07 0 00 044617 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8390	035437	003 07 0 00 043341 		ER3	AC,43341		;HIGH PRODUCT FAILED
  8391		777777	777670			AR2=V1				;EXPECTED RESULT IN AC+1
  8392	035440	312 10 0 00 045175 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8393	035441	004 10 0 00 043342 		ER4	AC+1,43342		;LOW PRODUCT FAILED
  8394		777777	777767			AEE=YY				;INITIAL C(E)
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 7-3
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0172

  8395	035442	312 05 0 00 045073 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8396	035443	005 05 0 00 043343 		ER5	E,43343			;C(E) WAS CLOBBERED
  8397	035444	321 11 0 00 035432 		JUMPL	AC+2,F43340		;LOOP ON ERROR SWITCH^
  8398
  8399			004335			ADR=ADR+1
  8400			000020			XX=XX+XX
  8401		777777	777757			YY=YY+YY+1
  8402						IFE	XX,<XX=1>
  8403						IFE	<YY-1>,<YY=-2>
  8404
  8405					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8406		777777	777360			V1=XX*YY
  8407		777777	777777			IFE	<XX_-22>,<V2A=-1>
  8408						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8409		777777	777777			IFG	XX,<V2=V2A>
  8410						IFL	XX,<V2=XX+1>
  8411						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8412					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8413					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8414					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8415					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8416
  8417			000020		F43350:	AA1=XX				;INITIAL C(AC)
  8418	035445	200 07 0 00 044631 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8419			000000			AA2=0				;INITIAL C(AC+1)
  8420	035446	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8421		777777	777757			AEE=YY				;INITIAL C(E)
  8422	035447	200 05 0 00 045075 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8423	035450	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8424		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8425	035451	312 07 0 00 044617 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8426	035452	003 07 0 00 043351 		ER3	AC,43351		;HIGH PRODUCT FAILED
  8427		777777	777360			AR2=V1				;EXPECTED RESULT IN AC+1
  8428	035453	312 10 0 00 045176 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8429	035454	004 10 0 00 043352 		ER4	AC+1,43352		;LOW PRODUCT FAILED
  8430		777777	777757			AEE=YY				;INITIAL C(E)
  8431	035455	312 05 0 00 045075 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8432	035456	005 05 0 00 043353 		ER5	E,43353			;C(E) WAS CLOBBERED
  8433	035457	321 11 0 00 035445 		JUMPL	AC+2,F43350		;LOOP ON ERROR SWITCH^
  8434
  8435			004336			ADR=ADR+1
  8436			000040			XX=XX+XX
  8437		777777	777737			YY=YY+YY+1
  8438						IFE	XX,<XX=1>
  8439						IFE	<YY-1>,<YY=-2>
  8440
  8441					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8442		777777	775740			V1=XX*YY
  8443		777777	777777			IFE	<XX_-22>,<V2A=-1>
  8444						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8445		777777	777777			IFG	XX,<V2=V2A>
  8446						IFL	XX,<V2=XX+1>
  8447						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8448					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8449					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 7-4
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0173

  8450					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8451					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8452
  8453			000040		F43360:	AA1=XX				;INITIAL C(AC)
  8454	035460	200 07 0 00 044634 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8455			000000			AA2=0				;INITIAL C(AC+1)
  8456	035461	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8457		777777	777737			AEE=YY				;INITIAL C(E)
  8458	035462	200 05 0 00 045077 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8459	035463	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8460		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8461	035464	312 07 0 00 044617 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8462	035465	003 07 0 00 043361 		ER3	AC,43361		;HIGH PRODUCT FAILED
  8463		777777	775740			AR2=V1				;EXPECTED RESULT IN AC+1
  8464	035466	312 10 0 00 045177 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8465	035467	004 10 0 00 043362 		ER4	AC+1,43362		;LOW PRODUCT FAILED
  8466		777777	777737			AEE=YY				;INITIAL C(E)
  8467	035470	312 05 0 00 045077 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8468	035471	005 05 0 00 043363 		ER5	E,43363			;C(E) WAS CLOBBERED
  8469	035472	321 11 0 00 035460 		JUMPL	AC+2,F43360		;LOOP ON ERROR SWITCH^
  8470
  8471			004337			ADR=ADR+1
  8472			000100			XX=XX+XX
  8473		777777	777677			YY=YY+YY+1
  8474						IFE	XX,<XX=1>
  8475						IFE	<YY-1>,<YY=-2>
  8476
  8477					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8478		777777	767700			V1=XX*YY
  8479		777777	777777			IFE	<XX_-22>,<V2A=-1>
  8480						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8481		777777	777777			IFG	XX,<V2=V2A>
  8482						IFL	XX,<V2=XX+1>
  8483						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8484					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8485					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8486					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8487					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8488
  8489			000100		F43370:	AA1=XX				;INITIAL C(AC)
  8490	035473	200 07 0 00 044637 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8491			000000			AA2=0				;INITIAL C(AC+1)
  8492	035474	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8493		777777	777677			AEE=YY				;INITIAL C(E)
  8494	035475	200 05 0 00 045101 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8495	035476	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8496		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8497	035477	312 07 0 00 044617 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8498	035500	003 07 0 00 043371 		ER3	AC,43371		;HIGH PRODUCT FAILED
  8499		777777	767700			AR2=V1				;EXPECTED RESULT IN AC+1
  8500	035501	312 10 0 00 045200 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8501	035502	004 10 0 00 043372 		ER4	AC+1,43372		;LOW PRODUCT FAILED
  8502		777777	777677			AEE=YY				;INITIAL C(E)
  8503	035503	312 05 0 00 045101 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8504	035504	005 05 0 00 043373 		ER5	E,43373			;C(E) WAS CLOBBERED
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 7-5
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0174

  8505	035505	321 11 0 00 035473 		JUMPL	AC+2,F43370		;LOOP ON ERROR SWITCH^
  8506
  8507			004340			ADR=ADR+1
  8508			000200			XX=XX+XX
  8509		777777	777577			YY=YY+YY+1
  8510						IFE	XX,<XX=1>
  8511						IFE	<YY-1>,<YY=-2>
  8512
  8513					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8514		777777	737600			V1=XX*YY
  8515		777777	777777			IFE	<XX_-22>,<V2A=-1>
  8516						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8517		777777	777777			IFG	XX,<V2=V2A>
  8518						IFL	XX,<V2=XX+1>
  8519						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8520					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8521					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8522					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8523					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8524
  8525			000200		F43400:	AA1=XX				;INITIAL C(AC)
  8526	035506	200 07 0 00 044642 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8527			000000			AA2=0				;INITIAL C(AC+1)
  8528	035507	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8529		777777	777577			AEE=YY				;INITIAL C(E)
  8530	035510	200 05 0 00 045103 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8531	035511	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8532		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8533	035512	312 07 0 00 044617 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8534	035513	003 07 0 00 043401 		ER3	AC,43401		;HIGH PRODUCT FAILED
  8535		777777	737600			AR2=V1				;EXPECTED RESULT IN AC+1
  8536	035514	312 10 0 00 045201 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8537	035515	004 10 0 00 043402 		ER4	AC+1,43402		;LOW PRODUCT FAILED
  8538		777777	777577			AEE=YY				;INITIAL C(E)
  8539	035516	312 05 0 00 045103 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8540	035517	005 05 0 00 043403 		ER5	E,43403			;C(E) WAS CLOBBERED
  8541	035520	321 11 0 00 035506 		JUMPL	AC+2,F43400		;LOOP ON ERROR SWITCH^
  8542
  8543			004341			ADR=ADR+1
  8544			000400			XX=XX+XX
  8545		777777	777377			YY=YY+YY+1
  8546						IFE	XX,<XX=1>
  8547						IFE	<YY-1>,<YY=-2>
  8548
  8549					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8550		777777	577400			V1=XX*YY
  8551		777777	777777			IFE	<XX_-22>,<V2A=-1>
  8552						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8553		777777	777777			IFG	XX,<V2=V2A>
  8554						IFL	XX,<V2=XX+1>
  8555						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8556					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8557					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8558					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8559					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 7-6
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0175

  8560
  8561			000400		F43410:	AA1=XX				;INITIAL C(AC)
  8562	035521	200 07 0 00 044645 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8563			000000			AA2=0				;INITIAL C(AC+1)
  8564	035522	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8565		777777	777377			AEE=YY				;INITIAL C(E)
  8566	035523	200 05 0 00 045105 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8567	035524	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8568		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8569	035525	312 07 0 00 044617 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8570	035526	003 07 0 00 043411 		ER3	AC,43411		;HIGH PRODUCT FAILED
  8571		777777	577400			AR2=V1				;EXPECTED RESULT IN AC+1
  8572	035527	312 10 0 00 045202 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8573	035530	004 10 0 00 043412 		ER4	AC+1,43412		;LOW PRODUCT FAILED
  8574		777777	777377			AEE=YY				;INITIAL C(E)
  8575	035531	312 05 0 00 045105 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8576	035532	005 05 0 00 043413 		ER5	E,43413			;C(E) WAS CLOBBERED
  8577	035533	321 11 0 00 035521 		JUMPL	AC+2,F43410		;LOOP ON ERROR SWITCH^
  8578
  8579			004342			ADR=ADR+1
  8580			001000			XX=XX+XX
  8581		777777	776777			YY=YY+YY+1
  8582						IFE	XX,<XX=1>
  8583						IFE	<YY-1>,<YY=-2>
  8584
  8585					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8586		777776	777000			V1=XX*YY
  8587		777777	777777			IFE	<XX_-22>,<V2A=-1>
  8588						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8589		777777	777777			IFG	XX,<V2=V2A>
  8590						IFL	XX,<V2=XX+1>
  8591						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8592					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8593					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8594					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8595					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8596
  8597			001000		F43420:	AA1=XX				;INITIAL C(AC)
  8598	035534	200 07 0 00 044650 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8599			000000			AA2=0				;INITIAL C(AC+1)
  8600	035535	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8601		777777	776777			AEE=YY				;INITIAL C(E)
  8602	035536	200 05 0 00 045107 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8603	035537	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8604		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8605	035540	312 07 0 00 044617 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8606	035541	003 07 0 00 043421 		ER3	AC,43421		;HIGH PRODUCT FAILED
  8607		777776	777000			AR2=V1				;EXPECTED RESULT IN AC+1
  8608	035542	312 10 0 00 045203 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8609	035543	004 10 0 00 043422 		ER4	AC+1,43422		;LOW PRODUCT FAILED
  8610		777777	776777			AEE=YY				;INITIAL C(E)
  8611	035544	312 05 0 00 045107 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8612	035545	005 05 0 00 043423 		ER5	E,43423			;C(E) WAS CLOBBERED
  8613	035546	321 11 0 00 035534 		JUMPL	AC+2,F43420		;LOOP ON ERROR SWITCH^
  8614
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 7-7
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0176

  8615			004343			ADR=ADR+1
  8616			002000			XX=XX+XX
  8617		777777	775777			YY=YY+YY+1
  8618						IFE	XX,<XX=1>
  8619						IFE	<YY-1>,<YY=-2>
  8620
  8621					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8622		777773	776000			V1=XX*YY
  8623		777777	777777			IFE	<XX_-22>,<V2A=-1>
  8624						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8625		777777	777777			IFG	XX,<V2=V2A>
  8626						IFL	XX,<V2=XX+1>
  8627						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8628					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8629					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8630					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8631					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8632
  8633			002000		F43430:	AA1=XX				;INITIAL C(AC)
  8634	035547	200 07 0 00 044653 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8635			000000			AA2=0				;INITIAL C(AC+1)
  8636	035550	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8637		777777	775777			AEE=YY				;INITIAL C(E)
  8638	035551	200 05 0 00 045111 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8639	035552	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8640		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8641	035553	312 07 0 00 044617 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8642	035554	003 07 0 00 043431 		ER3	AC,43431		;HIGH PRODUCT FAILED
  8643		777773	776000			AR2=V1				;EXPECTED RESULT IN AC+1
  8644	035555	312 10 0 00 045204 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8645	035556	004 10 0 00 043432 		ER4	AC+1,43432		;LOW PRODUCT FAILED
  8646		777777	775777			AEE=YY				;INITIAL C(E)
  8647	035557	312 05 0 00 045111 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8648	035560	005 05 0 00 043433 		ER5	E,43433			;C(E) WAS CLOBBERED
  8649	035561	321 11 0 00 035547 		JUMPL	AC+2,F43430		;LOOP ON ERROR SWITCH^
  8650
  8651			004344			ADR=ADR+1
  8652			004000			XX=XX+XX
  8653		777777	773777			YY=YY+YY+1
  8654						IFE	XX,<XX=1>
  8655						IFE	<YY-1>,<YY=-2>
  8656
  8657					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8658		777757	774000			V1=XX*YY
  8659		777777	777777			IFE	<XX_-22>,<V2A=-1>
  8660						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8661		777777	777777			IFG	XX,<V2=V2A>
  8662						IFL	XX,<V2=XX+1>
  8663						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8664					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8665					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8666					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8667					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8668
  8669			004000		F43440:	AA1=XX				;INITIAL C(AC)
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 7-8
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0177

  8670	035562	200 07 0 00 044656 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8671			000000			AA2=0				;INITIAL C(AC+1)
  8672	035563	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8673		777777	773777			AEE=YY				;INITIAL C(E)
  8674	035564	200 05 0 00 045113 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8675	035565	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8676		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8677	035566	312 07 0 00 044617 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8678	035567	003 07 0 00 043441 		ER3	AC,43441		;HIGH PRODUCT FAILED
  8679		777757	774000			AR2=V1				;EXPECTED RESULT IN AC+1
  8680	035570	312 10 0 00 045205 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8681	035571	004 10 0 00 043442 		ER4	AC+1,43442		;LOW PRODUCT FAILED
  8682		777777	773777			AEE=YY				;INITIAL C(E)
  8683	035572	312 05 0 00 045113 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8684	035573	005 05 0 00 043443 		ER5	E,43443			;C(E) WAS CLOBBERED
  8685	035574	321 11 0 00 035562 		JUMPL	AC+2,F43440		;LOOP ON ERROR SWITCH^
  8686
  8687			004345			ADR=ADR+1
  8688			010000			XX=XX+XX
  8689		777777	767777			YY=YY+YY+1
  8690						IFE	XX,<XX=1>
  8691						IFE	<YY-1>,<YY=-2>
  8692
  8693					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8694		777677	770000			V1=XX*YY
  8695		777777	777777			IFE	<XX_-22>,<V2A=-1>
  8696						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8697		777777	777777			IFG	XX,<V2=V2A>
  8698						IFL	XX,<V2=XX+1>
  8699						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8700					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8701					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8702					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8703					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8704
  8705			010000		F43450:	AA1=XX				;INITIAL C(AC)
  8706	035575	200 07 0 00 044661 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8707			000000			AA2=0				;INITIAL C(AC+1)
  8708	035576	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8709		777777	767777			AEE=YY				;INITIAL C(E)
  8710	035577	200 05 0 00 045115 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8711	035600	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8712		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8713	035601	312 07 0 00 044617 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8714	035602	003 07 0 00 043451 		ER3	AC,43451		;HIGH PRODUCT FAILED
  8715		777677	770000			AR2=V1				;EXPECTED RESULT IN AC+1
  8716	035603	312 10 0 00 045206 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8717	035604	004 10 0 00 043452 		ER4	AC+1,43452		;LOW PRODUCT FAILED
  8718		777777	767777			AEE=YY				;INITIAL C(E)
  8719	035605	312 05 0 00 045115 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8720	035606	005 05 0 00 043453 		ER5	E,43453			;C(E) WAS CLOBBERED
  8721	035607	321 11 0 00 035575 		JUMPL	AC+2,F43450		;LOOP ON ERROR SWITCH^
  8722
  8723			004346			ADR=ADR+1
  8724			020000			XX=XX+XX
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 7-9
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0178

  8725		777777	757777			YY=YY+YY+1
  8726						IFE	XX,<XX=1>
  8727						IFE	<YY-1>,<YY=-2>
  8728
  8729					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8730		777377	760000			V1=XX*YY
  8731		777777	777777			IFE	<XX_-22>,<V2A=-1>
  8732						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8733		777777	777777			IFG	XX,<V2=V2A>
  8734						IFL	XX,<V2=XX+1>
  8735						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8736					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8737					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8738					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8739					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8740
  8741			020000		F43460:	AA1=XX				;INITIAL C(AC)
  8742	035610	200 07 0 00 044664 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8743			000000			AA2=0				;INITIAL C(AC+1)
  8744	035611	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8745		777777	757777			AEE=YY				;INITIAL C(E)
  8746	035612	200 05 0 00 045117 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8747	035613	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8748		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8749	035614	312 07 0 00 044617 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8750	035615	003 07 0 00 043461 		ER3	AC,43461		;HIGH PRODUCT FAILED
  8751		777377	760000			AR2=V1				;EXPECTED RESULT IN AC+1
  8752	035616	312 10 0 00 045207 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8753	035617	004 10 0 00 043462 		ER4	AC+1,43462		;LOW PRODUCT FAILED
  8754		777777	757777			AEE=YY				;INITIAL C(E)
  8755	035620	312 05 0 00 045117 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8756	035621	005 05 0 00 043463 		ER5	E,43463			;C(E) WAS CLOBBERED
  8757	035622	321 11 0 00 035610 		JUMPL	AC+2,F43460		;LOOP ON ERROR SWITCH^
  8758
  8759			004347			ADR=ADR+1
  8760			040000			XX=XX+XX
  8761		777777	737777			YY=YY+YY+1
  8762						IFE	XX,<XX=1>
  8763						IFE	<YY-1>,<YY=-2>
  8764
  8765					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8766		775777	740000			V1=XX*YY
  8767		777777	777777			IFE	<XX_-22>,<V2A=-1>
  8768						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8769		777777	777777			IFG	XX,<V2=V2A>
  8770						IFL	XX,<V2=XX+1>
  8771						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8772					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8773					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8774					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8775					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8776
  8777			040000		F43470:	AA1=XX				;INITIAL C(AC)
  8778	035623	200 07 0 00 044667 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8779			000000			AA2=0				;INITIAL C(AC+1)
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 7-10
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0179

  8780	035624	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8781		777777	737777			AEE=YY				;INITIAL C(E)
  8782	035625	200 05 0 00 045121 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8783	035626	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8784		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8785	035627	312 07 0 00 044617 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8786	035630	003 07 0 00 043471 		ER3	AC,43471		;HIGH PRODUCT FAILED
  8787		775777	740000			AR2=V1				;EXPECTED RESULT IN AC+1
  8788	035631	312 10 0 00 045210 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8789	035632	004 10 0 00 043472 		ER4	AC+1,43472		;LOW PRODUCT FAILED
  8790		777777	737777			AEE=YY				;INITIAL C(E)
  8791	035633	312 05 0 00 045121 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8792	035634	005 05 0 00 043473 		ER5	E,43473			;C(E) WAS CLOBBERED
  8793	035635	321 11 0 00 035623 		JUMPL	AC+2,F43470		;LOOP ON ERROR SWITCH^
  8794
  8795			004350			ADR=ADR+1
  8796			100000			XX=XX+XX
  8797		777777	677777			YY=YY+YY+1
  8798						IFE	XX,<XX=1>
  8799						IFE	<YY-1>,<YY=-2>
  8800
  8801					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8802		767777	700000			V1=XX*YY
  8803		777777	777777			IFE	<XX_-22>,<V2A=-1>
  8804						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8805		777777	777777			IFG	XX,<V2=V2A>
  8806						IFL	XX,<V2=XX+1>
  8807						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8808					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8809					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8810					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8811					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8812
  8813			100000		F43500:	AA1=XX				;INITIAL C(AC)
  8814	035636	200 07 0 00 044672 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8815			000000			AA2=0				;INITIAL C(AC+1)
  8816	035637	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8817		777777	677777			AEE=YY				;INITIAL C(E)
  8818	035640	200 05 0 00 045123 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8819	035641	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8820		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8821	035642	312 07 0 00 044617 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8822	035643	003 07 0 00 043501 		ER3	AC,43501		;HIGH PRODUCT FAILED
  8823		767777	700000			AR2=V1				;EXPECTED RESULT IN AC+1
  8824	035644	312 10 0 00 045211 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8825	035645	004 10 0 00 043502 		ER4	AC+1,43502		;LOW PRODUCT FAILED
  8826		777777	677777			AEE=YY				;INITIAL C(E)
  8827	035646	312 05 0 00 045123 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8828	035647	005 05 0 00 043503 		ER5	E,43503			;C(E) WAS CLOBBERED
  8829	035650	321 11 0 00 035636 		JUMPL	AC+2,F43500		;LOOP ON ERROR SWITCH^
  8830
  8831			004351			ADR=ADR+1
  8832			200000			XX=XX+XX
  8833		777777	577777			YY=YY+YY+1
  8834						IFE	XX,<XX=1>
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 7-11
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0180

  8835						IFE	<YY-1>,<YY=-2>
  8836
  8837					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8838		737777	600000			V1=XX*YY
  8839		777777	777777			IFE	<XX_-22>,<V2A=-1>
  8840						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8841		777777	777777			IFG	XX,<V2=V2A>
  8842						IFL	XX,<V2=XX+1>
  8843						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8844					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8845					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8846					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8847					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8848
  8849			200000		F43510:	AA1=XX				;INITIAL C(AC)
  8850	035651	200 07 0 00 044675 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8851			000000			AA2=0				;INITIAL C(AC+1)
  8852	035652	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8853		777777	577777			AEE=YY				;INITIAL C(E)
  8854	035653	200 05 0 00 045125 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8855	035654	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8856		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8857	035655	312 07 0 00 044617 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8858	035656	003 07 0 00 043511 		ER3	AC,43511		;HIGH PRODUCT FAILED
  8859		737777	600000			AR2=V1				;EXPECTED RESULT IN AC+1
  8860	035657	312 10 0 00 045212 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8861	035660	004 10 0 00 043512 		ER4	AC+1,43512		;LOW PRODUCT FAILED
  8862		777777	577777			AEE=YY				;INITIAL C(E)
  8863	035661	312 05 0 00 045125 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8864	035662	005 05 0 00 043513 		ER5	E,43513			;C(E) WAS CLOBBERED
  8865	035663	321 11 0 00 035651 		JUMPL	AC+2,F43510		;LOOP ON ERROR SWITCH^
  8866
  8867			004352			ADR=ADR+1
  8868			400000			XX=XX+XX
  8869		777777	377777			YY=YY+YY+1
  8870						IFE	XX,<XX=1>
  8871						IFE	<YY-1>,<YY=-2>
  8872
  8873					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8874		577777	400000			V1=XX*YY
  8875		777777	777777			IFE	<XX_-22>,<V2A=-1>
  8876						IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8877		777777	777777			IFG	XX,<V2=V2A>
  8878						IFL	XX,<V2=XX+1>
  8879						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8880					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8881					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8882					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8883					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8884
  8885			400000		F43520:	AA1=XX				;INITIAL C(AC)
  8886	035664	200 07 0 00 044700 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8887			000000			AA2=0				;INITIAL C(AC+1)
  8888	035665	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8889		777777	377777			AEE=YY				;INITIAL C(E)
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 7-12
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0181

  8890	035666	200 05 0 00 045127 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8891	035667	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8892		777777	777777			AR1=V2				;EXPECTED RESULT IN AC
  8893	035670	312 07 0 00 044617 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8894	035671	003 07 0 00 043521 		ER3	AC,43521		;HIGH PRODUCT FAILED
  8895		577777	400000			AR2=V1				;EXPECTED RESULT IN AC+1
  8896	035672	312 10 0 00 045213 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8897	035673	004 10 0 00 043522 		ER4	AC+1,43522		;LOW PRODUCT FAILED
  8898		777777	377777			AEE=YY				;INITIAL C(E)
  8899	035674	312 05 0 00 045127 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8900	035675	005 05 0 00 043523 		ER5	E,43523			;C(E) WAS CLOBBERED
  8901	035676	321 11 0 00 035664 		JUMPL	AC+2,F43520		;LOOP ON ERROR SWITCH^
  8902
  8903			004353			ADR=ADR+1
  8904		000001	000000			XX=XX+XX
  8905		777776	777777			YY=YY+YY+1
  8906						IFE	XX,<XX=1>
  8907						IFE	<YY-1>,<YY=-2>
  8908
  8909					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8910		777777	000000			V1=XX*YY
  8911						IFE	<XX_-22>,<V2A=-1>
  8912		777777	777775			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8913		777777	777775			IFG	XX,<V2=V2A>
  8914						IFL	XX,<V2=XX+1>
  8915						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8916					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8917					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8918					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8919					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8920
  8921		000001	000000		F43530:	AA1=XX				;INITIAL C(AC)
  8922	035677	200 07 0 00 044703 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8923			000000			AA2=0				;INITIAL C(AC+1)
  8924	035700	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8925		777776	777777			AEE=YY				;INITIAL C(E)
  8926	035701	200 05 0 00 045131 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8927	035702	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8928		777777	777775			AR1=V2				;EXPECTED RESULT IN AC
  8929	035703	312 07 0 00 044624 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8930	035704	003 07 0 00 043531 		ER3	AC,43531		;HIGH PRODUCT FAILED
  8931		777777	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  8932	035705	312 10 0 00 045214 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8933	035706	004 10 0 00 043532 		ER4	AC+1,43532		;LOW PRODUCT FAILED
  8934		777776	777777			AEE=YY				;INITIAL C(E)
  8935	035707	312 05 0 00 045131 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8936	035710	005 05 0 00 043533 		ER5	E,43533			;C(E) WAS CLOBBERED
  8937	035711	321 11 0 00 035677 		JUMPL	AC+2,F43530		;LOOP ON ERROR SWITCH^
  8938
  8939			004354			ADR=ADR+1
  8940		000002	000000			XX=XX+XX
  8941		777775	777777			YY=YY+YY+1
  8942						IFE	XX,<XX=1>
  8943						IFE	<YY-1>,<YY=-2>
  8944
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 7-13
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0182

  8945					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8946		777776	000000			V1=XX*YY
  8947						IFE	<XX_-22>,<V2A=-1>
  8948		777777	777767			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8949		777777	777767			IFG	XX,<V2=V2A>
  8950						IFL	XX,<V2=XX+1>
  8951						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8952					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8953					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8954					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8955					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8956
  8957		000002	000000		F43540:	AA1=XX				;INITIAL C(AC)
  8958	035712	200 07 0 00 044706 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8959			000000			AA2=0				;INITIAL C(AC+1)
  8960	035713	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8961		777775	777777			AEE=YY				;INITIAL C(E)
  8962	035714	200 05 0 00 045133 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8963	035715	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  8964		777777	777767			AR1=V2				;EXPECTED RESULT IN AC
  8965	035716	312 07 0 00 045073 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  8966	035717	003 07 0 00 043541 		ER3	AC,43541		;HIGH PRODUCT FAILED
  8967		777776	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  8968	035720	312 10 0 00 045215 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  8969	035721	004 10 0 00 043542 		ER4	AC+1,43542		;LOW PRODUCT FAILED
  8970		777775	777777			AEE=YY				;INITIAL C(E)
  8971	035722	312 05 0 00 045133 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  8972	035723	005 05 0 00 043543 		ER5	E,43543			;C(E) WAS CLOBBERED
  8973	035724	321 11 0 00 035712 		JUMPL	AC+2,F43540		;LOOP ON ERROR SWITCH^
  8974
  8975			004355			ADR=ADR+1
  8976		000004	000000			XX=XX+XX
  8977		777773	777777			YY=YY+YY+1
  8978						IFE	XX,<XX=1>
  8979						IFE	<YY-1>,<YY=-2>
  8980
  8981					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  8982		777774	000000			V1=XX*YY
  8983						IFE	<XX_-22>,<V2A=-1>
  8984		777777	777737			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  8985		777777	777737			IFG	XX,<V2=V2A>
  8986						IFL	XX,<V2=XX+1>
  8987						MOP1	(\ADR,XX,0,YY,V2,V1)^
  8988					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  8989					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  8990					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  8991					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  8992
  8993		000004	000000		F43550:	AA1=XX				;INITIAL C(AC)
  8994	035725	200 07 0 00 044711 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  8995			000000			AA2=0				;INITIAL C(AC+1)
  8996	035726	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  8997		777773	777777			AEE=YY				;INITIAL C(E)
  8998	035727	200 05 0 00 045135 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  8999	035730	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 7-14
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0183

  9000		777777	777737			AR1=V2				;EXPECTED RESULT IN AC
  9001	035731	312 07 0 00 045077 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  9002	035732	003 07 0 00 043551 		ER3	AC,43551		;HIGH PRODUCT FAILED
  9003		777774	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  9004	035733	312 10 0 00 045216 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  9005	035734	004 10 0 00 043552 		ER4	AC+1,43552		;LOW PRODUCT FAILED
  9006		777773	777777			AEE=YY				;INITIAL C(E)
  9007	035735	312 05 0 00 045135 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  9008	035736	005 05 0 00 043553 		ER5	E,43553			;C(E) WAS CLOBBERED
  9009	035737	321 11 0 00 035725 		JUMPL	AC+2,F43550		;LOOP ON ERROR SWITCH^
  9010
  9011			004356			ADR=ADR+1
  9012		000010	000000			XX=XX+XX
  9013		777767	777777			YY=YY+YY+1
  9014						IFE	XX,<XX=1>
  9015						IFE	<YY-1>,<YY=-2>
  9016
  9017					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  9018		777770	000000			V1=XX*YY
  9019						IFE	<XX_-22>,<V2A=-1>
  9020		777777	777577			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  9021		777777	777577			IFG	XX,<V2=V2A>
  9022						IFL	XX,<V2=XX+1>
  9023						MOP1	(\ADR,XX,0,YY,V2,V1)^
  9024					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  9025					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  9026					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  9027					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  9028
  9029		000010	000000		F43560:	AA1=XX				;INITIAL C(AC)
  9030	035740	200 07 0 00 044714 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  9031			000000			AA2=0				;INITIAL C(AC+1)
  9032	035741	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  9033		777767	777777			AEE=YY				;INITIAL C(E)
  9034	035742	200 05 0 00 045137 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  9035	035743	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  9036		777777	777577			AR1=V2				;EXPECTED RESULT IN AC
  9037	035744	312 07 0 00 045103 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  9038	035745	003 07 0 00 043561 		ER3	AC,43561		;HIGH PRODUCT FAILED
  9039		777770	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  9040	035746	312 10 0 00 045217 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  9041	035747	004 10 0 00 043562 		ER4	AC+1,43562		;LOW PRODUCT FAILED
  9042		777767	777777			AEE=YY				;INITIAL C(E)
  9043	035750	312 05 0 00 045137 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  9044	035751	005 05 0 00 043563 		ER5	E,43563			;C(E) WAS CLOBBERED
  9045	035752	321 11 0 00 035740 		JUMPL	AC+2,F43560		;LOOP ON ERROR SWITCH^
  9046
  9047			004357			ADR=ADR+1
  9048		000020	000000			XX=XX+XX
  9049		777757	777777			YY=YY+YY+1
  9050						IFE	XX,<XX=1>
  9051						IFE	<YY-1>,<YY=-2>
  9052
  9053					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  9054		777760	000000			V1=XX*YY
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 7-15
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0184

  9055						IFE	<XX_-22>,<V2A=-1>
  9056		777777	776777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  9057		777777	776777			IFG	XX,<V2=V2A>
  9058						IFL	XX,<V2=XX+1>
  9059						MOP1	(\ADR,XX,0,YY,V2,V1)^
  9060					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  9061					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  9062					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  9063					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  9064
  9065		000020	000000		F43570:	AA1=XX				;INITIAL C(AC)
  9066	035753	200 07 0 00 044717 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  9067			000000			AA2=0				;INITIAL C(AC+1)
  9068	035754	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  9069		777757	777777			AEE=YY				;INITIAL C(E)
  9070	035755	200 05 0 00 045141 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  9071	035756	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  9072		777777	776777			AR1=V2				;EXPECTED RESULT IN AC
  9073	035757	312 07 0 00 045107 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  9074	035760	003 07 0 00 043571 		ER3	AC,43571		;HIGH PRODUCT FAILED
  9075		777760	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  9076	035761	312 10 0 00 045220 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  9077	035762	004 10 0 00 043572 		ER4	AC+1,43572		;LOW PRODUCT FAILED
  9078		777757	777777			AEE=YY				;INITIAL C(E)
  9079	035763	312 05 0 00 045141 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  9080	035764	005 05 0 00 043573 		ER5	E,43573			;C(E) WAS CLOBBERED
  9081	035765	321 11 0 00 035753 		JUMPL	AC+2,F43570		;LOOP ON ERROR SWITCH^
  9082
  9083			004360			ADR=ADR+1
  9084		000040	000000			XX=XX+XX
  9085		777737	777777			YY=YY+YY+1
  9086						IFE	XX,<XX=1>
  9087						IFE	<YY-1>,<YY=-2>
  9088
  9089					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  9090		777740	000000			V1=XX*YY
  9091						IFE	<XX_-22>,<V2A=-1>
  9092		777777	773777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  9093		777777	773777			IFG	XX,<V2=V2A>
  9094						IFL	XX,<V2=XX+1>
  9095						MOP1	(\ADR,XX,0,YY,V2,V1)^
  9096					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  9097					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  9098					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  9099					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  9100
  9101		000040	000000		F43600:	AA1=XX				;INITIAL C(AC)
  9102	035766	200 07 0 00 044722 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  9103			000000			AA2=0				;INITIAL C(AC+1)
  9104	035767	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  9105		777737	777777			AEE=YY				;INITIAL C(E)
  9106	035770	200 05 0 00 045143 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  9107	035771	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  9108		777777	773777			AR1=V2				;EXPECTED RESULT IN AC
  9109	035772	312 07 0 00 045113 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 7-16
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0185

  9110	035773	003 07 0 00 043601 		ER3	AC,43601		;HIGH PRODUCT FAILED
  9111		777740	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  9112	035774	312 10 0 00 045221 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  9113	035775	004 10 0 00 043602 		ER4	AC+1,43602		;LOW PRODUCT FAILED
  9114		777737	777777			AEE=YY				;INITIAL C(E)
  9115	035776	312 05 0 00 045143 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  9116	035777	005 05 0 00 043603 		ER5	E,43603			;C(E) WAS CLOBBERED
  9117	036000	321 11 0 00 035766 		JUMPL	AC+2,F43600		;LOOP ON ERROR SWITCH^
  9118
  9119			004361			ADR=ADR+1
  9120		000100	000000			XX=XX+XX
  9121		777677	777777			YY=YY+YY+1
  9122						IFE	XX,<XX=1>
  9123						IFE	<YY-1>,<YY=-2>
  9124
  9125					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  9126		777700	000000			V1=XX*YY
  9127						IFE	<XX_-22>,<V2A=-1>
  9128		777777	757777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  9129		777777	757777			IFG	XX,<V2=V2A>
  9130						IFL	XX,<V2=XX+1>
  9131						MOP1	(\ADR,XX,0,YY,V2,V1)^
  9132					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  9133					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  9134					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  9135					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  9136
  9137		000100	000000		F43610:	AA1=XX				;INITIAL C(AC)
  9138	036001	200 07 0 00 044725 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  9139			000000			AA2=0				;INITIAL C(AC+1)
  9140	036002	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  9141		777677	777777			AEE=YY				;INITIAL C(E)
  9142	036003	200 05 0 00 045145 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  9143	036004	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  9144		777777	757777			AR1=V2				;EXPECTED RESULT IN AC
  9145	036005	312 07 0 00 045117 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  9146	036006	003 07 0 00 043611 		ER3	AC,43611		;HIGH PRODUCT FAILED
  9147		777700	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  9148	036007	312 10 0 00 045222 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  9149	036010	004 10 0 00 043612 		ER4	AC+1,43612		;LOW PRODUCT FAILED
  9150		777677	777777			AEE=YY				;INITIAL C(E)
  9151	036011	312 05 0 00 045145 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  9152	036012	005 05 0 00 043613 		ER5	E,43613			;C(E) WAS CLOBBERED
  9153	036013	321 11 0 00 036001 		JUMPL	AC+2,F43610		;LOOP ON ERROR SWITCH^
  9154
  9155			004362			ADR=ADR+1
  9156		000200	000000			XX=XX+XX
  9157		777577	777777			YY=YY+YY+1
  9158						IFE	XX,<XX=1>
  9159						IFE	<YY-1>,<YY=-2>
  9160
  9161					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  9162		777600	000000			V1=XX*YY
  9163						IFE	<XX_-22>,<V2A=-1>
  9164		777777	677777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 7-17
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0186

  9165		777777	677777			IFG	XX,<V2=V2A>
  9166						IFL	XX,<V2=XX+1>
  9167						MOP1	(\ADR,XX,0,YY,V2,V1)^
  9168					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  9169					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  9170					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  9171					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  9172
  9173		000200	000000		F43620:	AA1=XX				;INITIAL C(AC)
  9174	036014	200 07 0 00 044730 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  9175			000000			AA2=0				;INITIAL C(AC+1)
  9176	036015	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  9177		777577	777777			AEE=YY				;INITIAL C(E)
  9178	036016	200 05 0 00 045147 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  9179	036017	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  9180		777777	677777			AR1=V2				;EXPECTED RESULT IN AC
  9181	036020	312 07 0 00 045123 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  9182	036021	003 07 0 00 043621 		ER3	AC,43621		;HIGH PRODUCT FAILED
  9183		777600	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  9184	036022	312 10 0 00 045223 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  9185	036023	004 10 0 00 043622 		ER4	AC+1,43622		;LOW PRODUCT FAILED
  9186		777577	777777			AEE=YY				;INITIAL C(E)
  9187	036024	312 05 0 00 045147 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  9188	036025	005 05 0 00 043623 		ER5	E,43623			;C(E) WAS CLOBBERED
  9189	036026	321 11 0 00 036014 		JUMPL	AC+2,F43620		;LOOP ON ERROR SWITCH^
  9190
  9191			004363			ADR=ADR+1
  9192		000400	000000			XX=XX+XX
  9193		777377	777777			YY=YY+YY+1
  9194						IFE	XX,<XX=1>
  9195						IFE	<YY-1>,<YY=-2>
  9196
  9197					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  9198		777400	000000			V1=XX*YY
  9199						IFE	<XX_-22>,<V2A=-1>
  9200		777777	377777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  9201		777777	377777			IFG	XX,<V2=V2A>
  9202						IFL	XX,<V2=XX+1>
  9203						MOP1	(\ADR,XX,0,YY,V2,V1)^
  9204					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  9205					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  9206					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  9207					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  9208
  9209		000400	000000		F43630:	AA1=XX				;INITIAL C(AC)
  9210	036027	200 07 0 00 044733 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  9211			000000			AA2=0				;INITIAL C(AC+1)
  9212	036030	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  9213		777377	777777			AEE=YY				;INITIAL C(E)
  9214	036031	200 05 0 00 045151 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  9215	036032	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  9216		777777	377777			AR1=V2				;EXPECTED RESULT IN AC
  9217	036033	312 07 0 00 045127 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  9218	036034	003 07 0 00 043631 		ER3	AC,43631		;HIGH PRODUCT FAILED
  9219		777400	000000			AR2=V1				;EXPECTED RESULT IN AC+1
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 7-18
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0187

  9220	036035	312 10 0 00 045224 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  9221	036036	004 10 0 00 043632 		ER4	AC+1,43632		;LOW PRODUCT FAILED
  9222		777377	777777			AEE=YY				;INITIAL C(E)
  9223	036037	312 05 0 00 045151 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  9224	036040	005 05 0 00 043633 		ER5	E,43633			;C(E) WAS CLOBBERED
  9225	036041	321 11 0 00 036027 		JUMPL	AC+2,F43630		;LOOP ON ERROR SWITCH^
  9226
  9227			004364			ADR=ADR+1
  9228		001000	000000			XX=XX+XX
  9229		776777	777777			YY=YY+YY+1
  9230						IFE	XX,<XX=1>
  9231						IFE	<YY-1>,<YY=-2>
  9232
  9233					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  9234		777000	000000			V1=XX*YY
  9235						IFE	<XX_-22>,<V2A=-1>
  9236		777775	777777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  9237		777775	777777			IFG	XX,<V2=V2A>
  9238						IFL	XX,<V2=XX+1>
  9239						MOP1	(\ADR,XX,0,YY,V2,V1)^
  9240					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  9241					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  9242					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  9243					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  9244
  9245		001000	000000		F43640:	AA1=XX				;INITIAL C(AC)
  9246	036042	200 07 0 00 044736 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  9247			000000			AA2=0				;INITIAL C(AC+1)
  9248	036043	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  9249		776777	777777			AEE=YY				;INITIAL C(E)
  9250	036044	200 05 0 00 045153 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  9251	036045	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  9252		777775	777777			AR1=V2				;EXPECTED RESULT IN AC
  9253	036046	312 07 0 00 045133 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  9254	036047	003 07 0 00 043641 		ER3	AC,43641		;HIGH PRODUCT FAILED
  9255		777000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  9256	036050	312 10 0 00 045225 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  9257	036051	004 10 0 00 043642 		ER4	AC+1,43642		;LOW PRODUCT FAILED
  9258		776777	777777			AEE=YY				;INITIAL C(E)
  9259	036052	312 05 0 00 045153 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  9260	036053	005 05 0 00 043643 		ER5	E,43643			;C(E) WAS CLOBBERED
  9261	036054	321 11 0 00 036042 		JUMPL	AC+2,F43640		;LOOP ON ERROR SWITCH^
  9262
  9263			004365			ADR=ADR+1
  9264		002000	000000			XX=XX+XX
  9265		775777	777777			YY=YY+YY+1
  9266						IFE	XX,<XX=1>
  9267						IFE	<YY-1>,<YY=-2>
  9268
  9269					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  9270		776000	000000			V1=XX*YY
  9271						IFE	<XX_-22>,<V2A=-1>
  9272		777767	777777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  9273		777767	777777			IFG	XX,<V2=V2A>
  9274						IFL	XX,<V2=XX+1>
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 7-19
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0188

  9275						MOP1	(\ADR,XX,0,YY,V2,V1)^
  9276					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  9277					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  9278					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  9279					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  9280
  9281		002000	000000		F43650:	AA1=XX				;INITIAL C(AC)
  9282	036055	200 07 0 00 044741 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  9283			000000			AA2=0				;INITIAL C(AC+1)
  9284	036056	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  9285		775777	777777			AEE=YY				;INITIAL C(E)
  9286	036057	200 05 0 00 045155 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  9287	036060	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  9288		777767	777777			AR1=V2				;EXPECTED RESULT IN AC
  9289	036061	312 07 0 00 045137 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  9290	036062	003 07 0 00 043651 		ER3	AC,43651		;HIGH PRODUCT FAILED
  9291		776000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  9292	036063	312 10 0 00 045226 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  9293	036064	004 10 0 00 043652 		ER4	AC+1,43652		;LOW PRODUCT FAILED
  9294		775777	777777			AEE=YY				;INITIAL C(E)
  9295	036065	312 05 0 00 045155 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  9296	036066	005 05 0 00 043653 		ER5	E,43653			;C(E) WAS CLOBBERED
  9297	036067	321 11 0 00 036055 		JUMPL	AC+2,F43650		;LOOP ON ERROR SWITCH^
  9298
  9299			004366			ADR=ADR+1
  9300		004000	000000			XX=XX+XX
  9301		773777	777777			YY=YY+YY+1
  9302						IFE	XX,<XX=1>
  9303						IFE	<YY-1>,<YY=-2>
  9304
  9305					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  9306		774000	000000			V1=XX*YY
  9307						IFE	<XX_-22>,<V2A=-1>
  9308		777737	777777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  9309		777737	777777			IFG	XX,<V2=V2A>
  9310						IFL	XX,<V2=XX+1>
  9311						MOP1	(\ADR,XX,0,YY,V2,V1)^
  9312					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  9313					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  9314					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  9315					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  9316
  9317		004000	000000		F43660:	AA1=XX				;INITIAL C(AC)
  9318	036070	200 07 0 00 044744 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  9319			000000			AA2=0				;INITIAL C(AC+1)
  9320	036071	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  9321		773777	777777			AEE=YY				;INITIAL C(E)
  9322	036072	200 05 0 00 045157 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  9323	036073	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  9324		777737	777777			AR1=V2				;EXPECTED RESULT IN AC
  9325	036074	312 07 0 00 045143 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  9326	036075	003 07 0 00 043661 		ER3	AC,43661		;HIGH PRODUCT FAILED
  9327		774000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  9328	036076	312 10 0 00 045227 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  9329	036077	004 10 0 00 043662 		ER4	AC+1,43662		;LOW PRODUCT FAILED
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 7-20
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0189

  9330		773777	777777			AEE=YY				;INITIAL C(E)
  9331	036100	312 05 0 00 045157 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  9332	036101	005 05 0 00 043663 		ER5	E,43663			;C(E) WAS CLOBBERED
  9333	036102	321 11 0 00 036070 		JUMPL	AC+2,F43660		;LOOP ON ERROR SWITCH^
  9334
  9335			004367			ADR=ADR+1
  9336		010000	000000			XX=XX+XX
  9337		767777	777777			YY=YY+YY+1
  9338						IFE	XX,<XX=1>
  9339						IFE	<YY-1>,<YY=-2>
  9340
  9341					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  9342		770000	000000			V1=XX*YY
  9343						IFE	<XX_-22>,<V2A=-1>
  9344		777577	777777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  9345		777577	777777			IFG	XX,<V2=V2A>
  9346						IFL	XX,<V2=XX+1>
  9347						MOP1	(\ADR,XX,0,YY,V2,V1)^
  9348					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  9349					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  9350					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  9351					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  9352
  9353		010000	000000		F43670:	AA1=XX				;INITIAL C(AC)
  9354	036103	200 07 0 00 044747 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  9355			000000			AA2=0				;INITIAL C(AC+1)
  9356	036104	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  9357		767777	777777			AEE=YY				;INITIAL C(E)
  9358	036105	200 05 0 00 045161 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  9359	036106	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  9360		777577	777777			AR1=V2				;EXPECTED RESULT IN AC
  9361	036107	312 07 0 00 045147 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  9362	036110	003 07 0 00 043671 		ER3	AC,43671		;HIGH PRODUCT FAILED
  9363		770000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  9364	036111	312 10 0 00 045230 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  9365	036112	004 10 0 00 043672 		ER4	AC+1,43672		;LOW PRODUCT FAILED
  9366		767777	777777			AEE=YY				;INITIAL C(E)
  9367	036113	312 05 0 00 045161 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  9368	036114	005 05 0 00 043673 		ER5	E,43673			;C(E) WAS CLOBBERED
  9369	036115	321 11 0 00 036103 		JUMPL	AC+2,F43670		;LOOP ON ERROR SWITCH^
  9370
  9371			004370			ADR=ADR+1
  9372		020000	000000			XX=XX+XX
  9373		757777	777777			YY=YY+YY+1
  9374						IFE	XX,<XX=1>
  9375						IFE	<YY-1>,<YY=-2>
  9376
  9377					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  9378		760000	000000			V1=XX*YY
  9379						IFE	<XX_-22>,<V2A=-1>
  9380		776777	777777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  9381		776777	777777			IFG	XX,<V2=V2A>
  9382						IFL	XX,<V2=XX+1>
  9383						MOP1	(\ADR,XX,0,YY,V2,V1)^
  9384					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 7-21
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0190

  9385					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  9386					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  9387					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  9388
  9389		020000	000000		F43700:	AA1=XX				;INITIAL C(AC)
  9390	036116	200 07 0 00 044752 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  9391			000000			AA2=0				;INITIAL C(AC+1)
  9392	036117	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  9393		757777	777777			AEE=YY				;INITIAL C(E)
  9394	036120	200 05 0 00 045163 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  9395	036121	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  9396		776777	777777			AR1=V2				;EXPECTED RESULT IN AC
  9397	036122	312 07 0 00 045153 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  9398	036123	003 07 0 00 043701 		ER3	AC,43701		;HIGH PRODUCT FAILED
  9399		760000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  9400	036124	312 10 0 00 045231 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  9401	036125	004 10 0 00 043702 		ER4	AC+1,43702		;LOW PRODUCT FAILED
  9402		757777	777777			AEE=YY				;INITIAL C(E)
  9403	036126	312 05 0 00 045163 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  9404	036127	005 05 0 00 043703 		ER5	E,43703			;C(E) WAS CLOBBERED
  9405	036130	321 11 0 00 036116 		JUMPL	AC+2,F43700		;LOOP ON ERROR SWITCH^
  9406
  9407			004371			ADR=ADR+1
  9408		040000	000000			XX=XX+XX
  9409		737777	777777			YY=YY+YY+1
  9410						IFE	XX,<XX=1>
  9411						IFE	<YY-1>,<YY=-2>
  9412
  9413					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  9414		740000	000000			V1=XX*YY
  9415						IFE	<XX_-22>,<V2A=-1>
  9416		773777	777777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  9417		773777	777777			IFG	XX,<V2=V2A>
  9418						IFL	XX,<V2=XX+1>
  9419						MOP1	(\ADR,XX,0,YY,V2,V1)^
  9420					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  9421					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  9422					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  9423					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  9424
  9425		040000	000000		F43710:	AA1=XX				;INITIAL C(AC)
  9426	036131	200 07 0 00 044755 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  9427			000000			AA2=0				;INITIAL C(AC+1)
  9428	036132	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  9429		737777	777777			AEE=YY				;INITIAL C(E)
  9430	036133	200 05 0 00 045165 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  9431	036134	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  9432		773777	777777			AR1=V2				;EXPECTED RESULT IN AC
  9433	036135	312 07 0 00 045157 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  9434	036136	003 07 0 00 043711 		ER3	AC,43711		;HIGH PRODUCT FAILED
  9435		740000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  9436	036137	312 10 0 00 045232 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  9437	036140	004 10 0 00 043712 		ER4	AC+1,43712		;LOW PRODUCT FAILED
  9438		737777	777777			AEE=YY				;INITIAL C(E)
  9439	036141	312 05 0 00 045165 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 7-22
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0191

  9440	036142	005 05 0 00 043713 		ER5	E,43713			;C(E) WAS CLOBBERED
  9441	036143	321 11 0 00 036131 		JUMPL	AC+2,F43710		;LOOP ON ERROR SWITCH^
  9442
  9443			004372			ADR=ADR+1
  9444		100000	000000			XX=XX+XX
  9445		677777	777777			YY=YY+YY+1
  9446						IFE	XX,<XX=1>
  9447						IFE	<YY-1>,<YY=-2>
  9448
  9449					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  9450		700000	000000			V1=XX*YY
  9451						IFE	<XX_-22>,<V2A=-1>
  9452		757777	777777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  9453		757777	777777			IFG	XX,<V2=V2A>
  9454						IFL	XX,<V2=XX+1>
  9455						MOP1	(\ADR,XX,0,YY,V2,V1)^
  9456					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  9457					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  9458					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  9459					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  9460
  9461		100000	000000		F43720:	AA1=XX				;INITIAL C(AC)
  9462	036144	200 07 0 00 044760 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  9463			000000			AA2=0				;INITIAL C(AC+1)
  9464	036145	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  9465		677777	777777			AEE=YY				;INITIAL C(E)
  9466	036146	200 05 0 00 045167 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  9467	036147	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  9468		757777	777777			AR1=V2				;EXPECTED RESULT IN AC
  9469	036150	312 07 0 00 045163 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  9470	036151	003 07 0 00 043721 		ER3	AC,43721		;HIGH PRODUCT FAILED
  9471		700000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  9472	036152	312 10 0 00 045233 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  9473	036153	004 10 0 00 043722 		ER4	AC+1,43722		;LOW PRODUCT FAILED
  9474		677777	777777			AEE=YY				;INITIAL C(E)
  9475	036154	312 05 0 00 045167 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  9476	036155	005 05 0 00 043723 		ER5	E,43723			;C(E) WAS CLOBBERED
  9477	036156	321 11 0 00 036144 		JUMPL	AC+2,F43720		;LOOP ON ERROR SWITCH^
  9478
  9479			004373			ADR=ADR+1
  9480		200000	000000			XX=XX+XX
  9481		577777	777777			YY=YY+YY+1
  9482						IFE	XX,<XX=1>
  9483						IFE	<YY-1>,<YY=-2>
  9484
  9485					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  9486		600000	000000			V1=XX*YY
  9487						IFE	<XX_-22>,<V2A=-1>
  9488		677777	777777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  9489		677777	777777			IFG	XX,<V2=V2A>
  9490						IFL	XX,<V2=XX+1>
  9491						MOP1	(\ADR,XX,0,YY,V2,V1)^
  9492					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  9493					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  9494					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 7-23
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0192

  9495					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  9496
  9497		200000	000000		F43730:	AA1=XX				;INITIAL C(AC)
  9498	036157	200 07 0 00 044763 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  9499			000000			AA2=0				;INITIAL C(AC+1)
  9500	036160	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  9501		577777	777777			AEE=YY				;INITIAL C(E)
  9502	036161	200 05 0 00 045171 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  9503	036162	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  9504		677777	777777			AR1=V2				;EXPECTED RESULT IN AC
  9505	036163	312 07 0 00 045167 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  9506	036164	003 07 0 00 043731 		ER3	AC,43731		;HIGH PRODUCT FAILED
  9507		600000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  9508	036165	312 10 0 00 044762 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  9509	036166	004 10 0 00 043732 		ER4	AC+1,43732		;LOW PRODUCT FAILED
  9510		577777	777777			AEE=YY				;INITIAL C(E)
  9511	036167	312 05 0 00 045171 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  9512	036170	005 05 0 00 043733 		ER5	E,43733			;C(E) WAS CLOBBERED
  9513	036171	321 11 0 00 036157 		JUMPL	AC+2,F43730		;LOOP ON ERROR SWITCH^
  9514
  9515			004374			ADR=ADR+1
  9516		400000	000000			XX=XX+XX
  9517		377777	777777			YY=YY+YY+1
  9518						IFE	XX,<XX=1>
  9519						IFE	<YY-1>,<YY=-2>
  9520
  9521					;MULTIPLY A FLOATING 0 BY A FLOATING 1
  9522		400000	000000			V1=XX*YY
  9523						IFE	<XX_-22>,<V2A=-1>
  9524		777777	777777			IFN	<XX_-22>,<V2A=<<<<YY_-22>+<YY_22>>*<XX_-21>>+<XX_-21>-1>>
  9525						IFG	XX,<V2=V2A>
  9526		400000	000001			IFL	XX,<V2=XX+1>
  9527						MOP1	(\ADR,XX,0,YY,V2,V1)^
  9528					;THIS MACRO INITIALIZES AC,AC+1 AND E WITH [XX],[0] AND
  9529					;[YY] RESPECTIVELY, PERFORMS 'MUL AC,E' AND COMPARES AC,AC+1
  9530					;AND E AGAINST [V2], [V1] AND [YY] RESPECTIVELY.
  9531					;IF ANY OF THE ABOVE COMPARISONS FAIL, AN ERROR IS REPORTED
  9532
  9533		400000	000000		F43740:	AA1=XX				;INITIAL C(AC)
  9534	036172	200 07 0 00 044765 		MOVE	AC,[XX]			;PRELOAD AC (MULTIPLIER)
  9535			000000			AA2=0				;INITIAL C(AC+1)
  9536	036173	200 10 0 00 044615 		MOVE	AC+1,[0]		;PRELOAD AC+1
  9537		377777	777777			AEE=YY				;INITIAL C(E)
  9538	036174	200 05 0 00 045172 		MOVE	E,[YY]			;PRELOAD E (MULTIPLICAND)
  9539	036175	224 07 0 00 000005 		MUL	AC,E			;*MULTIPLY C(E) BY C(AC)
  9540		400000	000001			AR1=V2				;EXPECTED RESULT IN AC
  9541	036176	312 07 0 00 045234 		CAME	AC,[V2]			;IS HIGH PRODUCT CORRECT?
  9542	036177	003 07 0 00 043741 		ER3	AC,43741		;HIGH PRODUCT FAILED
  9543		400000	000000			AR2=V1				;EXPECTED RESULT IN AC+1
  9544	036200	312 10 0 00 044765 		CAME	AC+1,[V1]		;IS LOW PRODUCT CORRECT?
  9545	036201	004 10 0 00 043742 		ER4	AC+1,43742		;LOW PRODUCT FAILED
  9546		377777	777777			AEE=YY				;INITIAL C(E)
  9547	036202	312 05 0 00 045172 		CAME	E,[YY]			;WAS C(E) CLOBBERED?
  9548	036203	005 05 0 00 043743 		ER5	E,43743			;C(E) WAS CLOBBERED
  9549	036204	321 11 0 00 036172 		JUMPL	AC+2,F43740		;LOOP ON ERROR SWITCH^
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 8
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0193

  9550					;MULTIPLIER = 2,4
  9551					;MULTIPLICAND = 377777 777777
  9552
  9553			000014			AC=14
  9554						SAVEAC	(1,1)^
  9555	036205	201 16 0 00 036205 		MOVEI	AC+2,.		;SAVE TEST PC
  9556	036206	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
  9557	036207	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  9558	036210	202 16 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  9559
  9560			000300		SN=300
  9561		777777	777777			XX=-1
  9562			000002			YY=2
  9563			000001			ZZ=1
  9564
  9565					F300:	REPEAT ^D2,
  9566					<SN=SN+1
  9567						XX=XX+2
  9568						YY=YY-2
  9569						IFE	YY,<YY=377777777776>
  9570						ZZ=ZZ+ZZ
  9571						MOVEI	AC,ZZ		;SETUP MULTIPLIER
  9572						HRLOI	AC-1,377777	;SETUP MULTIPLICAND
  9573						MUL	AC,AC-1		;MULTIPLY ZZ X 377777777777
  9574						CAME	AC,[XX]		;TEST HIGH PROD
  9575						ER3	AC,SN
  9576						CAME	AC+1,[YY]	;TEST LOW PROD
  9577						ER4	AC+1,SN
  9578						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
  9579					>
  9580			000301		SN=SN+1
  9581			000001			XX=XX+2
  9582			000000			YY=YY-2
  9583		377777	777776			IFE	YY,<YY=377777777776>
  9584			000002			ZZ=ZZ+ZZ
  9585	036211	201 14 0 00 000002 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
  9586	036212	525 13 0 00 377777 		HRLOI	AC-1,377777	;SETUP MULTIPLICAND
  9587	036213	224 14 0 00 000013 		MUL	AC,AC-1		;MULTIPLY ZZ X 377777777777
  9588	036214	312 14 0 00 044616 		CAME	AC,[XX]		;TEST HIGH PROD
  9589	036215	003 14 0 00 000301 		ER3	AC,SN
  9590	036216	312 15 0 00 045173 		CAME	AC+1,[YY]	;TEST LOW PROD
  9591	036217	004 15 0 00 000301 		ER4	AC+1,SN
  9592	036220	321 16 0 00 036211 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
  9593
  9594			000302		SN=SN+1
  9595			000003			XX=XX+2
  9596		377777	777774			YY=YY-2
  9597						IFE	YY,<YY=377777777776>
  9598			000004			ZZ=ZZ+ZZ
  9599	036221	201 14 0 00 000004 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
  9600	036222	525 13 0 00 377777 		HRLOI	AC-1,377777	;SETUP MULTIPLICAND
  9601	036223	224 14 0 00 000013 		MUL	AC,AC-1		;MULTIPLY ZZ X 377777777777
  9602	036224	312 14 0 00 045235 		CAME	AC,[XX]		;TEST HIGH PROD
  9603	036225	003 14 0 00 000302 		ER3	AC,SN
  9604	036226	312 15 0 00 045236 		CAME	AC+1,[YY]	;TEST LOW PROD
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 8-1
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0194

  9605	036227	004 15 0 00 000302 		ER4	AC+1,SN
  9606	036230	321 16 0 00 036221 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
  9607
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 9
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0195

  9608					;TEST MQ FINAL SHIFT
  9609					;MULTIPLIER = 200000 000000
  9610					;MULTIPLICAND = 5,7
  9611
  9612			000007			AC=7
  9613						SAVEAC	(1,1)^
  9614	036231	201 11 0 00 036231 		MOVEI	AC+2,.		;SAVE TEST PC
  9615	036232	202 11 0 00 030051 		MOVEM	AC+2,TESTPC
  9616	036233	201 11 0 00 000011 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  9617	036234	202 11 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  9618
  9619			000500		SN=500
  9620			000001			XX=1
  9621			000003			ZZ=3
  9622
  9623					F500:	REPEAT ^D2,		;TEST MQSHRT FAILING
  9624					<SN=SN+1
  9625						XX=XX+1
  9626						ZZ=ZZ+2
  9627						MOVSI	AC-2,200000	;SETUP FOR COMPARISON
  9628						MOVSI	AC,200000	;SETUP MULTIPLIER
  9629						MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
  9630						MUL	AC,AC-1		;MUL 200000 000000 X ZZ
  9631						CAME	AC+1,AC-2	;TEST LOW PROD
  9632						ER4	AC+1,SN
  9633						MOVEI	AC-2,XX		;SETUP FOR COMPARISON
  9634						CAME	AC,AC-2		;TEST HIGH PROD
  9635						ER3	AC,SN
  9636						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
  9637					>
  9638			000501		SN=SN+1
  9639			000002			XX=XX+1
  9640			000005			ZZ=ZZ+2
  9641	036235	205 05 0 00 200000 		MOVSI	AC-2,200000	;SETUP FOR COMPARISON
  9642	036236	205 07 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
  9643	036237	201 06 0 00 000005 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
  9644	036240	224 07 0 00 000006 		MUL	AC,AC-1		;MUL 200000 000000 X ZZ
  9645	036241	312 10 0 00 000005 		CAME	AC+1,AC-2	;TEST LOW PROD
  9646	036242	004 10 0 00 000501 		ER4	AC+1,SN
  9647	036243	201 05 0 00 000002 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
  9648	036244	312 07 0 00 000005 		CAME	AC,AC-2		;TEST HIGH PROD
  9649	036245	003 07 0 00 000501 		ER3	AC,SN
  9650	036246	321 11 0 00 036235 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
  9651
  9652			000502		SN=SN+1
  9653			000003			XX=XX+1
  9654			000007			ZZ=ZZ+2
  9655	036247	205 05 0 00 200000 		MOVSI	AC-2,200000	;SETUP FOR COMPARISON
  9656	036250	205 07 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
  9657	036251	201 06 0 00 000007 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
  9658	036252	224 07 0 00 000006 		MUL	AC,AC-1		;MUL 200000 000000 X ZZ
  9659	036253	312 10 0 00 000005 		CAME	AC+1,AC-2	;TEST LOW PROD
  9660	036254	004 10 0 00 000502 		ER4	AC+1,SN
  9661	036255	201 05 0 00 000003 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
  9662	036256	312 07 0 00 000005 		CAME	AC,AC-2		;TEST HIGH PROD
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 9-1
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0196

  9663	036257	003 07 0 00 000502 		ER3	AC,SN
  9664	036260	321 11 0 00 036247 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
  9665
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 10
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0197

  9666					;MULTIPLIER = 10,20
  9667					;MULTIPLICAND = 377777 777777
  9668
  9669			000011			AC=11
  9670						SAVEAC	(1,1)^
  9671	036261	201 13 0 00 036261 		MOVEI	AC+2,.		;SAVE TEST PC
  9672	036262	202 13 0 00 030051 		MOVEM	AC+2,TESTPC
  9673	036263	201 13 0 00 000013 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  9674	036264	202 13 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  9675
  9676			000700		SN=700
  9677		777777	777777			XX=-1
  9678			000004			ZZ=4
  9679
  9680					F700:	REPEAT ^D2,		;TEST ARSHRT FAILING
  9681					<SN=SN+1
  9682						XX=XX+10
  9683						ZZ=ZZ+ZZ
  9684						MOVEI	AC,ZZ		;SETUP MULTIPLIER
  9685						HRLOI	AC-1,377777	;SETUP MULTIPLICAND
  9686						MUL	AC,AC-1		;MUL. ZZ X 377777 777777
  9687						CAME	AC+1,[ZZ*377777777777]		;TEST LOW PROD
  9688						ER4	AC+1,SN		;ARSHRT ASSERTED
  9689						CAME	AC,[XX]		;TEST HIGH PROD = PLIER
  9690						ER3	AC,SN
  9691						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
  9692					>
  9693			000701		SN=SN+1
  9694			000007			XX=XX+10
  9695			000010			ZZ=ZZ+ZZ
  9696	036265	201 11 0 00 000010 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
  9697	036266	525 10 0 00 377777 		HRLOI	AC-1,377777	;SETUP MULTIPLICAND
  9698	036267	224 11 0 00 000010 		MUL	AC,AC-1		;MUL. ZZ X 377777 777777
  9699	036270	312 12 0 00 045237 		CAME	AC+1,[ZZ*377777777777]		;TEST LOW PROD
  9700	036271	004 12 0 00 000701 		ER4	AC+1,SN		;ARSHRT ASSERTED
  9701	036272	312 11 0 00 045240 		CAME	AC,[XX]		;TEST HIGH PROD = PLIER
  9702	036273	003 11 0 00 000701 		ER3	AC,SN
  9703	036274	321 13 0 00 036264 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
  9704
  9705			000702		SN=SN+1
  9706			000017			XX=XX+10
  9707			000020			ZZ=ZZ+ZZ
  9708	036275	201 11 0 00 000020 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
  9709	036276	525 10 0 00 377777 		HRLOI	AC-1,377777	;SETUP MULTIPLICAND
  9710	036277	224 11 0 00 000010 		MUL	AC,AC-1		;MUL. ZZ X 377777 777777
  9711	036300	312 12 0 00 045241 		CAME	AC+1,[ZZ*377777777777]		;TEST LOW PROD
  9712	036301	004 12 0 00 000702 		ER4	AC+1,SN		;ARSHRT ASSERTED
  9713	036302	312 11 0 00 045242 		CAME	AC,[XX]		;TEST HIGH PROD = PLIER
  9714	036303	003 11 0 00 000702 		ER3	AC,SN
  9715	036304	321 13 0 00 036274 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
  9716
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 11
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0198

  9717					;MULTIPLIER = 0
  9718					;MULTIPLICAND = -15,-13
  9719
  9720			000010			AC=10
  9721						SAVEAC	(1,1)^
  9722	036305	201 12 0 00 036305 		MOVEI	AC+2,.		;SAVE TEST PC
  9723	036306	202 12 0 00 030051 		MOVEM	AC+2,TESTPC
  9724	036307	201 12 0 00 000012 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  9725	036310	202 12 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  9726
  9727			001000		SN=1000
  9728		777777	777761			ZZ=-17
  9729
  9730					F1000:	REPEAT ^D2,		;TEST MQSHRT FAILING
  9731					<SN=SN+1
  9732						ZZ=ZZ+2
  9733						SETZ	AC,		;SETUP MULTIPLIER
  9734						HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
  9735						MUL	AC,AC-1		;MULTIPLY 0 X -ZZ
  9736						SKIPE	AC+1		;TEST LOW PROD
  9737						ER4	AC+1,SN
  9738						SKIPE	AC		;TEST HIGH PROD
  9739						ER3	AC,SN
  9740						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
  9741					>
  9742			001001		SN=SN+1
  9743		777777	777763			ZZ=ZZ+2
  9744	036311	400 10 0 00 000000 		SETZ	AC,		;SETUP MULTIPLIER
  9745	036312	561 07 0 00 777763 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
  9746	036313	224 10 0 00 000007 		MUL	AC,AC-1		;MULTIPLY 0 X -ZZ
  9747	036314	332 00 0 00 000011 		SKIPE	AC+1		;TEST LOW PROD
  9748	036315	004 11 0 00 001001 		ER4	AC+1,SN
  9749	036316	332 00 0 00 000010 		SKIPE	AC		;TEST HIGH PROD
  9750	036317	003 10 0 00 001001 		ER3	AC,SN
  9751	036320	321 12 0 00 036310 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
  9752
  9753			001002		SN=SN+1
  9754		777777	777765			ZZ=ZZ+2
  9755	036321	400 10 0 00 000000 		SETZ	AC,		;SETUP MULTIPLIER
  9756	036322	561 07 0 00 777765 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
  9757	036323	224 10 0 00 000007 		MUL	AC,AC-1		;MULTIPLY 0 X -ZZ
  9758	036324	332 00 0 00 000011 		SKIPE	AC+1		;TEST LOW PROD
  9759	036325	004 11 0 00 001002 		ER4	AC+1,SN
  9760	036326	332 00 0 00 000010 		SKIPE	AC		;TEST HIGH PROD
  9761	036327	003 10 0 00 001002 		ER3	AC,SN
  9762	036330	321 12 0 00 036320 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
  9763
  9764					PAGE
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 11-1
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0199

  9765					;MULTIPLIER = -2,-4
  9766					;MULTIPLICAND = 0
  9767
  9768			000007			AC=7
  9769						SAVEAC	(1,1)^
  9770	036331	201 11 0 00 036331 		MOVEI	AC+2,.		;SAVE TEST PC
  9771	036332	202 11 0 00 030051 		MOVEM	AC+2,TESTPC
  9772	036333	201 11 0 00 000011 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  9773	036334	202 11 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  9774
  9775			001100		SN=1100
  9776			000000			XX=0
  9777		777777	777777			ZZ=-1
  9778
  9779					F1100:	REPEAT	^D2,
  9780					<SN=SN+1
  9781						XX=XX+XX
  9782						ZZ=ZZ+ZZ
  9783						IFE	XX,<XX=-1>
  9784						HRROI	AC,ZZ		;SETUP MULTIPLIER
  9785						SETZ	AC-1,		;SETUP MULTIPLICAND
  9786						MUL	AC,AC-1		;MULTIPLY ZZ X 0
  9787						SKIPE	AC+1		;TEST LOW PROD
  9788						ER4	AC+1,SN
  9789						SKIPE	AC		;TEST HIGH PROD
  9790						ER3	AC,SN
  9791						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
  9792					>
  9793			001101		SN=SN+1
  9794			000000			XX=XX+XX
  9795		777777	777776			ZZ=ZZ+ZZ
  9796		777777	777777			IFE	XX,<XX=-1>
  9797	036335	561 07 0 00 777776 		HRROI	AC,ZZ		;SETUP MULTIPLIER
  9798	036336	400 06 0 00 000000 		SETZ	AC-1,		;SETUP MULTIPLICAND
  9799	036337	224 07 0 00 000006 		MUL	AC,AC-1		;MULTIPLY ZZ X 0
  9800	036340	332 00 0 00 000010 		SKIPE	AC+1		;TEST LOW PROD
  9801	036341	004 10 0 00 001101 		ER4	AC+1,SN
  9802	036342	332 00 0 00 000007 		SKIPE	AC		;TEST HIGH PROD
  9803	036343	003 07 0 00 001101 		ER3	AC,SN
  9804	036344	321 11 0 00 036333 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
  9805
  9806			001102		SN=SN+1
  9807		777777	777776			XX=XX+XX
  9808		777777	777774			ZZ=ZZ+ZZ
  9809						IFE	XX,<XX=-1>
  9810	036345	561 07 0 00 777774 		HRROI	AC,ZZ		;SETUP MULTIPLIER
  9811	036346	400 06 0 00 000000 		SETZ	AC-1,		;SETUP MULTIPLICAND
  9812	036347	224 07 0 00 000006 		MUL	AC,AC-1		;MULTIPLY ZZ X 0
  9813	036350	332 00 0 00 000010 		SKIPE	AC+1		;TEST LOW PROD
  9814	036351	004 10 0 00 001102 		ER4	AC+1,SN
  9815	036352	332 00 0 00 000007 		SKIPE	AC		;TEST HIGH PROD
  9816	036353	003 07 0 00 001102 		ER3	AC,SN
  9817	036354	321 11 0 00 036343 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
  9818
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 12
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0200

  9819					;MULTIPLIER = 2,4
  9820					;MULTIPLICAND = 5
  9821
  9822			000014			AC=14
  9823						SAVEAC	(1,1)^
  9824	036355	201 16 0 00 036355 		MOVEI	AC+2,.		;SAVE TEST PC
  9825	036356	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
  9826	036357	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  9827	036360	202 16 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  9828
  9829			001400		SN=1400
  9830			000005			XX=5
  9831			000001			ZZ=1
  9832
  9833					F1400:	REPEAT ^D2,
  9834					<SN=SN+1
  9835						XX=XX+XX
  9836						ZZ=ZZ+ZZ
  9837						HRRZI	AC-2,XX		;SETUP FOR COMPARISON
  9838						MOVEI	AC,ZZ		;SETUP MULTIPLIER
  9839						MOVEI	AC-1,5		;SETUP MULTIPLICAND
  9840						MUL	AC,AC-1		;MULTIPLY ZZ X 5
  9841						CAME	AC+1,AC-2	;TEST LOW PROD
  9842						ER4	AC+1,SN
  9843						SETO	AC-2,		;SET FOR COMPARISON
  9844						SKIPE	AC				;TEST HIGH PROD
  9845						ER3	AC,SN
  9846						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
  9847					>
  9848			001401		SN=SN+1
  9849			000012			XX=XX+XX
  9850			000002			ZZ=ZZ+ZZ
  9851	036361	551 12 0 00 000012 		HRRZI	AC-2,XX		;SETUP FOR COMPARISON
  9852	036362	201 14 0 00 000002 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
  9853	036363	201 13 0 00 000005 		MOVEI	AC-1,5		;SETUP MULTIPLICAND
  9854	036364	224 14 0 00 000013 		MUL	AC,AC-1		;MULTIPLY ZZ X 5
  9855	036365	312 15 0 00 000012 		CAME	AC+1,AC-2	;TEST LOW PROD
  9856	036366	004 15 0 00 001401 		ER4	AC+1,SN
  9857	036367	474 12 0 00 000000 		SETO	AC-2,		;SET FOR COMPARISON
  9858	036370	332 00 0 00 000014 		SKIPE	AC				;TEST HIGH PROD
  9859	036371	003 14 0 00 001401 		ER3	AC,SN
  9860	036372	321 16 0 00 036361 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
  9861
  9862			001402		SN=SN+1
  9863			000024			XX=XX+XX
  9864			000004			ZZ=ZZ+ZZ
  9865	036373	551 12 0 00 000024 		HRRZI	AC-2,XX		;SETUP FOR COMPARISON
  9866	036374	201 14 0 00 000004 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
  9867	036375	201 13 0 00 000005 		MOVEI	AC-1,5		;SETUP MULTIPLICAND
  9868	036376	224 14 0 00 000013 		MUL	AC,AC-1		;MULTIPLY ZZ X 5
  9869	036377	312 15 0 00 000012 		CAME	AC+1,AC-2	;TEST LOW PROD
  9870	036400	004 15 0 00 001402 		ER4	AC+1,SN
  9871	036401	474 12 0 00 000000 		SETO	AC-2,		;SET FOR COMPARISON
  9872	036402	332 00 0 00 000014 		SKIPE	AC				;TEST HIGH PROD
  9873	036403	003 14 0 00 001402 		ER3	AC,SN
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 12-1
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0201

  9874	036404	321 16 0 00 036373 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
  9875
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 13
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0202

  9876					;MULTIPLIER = 200000 000000,100000 000000
  9877					;MULTIPLICAND = 25
  9878
  9879			000011			AC=11
  9880						SAVEAC	(1,1)^
  9881	036405	201 13 0 00 036405 		MOVEI	AC+2,.		;SAVE TEST PC
  9882	036406	202 13 0 00 030051 		MOVEM	AC+2,TESTPC
  9883	036407	201 13 0 00 000013 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  9884	036410	202 13 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  9885
  9886			002000		SN=2000
  9887			377777			XX=377777
  9888			000024			YY=24
  9889			000000			ZZ=0
  9890
  9891					F2000:	REPEAT ^D2,
  9892					<SN=SN+1
  9893						XX=XX/2
  9894						YY=YY/2
  9895						ZZ=ZZ/2
  9896						IFE	ZZ,<ZZ=200000>
  9897						MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
  9898						MOVSI	AC,ZZ		;SETUP MULTIPLIER
  9899						MOVEI	AC-1,25		;SETUP MULTIPLICAND
  9900						MUL	AC,AC-1		;MULTIPLY ZZ X 25
  9901						CAME	AC+1,AC-2	;TEST LOW PROD
  9902						ER4	AC+1,SN
  9903						MOVEI	AC-2,YY		;SET FOR COMPARISON
  9904						CAME	AC,AC-2		;TEST HIGH PROD
  9905						ER3	AC,SN
  9906						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
  9907					>
  9908			002001		SN=SN+1
  9909			177777			XX=XX/2
  9910			000012			YY=YY/2
  9911			000000			ZZ=ZZ/2
  9912			200000			IFE	ZZ,<ZZ=200000>
  9913	036411	205 07 0 00 200000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
  9914	036412	205 11 0 00 200000 		MOVSI	AC,ZZ		;SETUP MULTIPLIER
  9915	036413	201 10 0 00 000025 		MOVEI	AC-1,25		;SETUP MULTIPLICAND
  9916	036414	224 11 0 00 000010 		MUL	AC,AC-1		;MULTIPLY ZZ X 25
  9917	036415	312 12 0 00 000007 		CAME	AC+1,AC-2	;TEST LOW PROD
  9918	036416	004 12 0 00 002001 		ER4	AC+1,SN
  9919	036417	201 07 0 00 000012 		MOVEI	AC-2,YY		;SET FOR COMPARISON
  9920	036420	312 11 0 00 000007 		CAME	AC,AC-2		;TEST HIGH PROD
  9921	036421	003 11 0 00 002001 		ER3	AC,SN
  9922	036422	321 13 0 00 036411 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
  9923
  9924			002002		SN=SN+1
  9925			077777			XX=XX/2
  9926			000005			YY=YY/2
  9927			100000			ZZ=ZZ/2
  9928						IFE	ZZ,<ZZ=200000>
  9929	036423	205 07 0 00 100000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
  9930	036424	205 11 0 00 100000 		MOVSI	AC,ZZ		;SETUP MULTIPLIER
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 13-1
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0203

  9931	036425	201 10 0 00 000025 		MOVEI	AC-1,25		;SETUP MULTIPLICAND
  9932	036426	224 11 0 00 000010 		MUL	AC,AC-1		;MULTIPLY ZZ X 25
  9933	036427	312 12 0 00 000007 		CAME	AC+1,AC-2	;TEST LOW PROD
  9934	036430	004 12 0 00 002002 		ER4	AC+1,SN
  9935	036431	201 07 0 00 000005 		MOVEI	AC-2,YY		;SET FOR COMPARISON
  9936	036432	312 11 0 00 000007 		CAME	AC,AC-2		;TEST HIGH PROD
  9937	036433	003 11 0 00 002002 		ER3	AC,SN
  9938	036434	321 13 0 00 036423 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
  9939
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 14
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0204

  9940					;INPUT ONE'S-
  9941					;MULTIPLIER = 400000 000000
  9942					;MULTIPLICAND = -20,-40
  9943
  9944			000006			AC=6
  9945						SAVEAC	(1,1)^
  9946	036435	201 10 0 00 036435 		MOVEI	AC+2,.		;SAVE TEST PC
  9947	036436	202 10 0 00 030051 		MOVEM	AC+2,TESTPC
  9948	036437	201 10 0 00 000010 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
  9949	036440	202 10 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
  9950
  9951			002200		SN=2200
  9952		777777	777770			ZZ=-10
  9953			000010			XX=10
  9954
  9955					F2200:	REPEAT ^D2,
  9956					<SN=SN+1
  9957						ZZ=ZZ+ZZ
  9958						XX=XX+XX
  9959						MOVSI	AC,400000	;SETUP MULTIPLIER
  9960						HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
  9961						MUL	AC,AC-1		;MUL.400000 000000 X ZZ
  9962						CAIE	AC,XX		;TEST HIGH PROD
  9963						ER3	AC,SN
  9964						SKIPE	<AC+1>&17	;TEST LOW PROD
  9965						ER4	AC+1,SN
  9966						JUMPL	AC+2,.-^D7	;LOOP ON ERROR SWITCH
  9967					>
  9968			002201		SN=SN+1
  9969		777777	777760			ZZ=ZZ+ZZ
  9970			000020			XX=XX+XX
  9971	036441	205 06 0 00 400000 		MOVSI	AC,400000	;SETUP MULTIPLIER
  9972	036442	561 05 0 00 777760 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
  9973	036443	224 06 0 00 000005 		MUL	AC,AC-1		;MUL.400000 000000 X ZZ
  9974	036444	302 06 0 00 000020 		CAIE	AC,XX		;TEST HIGH PROD
  9975	036445	003 06 0 00 002201 		ER3	AC,SN
  9976	036446	332 00 0 00 000007 		SKIPE	<AC+1>&17	;TEST LOW PROD
  9977	036447	004 07 0 00 002201 		ER4	AC+1,SN
  9978	036450	321 10 0 00 036441 		JUMPL	AC+2,.-^D7	;LOOP ON ERROR SWITCH
  9979
  9980			002202		SN=SN+1
  9981		777777	777740			ZZ=ZZ+ZZ
  9982			000040			XX=XX+XX
  9983	036451	205 06 0 00 400000 		MOVSI	AC,400000	;SETUP MULTIPLIER
  9984	036452	561 05 0 00 777740 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
  9985	036453	224 06 0 00 000005 		MUL	AC,AC-1		;MUL.400000 000000 X ZZ
  9986	036454	302 06 0 00 000040 		CAIE	AC,XX		;TEST HIGH PROD
  9987	036455	003 06 0 00 002202 		ER3	AC,SN
  9988	036456	332 00 0 00 000007 		SKIPE	<AC+1>&17	;TEST LOW PROD
  9989	036457	004 07 0 00 002202 		ER4	AC+1,SN
  9990	036460	321 10 0 00 036451 		JUMPL	AC+2,.-^D7	;LOOP ON ERROR SWITCH
  9991
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 15
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0205

  9992					;MULTIPLIER = 10,20
  9993					;MULTIPLICAND = 4
  9994
  9995			000005			AC=5
  9996						SAVEAC	(1,1)^
  9997	036461	201 07 0 00 036461 		MOVEI	AC+2,.		;SAVE TEST PC
  9998	036462	202 07 0 00 030051 		MOVEM	AC+2,TESTPC
  9999	036463	201 07 0 00 000007 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 10000	036464	202 07 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 10001
 10002			002400		SN=2400
 10003			000020			XX=20
 10004			000004			ZZ=4
 10005					F2400:	REPEAT ^D2,
 10006					<SN=SN+1
 10007						XX=XX+XX
 10008						ZZ=ZZ+ZZ
 10009						MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 10010						MOVEI	AC,ZZ		;SETUP MULTIPLIER
 10011						MOVEI	AC-1,4		;SETUP MULTIPLICAND
 10012						MUL	AC,AC-1		;MULTIPLY ZZ X 4
 10013						CAME	AC+1,AC-2	;TEST LOW PROD
 10014						ER4	AC+1,SN
 10015						SKIPE	AC		;TEST HIGH PRODUCT
 10016						ER3	AC,SN
 10017						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 10018					>
 10019			002401		SN=SN+1
 10020			000040			XX=XX+XX
 10021			000010			ZZ=ZZ+ZZ
 10022	036465	201 03 0 00 000040 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 10023	036466	201 05 0 00 000010 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
 10024	036467	201 04 0 00 000004 		MOVEI	AC-1,4		;SETUP MULTIPLICAND
 10025	036470	224 05 0 00 000004 		MUL	AC,AC-1		;MULTIPLY ZZ X 4
 10026	036471	312 06 0 00 000003 		CAME	AC+1,AC-2	;TEST LOW PROD
 10027	036472	004 06 0 00 002401 		ER4	AC+1,SN
 10028	036473	332 00 0 00 000005 		SKIPE	AC		;TEST HIGH PRODUCT
 10029	036474	003 05 0 00 002401 		ER3	AC,SN
 10030	036475	321 07 0 00 036465 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 10031
 10032			002402		SN=SN+1
 10033			000100			XX=XX+XX
 10034			000020			ZZ=ZZ+ZZ
 10035	036476	201 03 0 00 000100 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 10036	036477	201 05 0 00 000020 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
 10037	036500	201 04 0 00 000004 		MOVEI	AC-1,4		;SETUP MULTIPLICAND
 10038	036501	224 05 0 00 000004 		MUL	AC,AC-1		;MULTIPLY ZZ X 4
 10039	036502	312 06 0 00 000003 		CAME	AC+1,AC-2	;TEST LOW PROD
 10040	036503	004 06 0 00 002402 		ER4	AC+1,SN
 10041	036504	332 00 0 00 000005 		SKIPE	AC		;TEST HIGH PRODUCT
 10042	036505	003 05 0 00 002402 		ER3	AC,SN
 10043	036506	321 07 0 00 036476 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 10044
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 16
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0206

 10045					;MULTIPLIER = 1,2
 10046					;MULTIPLICAND = 200000 000000,100000 000000
 10047
 10048			000014			AC=14
 10049						SAVEAC	(1,1)^
 10050	036507	201 16 0 00 036507 		MOVEI	AC+2,.		;SAVE TEST PC
 10051	036510	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
 10052	036511	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 10053	036512	202 16 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 10054
 10055			003300		SN=3300
 10056			000000			XX=0
 10057			000000			ZZ=0
 10058
 10059					F3300:	REPEAT ^D2,
 10060					<SN=SN+1
 10061						XX=XX+XX
 10062						ZZ=ZZ/2
 10063						IFE	XX,<XX=1>
 10064						IFE	ZZ,<ZZ=200000>
 10065						MOVSI	AC-2,200000	;SETUP FOR COMPARISON
 10066						SETO	AC+1,		;INITIALIZE AC+1
 10067						MOVEI	AC,XX		;SETUP MULTIPLIER
 10068						MOVSI	AC-1,ZZ		;SETUP MULTIPLICAND
 10069						MUL	AC,AC-1		;MULTIPLY TWO VARIABLES
 10070						SKIPE	AC		;TEST HIGH PROD
 10071						ER3	AC,SN
 10072						CAME	AC+1,AC-2	;TEST LOW PRODUCT
 10073						ER4	AC+1,SN
 10074						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 10075					>
 10076			003301		SN=SN+1
 10077			000000			XX=XX+XX
 10078			000000			ZZ=ZZ/2
 10079			000001			IFE	XX,<XX=1>
 10080			200000			IFE	ZZ,<ZZ=200000>
 10081	036513	205 12 0 00 200000 		MOVSI	AC-2,200000	;SETUP FOR COMPARISON
 10082	036514	474 15 0 00 000000 		SETO	AC+1,		;INITIALIZE AC+1
 10083	036515	201 14 0 00 000001 		MOVEI	AC,XX		;SETUP MULTIPLIER
 10084	036516	205 13 0 00 200000 		MOVSI	AC-1,ZZ		;SETUP MULTIPLICAND
 10085	036517	224 14 0 00 000013 		MUL	AC,AC-1		;MULTIPLY TWO VARIABLES
 10086	036520	332 00 0 00 000014 		SKIPE	AC		;TEST HIGH PROD
 10087	036521	003 14 0 00 003301 		ER3	AC,SN
 10088	036522	312 15 0 00 000012 		CAME	AC+1,AC-2	;TEST LOW PRODUCT
 10089	036523	004 15 0 00 003301 		ER4	AC+1,SN
 10090	036524	321 16 0 00 036514 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 10091
 10092			003302		SN=SN+1
 10093			000002			XX=XX+XX
 10094			100000			ZZ=ZZ/2
 10095						IFE	XX,<XX=1>
 10096						IFE	ZZ,<ZZ=200000>
 10097	036525	205 12 0 00 200000 		MOVSI	AC-2,200000	;SETUP FOR COMPARISON
 10098	036526	474 15 0 00 000000 		SETO	AC+1,		;INITIALIZE AC+1
 10099	036527	201 14 0 00 000002 		MOVEI	AC,XX		;SETUP MULTIPLIER
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 16-1
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0207

 10100	036530	205 13 0 00 100000 		MOVSI	AC-1,ZZ		;SETUP MULTIPLICAND
 10101	036531	224 14 0 00 000013 		MUL	AC,AC-1		;MULTIPLY TWO VARIABLES
 10102	036532	332 00 0 00 000014 		SKIPE	AC		;TEST HIGH PROD
 10103	036533	003 14 0 00 003302 		ER3	AC,SN
 10104	036534	312 15 0 00 000012 		CAME	AC+1,AC-2	;TEST LOW PRODUCT
 10105	036535	004 15 0 00 003302 		ER4	AC+1,SN
 10106	036536	321 16 0 00 036526 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 10107
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 17
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0208

 10108					;MUL
 10109					;MULTIPLIER = 400000 000000
 10110					;MULTIPLICAND = -1,-2
 10111
 10112			000012			AC=12
 10113						SAVEAC^
 10114	036537	201 14 0 00 036537 		MOVEI	AC+2,.		;SAVE TEST PC
 10115	036540	202 14 0 00 030051 		MOVEM	AC+2,TESTPC
 10116	036541	201 14 0 00 000014 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 10117	036542	202 14 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 10118
 10119			004000		SN=4000
 10120			000000			XX=0
 10121			000000			ZZ=0
 10122
 10123					F4000:	REPEAT ^D2,
 10124					<SN=SN+1
 10125						XX=XX+1
 10126						ZZ=ZZ-1
 10127						MOVSI	AC,400000	;SETUP MULTIPLIER
 10128						HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10129						MUL	AC,AC-1		;MULTIPLY TWO NEGATIVES
 10130						CAIE	AC,XX		
 10131						ER3	AC,SN
 10132						SKIPE	AC+1		;TEST LOW PROD
 10133						ER4	AC+1,SN
 10134						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 10135					>
 10136			004001		SN=SN+1
 10137			000001			XX=XX+1
 10138		777777	777777			ZZ=ZZ-1
 10139	036543	205 12 0 00 400000 		MOVSI	AC,400000	;SETUP MULTIPLIER
 10140	036544	561 11 0 00 777777 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10141	036545	224 12 0 00 000011 		MUL	AC,AC-1		;MULTIPLY TWO NEGATIVES
 10142	036546	302 12 0 00 000001 		CAIE	AC,XX		
 10143	036547	003 12 0 00 004001 		ER3	AC,SN
 10144	036550	332 00 0 00 000013 		SKIPE	AC+1		;TEST LOW PROD
 10145	036551	004 13 0 00 004001 		ER4	AC+1,SN
 10146	036552	321 14 0 00 036543 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 10147
 10148			004002		SN=SN+1
 10149			000002			XX=XX+1
 10150		777777	777776			ZZ=ZZ-1
 10151	036553	205 12 0 00 400000 		MOVSI	AC,400000	;SETUP MULTIPLIER
 10152	036554	561 11 0 00 777776 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10153	036555	224 12 0 00 000011 		MUL	AC,AC-1		;MULTIPLY TWO NEGATIVES
 10154	036556	302 12 0 00 000002 		CAIE	AC,XX		
 10155	036557	003 12 0 00 004002 		ER3	AC,SN
 10156	036560	332 00 0 00 000013 		SKIPE	AC+1		;TEST LOW PROD
 10157	036561	004 13 0 00 004002 		ER4	AC+1,SN
 10158	036562	321 14 0 00 036553 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 10159
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 18
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0209

 10160					;TEST MUL-IMMEDIATE MODE
 10161					;TEST THE ABILITY TO MULTIPLY WITH
 10162					;EFFECTIVE ADDRESS AS MULTIPLICAND
 10163					;MULTIPLIER = 1
 10164					;MULTIPLICAND = E
 10165
 10166			004200		SN=4200
 10167			000011			AC=11
 10168
 10169					F4200:	REPEAT ^D2,		;TEST IMMEDIATE MODE
 10170					<SN=SN+1
 10171						AC=AC-1
 10172						SAVEAC	(1,1)		;SAVE AC FOR ITERATION
 10173						MOVEI	AC-2,AC-1	;SETUP FOR COMPARISON
 10174						MOVEI	AC,1		;SETUP MULTIPLIER
 10175						HRROI	AC-1,-1		;SETUP AC-1
 10176						MULI	AC,AC-1		;MULTIPLY 1 X E
 10177						CAME	AC+1,AC-2	;TEST LOW PROD
 10178						ER4	AC+1,SN		;MULTIPLIED BY C(E) VICE E
 10179						SKIPE	AC		;TEST HIGH PROD
 10180						ER3	AC,SN
 10181						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 10182					>
 10183			004201		SN=SN+1
 10184			000010			AC=AC-1
 10185						SAVEAC	(1,1)^
 10186	036563	201 12 0 00 036563 		MOVEI	AC+2,.		;SAVE TEST PC
 10187	036564	202 12 0 00 030051 		MOVEM	AC+2,TESTPC
 10188	036565	201 12 0 00 000012 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 10189						MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^		;SAVE AC FOR ITERAT
 10190	036566	202 12 0 00 045454 	ION
 10191	036567	201 06 0 00 000007 		MOVEI	AC-2,AC-1	;SETUP FOR COMPARISON
 10192	036570	201 10 0 00 000001 		MOVEI	AC,1		;SETUP MULTIPLIER
 10193	036571	561 07 0 00 777777 		HRROI	AC-1,-1		;SETUP AC-1
 10194	036572	225 10 0 00 000007 		MULI	AC,AC-1		;MULTIPLY 1 X E
 10195	036573	312 11 0 00 000006 		CAME	AC+1,AC-2	;TEST LOW PROD
 10196	036574	004 11 0 00 004201 		ER4	AC+1,SN		;MULTIPLIED BY C(E) VICE E
 10197	036575	332 00 0 00 000010 		SKIPE	AC		;TEST HIGH PROD
 10198	036576	003 10 0 00 004201 		ER3	AC,SN
 10199	036577	321 12 0 00 036567 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 10200
 10201			004202		SN=SN+1
 10202			000007			AC=AC-1
 10203						SAVEAC	(1,1)^
 10204	036600	201 11 0 00 036600 		MOVEI	AC+2,.		;SAVE TEST PC
 10205	036601	202 11 0 00 030051 		MOVEM	AC+2,TESTPC
 10206	036602	201 11 0 00 000011 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 10207						MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^		;SAVE AC FOR ITERAT
 10208	036603	202 11 0 00 045454 	ION
 10209	036604	201 05 0 00 000006 		MOVEI	AC-2,AC-1	;SETUP FOR COMPARISON
 10210	036605	201 07 0 00 000001 		MOVEI	AC,1		;SETUP MULTIPLIER
 10211	036606	561 06 0 00 777777 		HRROI	AC-1,-1		;SETUP AC-1
 10212	036607	225 07 0 00 000006 		MULI	AC,AC-1		;MULTIPLY 1 X E
 10213	036610	312 10 0 00 000005 		CAME	AC+1,AC-2	;TEST LOW PROD
 10214	036611	004 10 0 00 004202 		ER4	AC+1,SN		;MULTIPLIED BY C(E) VICE E
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 18-1
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0210

 10215	036612	332 00 0 00 000007 		SKIPE	AC		;TEST HIGH PROD
 10216	036613	003 07 0 00 004202 		ER3	AC,SN
 10217	036614	321 11 0 00 036604 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 10218
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 19
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0211

 10219					;TEST MUL-MEMORY MODE
 10220					;TEST SC(E), PRODUCT HIGH ORDER PART
 10221					;TEST ABILITY TO ASSERT SAC INH
 10222					;TEST ABILITY TO INHIBIT SAC2-PRODUCT LOW
 10223					;ORDER PART IS LOST
 10224					;MULTIPLIER = 200000 000000
 10225					;MULTIPLICAND = 2,4
 10226
 10227			000007			AC=7
 10228						SAVEAC^
 10229	036615	201 11 0 00 036615 		MOVEI	AC+2,.		;SAVE TEST PC
 10230	036616	202 11 0 00 030051 		MOVEM	AC+2,TESTPC
 10231	036617	201 11 0 00 000011 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 10232	036620	202 11 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 10233
 10234			004300		SN=4300
 10235			000001			ZZ=1
 10236
 10237					F4300:	REPEAT	^D2,		;TEST SCE
 10238					<SN=SN+1
 10239						ZZ=ZZ+ZZ
 10240						MOVSI	AC-2,200000	;SETUP FOR COMPARISON
 10241						SETZM	AC+1		;SETUP AC+1
 10242						MOVSI	AC,200000	;SETUP MULTIPLIER
 10243						MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10244						MULM	AC,AC-1		;MUL 200000 000000 X ZZ
 10245						CAME	AC,AC-2		;TEST AC
 10246						ER3	AC,SN		;C(AC) WAS CLOBBERED
 10247						SKIPE	AC+1		;TEST AC+1
 10248						ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 10249						CAIE	AC-1,ZZ/2	;TEST PRODUCT
 10250						ER5	AC-1,SN
 10251						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 10252					>
 10253			004301		SN=SN+1
 10254			000002			ZZ=ZZ+ZZ
 10255	036621	205 05 0 00 200000 		MOVSI	AC-2,200000	;SETUP FOR COMPARISON
 10256	036622	402 00 0 00 000010 		SETZM	AC+1		;SETUP AC+1
 10257	036623	205 07 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
 10258	036624	201 06 0 00 000002 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10259	036625	226 07 0 00 000006 		MULM	AC,AC-1		;MUL 200000 000000 X ZZ
 10260	036626	312 07 0 00 000005 		CAME	AC,AC-2		;TEST AC
 10261	036627	003 07 0 00 004301 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 10262	036630	332 00 0 00 000010 		SKIPE	AC+1		;TEST AC+1
 10263	036631	004 10 0 00 004301 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 10264	036632	302 06 0 00 000001 		CAIE	AC-1,ZZ/2	;TEST PRODUCT
 10265	036633	005 06 0 00 004301 		ER5	AC-1,SN
 10266	036634	321 11 0 00 036623 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 10267
 10268			004302		SN=SN+1
 10269			000004			ZZ=ZZ+ZZ
 10270	036635	205 05 0 00 200000 		MOVSI	AC-2,200000	;SETUP FOR COMPARISON
 10271	036636	402 00 0 00 000010 		SETZM	AC+1		;SETUP AC+1
 10272	036637	205 07 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
 10273	036640	201 06 0 00 000004 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 19-1
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0212

 10274	036641	226 07 0 00 000006 		MULM	AC,AC-1		;MUL 200000 000000 X ZZ
 10275	036642	312 07 0 00 000005 		CAME	AC,AC-2		;TEST AC
 10276	036643	003 07 0 00 004302 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 10277	036644	332 00 0 00 000010 		SKIPE	AC+1		;TEST AC+1
 10278	036645	004 10 0 00 004302 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 10279	036646	302 06 0 00 000002 		CAIE	AC-1,ZZ/2	;TEST PRODUCT
 10280	036647	005 06 0 00 004302 		ER5	AC-1,SN
 10281	036650	321 11 0 00 036637 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 10282
 10283					PAGE
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 19-2
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0213

 10284			004400		SN=4400
 10285			000001			ZZ=1
 10286
 10287					F4400:	REPEAT ^D2,		;TEST SAC INH
 10288					<SN=SN+1
 10289						ZZ=ZZ+ZZ
 10290						MOVSI	AC,200000	;SETUP MULTIPLIER
 10291						MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10292						MULM	AC,AC-1		;MUL 200000 000000 X ZZ
 10293						TLNN	AC,200000	;TEST FOR ORIGINAL CONTENTS
 10294						ER3	AC,SN
 10295						JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 10296					>
 10297			004401		SN=SN+1
 10298			000002			ZZ=ZZ+ZZ
 10299	036651	205 07 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
 10300	036652	201 06 0 00 000002 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10301	036653	226 07 0 00 000006 		MULM	AC,AC-1		;MUL 200000 000000 X ZZ
 10302	036654	607 07 0 00 200000 		TLNN	AC,200000	;TEST FOR ORIGINAL CONTENTS
 10303	036655	003 07 0 00 004401 		ER3	AC,SN
 10304	036656	321 11 0 00 036651 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 10305
 10306			004402		SN=SN+1
 10307			000004			ZZ=ZZ+ZZ
 10308	036657	205 07 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
 10309	036660	201 06 0 00 000004 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10310	036661	226 07 0 00 000006 		MULM	AC,AC-1		;MUL 200000 000000 X ZZ
 10311	036662	607 07 0 00 200000 		TLNN	AC,200000	;TEST FOR ORIGINAL CONTENTS
 10312	036663	003 07 0 00 004402 		ER3	AC,SN
 10313	036664	321 11 0 00 036657 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 10314
 10315					PAGE
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 19-3
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0214

 10316			004500		SN=4500
 10317			000001			ZZ=1
 10318
 10319					F4500:	REPEAT ^D2,		;TEST SAC2 ASSERTED
 10320					<SN=SN+1
 10321						ZZ=ZZ+ZZ
 10322						SETZ	AC+1,		;CLEAR AC+1
 10323						MOVSI	AC,200000	;SETUP MULTIPLIER
 10324						MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10325						MULM	AC,AC-1		;MUL 200000 000000 X ZZ
 10326						SKIPE	AC+1		;TEST FOR ORIGINAL CONTENTS
 10327						ER4	AC+1,SN
 10328						JUMPL	AC+2,.-6	;LOOP ON ERROR SWITCH
 10329					>
 10330			004501		SN=SN+1
 10331			000002			ZZ=ZZ+ZZ
 10332	036665	400 10 0 00 000000 		SETZ	AC+1,		;CLEAR AC+1
 10333	036666	205 07 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
 10334	036667	201 06 0 00 000002 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10335	036670	226 07 0 00 000006 		MULM	AC,AC-1		;MUL 200000 000000 X ZZ
 10336	036671	332 00 0 00 000010 		SKIPE	AC+1		;TEST FOR ORIGINAL CONTENTS
 10337	036672	004 10 0 00 004501 		ER4	AC+1,SN
 10338	036673	321 11 0 00 036665 		JUMPL	AC+2,.-6	;LOOP ON ERROR SWITCH
 10339
 10340			004502		SN=SN+1
 10341			000004			ZZ=ZZ+ZZ
 10342	036674	400 10 0 00 000000 		SETZ	AC+1,		;CLEAR AC+1
 10343	036675	205 07 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
 10344	036676	201 06 0 00 000004 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10345	036677	226 07 0 00 000006 		MULM	AC,AC-1		;MUL 200000 000000 X ZZ
 10346	036700	332 00 0 00 000010 		SKIPE	AC+1		;TEST FOR ORIGINAL CONTENTS
 10347	036701	004 10 0 00 004502 		ER4	AC+1,SN
 10348	036702	321 11 0 00 036674 		JUMPL	AC+2,.-6	;LOOP ON ERROR SWITCH
 10349
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 20
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0215

 10350					;TEST MUL-BOTH MODE
 10351					;TEST ABILITY TO STORE PRODUCT HIGH ORDER
 10352					;PART IN AC,E
 10353					;TEST ABILITY TO STORE PRODUCT LOW ORDER
 10354					;PART IN AC+1
 10355					;MULTIPLIER = 200000 000000
 10356					;MULTIPLICAND = 5,7
 10357
 10358			000006			AC=6
 10359						SAVEAC	(1,1)^
 10360	036703	201 10 0 00 036703 		MOVEI	AC+2,.		;SAVE TEST PC
 10361	036704	202 10 0 00 030051 		MOVEM	AC+2,TESTPC
 10362	036705	201 10 0 00 000010 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 10363	036706	202 10 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 10364
 10365			004600		SN=4600
 10366			000001			XX=1
 10367			000003			ZZ=3
 10368
 10369					F4600:	REPEAT	^D2,
 10370					<SN=SN+1
 10371						XX=XX+1
 10372						ZZ=ZZ+2
 10373						MOVSI	AC-2,200000	;SETUP FOR COMPARISON
 10374						SETZM	AC+1		;SETUP FOR COMPARISON
 10375						MOVSI	AC,200000	;SETUP MULTIPLIER
 10376						MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10377						MULB	AC,AC-1		;MUL 200000 000000 X ZZ
 10378						CAME	AC,AC-1		;TEST C(AC) = C (E)
 10379						ER3	AC,SN		;SCE FAILED
 10380						CAME	AC+1,AC-2	;TEST LOW PROD
 10381						ER4	AC+1,SN
 10382						CAIE	AC-1,XX		;TEST LOW PROD
 10383						ER5	AC-1,SN
 10384						JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 10385					>
 10386			004601		SN=SN+1
 10387			000002			XX=XX+1
 10388			000005			ZZ=ZZ+2
 10389	036707	205 04 0 00 200000 		MOVSI	AC-2,200000	;SETUP FOR COMPARISON
 10390	036710	402 00 0 00 000007 		SETZM	AC+1		;SETUP FOR COMPARISON
 10391	036711	205 06 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
 10392	036712	201 05 0 00 000005 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10393	036713	227 06 0 00 000005 		MULB	AC,AC-1		;MUL 200000 000000 X ZZ
 10394	036714	312 06 0 00 000005 		CAME	AC,AC-1		;TEST C(AC) = C (E)
 10395	036715	003 06 0 00 004601 		ER3	AC,SN		;SCE FAILED
 10396	036716	312 07 0 00 000004 		CAME	AC+1,AC-2	;TEST LOW PROD
 10397	036717	004 07 0 00 004601 		ER4	AC+1,SN
 10398	036720	302 05 0 00 000002 		CAIE	AC-1,XX		;TEST LOW PROD
 10399	036721	005 05 0 00 004601 		ER5	AC-1,SN
 10400	036722	321 10 0 00 036707 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 10401
 10402			004602		SN=SN+1
 10403			000003			XX=XX+1
 10404			000007			ZZ=ZZ+2
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 20-1
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0216

 10405	036723	205 04 0 00 200000 		MOVSI	AC-2,200000	;SETUP FOR COMPARISON
 10406	036724	402 00 0 00 000007 		SETZM	AC+1		;SETUP FOR COMPARISON
 10407	036725	205 06 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
 10408	036726	201 05 0 00 000007 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10409	036727	227 06 0 00 000005 		MULB	AC,AC-1		;MUL 200000 000000 X ZZ
 10410	036730	312 06 0 00 000005 		CAME	AC,AC-1		;TEST C(AC) = C (E)
 10411	036731	003 06 0 00 004602 		ER3	AC,SN		;SCE FAILED
 10412	036732	312 07 0 00 000004 		CAME	AC+1,AC-2	;TEST LOW PROD
 10413	036733	004 07 0 00 004602 		ER4	AC+1,SN
 10414	036734	302 05 0 00 000003 		CAIE	AC-1,XX		;TEST LOW PROD
 10415	036735	005 05 0 00 004602 		ER5	AC-1,SN
 10416	036736	321 10 0 00 036723 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 10417
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 21
DSKAL1	MAC	29-Mar-78 10:10		MAIN TESTING                                                                       SEQ 0217

 10418					;TEST AROV SET-MUL
 10419					;MULTIPLIER = 400000 000000
 10420					;MULTIPLICAND = 400000 000000
 10421					;PRODUCT = 400000 000000 400000 000000
 10422					;AROV IS SET
 10423
 10424	036737	254 02 1 00 045243 	F4710:	JRSTF	@[.+1]		;CLEAR ALL FLAGS
 10425	036740	205 06 0 00 400000 		MOVSI	AC,400000	;SETUP MULTIPLIER
 10426	036741	205 04 0 00 400000 		MOVSI	AC-2,400000	;SETUP MULTIPLICAND
 10427	036742	224 06 0 00 000004 		MUL	AC,AC-2
 10428	036743	265 03 0 00 036744 		JSP	AC-3,.+1	;SAVE FLAGS
 10429	036744	312 06 0 00 044765 		CAME	AC,[1B0]	;TEST HIGH PRODUCT
 10430	036745	003 06 0 00 004711 		ER3	AC,4711
 10431	036746	312 07 0 00 044765 		CAME	AC+1,[1B0]	;TEST LOW PRODUCT
 10432	036747	004 07 0 00 004711 		ER4	AC+1,4711
 10433	036750	255 10 0 00 036752 		JOV	.+2		;TEST AROV
 10434	036751	013 03 0 00 004711 		ER13	AC-3,4711	;FAIL IF AROV NOT SET
 10435	036752	321 10 0 00 036737 		JUMPL	AC+2,F4710	;LOOP ON ERROR SWITCH
 10436
 10437					;TEST AROV SET-MULB
 10438					;MULTIPLIER = 400000 000000
 10439					;MULTIPLICAND = 400000 000000
 10440					;PRODUCT = 400000 000000 400000 000000
 10441					;AROV IS SET
 10442
 10443	036753	254 02 1 00 045244 	F4720:	JRSTF	@[.+1]		;CLEAR ALL FLAGS
 10444	036754	205 06 0 00 400000 		MOVSI	AC,400000	;SETUP MULTIPLIER
 10445	036755	205 04 0 00 400000 		MOVSI	AC-2,400000	;SETUP MULTIPLICAND
 10446	036756	227 06 0 00 000004 		MULB	AC,AC-2
 10447	036757	265 03 0 00 036760 		JSP	AC-3,.+1	;SAVE FLAGS
 10448	036760	312 06 0 00 044765 		CAME	AC,[1B0]	;TEST HIGH PRODUCT
 10449	036761	003 06 0 00 004721 		ER3	AC,4721
 10450	036762	312 07 0 00 044765 		CAME	AC+1,[1B0]	;TEST LOW PRODUCT
 10451	036763	004 07 0 00 004721 		ER4	AC+1,4721
 10452	036764	312 04 0 00 044765 		CAME	AC-2,[1B0]	;TEST HIGH PRODUCT
 10453	036765	005 04 0 00 004721 		ER5	AC-2,4721
 10454	036766	255 10 0 00 036770 		JOV	.+2		;TEST AROV
 10455	036767	013 03 0 00 004721 		ER13	AC-3,4721	;FAIL IF AROV NOT SET
 10456	036770	321 10 0 00 036753 		JUMPL	AC+2,F4720	;LOOP ON ERROR SWITCH
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 22
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0218

 10457					SUBTTL	DIAGNOSTIC SECTION - INTEGER MPY TEST
 10458
 10459					;MULTIPLIER =400000 000000
 10460					;MULTIPLICAND = 2,4
 10461
 10462			000010			AC=10
 10463						SAVEAC	(1,1)^
 10464	036771	201 12 0 00 036771 		MOVEI	AC+2,.		;SAVE TEST PC
 10465	036772	202 12 0 00 030051 		MOVEM	AC+2,TESTPC
 10466	036773	201 12 0 00 000012 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 10467	036774	202 12 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 10468	036775	254 02 1 00 045245 		JRSTF	@[.+1]		;CLEAR ALL FLAGS
 10469
 10470			005000		SN=5000
 10471			000001			ZZ=1
 10472
 10473					F5000:	REPEAT ^D2,
 10474					<SN=SN+1
 10475						ZZ=ZZ+ZZ
 10476						MOVSI	AC,400000	;SETUP MULTIPLIER
 10477						MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10478						IMUL	AC,AC-1		;MUL 400000 000000 X ZZ
 10479						CAME	AC,[1B0]	;TEST PROD = 400000 000000
 10480						ER3	AC,SN
 10481						JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 10482					>
 10483			005001		SN=SN+1
 10484			000002			ZZ=ZZ+ZZ
 10485	036776	205 10 0 00 400000 		MOVSI	AC,400000	;SETUP MULTIPLIER
 10486	036777	201 07 0 00 000002 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10487	037000	220 10 0 00 000007 		IMUL	AC,AC-1		;MUL 400000 000000 X ZZ
 10488	037001	312 10 0 00 044765 		CAME	AC,[1B0]	;TEST PROD = 400000 000000
 10489	037002	003 10 0 00 005001 		ER3	AC,SN
 10490	037003	321 12 0 00 036776 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 10491
 10492			005002		SN=SN+1
 10493			000004			ZZ=ZZ+ZZ
 10494	037004	205 10 0 00 400000 		MOVSI	AC,400000	;SETUP MULTIPLIER
 10495	037005	201 07 0 00 000004 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10496	037006	220 10 0 00 000007 		IMUL	AC,AC-1		;MUL 400000 000000 X ZZ
 10497	037007	312 10 0 00 044765 		CAME	AC,[1B0]	;TEST PROD = 400000 000000
 10498	037010	003 10 0 00 005002 		ER3	AC,SN
 10499	037011	321 12 0 00 037004 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 10500
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 23
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0219

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

 10556	037034	220 14 0 00 000013 		IMUL	AC,AC-1		;MUL 000000 200000 X ZZ
 10557	037035	265 15 0 00 037036 		JSP	AC+1,.+1
 10558	037036	302 14 0 00 600000 		CAIE	AC,XX
 10559	037037	003 14 0 00 005102 		ER3	AC,SN
 10560	037040	255 10 0 00 037042 		JOV	.+2		;TEST FOR SET COND
 10561	037041	254 00 0 00 037043 		JRST	.+2		;FLAG IS NOT SET
 10562	037042	013 15 0 00 005102 		ER13	AC+1,SN		;FLAG IS SET
 10563	037043	321 16 0 00 037031 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 10564
 10565					PAGE
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 23-2
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0221

 10566			005200		SN=5200
 10567			040000			XX=40000
 10568			000001			ZZ=1
 10569
 10570					F5200:	REPEAT ^D2,		;TEST 2 POSITS-OVERFLOW
 10571					<SN=SN+1
 10572						XX=XX+XX
 10573						ZZ=ZZ+1
 10574						JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 10575						MOVSI	AC,200000	;SETUP MULTIPLIER
 10576						MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10577						MOVSI	AC-2,XX&200000
 10578						IMUL	AC,AC-1		;MUL 200000 000000 X ZZ
 10579						JSP	AC+1,.+1
 10580						CAME	AC,AC-2
 10581						ER3	AC,SN		;C(AC) FAILED
 10582						JOV	.+2		;TEST FOR SET CONDITION
 10583						ER13	AC+1,SN		;FLAG DID NOT SET
 10584						JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 10585					>
 10586			005201		SN=SN+1
 10587			100000			XX=XX+XX
 10588			000002			ZZ=ZZ+1
 10589	037044	254 02 1 00 045250 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 10590	037045	205 14 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
 10591	037046	201 13 0 00 000002 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10592	037047	205 12 0 00 000000 		MOVSI	AC-2,XX&200000
 10593	037050	220 14 0 00 000013 		IMUL	AC,AC-1		;MUL 200000 000000 X ZZ
 10594	037051	265 15 0 00 037052 		JSP	AC+1,.+1
 10595	037052	312 14 0 00 000012 		CAME	AC,AC-2
 10596	037053	003 14 0 00 005201 		ER3	AC,SN		;C(AC) FAILED
 10597	037054	255 10 0 00 037056 		JOV	.+2		;TEST FOR SET CONDITION
 10598	037055	013 15 0 00 005201 		ER13	AC+1,SN		;FLAG DID NOT SET
 10599	037056	321 16 0 00 037044 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 10600
 10601			005202		SN=SN+1
 10602			200000			XX=XX+XX
 10603			000003			ZZ=ZZ+1
 10604	037057	254 02 1 00 045251 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 10605	037060	205 14 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
 10606	037061	201 13 0 00 000003 		MOVEI	AC-1,ZZ		;SETUP MULTIPLICAND
 10607	037062	205 12 0 00 200000 		MOVSI	AC-2,XX&200000
 10608	037063	220 14 0 00 000013 		IMUL	AC,AC-1		;MUL 200000 000000 X ZZ
 10609	037064	265 15 0 00 037065 		JSP	AC+1,.+1
 10610	037065	312 14 0 00 000012 		CAME	AC,AC-2
 10611	037066	003 14 0 00 005202 		ER3	AC,SN		;C(AC) FAILED
 10612	037067	255 10 0 00 037071 		JOV	.+2		;TEST FOR SET CONDITION
 10613	037070	013 15 0 00 005202 		ER13	AC+1,SN		;FLAG DID NOT SET
 10614	037071	321 16 0 00 037057 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 10615
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 24
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0222

 10616			005300		SN=5300
 10617			000001			XX=1
 10618			000000			ZZ=0
 10619
 10620					F5300:	REPEAT ^D2,		;TEST 2 NEGATS-OVERFLOW NOT
 10621					<SN=SN+1
 10622						XX=XX+XX
 10623						ZZ=ZZ-1
 10624						JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 10625						HRROI	AC,-2		;SETUP MULTIPLIER
 10626						HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10627						IMUL	AC,AC-1		;MULTIPLY -2 X ZZ
 10628						JSP	AC+1,.+1
 10629						CAIE	AC,XX
 10630						ER3	AC,SN		;C(AC) FAILED
 10631						JOV	.+2		;TEST FOR SET NOT CONDITION
 10632						JRST	,.+2		;FLAG NOT SET
 10633						ER13	AC+1,SN		;FLAG IS SET
 10634						JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 10635					>
 10636			005301		SN=SN+1
 10637			000002			XX=XX+XX
 10638		777777	777777			ZZ=ZZ-1
 10639	037072	254 02 1 00 045252 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 10640	037073	561 14 0 00 777776 		HRROI	AC,-2		;SETUP MULTIPLIER
 10641	037074	561 13 0 00 777777 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10642	037075	220 14 0 00 000013 		IMUL	AC,AC-1		;MULTIPLY -2 X ZZ
 10643	037076	265 15 0 00 037077 		JSP	AC+1,.+1
 10644	037077	302 14 0 00 000002 		CAIE	AC,XX
 10645	037100	003 14 0 00 005301 		ER3	AC,SN		;C(AC) FAILED
 10646	037101	255 10 0 00 037103 		JOV	.+2		;TEST FOR SET NOT CONDITION
 10647	037102	254 00 0 00 037104 		JRST	,.+2		;FLAG NOT SET
 10648	037103	013 15 0 00 005301 		ER13	AC+1,SN		;FLAG IS SET
 10649	037104	321 16 0 00 037072 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 10650
 10651			005302		SN=SN+1
 10652			000004			XX=XX+XX
 10653		777777	777776			ZZ=ZZ-1
 10654	037105	254 02 1 00 045253 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 10655	037106	561 14 0 00 777776 		HRROI	AC,-2		;SETUP MULTIPLIER
 10656	037107	561 13 0 00 777776 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10657	037110	220 14 0 00 000013 		IMUL	AC,AC-1		;MULTIPLY -2 X ZZ
 10658	037111	265 15 0 00 037112 		JSP	AC+1,.+1
 10659	037112	302 14 0 00 000004 		CAIE	AC,XX
 10660	037113	003 14 0 00 005302 		ER3	AC,SN		;C(AC) FAILED
 10661	037114	255 10 0 00 037116 		JOV	.+2		;TEST FOR SET NOT CONDITION
 10662	037115	254 00 0 00 037117 		JRST	,.+2		;FLAG NOT SET
 10663	037116	013 15 0 00 005302 		ER13	AC+1,SN		;FLAG IS SET
 10664	037117	321 16 0 00 037105 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 10665
 10666					PAGE
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 24-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0223

 10667			005400		SN=5400
 10668		777777	777777			ZZ=-1
 10669
 10670					F5400:	REPEAT ^D2,		;TEST 2 NEGATS-OVERFLOW
 10671					<SN=SN+1
 10672						ZZ=ZZ-1
 10673						JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 10674						MOVSI	AC,400000	;SETUP MULTIPLIER
 10675						HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10676						IMUL	AC,AC-1		;MUL 400000 000000 X ZZ
 10677						JSP	AC+1,.+1
 10678						SKIPE	AC
 10679						ER3	AC,SN		;C(AC) FAILED
 10680						JOV	.+2		;TEST FOR SET CONDITION
 10681						ER13	AC+1,SN		;FLAG DID NOT SET
 10682						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 10683					>
 10684			005401		SN=SN+1
 10685		777777	777776			ZZ=ZZ-1
 10686	037120	254 02 1 00 045254 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 10687	037121	205 14 0 00 400000 		MOVSI	AC,400000	;SETUP MULTIPLIER
 10688	037122	561 13 0 00 777776 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10689	037123	220 14 0 00 000013 		IMUL	AC,AC-1		;MUL 400000 000000 X ZZ
 10690	037124	265 15 0 00 037125 		JSP	AC+1,.+1
 10691	037125	332 00 0 00 000014 		SKIPE	AC
 10692	037126	003 14 0 00 005401 		ER3	AC,SN		;C(AC) FAILED
 10693	037127	255 10 0 00 037131 		JOV	.+2		;TEST FOR SET CONDITION
 10694	037130	013 15 0 00 005401 		ER13	AC+1,SN		;FLAG DID NOT SET
 10695	037131	321 16 0 00 037120 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 10696
 10697			005402		SN=SN+1
 10698		777777	777775			ZZ=ZZ-1
 10699	037132	254 02 1 00 045255 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 10700	037133	205 14 0 00 400000 		MOVSI	AC,400000	;SETUP MULTIPLIER
 10701	037134	561 13 0 00 777775 		HRROI	AC-1,ZZ		;SETUP MULTIPLICAND
 10702	037135	220 14 0 00 000013 		IMUL	AC,AC-1		;MUL 400000 000000 X ZZ
 10703	037136	265 15 0 00 037137 		JSP	AC+1,.+1
 10704	037137	332 00 0 00 000014 		SKIPE	AC
 10705	037140	003 14 0 00 005402 		ER3	AC,SN		;C(AC) FAILED
 10706	037141	255 10 0 00 037143 		JOV	.+2		;TEST FOR SET CONDITION
 10707	037142	013 15 0 00 005402 		ER13	AC+1,SN		;FLAG DID NOT SET
 10708	037143	321 16 0 00 037132 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 10709
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 25
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0224

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

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

 10818	037217	265 12 0 00 037220 		JSP	AC+1,.+1
 10819	037220	302 11 0 00 777776 		CAIE	AC,XX
 10820	037221	003 11 0 00 005602 		ER3	AC,SN		;C(AC) FAILED
 10821	037222	255 10 0 00 037224 		JOV	.+2
 10822	037223	254 00 0 00 037225 		JRST	,.+2
 10823	037224	013 12 0 00 005602 		ER13	AC+1,SN
 10824	037225	321 13 0 00 037213 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 10825
 10826					PAGE
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 26-2
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0227

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

 10882	037253	265 14 0 00 037254 		JSP	AC+1,.+1
 10883	037254	312 13 0 00 000011 		CAME	AC,AC-2
 10884	037255	003 13 0 00 005702 		ER3	AC,SN		;C(AC) FAILED
 10885	037256	255 10 0 00 037260 		JOV	.+2		;TEST FOR OVERFLOW
 10886	037257	254 00 0 00 037261 		JRST	,.+2
 10887	037260	013 14 0 00 005702 		ER13	AC+1,SN
 10888	037261	321 15 0 00 037246 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 10889
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 27
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0229

 10890					;MULTIPLIER = 0,1
 10891					;MULTIPLICAND = 400000 000000
 10892
 10893			000012			AC=12
 10894						SAVEAC	(1,1)^
 10895	037262	201 14 0 00 037262 		MOVEI	AC+2,.		;SAVE TEST PC
 10896	037263	202 14 0 00 030051 		MOVEM	AC+2,TESTPC
 10897	037264	201 14 0 00 000014 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 10898	037265	202 14 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 10899
 10900			006000		SN=6000
 10901			100000			XX=100000
 10902		777777	777777			ZZ=-1
 10903
 10904					F6000:	REPEAT ^D2,
 10905					<SN=SN+1
 10906						XX=XX+XX
 10907						ZZ=ZZ+1
 10908						JRSTF	@[.+1]		;CLR ALL FLAGS,EXEC NEXT INST
 10909						MOVEI	AC,ZZ		;SETUP MULTIPLIER
 10910						MOVSI	AC-1,400000	;SETUP MULTIPLICAND
 10911						MOVSI	AC-2,XX&400000
 10912						IMUL	AC,AC-1		;MUL ZZ X 400000 000000
 10913						JSP	AC+1,.+1
 10914						CAME	AC,AC-2
 10915						ER3	AC,SN		;C(AC) FAILED
 10916						JOV	.+2		;TEST FOR OVERFLOW
 10917						JRST	,.+2		;BOTH CLEARS ASSERTED
 10918						ER13	AC+1,SN		;EITHER CLEAR FAILED
 10919						JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 10920					>
 10921			006001		SN=SN+1
 10922			200000			XX=XX+XX
 10923			000000			ZZ=ZZ+1
 10924	037266	254 02 1 00 045264 		JRSTF	@[.+1]		;CLR ALL FLAGS,EXEC NEXT INST
 10925	037267	201 12 0 00 000000 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
 10926	037270	205 11 0 00 400000 		MOVSI	AC-1,400000	;SETUP MULTIPLICAND
 10927	037271	205 10 0 00 000000 		MOVSI	AC-2,XX&400000
 10928	037272	220 12 0 00 000011 		IMUL	AC,AC-1		;MUL ZZ X 400000 000000
 10929	037273	265 13 0 00 037274 		JSP	AC+1,.+1
 10930	037274	312 12 0 00 000010 		CAME	AC,AC-2
 10931	037275	003 12 0 00 006001 		ER3	AC,SN		;C(AC) FAILED
 10932	037276	255 10 0 00 037300 		JOV	.+2		;TEST FOR OVERFLOW
 10933	037277	254 00 0 00 037301 		JRST	,.+2		;BOTH CLEARS ASSERTED
 10934	037300	013 13 0 00 006001 		ER13	AC+1,SN		;EITHER CLEAR FAILED
 10935	037301	321 14 0 00 037266 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 10936
 10937			006002		SN=SN+1
 10938			400000			XX=XX+XX
 10939			000001			ZZ=ZZ+1
 10940	037302	254 02 1 00 045265 		JRSTF	@[.+1]		;CLR ALL FLAGS,EXEC NEXT INST
 10941	037303	201 12 0 00 000001 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
 10942	037304	205 11 0 00 400000 		MOVSI	AC-1,400000	;SETUP MULTIPLICAND
 10943	037305	205 10 0 00 400000 		MOVSI	AC-2,XX&400000
 10944	037306	220 12 0 00 000011 		IMUL	AC,AC-1		;MUL ZZ X 400000 000000
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 27-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0230

 10945	037307	265 13 0 00 037310 		JSP	AC+1,.+1
 10946	037310	312 12 0 00 000010 		CAME	AC,AC-2
 10947	037311	003 12 0 00 006002 		ER3	AC,SN		;C(AC) FAILED
 10948	037312	255 10 0 00 037314 		JOV	.+2		;TEST FOR OVERFLOW
 10949	037313	254 00 0 00 037315 		JRST	,.+2		;BOTH CLEARS ASSERTED
 10950	037314	013 13 0 00 006002 		ER13	AC+1,SN		;EITHER CLEAR FAILED
 10951	037315	321 14 0 00 037302 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 10952
 10953					PAGE
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 27-2
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0231

 10954	037316	254 02 1 00 045266 	F6010:	JRSTF	@[.+1]		;CLEAR ALL FLAGS
 10955	037317	205 12 0 00 200000 		MOVSI	AC,200000	;SETUP MULTIPLIER
 10956	037320	201 11 0 00 000002 		MOVEI	AC-1,2		;SETUP MULTIPLICAND
 10957	037321	223 12 0 00 000011 		IMULB	AC,AC-1	
 10958	037322	265 13 0 00 037323 		JSP	AC+1,.+1	;SAVE FLAGS
 10959	037323	302 12 0 00 000000 		CAIE	AC,0
 10960	037324	003 12 0 00 006011 		ER3	AC,6011		;C(AC) FAILED
 10961	037325	302 11 0 00 000000 		CAIE	AC-1,0
 10962	037326	005 11 0 00 006011 		ER5	AC-1,6011	;C(E) FAILED
 10963	037327	255 10 0 00 037331 		JOV	.+2
 10964	037330	013 13 0 00 006011 		ER13	AC+1,6011	;AROV DID NOT SET
 10965	037331	321 14 0 00 037316 		JUMPL	AC+2,F6010	;LOOP ON ERROR SWITCH
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 28
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0232

 10966					;TEST IMUL-IMMEDIATE MODE
 10967					;TEST ABILITY TO MULTIPLY WITH THE
 10968					;EFFECTIVE ADDRESS AS THE MULTIPLICAND
 10969					;THE PROD WILL EQUAL THE EFFECTIVE
 10970					;ADDRESS
 10971					;A FAILURE INDICATES MULTIPLYING
 10972					;BY C(E) VICE E
 10973
 10974			000010			AC=10
 10975						SAVEAC	(1,1)^
 10976	037332	201 12 0 00 037332 		MOVEI	AC+2,.		;SAVE TEST PC
 10977	037333	202 12 0 00 030051 		MOVEM	AC+2,TESTPC
 10978	037334	201 12 0 00 000012 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 10979	037335	202 12 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 10980	037336	254 02 1 00 045267 		JRSTF	@[.+1]		;CLEAR ALL FLAGS
 10981
 10982			006100		SN=6100
 10983			000001			ZZ=1
 10984
 10985					F6100:	REPEAT ^D2,		;TEST IMMEDIATE MODE
 10986					<SN=SN+1
 10987						ZZ=ZZ+ZZ
 10988						MOVEI	AC-2,AC-1	;SETUP FOR COMPARISON
 10989						MOVEI	AC,1		;SETUP MULTIPLIER
 10990						MOVEI	AC-1,ZZ		;SETUP AC-1
 10991						IMULI	AC,AC-1		;EFFECTIVE ADDRESS=7
 10992						CAME	AC,AC-2		;TEST PROD = ZZ
 10993						ER3	AC,SN		;MULTIPLIED BY C(E) VICE E
 10994						JUMPL	AC+2,.-6	;LOOP ON ERROR SWITCH
 10995					>
 10996			006101		SN=SN+1
 10997			000002			ZZ=ZZ+ZZ
 10998	037337	201 06 0 00 000007 		MOVEI	AC-2,AC-1	;SETUP FOR COMPARISON
 10999	037340	201 10 0 00 000001 		MOVEI	AC,1		;SETUP MULTIPLIER
 11000	037341	201 07 0 00 000002 		MOVEI	AC-1,ZZ		;SETUP AC-1
 11001	037342	221 10 0 00 000007 		IMULI	AC,AC-1		;EFFECTIVE ADDRESS=7
 11002	037343	312 10 0 00 000006 		CAME	AC,AC-2		;TEST PROD = ZZ
 11003	037344	003 10 0 00 006101 		ER3	AC,SN		;MULTIPLIED BY C(E) VICE E
 11004	037345	321 12 0 00 037337 		JUMPL	AC+2,.-6	;LOOP ON ERROR SWITCH
 11005
 11006			006102		SN=SN+1
 11007			000004			ZZ=ZZ+ZZ
 11008	037346	201 06 0 00 000007 		MOVEI	AC-2,AC-1	;SETUP FOR COMPARISON
 11009	037347	201 10 0 00 000001 		MOVEI	AC,1		;SETUP MULTIPLIER
 11010	037350	201 07 0 00 000004 		MOVEI	AC-1,ZZ		;SETUP AC-1
 11011	037351	221 10 0 00 000007 		IMULI	AC,AC-1		;EFFECTIVE ADDRESS=7
 11012	037352	312 10 0 00 000006 		CAME	AC,AC-2		;TEST PROD = ZZ
 11013	037353	003 10 0 00 006102 		ER3	AC,SN		;MULTIPLIED BY C(E) VICE E
 11014	037354	321 12 0 00 037346 		JUMPL	AC+2,.-6	;LOOP ON ERROR SWITCH
 11015
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 29
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0233

 11016					;TEST IMUL-MEMORY MODE
 11017
 11018			000007			AC=7
 11019						SAVEAC	(1,1)^
 11020	037355	201 11 0 00 037355 		MOVEI	AC+2,.		;SAVE TEST PC
 11021	037356	202 11 0 00 030051 		MOVEM	AC+2,TESTPC
 11022	037357	201 11 0 00 000011 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11023	037360	202 11 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11024
 11025			006300		SN=6300
 11026			000001			ZZ=1
 11027
 11028					F6300:	REPEAT ^D2,
 11029					<SN=SN+1
 11030						ZZ=ZZ+ZZ
 11031						MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 11032						MOVEI	AC,ZZ		;SETUP MULTIPLIER
 11033						MOVEI	AC-1,7		;SETUP MULTIPLICAND
 11034						IMULM	AC,AC-1		;MULTIPLY ZZ X 7
 11035						CAME	AC,AC-2		;TEST FOR PRODUCT IN AC
 11036						ER3	AC,SN
 11037						CAIE	AC-1,ZZ*7	;TEST FOR PROD IN E
 11038						ER5	AC-1,SN
 11039						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11040					>
 11041			006301		SN=SN+1
 11042			000002			ZZ=ZZ+ZZ
 11043	037361	201 05 0 00 000002 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 11044	037362	201 07 0 00 000002 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
 11045	037363	201 06 0 00 000007 		MOVEI	AC-1,7		;SETUP MULTIPLICAND
 11046	037364	222 07 0 00 000006 		IMULM	AC,AC-1		;MULTIPLY ZZ X 7
 11047	037365	312 07 0 00 000005 		CAME	AC,AC-2		;TEST FOR PRODUCT IN AC
 11048	037366	003 07 0 00 006301 		ER3	AC,SN
 11049	037367	302 06 0 00 000016 		CAIE	AC-1,ZZ*7	;TEST FOR PROD IN E
 11050	037370	005 06 0 00 006301 		ER5	AC-1,SN
 11051	037371	321 11 0 00 037361 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11052
 11053			006302		SN=SN+1
 11054			000004			ZZ=ZZ+ZZ
 11055	037372	201 05 0 00 000004 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 11056	037373	201 07 0 00 000004 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
 11057	037374	201 06 0 00 000007 		MOVEI	AC-1,7		;SETUP MULTIPLICAND
 11058	037375	222 07 0 00 000006 		IMULM	AC,AC-1		;MULTIPLY ZZ X 7
 11059	037376	312 07 0 00 000005 		CAME	AC,AC-2		;TEST FOR PRODUCT IN AC
 11060	037377	003 07 0 00 006302 		ER3	AC,SN
 11061	037400	302 06 0 00 000034 		CAIE	AC-1,ZZ*7	;TEST FOR PROD IN E
 11062	037401	005 06 0 00 006302 		ER5	AC-1,SN
 11063	037402	321 11 0 00 037372 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11064
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 30
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER MPY TEST                                              SEQ 0234

 11065					;TEST IMUL-BOTH MODE
 11066					;TEST ABILITY TO STORE PRODUCT IN AC,E
 11067					;AC, AC-1 ARE COMPARED FOLLOWING
 11068					;MULTIPLY
 11069					;AN ERROR WILL OCCUR IF AC DIFFERS FROM
 11070					;AC-1
 11071			000006			AC=6
 11072						SAVEAC	(1,1)^
 11073	037403	201 10 0 00 037403 		MOVEI	AC+2,.		;SAVE TEST PC
 11074	037404	202 10 0 00 030051 		MOVEM	AC+2,TESTPC
 11075	037405	201 10 0 00 000010 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11076	037406	202 10 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11077			006500		SN=6500
 11078			000004			ZZ=4
 11079					F6500:	REPEAT ^D2,		;TEST STORING AC,E
 11080					<SN=SN+1
 11081						ZZ=ZZ+ZZ
 11082						MOVEI	AC,ZZ		;SETUP MULTIPLIER
 11083						MOVEI	AC-1,2		;SETUP MULTIPLICAND
 11084						IMULB	AC,AC-1		;MULTIPLY ZZ X 2
 11085						CAME	AC,AC-1		;COMPARE AC,AC-1
 11086						ER3	AC,SN
 11087						JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 11088					>
 11089			006501		SN=SN+1
 11090			000010			ZZ=ZZ+ZZ
 11091	037407	201 06 0 00 000010 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
 11092	037410	201 05 0 00 000002 		MOVEI	AC-1,2		;SETUP MULTIPLICAND
 11093	037411	223 06 0 00 000005 		IMULB	AC,AC-1		;MULTIPLY ZZ X 2
 11094	037412	312 06 0 00 000005 		CAME	AC,AC-1		;COMPARE AC,AC-1
 11095	037413	003 06 0 00 006501 		ER3	AC,SN
 11096	037414	321 10 0 00 037407 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 11097
 11098			006502		SN=SN+1
 11099			000020			ZZ=ZZ+ZZ
 11100	037415	201 06 0 00 000020 		MOVEI	AC,ZZ		;SETUP MULTIPLIER
 11101	037416	201 05 0 00 000002 		MOVEI	AC-1,2		;SETUP MULTIPLICAND
 11102	037417	223 06 0 00 000005 		IMULB	AC,AC-1		;MULTIPLY ZZ X 2
 11103	037420	312 06 0 00 000005 		CAME	AC,AC-1		;COMPARE AC,AC-1
 11104	037421	003 06 0 00 006502 		ER3	AC,SN
 11105	037422	321 10 0 00 037415 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 11106
 11107
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 31
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0235

 11108					SUBTTL	DIAGNOSTIC SECTION - INTEGER DIVIDE TEST
 11109
 11110					;TEST FETCH,STORE AND DECODE
 11111					;TEST ABILITY TO FETCH CONTENTS OF E
 11112					;TEST ABILITY TO STORE AC,AC+1
 11113					;DVND = 000000 777777,000000 777776
 11114					;DVSR = 000000 777777,000000 777776
 11115					;DVND = 000000 3400000
 11116					;DVSR = 2
 11117
 11118			000007			AC=7
 11119						SAVEAC	(1,1)^
 11120	037423	201 11 0 00 037423 		MOVEI	AC+2,.		;SAVE TEST PC
 11121	037424	202 11 0 00 030051 		MOVEM	AC+2,TESTPC
 11122	037425	201 11 0 00 000011 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11123	037426	202 11 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11124
 11125			006600		SN=6600
 11126			000000			ZZ=0
 11127
 11128					F6600:	REPEAT ^D2,		;TEST SAC,SAC2 FAILING
 11129					<SN=SN+1
 11130						ZZ=<ZZ+ZZ>&777777
 11131						IFE	ZZ,<ZZ=777777>
 11132						JRSTF	@[.+1]		;CLR ALL FLGS,EXEC NEXT INST
 11133						MOVEI	AC,ZZ		;SETUP DVND
 11134						MOVEI	AC+1,ZZ		;SETUP DVSR
 11135						IDIV	AC,AC+1		;DIVIDE ZZ BY ZZ
 11136						JSP	AC-3,.+1
 11137						JOV	.+2		;TEST FOR OVFL
 11138						JRST	.+2
 11139						ER13	AC-3,SN
 11140						CAIE	AC,1		;TEST AC FOR QUOTIENT = 1
 11141						ER3	AC,SN
 11142						CAIE	AC+1,0		;TEST AC+1 FOR REMAINDER = 0
 11143						ER4	AC+1,SN
 11144						JUMPL	AC+2,.-^D13	;LOOP ON ERROR SWITCH
 11145						JRSTF	@[.+1]		;CLEAR ALL FLAGS
 11146					>
 11147			006601		SN=SN+1
 11148			000000			ZZ=<ZZ+ZZ>&777777
 11149			777777			IFE	ZZ,<ZZ=777777>
 11150	037427	254 02 1 00 045270 		JRSTF	@[.+1]		;CLR ALL FLGS,EXEC NEXT INST
 11151	037430	201 07 0 00 777777 		MOVEI	AC,ZZ		;SETUP DVND
 11152	037431	201 10 0 00 777777 		MOVEI	AC+1,ZZ		;SETUP DVSR
 11153	037432	230 07 0 00 000010 		IDIV	AC,AC+1		;DIVIDE ZZ BY ZZ
 11154	037433	265 04 0 00 037434 		JSP	AC-3,.+1
 11155	037434	255 10 0 00 037436 		JOV	.+2		;TEST FOR OVFL
 11156	037435	254 00 0 00 037437 		JRST	.+2
 11157	037436	013 04 0 00 006601 		ER13	AC-3,SN
 11158	037437	302 07 0 00 000001 		CAIE	AC,1		;TEST AC FOR QUOTIENT = 1
 11159	037440	003 07 0 00 006601 		ER3	AC,SN
 11160	037441	302 10 0 00 000000 		CAIE	AC+1,0		;TEST AC+1 FOR REMAINDER = 0
 11161	037442	004 10 0 00 006601 		ER4	AC+1,SN
 11162	037443	321 11 0 00 037426 		JUMPL	AC+2,.-^D13	;LOOP ON ERROR SWITCH
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 31-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0236

 11163	037444	254 02 1 00 045271 		JRSTF	@[.+1]		;CLEAR ALL FLAGS
 11164
 11165			006602		SN=SN+1
 11166			777776			ZZ=<ZZ+ZZ>&777777
 11167						IFE	ZZ,<ZZ=777777>
 11168	037445	254 02 1 00 045272 		JRSTF	@[.+1]		;CLR ALL FLGS,EXEC NEXT INST
 11169	037446	201 07 0 00 777776 		MOVEI	AC,ZZ		;SETUP DVND
 11170	037447	201 10 0 00 777776 		MOVEI	AC+1,ZZ		;SETUP DVSR
 11171	037450	230 07 0 00 000010 		IDIV	AC,AC+1		;DIVIDE ZZ BY ZZ
 11172	037451	265 04 0 00 037452 		JSP	AC-3,.+1
 11173	037452	255 10 0 00 037454 		JOV	.+2		;TEST FOR OVFL
 11174	037453	254 00 0 00 037455 		JRST	.+2
 11175	037454	013 04 0 00 006602 		ER13	AC-3,SN
 11176	037455	302 07 0 00 000001 		CAIE	AC,1		;TEST AC FOR QUOTIENT = 1
 11177	037456	003 07 0 00 006602 		ER3	AC,SN
 11178	037457	302 10 0 00 000000 		CAIE	AC+1,0		;TEST AC+1 FOR REMAINDER = 0
 11179	037460	004 10 0 00 006602 		ER4	AC+1,SN
 11180	037461	321 11 0 00 037444 		JUMPL	AC+2,.-^D13	;LOOP ON ERROR SWITCH
 11181	037462	254 02 1 00 045273 		JRSTF	@[.+1]		;CLEAR ALL FLAGS
 11182
 11183					PAGE
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 31-2
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0237

 11184									;TEST FCE FAILING
 11185	037463	201 05 0 00 160000 	F6700:	MOVEI	AC-2,160000	;SETUP FOR COMPARISON
 11186	037464	201 07 0 00 340000 		MOVEI	AC,340000	;SETUP DVND
 11187	037465	201 10 0 00 000002 		MOVEI	AC+1,2		;SETUP DVSR
 11188	037466	230 07 0 00 000010 		IDIV	AC,AC+1		;DIV 000000 340000 BY 2
 11189	037467	312 07 0 00 000005 		CAME	AC,AC-2		;TEST QUOT = 000000 020000
 11190	037470	003 07 0 00 006701 		ER3	AC,6701
 11191	037471	321 11 0 00 037463 		JUMPL	AC+2,F6700	;LOOP ON ERROR SWITCH
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 32
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0238

 11192					;DVND = 4,10
 11193					;DVSR = 2
 11194					;FAILURE RESULTS IN A QUOT = 0,
 11195					;A REMD = DVND (SIGN IS NEGATIVE)
 11196
 11197			000007			AC=7
 11198						SAVEAC	(1,1)^
 11199	037472	201 11 0 00 037472 		MOVEI	AC+2,.		;SAVE TEST PC
 11200	037473	202 11 0 00 030051 		MOVEM	AC+2,TESTPC
 11201	037474	201 11 0 00 000011 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11202	037475	202 11 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11203
 11204			007000		SN=7000
 11205			000002			ZZ=2
 11206					F7000:	REPEAT ^D2,
 11207					<SN=SN+1
 11208						ZZ=ZZ+ZZ
 11209						MOVEI	AC,ZZ		;SETUP DVND
 11210						MOVEI	AC-1,2		;SETUP DVSR
 11211						IDIV	AC,AC-1		;DIVIDE ZZ BY 2
 11212						SKIPE	AC+1		;TEST REMD
 11213						ER4	AC+1,SN
 11214						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 11215					>
 11216			007001		SN=SN+1
 11217			000004			ZZ=ZZ+ZZ
 11218	037476	201 07 0 00 000004 		MOVEI	AC,ZZ		;SETUP DVND
 11219	037477	201 06 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 11220	037500	230 07 0 00 000006 		IDIV	AC,AC-1		;DIVIDE ZZ BY 2
 11221	037501	332 00 0 00 000010 		SKIPE	AC+1		;TEST REMD
 11222	037502	004 10 0 00 007001 		ER4	AC+1,SN
 11223	037503	321 11 0 00 037474 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 11224
 11225			007002		SN=SN+1
 11226			000010			ZZ=ZZ+ZZ
 11227	037504	201 07 0 00 000010 		MOVEI	AC,ZZ		;SETUP DVND
 11228	037505	201 06 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 11229	037506	230 07 0 00 000006 		IDIV	AC,AC-1		;DIVIDE ZZ BY 2
 11230	037507	332 00 0 00 000010 		SKIPE	AC+1		;TEST REMD
 11231	037510	004 10 0 00 007002 		ER4	AC+1,SN
 11232	037511	321 11 0 00 037502 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 11233
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 33
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0239

 11234					;TEST AROV SET
 11235					;DVND = 4,10
 11236					;DVSR = 0 (DIVIDE CHECK CONDITION)
 11237
 11238			000014			AC=14
 11239						SAVEAC	(1,1)^
 11240	037512	201 16 0 00 037512 		MOVEI	AC+2,.		;SAVE TEST PC
 11241	037513	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
 11242	037514	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11243	037515	202 16 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11244
 11245			007100		SN=7100
 11246			000002			ZZ=2
 11247
 11248					F7100:	REPEAT ^D2,		;TEST OVERFLOW COND
 11249					<SN=SN+1
 11250						ZZ=ZZ+ZZ
 11251						JRSTF	@[.+1]		;CLR ALL FLGS,EXEC NEXT INST
 11252						MOVEI	AC,ZZ		;SETUP DVND
 11253						MOVEI	AC+1,ZZ
 11254						SETZ	AC-1,		;SETUP DVSR
 11255						IDIV	AC,AC-1		;DIVIDE (ZZ) BY 0
 11256						JSP	AC-3,.+1
 11257						CAIE	AC,ZZ
 11258						ER3	AC,SN		;C(AC) WAS CLOBBERED
 11259						CAIE	AC+1,ZZ
 11260						ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 11261						JOV	.+2		;TEST FOR OVERFLOW
 11262						ER13	AC-3,.+1	;AROV FAILED TO SET
 11263						TLNN	AC-3,DCK
 11264						ER13	AC-3,SN		;DCK NOT SET
 11265						JUMPL	AC+2,.-^D14	;LOOP ON ERROR SWITCH
 11266					>
 11267			007101		SN=SN+1
 11268			000004			ZZ=ZZ+ZZ
 11269	037516	254 02 1 00 045274 		JRSTF	@[.+1]		;CLR ALL FLGS,EXEC NEXT INST
 11270	037517	201 14 0 00 000004 		MOVEI	AC,ZZ		;SETUP DVND
 11271	037520	201 15 0 00 000004 		MOVEI	AC+1,ZZ
 11272	037521	400 13 0 00 000000 		SETZ	AC-1,		;SETUP DVSR
 11273	037522	230 14 0 00 000013 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY 0
 11274	037523	265 11 0 00 037524 		JSP	AC-3,.+1
 11275	037524	302 14 0 00 000004 		CAIE	AC,ZZ
 11276	037525	003 14 0 00 007101 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 11277	037526	302 15 0 00 000004 		CAIE	AC+1,ZZ
 11278	037527	004 15 0 00 007101 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 11279	037530	255 10 0 00 037532 		JOV	.+2		;TEST FOR OVERFLOW
 11280	037531	013 11 0 00 037532 		ER13	AC-3,.+1	;AROV FAILED TO SET
 11281	037532	607 11 0 00 000040 		TLNN	AC-3,DCK
 11282	037533	013 11 0 00 007101 		ER13	AC-3,SN		;DCK NOT SET
 11283	037534	321 16 0 00 037516 		JUMPL	AC+2,.-^D14	;LOOP ON ERROR SWITCH
 11284
 11285			007102		SN=SN+1
 11286			000010			ZZ=ZZ+ZZ
 11287	037535	254 02 1 00 045275 		JRSTF	@[.+1]		;CLR ALL FLGS,EXEC NEXT INST
 11288	037536	201 14 0 00 000010 		MOVEI	AC,ZZ		;SETUP DVND
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 33-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0240

 11289	037537	201 15 0 00 000010 		MOVEI	AC+1,ZZ
 11290	037540	400 13 0 00 000000 		SETZ	AC-1,		;SETUP DVSR
 11291	037541	230 14 0 00 000013 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY 0
 11292	037542	265 11 0 00 037543 		JSP	AC-3,.+1
 11293	037543	302 14 0 00 000010 		CAIE	AC,ZZ
 11294	037544	003 14 0 00 007102 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 11295	037545	302 15 0 00 000010 		CAIE	AC+1,ZZ
 11296	037546	004 15 0 00 007102 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 11297	037547	255 10 0 00 037551 		JOV	.+2		;TEST FOR OVERFLOW
 11298	037550	013 11 0 00 037551 		ER13	AC-3,.+1	;AROV FAILED TO SET
 11299	037551	607 11 0 00 000040 		TLNN	AC-3,DCK
 11300	037552	013 11 0 00 007102 		ER13	AC-3,SN		;DCK NOT SET
 11301	037553	321 16 0 00 037535 		JUMPL	AC+2,.-^D14	;LOOP ON ERROR SWITCH
 11302
 11303					PAGE
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 33-2
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0241

 11304					;DVND = 4,10
 11305					;DVSR = 4,10
 11306
 11307			000011			AC=11
 11308						SAVEAC	(1,1)^
 11309	037554	201 13 0 00 037554 		MOVEI	AC+2,.		;SAVE TEST PC
 11310	037555	202 13 0 00 030051 		MOVEM	AC+2,TESTPC
 11311	037556	201 13 0 00 000013 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11312	037557	202 13 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11313
 11314			007400		SN=7400
 11315			000002			ZZ=2
 11316
 11317					F7400:	REPEAT ^D2,
 11318					<SN=SN+1
 11319						ZZ=ZZ+ZZ
 11320						JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 11321						MOVEI	AC,ZZ		;SETUP DVND
 11322						MOVEI	AC-1,ZZ		;SETUP DVSR
 11323						IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 11324						JSP	AC-2,.+1
 11325						CAIE	AC,1
 11326						ER3	AC,SN		;C(AC) FAILED
 11327						CAIE	AC+1,0
 11328						ER4	AC+1,SN		;C(AC+1) FAILED
 11329						JOV	.+2		;TEST FOR OVERFLOW
 11330						JRST	,.+2
 11331						ER13	AC-2,SN
 11332						JUMPL	AC+2,.-^D12
 11333					>
 11334			007401		SN=SN+1
 11335			000004			ZZ=ZZ+ZZ
 11336	037560	254 02 1 00 045276 		JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 11337	037561	201 11 0 00 000004 		MOVEI	AC,ZZ		;SETUP DVND
 11338	037562	201 10 0 00 000004 		MOVEI	AC-1,ZZ		;SETUP DVSR
 11339	037563	230 11 0 00 000010 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 11340	037564	265 07 0 00 037565 		JSP	AC-2,.+1
 11341	037565	302 11 0 00 000001 		CAIE	AC,1
 11342	037566	003 11 0 00 007401 		ER3	AC,SN		;C(AC) FAILED
 11343	037567	302 12 0 00 000000 		CAIE	AC+1,0
 11344	037570	004 12 0 00 007401 		ER4	AC+1,SN		;C(AC+1) FAILED
 11345	037571	255 10 0 00 037573 		JOV	.+2		;TEST FOR OVERFLOW
 11346	037572	254 00 0 00 037574 		JRST	,.+2
 11347	037573	013 07 0 00 007401 		ER13	AC-2,SN
 11348	037574	321 13 0 00 037560 		JUMPL	AC+2,.-^D12
 11349
 11350			007402		SN=SN+1
 11351			000010			ZZ=ZZ+ZZ
 11352	037575	254 02 1 00 045277 		JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 11353	037576	201 11 0 00 000010 		MOVEI	AC,ZZ		;SETUP DVND
 11354	037577	201 10 0 00 000010 		MOVEI	AC-1,ZZ		;SETUP DVSR
 11355	037600	230 11 0 00 000010 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 11356	037601	265 07 0 00 037602 		JSP	AC-2,.+1
 11357	037602	302 11 0 00 000001 		CAIE	AC,1
 11358	037603	003 11 0 00 007402 		ER3	AC,SN		;C(AC) FAILED
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 33-3
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0242

 11359	037604	302 12 0 00 000000 		CAIE	AC+1,0
 11360	037605	004 12 0 00 007402 		ER4	AC+1,SN		;C(AC+1) FAILED
 11361	037606	255 10 0 00 037610 		JOV	.+2		;TEST FOR OVERFLOW
 11362	037607	254 00 0 00 037611 		JRST	,.+2
 11363	037610	013 07 0 00 007402 		ER13	AC-2,SN
 11364	037611	321 13 0 00 037575 		JUMPL	AC+2,.-^D12
 11365
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 34
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0243

 11366					;DVND = 2,4
 11367					;DVSR = 400000 000000
 11368
 11369			000007			AC=7
 11370						SAVEAC	(1,1)^
 11371	037612	201 11 0 00 037612 		MOVEI	AC+2,.		;SAVE TEST PC
 11372	037613	202 11 0 00 030051 		MOVEM	AC+2,TESTPC
 11373	037614	201 11 0 00 000011 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11374	037615	202 11 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11375
 11376			007500		SN=7500
 11377			000001			ZZ=1
 11378
 11379					F7500:	REPEAT ^D2,
 11380					<SN=SN+1
 11381						ZZ=ZZ+ZZ
 11382						JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 11383						MOVEI	AC,ZZ		;SETUP DVND
 11384						MOVSI	AC-1,400000	;SETUP DVSR
 11385						IDIV	AC,AC-1		;DIVIDE (ZZ) BY (-N)
 11386						JSP	AC-2,.+1
 11387						CAIE	AC,0
 11388						ER3	AC,SN		;C(AC) WAS CLOBBERED
 11389						CAIE	AC+1,ZZ
 11390						ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 11391						JOV	.+2		;TEST FOR OVERFLOW
 11392						JRST	,.+2
 11393						ER13	AC-2,SN
 11394						JUMPL	AC+2,.-^D12
 11395					>
 11396			007501		SN=SN+1
 11397			000002			ZZ=ZZ+ZZ
 11398	037616	254 02 1 00 045300 		JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 11399	037617	201 07 0 00 000002 		MOVEI	AC,ZZ		;SETUP DVND
 11400	037620	205 06 0 00 400000 		MOVSI	AC-1,400000	;SETUP DVSR
 11401	037621	230 07 0 00 000006 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY (-N)
 11402	037622	265 05 0 00 037623 		JSP	AC-2,.+1
 11403	037623	302 07 0 00 000000 		CAIE	AC,0
 11404	037624	003 07 0 00 007501 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 11405	037625	302 10 0 00 000002 		CAIE	AC+1,ZZ
 11406	037626	004 10 0 00 007501 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 11407	037627	255 10 0 00 037631 		JOV	.+2		;TEST FOR OVERFLOW
 11408	037630	254 00 0 00 037632 		JRST	,.+2
 11409	037631	013 05 0 00 007501 		ER13	AC-2,SN
 11410	037632	321 11 0 00 037616 		JUMPL	AC+2,.-^D12
 11411
 11412			007502		SN=SN+1
 11413			000004			ZZ=ZZ+ZZ
 11414	037633	254 02 1 00 045301 		JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 11415	037634	201 07 0 00 000004 		MOVEI	AC,ZZ		;SETUP DVND
 11416	037635	205 06 0 00 400000 		MOVSI	AC-1,400000	;SETUP DVSR
 11417	037636	230 07 0 00 000006 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY (-N)
 11418	037637	265 05 0 00 037640 		JSP	AC-2,.+1
 11419	037640	302 07 0 00 000000 		CAIE	AC,0
 11420	037641	003 07 0 00 007502 		ER3	AC,SN		;C(AC) WAS CLOBBERED
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 34-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0244

 11421	037642	302 10 0 00 000004 		CAIE	AC+1,ZZ
 11422	037643	004 10 0 00 007502 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 11423	037644	255 10 0 00 037646 		JOV	.+2		;TEST FOR OVERFLOW
 11424	037645	254 00 0 00 037647 		JRST	,.+2
 11425	037646	013 05 0 00 007502 		ER13	AC-2,SN
 11426	037647	321 11 0 00 037633 		JUMPL	AC+2,.-^D12
 11427
 11428					PAGE
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 34-2
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0245

 11429					;DVND = 7,13
 11430					;DVSR = 2
 11431
 11432			000006			AC=6
 11433						SAVEAC	(1,1)^
 11434	037650	201 10 0 00 037650 		MOVEI	AC+2,.		;SAVE TEST PC
 11435	037651	202 10 0 00 030051 		MOVEM	AC+2,TESTPC
 11436	037652	201 10 0 00 000010 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11437	037653	202 10 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11438	037654	254 02 1 00 045302 		JRSTF	@[.+1]		;CLEAR ALL FLAGS
 11439
 11440			007600		SN=7600
 11441			000003			ZZ=3
 11442
 11443					F7600:	REPEAT ^D2,
 11444					<SN=SN+1
 11445						ZZ=ZZ+4
 11446						MOVEI	AC,ZZ		;SETUP DVND
 11447						MOVEI	AC-1,2		;SETUP DVSR
 11448						IDIV	AC,AC-1		;DIVIDE (ZZ) BY 2
 11449						CAIE	AC,ZZ/2		;TEST QUOT
 11450						ER3	AC,SN
 11451						CAIE	AC+1,1		;TEST REMD
 11452						ER4	AC+1,SN
 11453						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 11454					>
 11455			007601		SN=SN+1
 11456			000007			ZZ=ZZ+4
 11457	037655	201 06 0 00 000007 		MOVEI	AC,ZZ		;SETUP DVND
 11458	037656	201 05 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 11459	037657	230 06 0 00 000005 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY 2
 11460	037660	302 06 0 00 000003 		CAIE	AC,ZZ/2		;TEST QUOT
 11461	037661	003 06 0 00 007601 		ER3	AC,SN
 11462	037662	302 07 0 00 000001 		CAIE	AC+1,1		;TEST REMD
 11463	037663	004 07 0 00 007601 		ER4	AC+1,SN
 11464	037664	321 10 0 00 037655 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 11465
 11466			007602		SN=SN+1
 11467			000013			ZZ=ZZ+4
 11468	037665	201 06 0 00 000013 		MOVEI	AC,ZZ		;SETUP DVND
 11469	037666	201 05 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 11470	037667	230 06 0 00 000005 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY 2
 11471	037670	302 06 0 00 000005 		CAIE	AC,ZZ/2		;TEST QUOT
 11472	037671	003 06 0 00 007602 		ER3	AC,SN
 11473	037672	302 07 0 00 000001 		CAIE	AC+1,1		;TEST REMD
 11474	037673	004 07 0 00 007602 		ER4	AC+1,SN
 11475	037674	321 10 0 00 037665 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 11476
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 35
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0246

 11477					;DVND = 2,4
 11478					;DVSR = 2,4
 11479
 11480			000005			AC=5
 11481						SAVEAC	(1,1)^
 11482	037675	201 07 0 00 037675 		MOVEI	AC+2,.		;SAVE TEST PC
 11483	037676	202 07 0 00 030051 		MOVEM	AC+2,TESTPC
 11484	037677	201 07 0 00 000007 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11485	037700	202 07 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11486
 11487			007700		SN=7700
 11488			000000			XX=0
 11489			000001			ZZ=1
 11490
 11491					F7700:	REPEAT ^D2,
 11492					<SN=SN+1
 11493						XX=XX+XX
 11494						ZZ=ZZ+ZZ
 11495						IFE	XX,<XX=1>
 11496						SETOM	AC+1		;INITIALIZE REMAINDER
 11497						MOVEI	AC,ZZ		;SETUP DVND
 11498						MOVEI	AC-1,ZZ		;SETUP DVSR
 11499						IDIV	AC,AC-1		;DIVIDE (ZZ) BY (ZZ)
 11500						CAIE	AC,1		;TEST QUOT
 11501						ER3	AC,SN
 11502						SKIPE	AC+1		;TEST REMD
 11503						ER4	AC+1,SN
 11504						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11505					>
 11506			007701		SN=SN+1
 11507			000000			XX=XX+XX
 11508			000002			ZZ=ZZ+ZZ
 11509			000001			IFE	XX,<XX=1>
 11510	037701	476 00 0 00 000006 		SETOM	AC+1		;INITIALIZE REMAINDER
 11511	037702	201 05 0 00 000002 		MOVEI	AC,ZZ		;SETUP DVND
 11512	037703	201 04 0 00 000002 		MOVEI	AC-1,ZZ		;SETUP DVSR
 11513	037704	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY (ZZ)
 11514	037705	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT
 11515	037706	003 05 0 00 007701 		ER3	AC,SN
 11516	037707	332 00 0 00 000006 		SKIPE	AC+1		;TEST REMD
 11517	037710	004 06 0 00 007701 		ER4	AC+1,SN
 11518	037711	321 07 0 00 037701 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11519
 11520			007702		SN=SN+1
 11521			000002			XX=XX+XX
 11522			000004			ZZ=ZZ+ZZ
 11523						IFE	XX,<XX=1>
 11524	037712	476 00 0 00 000006 		SETOM	AC+1		;INITIALIZE REMAINDER
 11525	037713	201 05 0 00 000004 		MOVEI	AC,ZZ		;SETUP DVND
 11526	037714	201 04 0 00 000004 		MOVEI	AC-1,ZZ		;SETUP DVSR
 11527	037715	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY (ZZ)
 11528	037716	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT
 11529	037717	003 05 0 00 007702 		ER3	AC,SN
 11530	037720	332 00 0 00 000006 		SKIPE	AC+1		;TEST REMD
 11531	037721	004 06 0 00 007702 		ER4	AC+1,SN
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 35-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0247

 11532	037722	321 07 0 00 037712 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11533
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 36
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0248

 11534					;DVND = 177777 777777,0777777 777777
 11535					;DVSR = 1
 11536
 11537			000004			AC=4
 11538						SAVEAC	(1,1)^
 11539	037723	201 06 0 00 037723 		MOVEI	AC+2,.		;SAVE TEST PC
 11540	037724	202 06 0 00 030051 		MOVEM	AC+2,TESTPC
 11541	037725	201 06 0 00 000006 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11542	037726	202 06 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11543
 11544			010000		SN=10000
 11545			377777			ZZ=377777
 11546
 11547					F10000:	REPEAT ^D2,
 11548					<SN=SN+1
 11549						ZZ=ZZ/2
 11550						HRLOI	AC-2,ZZ		;SETUP FOR COMPARISON
 11551						HRLOI	AC,ZZ		;SETUP DVND
 11552						MOVEI	AC-1,1		;SETUP DVSR
 11553						IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 11554						CAME	AC,AC-2		;TEST QUOTIENT
 11555						ER3	AC,SN
 11556						SKIPE	AC+1		;TEST REMAINDER
 11557						ER4	AC+1,SN
 11558						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11559					>
 11560			010001		SN=SN+1
 11561			177777			ZZ=ZZ/2
 11562	037727	525 02 0 00 177777 		HRLOI	AC-2,ZZ		;SETUP FOR COMPARISON
 11563	037730	525 04 0 00 177777 		HRLOI	AC,ZZ		;SETUP DVND
 11564	037731	201 03 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 11565	037732	230 04 0 00 000003 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 11566	037733	312 04 0 00 000002 		CAME	AC,AC-2		;TEST QUOTIENT
 11567	037734	003 04 0 00 010001 		ER3	AC,SN
 11568	037735	332 00 0 00 000005 		SKIPE	AC+1		;TEST REMAINDER
 11569	037736	004 05 0 00 010001 		ER4	AC+1,SN
 11570	037737	321 06 0 00 037727 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11571
 11572			010002		SN=SN+1
 11573			077777			ZZ=ZZ/2
 11574	037740	525 02 0 00 077777 		HRLOI	AC-2,ZZ		;SETUP FOR COMPARISON
 11575	037741	525 04 0 00 077777 		HRLOI	AC,ZZ		;SETUP DVND
 11576	037742	201 03 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 11577	037743	230 04 0 00 000003 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 11578	037744	312 04 0 00 000002 		CAME	AC,AC-2		;TEST QUOTIENT
 11579	037745	003 04 0 00 010002 		ER3	AC,SN
 11580	037746	332 00 0 00 000005 		SKIPE	AC+1		;TEST REMAINDER
 11581	037747	004 05 0 00 010002 		ER4	AC+1,SN
 11582	037750	321 06 0 00 037740 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11583
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 37
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0249

 11584					;TEST ABILITY TO SWAP REMD
 11585					;AND QUOT
 11586					;DVND = 5,13
 11587					;DVSR - 3
 11588					;FAILURE RESULTS IN A QUOT
 11589					;EQUAL TO THE REMD
 11590
 11591			000014			AC=14
 11592						SAVEAC	(1,1)^
 11593	037751	201 16 0 00 037751 		MOVEI	AC+2,.		;SAVE TEST PC
 11594	037752	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
 11595	037753	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11596	037754	202 16 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11597
 11598			010300		SN=10300
 11599		777777	777777			ZZ=-1
 11600
 11601					F10300:	REPEAT ^D2,
 11602					<SN=SN+1
 11603						ZZ=ZZ+6
 11604						MOVEI	AC-2,2
 11605						MOVEI	AC,ZZ		;SETUP DVND
 11606						MOVEI	AC-1,3		;SETUP DVSR
 11607						IDIV	AC,AC-1		;DIVIDE ZZ BY 3
 11608						CAIE	AC,ZZ/3		;TEST QUOT
 11609						ER3	AC,SN
 11610						CAME	AC+1,AC-2	;TEST REMD
 11611						ER4	AC+1,SN
 11612						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11613					>
 11614			010301		SN=SN+1
 11615			000005			ZZ=ZZ+6
 11616	037755	201 12 0 00 000002 		MOVEI	AC-2,2
 11617	037756	201 14 0 00 000005 		MOVEI	AC,ZZ		;SETUP DVND
 11618	037757	201 13 0 00 000003 		MOVEI	AC-1,3		;SETUP DVSR
 11619	037760	230 14 0 00 000013 		IDIV	AC,AC-1		;DIVIDE ZZ BY 3
 11620	037761	302 14 0 00 000001 		CAIE	AC,ZZ/3		;TEST QUOT
 11621	037762	003 14 0 00 010301 		ER3	AC,SN
 11622	037763	312 15 0 00 000012 		CAME	AC+1,AC-2	;TEST REMD
 11623	037764	004 15 0 00 010301 		ER4	AC+1,SN
 11624	037765	321 16 0 00 037755 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11625
 11626			010302		SN=SN+1
 11627			000013			ZZ=ZZ+6
 11628	037766	201 12 0 00 000002 		MOVEI	AC-2,2
 11629	037767	201 14 0 00 000013 		MOVEI	AC,ZZ		;SETUP DVND
 11630	037770	201 13 0 00 000003 		MOVEI	AC-1,3		;SETUP DVSR
 11631	037771	230 14 0 00 000013 		IDIV	AC,AC-1		;DIVIDE ZZ BY 3
 11632	037772	302 14 0 00 000003 		CAIE	AC,ZZ/3		;TEST QUOT
 11633	037773	003 14 0 00 010302 		ER3	AC,SN
 11634	037774	312 15 0 00 000012 		CAME	AC+1,AC-2	;TEST REMD
 11635	037775	004 15 0 00 010302 		ER4	AC+1,SN
 11636	037776	321 16 0 00 037766 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11637
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 38
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0250

 11638					;DVND = 2,4
 11639					;DVSR = 1
 11640					;DVND = 377777 777777,177777 777777
 11641					;DVSR = 1
 11642
 11643			000013			AC=13
 11644						SAVEAC	(1,1)^
 11645	037777	201 15 0 00 037777 		MOVEI	AC+2,.		;SAVE TEST PC
 11646	040000	202 15 0 00 030051 		MOVEM	AC+2,TESTPC
 11647	040001	201 15 0 00 000015 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11648	040002	202 15 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11649
 11650			010400		SN=10400
 11651			000001			ZZ=1
 11652
 11653					F10400:	REPEAT ^D2,
 11654					<SN=SN+1
 11655						ZZ=ZZ+ZZ
 11656						MOVEI	AC,ZZ		;SETUP DVND
 11657						MOVEI	AC-1,1		;SETUP DVSR
 11658						IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 11659						CAIE	AC,ZZ		;TEST QUOT
 11660						ER3	AC,SN
 11661						SKIPE	AC+1		;TEST REMD
 11662						ER4	AC+1,SN
 11663						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11664					>
 11665			010401		SN=SN+1
 11666			000002			ZZ=ZZ+ZZ
 11667	040003	201 13 0 00 000002 		MOVEI	AC,ZZ		;SETUP DVND
 11668	040004	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 11669	040005	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 11670	040006	302 13 0 00 000002 		CAIE	AC,ZZ		;TEST QUOT
 11671	040007	003 13 0 00 010401 		ER3	AC,SN
 11672	040010	332 00 0 00 000014 		SKIPE	AC+1		;TEST REMD
 11673	040011	004 14 0 00 010401 		ER4	AC+1,SN
 11674	040012	321 15 0 00 040002 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11675
 11676			010402		SN=SN+1
 11677			000004			ZZ=ZZ+ZZ
 11678	040013	201 13 0 00 000004 		MOVEI	AC,ZZ		;SETUP DVND
 11679	040014	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 11680	040015	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 11681	040016	302 13 0 00 000004 		CAIE	AC,ZZ		;TEST QUOT
 11682	040017	003 13 0 00 010402 		ER3	AC,SN
 11683	040020	332 00 0 00 000014 		SKIPE	AC+1		;TEST REMD
 11684	040021	004 14 0 00 010402 		ER4	AC+1,SN
 11685	040022	321 15 0 00 040012 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11686
 11687					PAGE
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 38-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0251

 11688			010500		SN=10500
 11689			000000			ZZ=0
 11690
 11691					F10500:	REPEAT ^D2,
 11692					<SN=SN+1
 11693						ZZ=ZZ/2
 11694						IFE	ZZ,<ZZ=377777>
 11695						HRLOI	AC-2,ZZ		;SETUP FOR COMPARISON
 11696						HRLOI	AC,ZZ		;SETUP DVND
 11697						MOVEI	AC-1,1		;SETUP DVSR
 11698						IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 11699						CAME	AC,AC-2		;TEST QUOT
 11700						ER3	AC,SN
 11701						SKIPE	AC+1		;TEST REMD
 11702						ER4	AC+1,SN
 11703						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11704					>
 11705			010501		SN=SN+1
 11706			000000			ZZ=ZZ/2
 11707			377777			IFE	ZZ,<ZZ=377777>
 11708	040023	525 11 0 00 377777 		HRLOI	AC-2,ZZ		;SETUP FOR COMPARISON
 11709	040024	525 13 0 00 377777 		HRLOI	AC,ZZ		;SETUP DVND
 11710	040025	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 11711	040026	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 11712	040027	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT
 11713	040030	003 13 0 00 010501 		ER3	AC,SN
 11714	040031	332 00 0 00 000014 		SKIPE	AC+1		;TEST REMD
 11715	040032	004 14 0 00 010501 		ER4	AC+1,SN
 11716	040033	321 15 0 00 040023 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11717
 11718			010502		SN=SN+1
 11719			177777			ZZ=ZZ/2
 11720						IFE	ZZ,<ZZ=377777>
 11721	040034	525 11 0 00 177777 		HRLOI	AC-2,ZZ		;SETUP FOR COMPARISON
 11722	040035	525 13 0 00 177777 		HRLOI	AC,ZZ		;SETUP DVND
 11723	040036	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 11724	040037	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 11725	040040	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT
 11726	040041	003 13 0 00 010502 		ER3	AC,SN
 11727	040042	332 00 0 00 000014 		SKIPE	AC+1		;TEST REMD
 11728	040043	004 14 0 00 010502 		ER4	AC+1,SN
 11729	040044	321 15 0 00 040034 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11730
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 39
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0252

 11731					;DVND = 100
 11732					;DVSR = 2,4
 11733					;FAILURE RESULTS IN A QUOT = 252525 252525
 11734
 11735			000004			AC=4
 11736						SAVEAC	(1,1)^
 11737	040045	201 06 0 00 040045 		MOVEI	AC+2,.		;SAVE TEST PC
 11738	040046	202 06 0 00 030051 		MOVEM	AC+2,TESTPC
 11739	040047	201 06 0 00 000006 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11740	040050	202 06 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11741
 11742			011300		SN=11300
 11743			000001			ZZ=1
 11744
 11745					F11300:	REPEAT ^D2,
 11746					<SN=SN+1
 11747						ZZ=ZZ+ZZ
 11748						MOVEI	AC,100		;SETUP DVND
 11749						MOVEI	AC-1,ZZ		;SETUP DVSR
 11750						IDIV	AC,AC-1		;DIVIDE 100 BY (ZZ)
 11751						CAIE	AC,100/ZZ	;TEST QUOT
 11752						ER3	AC,SN
 11753						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 11754					>
 11755			011301		SN=SN+1
 11756			000002			ZZ=ZZ+ZZ
 11757	040051	201 04 0 00 000100 		MOVEI	AC,100		;SETUP DVND
 11758	040052	201 03 0 00 000002 		MOVEI	AC-1,ZZ		;SETUP DVSR
 11759	040053	230 04 0 00 000003 		IDIV	AC,AC-1		;DIVIDE 100 BY (ZZ)
 11760	040054	302 04 0 00 000040 		CAIE	AC,100/ZZ	;TEST QUOT
 11761	040055	003 04 0 00 011301 		ER3	AC,SN
 11762	040056	321 06 0 00 040047 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 11763
 11764			011302		SN=SN+1
 11765			000004			ZZ=ZZ+ZZ
 11766	040057	201 04 0 00 000100 		MOVEI	AC,100		;SETUP DVND
 11767	040060	201 03 0 00 000004 		MOVEI	AC-1,ZZ		;SETUP DVSR
 11768	040061	230 04 0 00 000003 		IDIV	AC,AC-1		;DIVIDE 100 BY (ZZ)
 11769	040062	302 04 0 00 000020 		CAIE	AC,100/ZZ	;TEST QUOT
 11770	040063	003 04 0 00 011302 		ER3	AC,SN
 11771	040064	321 06 0 00 040055 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 11772
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 40
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0253

 11773					;DVND = 4,10
 11774					;DVSR = -2
 11775					;FAILURE OF EITHER RESULTS IN A QUOT
 11776					;= 2'S COMP ACTUAL,A REMD = 0
 11777
 11778			000011			AC=11
 11779						SAVEAC	(1,1)^
 11780	040065	201 13 0 00 040065 		MOVEI	AC+2,.		;SAVE TEST PC
 11781	040066	202 13 0 00 030051 		MOVEM	AC+2,TESTPC
 11782	040067	201 13 0 00 000013 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11783	040070	202 13 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11784
 11785			011400		SN=11400
 11786		777777	777777			XX=-1
 11787			000002			ZZ=2
 11788
 11789					F11400:	REPEAT ^D2,
 11790					<SN=SN+1
 11791						XX=XX+XX
 11792						ZZ=ZZ+ZZ
 11793						HRROI	AC-2,XX		;SETUP FOR COMPARISON
 11794						MOVEI	AC,ZZ		;SETUP DVND
 11795						HRROI	AC-1,-2		;SETUP DVSR
 11796						IDIV	AC,AC-1		;DIVIDE (ZZ) BY -2
 11797						SKIPE	AC+1		;TEST REMD = 0
 11798						ER4	AC+1,SN
 11799						CAME	AC,AC-2		;TEST QUOTIENT
 11800						ER3	AC,SN
 11801						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11802					>
 11803			011401		SN=SN+1
 11804		777777	777776			XX=XX+XX
 11805			000004			ZZ=ZZ+ZZ
 11806	040071	561 07 0 00 777776 		HRROI	AC-2,XX		;SETUP FOR COMPARISON
 11807	040072	201 11 0 00 000004 		MOVEI	AC,ZZ		;SETUP DVND
 11808	040073	561 10 0 00 777776 		HRROI	AC-1,-2		;SETUP DVSR
 11809	040074	230 11 0 00 000010 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY -2
 11810	040075	332 00 0 00 000012 		SKIPE	AC+1		;TEST REMD = 0
 11811	040076	004 12 0 00 011401 		ER4	AC+1,SN
 11812	040077	312 11 0 00 000007 		CAME	AC,AC-2		;TEST QUOTIENT
 11813	040100	003 11 0 00 011401 		ER3	AC,SN
 11814	040101	321 13 0 00 040071 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11815
 11816			011402		SN=SN+1
 11817		777777	777774			XX=XX+XX
 11818			000010			ZZ=ZZ+ZZ
 11819	040102	561 07 0 00 777774 		HRROI	AC-2,XX		;SETUP FOR COMPARISON
 11820	040103	201 11 0 00 000010 		MOVEI	AC,ZZ		;SETUP DVND
 11821	040104	561 10 0 00 777776 		HRROI	AC-1,-2		;SETUP DVSR
 11822	040105	230 11 0 00 000010 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY -2
 11823	040106	332 00 0 00 000012 		SKIPE	AC+1		;TEST REMD = 0
 11824	040107	004 12 0 00 011402 		ER4	AC+1,SN
 11825	040110	312 11 0 00 000007 		CAME	AC,AC-2		;TEST QUOTIENT
 11826	040111	003 11 0 00 011402 		ER3	AC,SN
 11827	040112	321 13 0 00 040102 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 40-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0254

 11828
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 42
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0255

 11829					;DVND = 377777 777777,177777 777777
 11830					;DVSR = 2
 11831
 11832			000012			AC=12
 11833						SAVEAC	(1,1)^
 11834	040113	201 14 0 00 040113 		MOVEI	AC+2,.		;SAVE TEST PC
 11835	040114	202 14 0 00 030051 		MOVEM	AC+2,TESTPC
 11836	040115	201 14 0 00 000014 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11837	040116	202 14 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11838
 11839			012000		SN=12000
 11840			377777			XX=377777
 11841			000000			ZZ=0
 11842
 11843					F12000:	REPEAT ^D2,
 11844					<SN=SN+1
 11845						XX=XX/2
 11846						ZZ=ZZ/2
 11847						IFE	ZZ,<ZZ=377777>
 11848						HRLOI	AC-2,XX		;SETUP FOR COMPARISON
 11849						HRLOI	AC,ZZ		;SETUP DVND
 11850						MOVEI	AC-1,2		;SETUP DVSR
 11851						IDIV	AC,AC-1		;DIVIDE (ZZ) BY 2
 11852						CAIE	AC+1,1
 11853						ER4	AC+1,SN
 11854						CAME	AC,AC-2		;TEST QUOT = 1/2 DVND
 11855						ER3	AC,SN
 11856						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11857					>
 11858			012001		SN=SN+1
 11859			177777			XX=XX/2
 11860			000000			ZZ=ZZ/2
 11861			377777			IFE	ZZ,<ZZ=377777>
 11862	040117	525 10 0 00 177777 		HRLOI	AC-2,XX		;SETUP FOR COMPARISON
 11863	040120	525 12 0 00 377777 		HRLOI	AC,ZZ		;SETUP DVND
 11864	040121	201 11 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 11865	040122	230 12 0 00 000011 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY 2
 11866	040123	302 13 0 00 000001 		CAIE	AC+1,1
 11867	040124	004 13 0 00 012001 		ER4	AC+1,SN
 11868	040125	312 12 0 00 000010 		CAME	AC,AC-2		;TEST QUOT = 1/2 DVND
 11869	040126	003 12 0 00 012001 		ER3	AC,SN
 11870	040127	321 14 0 00 040117 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11871
 11872			012002		SN=SN+1
 11873			077777			XX=XX/2
 11874			177777			ZZ=ZZ/2
 11875						IFE	ZZ,<ZZ=377777>
 11876	040130	525 10 0 00 077777 		HRLOI	AC-2,XX		;SETUP FOR COMPARISON
 11877	040131	525 12 0 00 177777 		HRLOI	AC,ZZ		;SETUP DVND
 11878	040132	201 11 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 11879	040133	230 12 0 00 000011 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY 2
 11880	040134	302 13 0 00 000001 		CAIE	AC+1,1
 11881	040135	004 13 0 00 012002 		ER4	AC+1,SN
 11882	040136	312 12 0 00 000010 		CAME	AC,AC-2		;TEST QUOT = 1/2 DVND
 11883	040137	003 12 0 00 012002 		ER3	AC,SN
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 42-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0256

 11884	040140	321 14 0 00 040130 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11885
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 43
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0257

 11886					;DVND = 4,10
 11887					;DVSR = 400000 000000
 11888
 11889			012300		SN=12300
 11890			000002			ZZ=2
 11891
 11892					F12300:	REPEAT ^D2,
 11893					<SN=SN+1
 11894						ZZ=ZZ+ZZ
 11895						MOVEI	AC,ZZ		;SETUP DVND
 11896						MOVSI	AC-1,400000	;SETUP DVSR
 11897						IDIV	AC,AC-1		;DIVIDE (ZZ) BY (-N)
 11898						SKIPE	AC		;TEST QUOT
 11899						ER3	AC,SN
 11900						CAIE	AC+1,ZZ		;TEST REMD
 11901						ER4	AC+1,SN
 11902						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11903					>
 11904			012301		SN=SN+1
 11905			000004			ZZ=ZZ+ZZ
 11906	040141	201 12 0 00 000004 		MOVEI	AC,ZZ		;SETUP DVND
 11907	040142	205 11 0 00 400000 		MOVSI	AC-1,400000	;SETUP DVSR
 11908	040143	230 12 0 00 000011 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY (-N)
 11909	040144	332 00 0 00 000012 		SKIPE	AC		;TEST QUOT
 11910	040145	003 12 0 00 012301 		ER3	AC,SN
 11911	040146	302 13 0 00 000004 		CAIE	AC+1,ZZ		;TEST REMD
 11912	040147	004 13 0 00 012301 		ER4	AC+1,SN
 11913	040150	321 14 0 00 040140 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11914
 11915			012302		SN=SN+1
 11916			000010			ZZ=ZZ+ZZ
 11917	040151	201 12 0 00 000010 		MOVEI	AC,ZZ		;SETUP DVND
 11918	040152	205 11 0 00 400000 		MOVSI	AC-1,400000	;SETUP DVSR
 11919	040153	230 12 0 00 000011 		IDIV	AC,AC-1		;DIVIDE (ZZ) BY (-N)
 11920	040154	332 00 0 00 000012 		SKIPE	AC		;TEST QUOT
 11921	040155	003 12 0 00 012302 		ER3	AC,SN
 11922	040156	302 13 0 00 000010 		CAIE	AC+1,ZZ		;TEST REMD
 11923	040157	004 13 0 00 012302 		ER4	AC+1,SN
 11924	040160	321 14 0 00 040150 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 11925
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 44
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0258

 11926					;DVND = -40,-20
 11927					;DVSR = 2
 11928
 11929			000006			AC=6
 11930						SAVEAC	(1,1)^
 11931	040161	201 10 0 00 040161 		MOVEI	AC+2,.		;SAVE TEST PC
 11932	040162	202 10 0 00 030051 		MOVEM	AC+2,TESTPC
 11933	040163	201 10 0 00 000010 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11934	040164	202 10 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11935
 11936			012600		SN=12600
 11937		777777	777700			ZZ=-100
 11938
 11939					F12600:	REPEAT ^D2,
 11940					<SN=SN+1
 11941						ZZ=ZZ/2
 11942						HRROI	AC,ZZ		;SETUP DVND
 11943						MOVEI	AC-1,2		;SETUP DVSR
 11944						IDIV	AC,AC-1		;DIVIDE ZZ BY 2
 11945						CAME	AC,[ZZ/2]	;TEST QUOT = 0
 11946						ER3	AC,SN
 11947						SKIPE	AC+1		;TEST REMD
 11948						ER4	AC+1,SN
 11949						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 11950					>
 11951			012601		SN=SN+1
 11952		777777	777740			ZZ=ZZ/2
 11953	040165	561 06 0 00 777740 		HRROI	AC,ZZ		;SETUP DVND
 11954	040166	201 05 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 11955	040167	230 06 0 00 000005 		IDIV	AC,AC-1		;DIVIDE ZZ BY 2
 11956	040170	312 06 0 00 045303 		CAME	AC,[ZZ/2]	;TEST QUOT = 0
 11957	040171	003 06 0 00 012601 		ER3	AC,SN
 11958	040172	332 00 0 00 000007 		SKIPE	AC+1		;TEST REMD
 11959	040173	004 07 0 00 012601 		ER4	AC+1,SN
 11960	040174	321 10 0 00 040165 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 11961
 11962			012602		SN=SN+1
 11963		777777	777760			ZZ=ZZ/2
 11964	040175	561 06 0 00 777760 		HRROI	AC,ZZ		;SETUP DVND
 11965	040176	201 05 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 11966	040177	230 06 0 00 000005 		IDIV	AC,AC-1		;DIVIDE ZZ BY 2
 11967	040200	312 06 0 00 045304 		CAME	AC,[ZZ/2]	;TEST QUOT = 0
 11968	040201	003 06 0 00 012602 		ER3	AC,SN
 11969	040202	332 00 0 00 000007 		SKIPE	AC+1		;TEST REMD
 11970	040203	004 07 0 00 012602 		ER4	AC+1,SN
 11971	040204	321 10 0 00 040175 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 11972
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 45
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0259

 11973					;DVND = -100,-40
 11974					;DVSR = 2
 11975
 11976			000004			AC=4
 11977						SAVEAC	(1,1)^
 11978	040205	201 06 0 00 040205 		MOVEI	AC+2,.		;SAVE TEST PC
 11979	040206	202 06 0 00 030051 		MOVEM	AC+2,TESTPC
 11980	040207	201 06 0 00 000006 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 11981	040210	202 06 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 11982
 11983			013000		SN=13000
 11984		777777	777600			ZZ=-200
 11985
 11986					F13000:	REPEAT ^D2,
 11987					<SN=SN+1
 11988						ZZ=ZZ/2
 11989						HRROI	AC-2,ZZ/2	;SETUP FOR COMPARISON
 11990						HRROI	AC,ZZ		;SETUP DVND
 11991						MOVEI	AC-1,2		;SETUP DVSR
 11992						IDIV	AC,AC-1		;DIVIDE (-ZZ) BY 2
 11993						CAME	AC,AC-2		;TEST QUOT
 11994						ER3	AC,SN
 11995						SKIPE	AC+1		;TEST REMD
 11996						ER4	AC+1,SN
 11997						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 11998					>
 11999			013001		SN=SN+1
 12000		777777	777700			ZZ=ZZ/2
 12001	040211	561 02 0 00 777740 		HRROI	AC-2,ZZ/2	;SETUP FOR COMPARISON
 12002	040212	561 04 0 00 777700 		HRROI	AC,ZZ		;SETUP DVND
 12003	040213	201 03 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12004	040214	230 04 0 00 000003 		IDIV	AC,AC-1		;DIVIDE (-ZZ) BY 2
 12005	040215	312 04 0 00 000002 		CAME	AC,AC-2		;TEST QUOT
 12006	040216	003 04 0 00 013001 		ER3	AC,SN
 12007	040217	332 00 0 00 000005 		SKIPE	AC+1		;TEST REMD
 12008	040220	004 05 0 00 013001 		ER4	AC+1,SN
 12009	040221	321 06 0 00 040210 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 12010
 12011			013002		SN=SN+1
 12012		777777	777740			ZZ=ZZ/2
 12013	040222	561 02 0 00 777760 		HRROI	AC-2,ZZ/2	;SETUP FOR COMPARISON
 12014	040223	561 04 0 00 777740 		HRROI	AC,ZZ		;SETUP DVND
 12015	040224	201 03 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12016	040225	230 04 0 00 000003 		IDIV	AC,AC-1		;DIVIDE (-ZZ) BY 2
 12017	040226	312 04 0 00 000002 		CAME	AC,AC-2		;TEST QUOT
 12018	040227	003 04 0 00 013002 		ER3	AC,SN
 12019	040230	332 00 0 00 000005 		SKIPE	AC+1		;TEST REMD
 12020	040231	004 05 0 00 013002 		ER4	AC+1,SN
 12021	040232	321 06 0 00 040221 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 12022
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 46
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0260

 12023					;FAILURE RESULTS IN A QUOT AND
 12024					;REMD WHICH ARE THE TWO'S
 12025					;COMPLEMENT OF ACTUAL
 12026					;DVND = -7,-17
 12027					;DVSR = 4
 12028
 12029			000014			AC=14
 12030						SAVEAC	(1,1)^
 12031	040233	201 16 0 00 040233 		MOVEI	AC+2,.		;SAVE TEST PC
 12032	040234	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
 12033	040235	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12034	040236	202 16 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12035
 12036			013200		SN=13200
 12037			000001			ZZ=1
 12038
 12039					F13200:	REPEAT ^D2,
 12040					<SN=SN+1
 12041						ZZ=ZZ-10
 12042						HRROI	AC-2,ZZ/4	;SETUP FOR COMPARISON
 12043						HRROI	AC,ZZ		;SETUP DVND
 12044						MOVEI	AC-1,4		;SETUP DVSR
 12045						IDIV	AC,AC-1		;DIVIDE (-ZZ) BY 4
 12046						CAME	AC,AC-2		;TEST QUOT
 12047						ER3	AC,SN
 12048						HRROI	AC-2,-3		;SETUP FOR COMPARISON
 12049						CAME	AC+1,AC-2	;TEST REMD
 12050						ER4	AC+1,SN
 12051						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 12052					>
 12053			013201		SN=SN+1
 12054		777777	777771			ZZ=ZZ-10
 12055	040237	561 12 0 00 777777 		HRROI	AC-2,ZZ/4	;SETUP FOR COMPARISON
 12056	040240	561 14 0 00 777771 		HRROI	AC,ZZ		;SETUP DVND
 12057	040241	201 13 0 00 000004 		MOVEI	AC-1,4		;SETUP DVSR
 12058	040242	230 14 0 00 000013 		IDIV	AC,AC-1		;DIVIDE (-ZZ) BY 4
 12059	040243	312 14 0 00 000012 		CAME	AC,AC-2		;TEST QUOT
 12060	040244	003 14 0 00 013201 		ER3	AC,SN
 12061	040245	561 12 0 00 777775 		HRROI	AC-2,-3		;SETUP FOR COMPARISON
 12062	040246	312 15 0 00 000012 		CAME	AC+1,AC-2	;TEST REMD
 12063	040247	004 15 0 00 013201 		ER4	AC+1,SN
 12064	040250	321 16 0 00 040237 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 12065
 12066			013202		SN=SN+1
 12067		777777	777761			ZZ=ZZ-10
 12068	040251	561 12 0 00 777775 		HRROI	AC-2,ZZ/4	;SETUP FOR COMPARISON
 12069	040252	561 14 0 00 777761 		HRROI	AC,ZZ		;SETUP DVND
 12070	040253	201 13 0 00 000004 		MOVEI	AC-1,4		;SETUP DVSR
 12071	040254	230 14 0 00 000013 		IDIV	AC,AC-1		;DIVIDE (-ZZ) BY 4
 12072	040255	312 14 0 00 000012 		CAME	AC,AC-2		;TEST QUOT
 12073	040256	003 14 0 00 013202 		ER3	AC,SN
 12074	040257	561 12 0 00 777775 		HRROI	AC-2,-3		;SETUP FOR COMPARISON
 12075	040260	312 15 0 00 000012 		CAME	AC+1,AC-2	;TEST REMD
 12076	040261	004 15 0 00 013202 		ER4	AC+1,SN
 12077	040262	321 16 0 00 040251 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 46-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0261

 12078
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 47
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0262

 12079					;DVND = -77,-37
 12080					;DVSR = 2
 12081
 12082			000013			AC=13
 12083						SAVEAC	(1,1)^
 12084	040263	201 15 0 00 040263 		MOVEI	AC+2,.		;SAVE TEST PC
 12085	040264	202 15 0 00 030051 		MOVEM	AC+2,TESTPC
 12086	040265	201 15 0 00 000015 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12087	040266	202 15 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12088
 12089			013300		SN=13300
 12090		777777	777601			ZZ=-177
 12091
 12092					F13300:	REPEAT ^D2,
 12093					<SN=SN+1
 12094						ZZ=ZZ/2
 12095						HRROI	AC-2,-1		;SETUP FOR COMPARISON
 12096						HRROI	AC,ZZ		;SETUP DVND
 12097						MOVEI	AC-1,2		;SETUP DVSR
 12098						IDIV	AC,AC-1		;DIVIDE (-ZZ) BY 2
 12099						CAME	AC+1,AC-2	;TEST REMD
 12100						ER4	AC+1,SN
 12101						HRROI	AC-2,ZZ/2	;SETUP FOR COMPARISON
 12102						CAME	AC,AC-2		;TEST QUOTIENT
 12103						ER3	AC,AC-2
 12104						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 12105					>
 12106			013301		SN=SN+1
 12107		777777	777701			ZZ=ZZ/2
 12108	040267	561 11 0 00 777777 		HRROI	AC-2,-1		;SETUP FOR COMPARISON
 12109	040270	561 13 0 00 777701 		HRROI	AC,ZZ		;SETUP DVND
 12110	040271	201 12 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12111	040272	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE (-ZZ) BY 2
 12112	040273	312 14 0 00 000011 		CAME	AC+1,AC-2	;TEST REMD
 12113	040274	004 14 0 00 013301 		ER4	AC+1,SN
 12114	040275	561 11 0 00 777741 		HRROI	AC-2,ZZ/2	;SETUP FOR COMPARISON
 12115	040276	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOTIENT
 12116	040277	003 13 0 00 000011 		ER3	AC,AC-2
 12117	040300	321 15 0 00 040267 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 12118
 12119			013302		SN=SN+1
 12120		777777	777741			ZZ=ZZ/2
 12121	040301	561 11 0 00 777777 		HRROI	AC-2,-1		;SETUP FOR COMPARISON
 12122	040302	561 13 0 00 777741 		HRROI	AC,ZZ		;SETUP DVND
 12123	040303	201 12 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12124	040304	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE (-ZZ) BY 2
 12125	040305	312 14 0 00 000011 		CAME	AC+1,AC-2	;TEST REMD
 12126	040306	004 14 0 00 013302 		ER4	AC+1,SN
 12127	040307	561 11 0 00 777761 		HRROI	AC-2,ZZ/2	;SETUP FOR COMPARISON
 12128	040310	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOTIENT
 12129	040311	003 13 0 00 000011 		ER3	AC,AC-2
 12130	040312	321 15 0 00 040301 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 12131
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 48
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0263

 12132					;DVND = -4,-10
 12133					;DVSR = 2
 12134
 12135			000012			AC=12
 12136						SAVEAC	(1,1)^
 12137	040313	201 14 0 00 040313 		MOVEI	AC+2,.		;SAVE TEST PC
 12138	040314	202 14 0 00 030051 		MOVEM	AC+2,TESTPC
 12139	040315	201 14 0 00 000014 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12140	040316	202 14 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12141
 12142			013500		SN=13500
 12143		777777	777776			ZZ=-2
 12144
 12145					F13500:	REPEAT ^D2,
 12146					<SN=SN+1
 12147						ZZ=ZZ+ZZ
 12148						HRROI	AC-2,ZZ/2	;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,AC-2		;TEST QUOTIENT
 12153						ER3	AC,SN
 12154						SKIPE	AC+1		;TEST REMAINDER
 12155						ER4	AC+1,SN
 12156						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12157					>
 12158			013501		SN=SN+1
 12159		777777	777774			ZZ=ZZ+ZZ
 12160	040317	561 10 0 00 777776 		HRROI	AC-2,ZZ/2	;SETUP FOR COMPARISON
 12161	040320	561 12 0 00 777774 		HRROI	AC,ZZ		;SETUP DVND
 12162	040321	201 11 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12163	040322	230 12 0 00 000011 		IDIV	AC,AC-1		;DIVIDE (-ZZ) BY 2
 12164	040323	312 12 0 00 000010 		CAME	AC,AC-2		;TEST QUOTIENT
 12165	040324	003 12 0 00 013501 		ER3	AC,SN
 12166	040325	332 00 0 00 000013 		SKIPE	AC+1		;TEST REMAINDER
 12167	040326	004 13 0 00 013501 		ER4	AC+1,SN
 12168	040327	321 14 0 00 040317 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12169
 12170			013502		SN=SN+1
 12171		777777	777770			ZZ=ZZ+ZZ
 12172	040330	561 10 0 00 777774 		HRROI	AC-2,ZZ/2	;SETUP FOR COMPARISON
 12173	040331	561 12 0 00 777770 		HRROI	AC,ZZ		;SETUP DVND
 12174	040332	201 11 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12175	040333	230 12 0 00 000011 		IDIV	AC,AC-1		;DIVIDE (-ZZ) BY 2
 12176	040334	312 12 0 00 000010 		CAME	AC,AC-2		;TEST QUOTIENT
 12177	040335	003 12 0 00 013502 		ER3	AC,SN
 12178	040336	332 00 0 00 000013 		SKIPE	AC+1		;TEST REMAINDER
 12179	040337	004 13 0 00 013502 		ER4	AC+1,SN
 12180	040340	321 14 0 00 040330 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12181
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 49
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0264

 12182					;TEST IDIV- TWO NEGATIVES
 12183					;TEST ABILITY TO DIVIDE TWO
 12184					;NEGATIVE NUMBERS
 12185					;TEST EXERCISES MAJORITY
 12186					;OF IDIV LOGIC GATES
 12187					;DVND = -2,-4
 12188					;DVSR = -2,-4
 12189
 12190			000007			AC=7
 12191						SAVEAC	(1,1)^
 12192	040341	201 11 0 00 040341 		MOVEI	AC+2,.		;SAVE TEST PC
 12193	040342	202 11 0 00 030051 		MOVEM	AC+2,TESTPC
 12194	040343	201 11 0 00 000011 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12195	040344	202 11 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12196
 12197			014000		SN=14000
 12198		777777	777777			ZZ=-1
 12199
 12200					F14000:	REPEAT ^D2,		;DIVIDE TWO NEGATIVES
 12201					<SN=SN+1
 12202						ZZ=ZZ+ZZ
 12203						HRROI	AC,ZZ		;SETUP DVND
 12204						HRROI	AC-1,ZZ		;SETUP DVSR
 12205						IDIV	AC,AC-1		;DIVIDE (-ZZ) BY (-ZZ)
 12206						CAIE	AC,1		;TEST QUOT (POSITIVE)
 12207						ER3	AC,SN		;INCORRECT SIGN
 12208						SKIPE	AC+1		;TEST REMAINDER
 12209						ER4	AC+1,SN
 12210						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 12211					>
 12212			014001		SN=SN+1
 12213		777777	777776			ZZ=ZZ+ZZ
 12214	040345	561 07 0 00 777776 		HRROI	AC,ZZ		;SETUP DVND
 12215	040346	561 06 0 00 777776 		HRROI	AC-1,ZZ		;SETUP DVSR
 12216	040347	230 07 0 00 000006 		IDIV	AC,AC-1		;DIVIDE (-ZZ) BY (-ZZ)
 12217	040350	302 07 0 00 000001 		CAIE	AC,1		;TEST QUOT (POSITIVE)
 12218	040351	003 07 0 00 014001 		ER3	AC,SN		;INCORRECT SIGN
 12219	040352	332 00 0 00 000010 		SKIPE	AC+1		;TEST REMAINDER
 12220	040353	004 10 0 00 014001 		ER4	AC+1,SN
 12221	040354	321 11 0 00 040345 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 12222
 12223			014002		SN=SN+1
 12224		777777	777774			ZZ=ZZ+ZZ
 12225	040355	561 07 0 00 777774 		HRROI	AC,ZZ		;SETUP DVND
 12226	040356	561 06 0 00 777774 		HRROI	AC-1,ZZ		;SETUP DVSR
 12227	040357	230 07 0 00 000006 		IDIV	AC,AC-1		;DIVIDE (-ZZ) BY (-ZZ)
 12228	040360	302 07 0 00 000001 		CAIE	AC,1		;TEST QUOT (POSITIVE)
 12229	040361	003 07 0 00 014002 		ER3	AC,SN		;INCORRECT SIGN
 12230	040362	332 00 0 00 000010 		SKIPE	AC+1		;TEST REMAINDER
 12231	040363	004 10 0 00 014002 		ER4	AC+1,SN
 12232	040364	321 11 0 00 040355 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 12233
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 50
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0265

 12234					;TEST IDIV -IMMEDIATE MODE
 12235					;TEST ABILITY TO DIVIDE BY E VICE C(E)
 12236					;DVND = 2,4
 12237					;DVSR = E (C(E)=0)
 12238
 12239			014100		SN=14100
 12240			000012			AC=12
 12241			000001			ZZ=1
 12242
 12243					F14100:	REPEAT ^D2,		;TEST IDIV-IMM MODE
 12244					<SN=SN+1
 12245						ZZ=ZZ+ZZ
 12246						AC=AC-1
 12247						SAVEAC	(1,1)		;SAVE ERROR AC
 12248						JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 12249						MOVEI	AC,ZZ		;SETUP DVND
 12250						SETZ	AC-1,		;SETUP OVFL CONDITION
 12251						IDIVI	AC,AC-1		;DIVIDE (ZZ) BY E
 12252						JSP	AC-1,.+1
 12253						CAIE	AC,0
 12254						ER3	AC,SN		;C(AC) FAILED
 12255						CAIE	AC+1,ZZ
 12256						ER4	AC+1,SN		;C(AC+1) FAILED
 12257						JOV	.+2		;TEST FOR OVERFLOW
 12258						JRST	,.+2		;DIVIDED (ZZ) BY E
 12259						ER13	AC-1,SN		;DIVIDED (ZZ) BY C(E)
 12260						JUMPL	AC+2,.-^D14	;LOOP ON ERROR SWITCH
 12261					>
 12262			014101		SN=SN+1
 12263			000002			ZZ=ZZ+ZZ
 12264			000011			AC=AC-1
 12265						SAVEAC	(1,1)^
 12266	040365	201 13 0 00 040365 		MOVEI	AC+2,.		;SAVE TEST PC
 12267	040366	202 13 0 00 030051 		MOVEM	AC+2,TESTPC
 12268	040367	201 13 0 00 000013 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12269	040370	202 13 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^		;SAVE ERROR AC
 12270	040371	254 02 1 00 045305 		JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 12271	040372	201 11 0 00 000002 		MOVEI	AC,ZZ		;SETUP DVND
 12272	040373	400 10 0 00 000000 		SETZ	AC-1,		;SETUP OVFL CONDITION
 12273	040374	231 11 0 00 000010 		IDIVI	AC,AC-1		;DIVIDE (ZZ) BY E
 12274	040375	265 10 0 00 040376 		JSP	AC-1,.+1
 12275	040376	302 11 0 00 000000 		CAIE	AC,0
 12276	040377	003 11 0 00 014101 		ER3	AC,SN		;C(AC) FAILED
 12277	040400	302 12 0 00 000002 		CAIE	AC+1,ZZ
 12278	040401	004 12 0 00 014101 		ER4	AC+1,SN		;C(AC+1) FAILED
 12279	040402	255 10 0 00 040404 		JOV	.+2		;TEST FOR OVERFLOW
 12280	040403	254 00 0 00 040405 		JRST	,.+2		;DIVIDED (ZZ) BY E
 12281	040404	013 10 0 00 014101 		ER13	AC-1,SN		;DIVIDED (ZZ) BY C(E)
 12282	040405	321 13 0 00 040367 		JUMPL	AC+2,.-^D14	;LOOP ON ERROR SWITCH
 12283
 12284			014102		SN=SN+1
 12285			000004			ZZ=ZZ+ZZ
 12286			000010			AC=AC-1
 12287						SAVEAC	(1,1)^
 12288	040406	201 12 0 00 040406 		MOVEI	AC+2,.		;SAVE TEST PC
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 50-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0266

 12289	040407	202 12 0 00 030051 		MOVEM	AC+2,TESTPC
 12290	040410	201 12 0 00 000012 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12291	040411	202 12 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^		;SAVE ERROR AC
 12292	040412	254 02 1 00 045306 		JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 12293	040413	201 10 0 00 000004 		MOVEI	AC,ZZ		;SETUP DVND
 12294	040414	400 07 0 00 000000 		SETZ	AC-1,		;SETUP OVFL CONDITION
 12295	040415	231 10 0 00 000007 		IDIVI	AC,AC-1		;DIVIDE (ZZ) BY E
 12296	040416	265 07 0 00 040417 		JSP	AC-1,.+1
 12297	040417	302 10 0 00 000000 		CAIE	AC,0
 12298	040420	003 10 0 00 014102 		ER3	AC,SN		;C(AC) FAILED
 12299	040421	302 11 0 00 000004 		CAIE	AC+1,ZZ
 12300	040422	004 11 0 00 014102 		ER4	AC+1,SN		;C(AC+1) FAILED
 12301	040423	255 10 0 00 040425 		JOV	.+2		;TEST FOR OVERFLOW
 12302	040424	254 00 0 00 040426 		JRST	,.+2		;DIVIDED (ZZ) BY E
 12303	040425	013 07 0 00 014102 		ER13	AC-1,SN		;DIVIDED (ZZ) BY C(E)
 12304	040426	321 12 0 00 040410 		JUMPL	AC+2,.-^D14	;LOOP ON ERROR SWITCH
 12305
 12306					PAGE
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 50-2
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0267

 12307					;TEST IDIV-MEMORY MODE
 12308					;DVND = 10,20
 12309					;DVSR = 2
 12310
 12311			000014			AC=14
 12312						SAVEAC	(1,1)^
 12313	040427	201 16 0 00 040427 		MOVEI	AC+2,.		;SAVE TEST PC
 12314	040430	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
 12315	040431	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12316	040432	202 16 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12317	040433	254 02 1 00 045307 		JRSTF	@[.+1]		;CLEAR ALL FLAGS
 12318
 12319			014200		SN=14200
 12320			000004			ZZ=4
 12321
 12322					F14200:	REPEAT ^D2,		;TEST IDIV-MEMORY MODE
 12323					<SN=SN+1
 12324						ZZ=ZZ+ZZ
 12325						MOVEI	AC+1,ZZ		;SETUP FOR COMPARISON
 12326						MOVEI	AC,ZZ		;SETUP DVND
 12327						MOVEI	AC-1,2		;SETUP DVSR
 12328						IDIVM	AC,AC-1		;DIVIDE (ZZ) BY 2
 12329						CAME	AC,AC+1
 12330						ER3	AC,SN
 12331						CAIE	AC-1,ZZ/2	;TEST SCE
 12332						ER5	AC-1,SN
 12333						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12334					>
 12335			014201		SN=SN+1
 12336			000010			ZZ=ZZ+ZZ
 12337	040434	201 15 0 00 000010 		MOVEI	AC+1,ZZ		;SETUP FOR COMPARISON
 12338	040435	201 14 0 00 000010 		MOVEI	AC,ZZ		;SETUP DVND
 12339	040436	201 13 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12340	040437	232 14 0 00 000013 		IDIVM	AC,AC-1		;DIVIDE (ZZ) BY 2
 12341	040440	312 14 0 00 000015 		CAME	AC,AC+1
 12342	040441	003 14 0 00 014201 		ER3	AC,SN
 12343	040442	302 13 0 00 000004 		CAIE	AC-1,ZZ/2	;TEST SCE
 12344	040443	005 13 0 00 014201 		ER5	AC-1,SN
 12345	040444	321 16 0 00 040434 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12346
 12347			014202		SN=SN+1
 12348			000020			ZZ=ZZ+ZZ
 12349	040445	201 15 0 00 000020 		MOVEI	AC+1,ZZ		;SETUP FOR COMPARISON
 12350	040446	201 14 0 00 000020 		MOVEI	AC,ZZ		;SETUP DVND
 12351	040447	201 13 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12352	040450	232 14 0 00 000013 		IDIVM	AC,AC-1		;DIVIDE (ZZ) BY 2
 12353	040451	312 14 0 00 000015 		CAME	AC,AC+1
 12354	040452	003 14 0 00 014202 		ER3	AC,SN
 12355	040453	302 13 0 00 000010 		CAIE	AC-1,ZZ/2	;TEST SCE
 12356	040454	005 13 0 00 014202 		ER5	AC-1,SN
 12357	040455	321 16 0 00 040445 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12358
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 51
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0268

 12359					;TEST IDIV-BOTH MODE
 12360					;TEST ABILITY TO STORE QUOT
 12361					;IN AC AND E
 12362					;TEST ABILITY TO STORE REMD
 12363					;IN AC+1
 12364
 12365			000013			AC=13
 12366						SAVEAC	(1,1)^
 12367	040456	201 15 0 00 040456 		MOVEI	AC+2,.		;SAVE TEST PC
 12368	040457	202 15 0 00 030051 		MOVEM	AC+2,TESTPC
 12369	040460	201 15 0 00 000015 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12370	040461	202 15 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12371
 12372			014300		SN=14300
 12373			000001			ZZ=1
 12374
 12375					F14300:	REPEAT ^D2,		;TEST IDIV-BOTH MODE
 12376					<SN=SN+1
 12377						ZZ=ZZ+2
 12378						SETZ	AC+1,		;CLEAR AC+1
 12379						MOVEI	AC,ZZ		;SETUP DVND
 12380						MOVEI	AC-1,2		;SETUP DVSR
 12381						IDIVB	AC,AC-1		;DIVIDE (ZZ) BY 2
 12382						CAME	AC,AC-1		;TEST QUOT (C(AC)=C(E))
 12383						ER3	AC,SN		;STORE QUOTIENT FAILED
 12384						CAIE	AC+1,1		;TEST REMD(=1)
 12385						ER4	AC+1,SN		;STORE REMAINDER FAILED
 12386						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12387					>
 12388			014301		SN=SN+1
 12389			000003			ZZ=ZZ+2
 12390	040462	400 14 0 00 000000 		SETZ	AC+1,		;CLEAR AC+1
 12391	040463	201 13 0 00 000003 		MOVEI	AC,ZZ		;SETUP DVND
 12392	040464	201 12 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12393	040465	233 13 0 00 000012 		IDIVB	AC,AC-1		;DIVIDE (ZZ) BY 2
 12394	040466	312 13 0 00 000012 		CAME	AC,AC-1		;TEST QUOT (C(AC)=C(E))
 12395	040467	003 13 0 00 014301 		ER3	AC,SN		;STORE QUOTIENT FAILED
 12396	040470	302 14 0 00 000001 		CAIE	AC+1,1		;TEST REMD(=1)
 12397	040471	004 14 0 00 014301 		ER4	AC+1,SN		;STORE REMAINDER FAILED
 12398	040472	321 15 0 00 040462 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12399
 12400			014302		SN=SN+1
 12401			000005			ZZ=ZZ+2
 12402	040473	400 14 0 00 000000 		SETZ	AC+1,		;CLEAR AC+1
 12403	040474	201 13 0 00 000005 		MOVEI	AC,ZZ		;SETUP DVND
 12404	040475	201 12 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12405	040476	233 13 0 00 000012 		IDIVB	AC,AC-1		;DIVIDE (ZZ) BY 2
 12406	040477	312 13 0 00 000012 		CAME	AC,AC-1		;TEST QUOT (C(AC)=C(E))
 12407	040500	003 13 0 00 014302 		ER3	AC,SN		;STORE QUOTIENT FAILED
 12408	040501	302 14 0 00 000001 		CAIE	AC+1,1		;TEST REMD(=1)
 12409	040502	004 14 0 00 014302 		ER4	AC+1,SN		;STORE REMAINDER FAILED
 12410	040503	321 15 0 00 040473 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12411
 12412					PAGE
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 51-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0269

 12413					;TEST IDIV
 12414					;DVND = 400000000000
 12415					;DVSR = 2
 12416					;QUOT = 600000000000
 12417					;REMND = 0
 12418
 12419			000013			AC=13
 12420						SAVEAC	(1,1)^
 12421	040504	201 15 0 00 040504 		MOVEI	AC+2,.		;SAVE TEST PC
 12422	040505	202 15 0 00 030051 		MOVEM	AC+2,TESTPC
 12423	040506	201 15 0 00 000015 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12424	040507	202 15 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12425
 12426			400000			ZZ=400000
 12427			600000			XX=600000
 12428
 12429	040510	474 14 0 00 000000 	F14400:	SETO	AC+1,		;INITIALIZE REMAINDER STORAGE
 12430	040511	205 11 0 00 600000 		MOVSI	AC-2,XX		;SET UP COMPARISON FOR QUOTIENT
 12431	040512	400 10 0 00 000000 		SETZ	AC-3,		;SET UP COMPARISON FOR REMAINDER
 12432	040513	205 13 0 00 400000 		MOVSI	AC,ZZ		;SET UP DIVIDEND
 12433	040514	201 12 0 00 000002 		MOVEI	AC-1,2		;SET UP DIVISOR
 12434	040515	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE 400000000000 BY 2
 12435	040516	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOTIENT
 12436	040517	003 13 0 00 014401 		ER3	AC,14401	;STORE QUOTIENT FAILED
 12437	040520	312 14 0 00 000010 		CAME	AC+1,AC-3	;TEST REMAINDER
 12438	040521	004 14 0 00 014401 		ER4	AC+1,14401	;STORE REMAINDER FAILED
 12439	040522	321 15 0 00 040510 		JUMPL	AC+2,F14400	;LOOP ON ERROR SWITCH
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 52
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - INTEGER DIVIDE TEST                                           SEQ 0270

 12440					;TEST IDIVB (DIVIDE CHECK)
 12441
 12442	040523	254 02 1 00 045310 	F14410:	JRSTF	@[.+1]		;CLEAR ALL FLAGS
 12443	040524	201 13 0 00 000004 		MOVEI	AC,4		;SETUP DIVIDEND
 12444	040525	201 14 0 00 000004 		MOVEI	AC+1,4		;SETUP REMAINDER
 12445	040526	400 12 0 00 000000 		SETZ	AC-1,		;SETUP DIVISOR
 12446	040527	233 13 0 00 000012 		IDIVB	AC,AC-1
 12447	040530	265 11 0 00 040531 		JSP	AC-2,.+1	;SAVE FLAGS
 12448	040531	302 13 0 00 000004 		CAIE	AC,4
 12449	040532	003 13 0 00 014411 		ER3	AC,14411	;C(AC) WAS CLOBBERED
 12450	040533	302 14 0 00 000004 		CAIE	AC+1,4
 12451	040534	004 14 0 00 014411 		ER4	AC+1,14411	;C(AC+1) WAS CLOBBERED
 12452	040535	302 12 0 00 000000 		CAIE	AC-1,0	
 12453	040536	005 12 0 00 014411 		ER5	AC-1,14411	;C(E) WAS CLOBBERED
 12454	040537	255 10 0 00 040541 		JOV	.+2
 12455	040540	013 11 0 00 014411 		ER13	AC-2,14411	;ARCV FAILED TO SET
 12456	040541	607 11 0 00 000040 		TLNN	AC-2,DCK
 12457	040542	013 11 0 00 014411 		ER13	AC-2,14411	;'DCK' FAILED TO SET
 12458	040543	321 15 0 00 040523 		JUMPL	AC+2,F14410	;LOOP ON ERROR SWITCH
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 53
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0271

 12459					SUBTTL	DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST
 12460
 12461					;TEST FAC2 AND DECODE
 12462					;TEST OF ABILITY TO ASSERT IRDIV
 12463					;TEST ABILITY TO FETCH C(AC+1)
 12464
 12465			000013			AC=13
 12466						SAVEAC	(1,1)^
 12467	040544	201 15 0 00 040544 		MOVEI	AC+2,.		;SAVE TEST PC
 12468	040545	202 15 0 00 030051 		MOVEM	AC+2,TESTPC
 12469	040546	201 15 0 00 000015 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12470	040547	202 15 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12471	040550	254 02 1 00 045311 		JRSTF	@[.+1]		;CLEAR ALL FLAGS
 12472
 12473			014500		SN=14500
 12474		004000	000001			XX=4000000001
 12475			000002			ZZ=2
 12476
 12477					F14500:	REPEAT ^D2,		;TEST FAC2 FAILING(IRDIV)
 12478					<SN=SN+1
 12479						XX=XX+XX-1
 12480						ZZ=ZZ+ZZ
 12481						MOVEI	AC,ZZ		;SETUP HIGH DVND
 12482						MOVEI	AC+1,200	;SETUP LOW DVND
 12483						MOVEI	AC-1,200	;SETUP DVSR
 12484						DIV	AC,AC-1		;DIVIDE (N) BY 200
 12485						CAME	AC,[XX]		;TEST BIT 35(1) (ODD QUOT)
 12486						ER3	AC,SN
 12487						SKIPE	<AC+1>&17	;TEST REMD = 0
 12488						ER4	AC+1,SN
 12489						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12490					>
 12491			014501		SN=SN+1
 12492		010000	000001			XX=XX+XX-1
 12493			000004			ZZ=ZZ+ZZ
 12494	040551	201 13 0 00 000004 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 12495	040552	201 14 0 00 000200 		MOVEI	AC+1,200	;SETUP LOW DVND
 12496	040553	201 12 0 00 000200 		MOVEI	AC-1,200	;SETUP DVSR
 12497	040554	234 13 0 00 000012 		DIV	AC,AC-1		;DIVIDE (N) BY 200
 12498	040555	312 13 0 00 045160 		CAME	AC,[XX]		;TEST BIT 35(1) (ODD QUOT)
 12499	040556	003 13 0 00 014501 		ER3	AC,SN
 12500	040557	332 00 0 00 000014 		SKIPE	<AC+1>&17	;TEST REMD = 0
 12501	040560	004 14 0 00 014501 		ER4	AC+1,SN
 12502	040561	321 15 0 00 040551 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12503
 12504			014502		SN=SN+1
 12505		020000	000001			XX=XX+XX-1
 12506			000010			ZZ=ZZ+ZZ
 12507	040562	201 13 0 00 000010 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 12508	040563	201 14 0 00 000200 		MOVEI	AC+1,200	;SETUP LOW DVND
 12509	040564	201 12 0 00 000200 		MOVEI	AC-1,200	;SETUP DVSR
 12510	040565	234 13 0 00 000012 		DIV	AC,AC-1		;DIVIDE (N) BY 200
 12511	040566	312 13 0 00 045162 		CAME	AC,[XX]		;TEST BIT 35(1) (ODD QUOT)
 12512	040567	003 13 0 00 014502 		ER3	AC,SN
 12513	040570	332 00 0 00 000014 		SKIPE	<AC+1>&17	;TEST REMD = 0
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 53-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0272

 12514	040571	004 14 0 00 014502 		ER4	AC+1,SN
 12515	040572	321 15 0 00 040562 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12516
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 54
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0273

 12517					;HIGH DVND = 2,4
 12518					;LOW DVND = 0
 12519					;DVSR = 2,4
 12520
 12521			000006			AC=6
 12522						SAVEAC	(1,1)^
 12523	040573	201 10 0 00 040573 		MOVEI	AC+2,.		;SAVE TEST PC
 12524	040574	202 10 0 00 030051 		MOVEM	AC+2,TESTPC
 12525	040575	201 10 0 00 000010 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12526	040576	202 10 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12527
 12528			014600		SN=14600
 12529			000001			ZZ=1
 12530
 12531					F14600:	REPEAT ^D2,
 12532					<SN=SN+1
 12533						ZZ=ZZ+ZZ
 12534						JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 12535						MOVEI	AC,ZZ		;SETUP HIGH DVND
 12536						SETZ	AC+1,		;SETUP LOW DVND
 12537						MOVEI	AC-1,ZZ		;SETUP DVSR
 12538						DIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 12539						JSP	AC-2,.+1
 12540						JOV	.+2		;TEST AROV FLAG
 12541						ER13	AC-2,SN
 12542						TLNN	AC-2,DCK
 12543						ER13	AC-2,SN		;DCK FAILED TO SET
 12544						CAIE	AC,ZZ		;EXAMINE QUOTIENT
 12545						ER3	AC,SN		;C(AC) WAS CLOBBERED
 12546						SKIPE	<AC+1>&17	;EXAMINE REMAINDER
 12547						ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 12548						JUMPL	AC+2,.-^D14	;LOOP ON ERROR SWITCH
 12549					>
 12550			014601		SN=SN+1
 12551			000002			ZZ=ZZ+ZZ
 12552	040577	254 02 1 00 045312 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 12553	040600	201 06 0 00 000002 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 12554	040601	400 07 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 12555	040602	201 05 0 00 000002 		MOVEI	AC-1,ZZ		;SETUP DVSR
 12556	040603	234 06 0 00 000005 		DIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 12557	040604	265 04 0 00 040605 		JSP	AC-2,.+1
 12558	040605	255 10 0 00 040607 		JOV	.+2		;TEST AROV FLAG
 12559	040606	013 04 0 00 014601 		ER13	AC-2,SN
 12560	040607	607 04 0 00 000040 		TLNN	AC-2,DCK
 12561	040610	013 04 0 00 014601 		ER13	AC-2,SN		;DCK FAILED TO SET
 12562	040611	302 06 0 00 000002 		CAIE	AC,ZZ		;EXAMINE QUOTIENT
 12563	040612	003 06 0 00 014601 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 12564	040613	332 00 0 00 000007 		SKIPE	<AC+1>&17	;EXAMINE REMAINDER
 12565	040614	004 07 0 00 014601 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 12566	040615	321 10 0 00 040577 		JUMPL	AC+2,.-^D14	;LOOP ON ERROR SWITCH
 12567
 12568			014602		SN=SN+1
 12569			000004			ZZ=ZZ+ZZ
 12570	040616	254 02 1 00 045313 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 12571	040617	201 06 0 00 000004 		MOVEI	AC,ZZ		;SETUP HIGH DVND
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 54-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0274

 12572	040620	400 07 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 12573	040621	201 05 0 00 000004 		MOVEI	AC-1,ZZ		;SETUP DVSR
 12574	040622	234 06 0 00 000005 		DIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 12575	040623	265 04 0 00 040624 		JSP	AC-2,.+1
 12576	040624	255 10 0 00 040626 		JOV	.+2		;TEST AROV FLAG
 12577	040625	013 04 0 00 014602 		ER13	AC-2,SN
 12578	040626	607 04 0 00 000040 		TLNN	AC-2,DCK
 12579	040627	013 04 0 00 014602 		ER13	AC-2,SN		;DCK FAILED TO SET
 12580	040630	302 06 0 00 000004 		CAIE	AC,ZZ		;EXAMINE QUOTIENT
 12581	040631	003 06 0 00 014602 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 12582	040632	332 00 0 00 000007 		SKIPE	<AC+1>&17	;EXAMINE REMAINDER
 12583	040633	004 07 0 00 014602 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 12584	040634	321 10 0 00 040616 		JUMPL	AC+2,.-^D14	;LOOP ON ERROR SWITCH
 12585
 12586					PAGE
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 54-2
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0275

 12587					;=2
 12588					;HIGH DVND = 4
 12589					;LOW DVND = 4
 12590					;DVSR = 10,20
 12591
 12592			000005			AC=5
 12593						SAVEAC	(1,1)^
 12594	040635	201 07 0 00 040635 		MOVEI	AC+2,.		;SAVE TEST PC
 12595	040636	202 07 0 00 030051 		MOVEM	AC+2,TESTPC
 12596	040637	201 07 0 00 000007 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12597	040640	202 07 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12598	040641	254 02 1 00 045314 		JRSTF	@[.+1]		;CLEAR ALL FLAGS
 12599
 12600			014700		SN=14700
 12601			000004			ZZ=4
 12602
 12603					F14700:	REPEAT ^D2,
 12604					<SN=SN+1
 12605						ZZ=ZZ+ZZ
 12606						MOVEI	AC-2,4		;SETUP FOR COMPARISON
 12607						MOVEI	AC,4		;SETUP HIGH DVND
 12608						MOVEI	AC+1,4		;SETUP LOW DVND
 12609						MOVEI	AC-1,ZZ		;SETUP DVSR
 12610						DIV	AC,AC-1		;DIVIDE (N) BY ZZ
 12611						CAME	AC+1,AC-2	;TEST REMD = 2
 12612						ER4	AC+1,SN
 12613						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 12614					>
 12615			014701		SN=SN+1
 12616			000010			ZZ=ZZ+ZZ
 12617	040642	201 03 0 00 000004 		MOVEI	AC-2,4		;SETUP FOR COMPARISON
 12618	040643	201 05 0 00 000004 		MOVEI	AC,4		;SETUP HIGH DVND
 12619	040644	201 06 0 00 000004 		MOVEI	AC+1,4		;SETUP LOW DVND
 12620	040645	201 04 0 00 000010 		MOVEI	AC-1,ZZ		;SETUP DVSR
 12621	040646	234 05 0 00 000004 		DIV	AC,AC-1		;DIVIDE (N) BY ZZ
 12622	040647	312 06 0 00 000003 		CAME	AC+1,AC-2	;TEST REMD = 2
 12623	040650	004 06 0 00 014701 		ER4	AC+1,SN
 12624	040651	321 07 0 00 040642 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 12625
 12626			014702		SN=SN+1
 12627			000020			ZZ=ZZ+ZZ
 12628	040652	201 03 0 00 000004 		MOVEI	AC-2,4		;SETUP FOR COMPARISON
 12629	040653	201 05 0 00 000004 		MOVEI	AC,4		;SETUP HIGH DVND
 12630	040654	201 06 0 00 000004 		MOVEI	AC+1,4		;SETUP LOW DVND
 12631	040655	201 04 0 00 000020 		MOVEI	AC-1,ZZ		;SETUP DVSR
 12632	040656	234 05 0 00 000004 		DIV	AC,AC-1		;DIVIDE (N) BY ZZ
 12633	040657	312 06 0 00 000003 		CAME	AC+1,AC-2	;TEST REMD = 2
 12634	040660	004 06 0 00 014702 		ER4	AC+1,SN
 12635	040661	321 07 0 00 040652 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 12636
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 55
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0276

 12637					;HIGH DVND = -1
 12638					;LOW DVND = -4,-10
 12639					;DVSR = 2
 12640
 12641			000013			AC=13
 12642						SAVEAC	(1,1)^
 12643	040662	201 15 0 00 040662 		MOVEI	AC+2,.		;SAVE TEST PC
 12644	040663	202 15 0 00 030051 		MOVEM	AC+2,TESTPC
 12645	040664	201 15 0 00 000015 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12646	040665	202 15 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12647
 12648			015000		SN=15000
 12649		777777	777777			XX=-1
 12650		777777	777776			ZZ=-2
 12651
 12652					F15000:	REPEAT ^D2,
 12653					<SN=SN+1
 12654						XX=XX+XX
 12655						ZZ=ZZ+ZZ
 12656						HRROI	AC-2,XX		;SETUP FOR COMPARISON
 12657						SETO	AC,		;SETUP HIGH DVND
 12658						HRROI	AC+1,ZZ		;SETUP LOW DVND
 12659						MOVEI	AC-1,2		;SETUP DVSR
 12660						DIV	AC,AC-1		;DIVIDE ZZ BY 2
 12661						SKIPE	AC+1		;TEST REMD = 0
 12662						ER4	AC+1,SN
 12663						CAME	AC,AC-2		;TEST QUOT
 12664						ER3	AC,SN
 12665						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 12666					>
 12667			015001		SN=SN+1
 12668		777777	777776			XX=XX+XX
 12669		777777	777774			ZZ=ZZ+ZZ
 12670	040666	561 11 0 00 777776 		HRROI	AC-2,XX		;SETUP FOR COMPARISON
 12671	040667	474 13 0 00 000000 		SETO	AC,		;SETUP HIGH DVND
 12672	040670	561 14 0 00 777774 		HRROI	AC+1,ZZ		;SETUP LOW DVND
 12673	040671	201 12 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12674	040672	234 13 0 00 000012 		DIV	AC,AC-1		;DIVIDE ZZ BY 2
 12675	040673	332 00 0 00 000014 		SKIPE	AC+1		;TEST REMD = 0
 12676	040674	004 14 0 00 015001 		ER4	AC+1,SN
 12677	040675	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT
 12678	040676	003 13 0 00 015001 		ER3	AC,SN
 12679	040677	321 15 0 00 040666 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 12680
 12681			015002		SN=SN+1
 12682		777777	777774			XX=XX+XX
 12683		777777	777770			ZZ=ZZ+ZZ
 12684	040700	561 11 0 00 777774 		HRROI	AC-2,XX		;SETUP FOR COMPARISON
 12685	040701	474 13 0 00 000000 		SETO	AC,		;SETUP HIGH DVND
 12686	040702	561 14 0 00 777770 		HRROI	AC+1,ZZ		;SETUP LOW DVND
 12687	040703	201 12 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12688	040704	234 13 0 00 000012 		DIV	AC,AC-1		;DIVIDE ZZ BY 2
 12689	040705	332 00 0 00 000014 		SKIPE	AC+1		;TEST REMD = 0
 12690	040706	004 14 0 00 015002 		ER4	AC+1,SN
 12691	040707	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 55-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0277

 12692	040710	003 13 0 00 015002 		ER3	AC,SN
 12693	040711	321 15 0 00 040700 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 12694
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 56
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0278

 12695					;HIGH DVND = -1
 12696					;LOW DVND = 2,4
 12697					;DVSR = -2,-4
 12698
 12699			000014			AC=14
 12700						SAVEAC	(1,1)^
 12701	040712	201 16 0 00 040712 		MOVEI	AC+2,.		;SAVE TEST PC
 12702	040713	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
 12703	040714	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12704	040715	202 16 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12705
 12706			015100		SN=15100
 12707		777777	777777			XX=-1
 12708			377777			YY=377777
 12709			000001			ZZ=1
 12710
 12711					F15100:	REPEAT ^D2,
 12712					<SN=SN+1
 12713						XX=XX+XX
 12714						YY=YY/2
 12715						ZZ=ZZ+ZZ
 12716						JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 12717						SETO	AC,		;SETUP HIGH DVND
 12718						MOVEI	AC+1,ZZ		;SETUP LOW DVND
 12719						HRROI	AC-1,XX		;SETUP DVSR
 12720						HRLOI	AC-3,YY
 12721						DIV	AC,AC-1		;DIVIDE (-N) BY (XX)
 12722						JSP	AC-2,.+1
 12723						CAME	AC,<AC-3>&17
 12724						ER3	AC,SN		;C(AC) FAILED
 12725						CAIE	AC+1,0
 12726						ER4	AC+1,SN		;C(AC+1) FAILED
 12727						JOV	.+2		;TEST AROV FLAG
 12728						JRST	,.+2
 12729						ER13	AC-2,SN		;AROV SET
 12730						TLNE	AC-2,DCK
 12731						ER13	AC-2,SN		;DCK SET
 12732						JUMPL	AC+2,.-^D16	;LOOP ON ERROR SWITCH
 12733					>
 12734			015101		SN=SN+1
 12735		777777	777776			XX=XX+XX
 12736			177777			YY=YY/2
 12737			000002			ZZ=ZZ+ZZ
 12738	040716	254 02 1 00 045315 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 12739	040717	474 14 0 00 000000 		SETO	AC,		;SETUP HIGH DVND
 12740	040720	201 15 0 00 000002 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 12741	040721	561 13 0 00 777776 		HRROI	AC-1,XX		;SETUP DVSR
 12742	040722	525 11 0 00 177777 		HRLOI	AC-3,YY
 12743	040723	234 14 0 00 000013 		DIV	AC,AC-1		;DIVIDE (-N) BY (XX)
 12744	040724	265 12 0 00 040725 		JSP	AC-2,.+1
 12745	040725	312 14 0 00 000011 		CAME	AC,<AC-3>&17
 12746	040726	003 14 0 00 015101 		ER3	AC,SN		;C(AC) FAILED
 12747	040727	302 15 0 00 000000 		CAIE	AC+1,0
 12748	040730	004 15 0 00 015101 		ER4	AC+1,SN		;C(AC+1) FAILED
 12749	040731	255 10 0 00 040733 		JOV	.+2		;TEST AROV FLAG
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 56-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0279

 12750	040732	254 00 0 00 040734 		JRST	,.+2
 12751	040733	013 12 0 00 015101 		ER13	AC-2,SN		;AROV SET
 12752	040734	603 12 0 00 000040 		TLNE	AC-2,DCK
 12753	040735	013 12 0 00 015101 		ER13	AC-2,SN		;DCK SET
 12754	040736	321 16 0 00 040716 		JUMPL	AC+2,.-^D16	;LOOP ON ERROR SWITCH
 12755
 12756			015102		SN=SN+1
 12757		777777	777774			XX=XX+XX
 12758			077777			YY=YY/2
 12759			000004			ZZ=ZZ+ZZ
 12760	040737	254 02 1 00 045316 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 12761	040740	474 14 0 00 000000 		SETO	AC,		;SETUP HIGH DVND
 12762	040741	201 15 0 00 000004 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 12763	040742	561 13 0 00 777774 		HRROI	AC-1,XX		;SETUP DVSR
 12764	040743	525 11 0 00 077777 		HRLOI	AC-3,YY
 12765	040744	234 14 0 00 000013 		DIV	AC,AC-1		;DIVIDE (-N) BY (XX)
 12766	040745	265 12 0 00 040746 		JSP	AC-2,.+1
 12767	040746	312 14 0 00 000011 		CAME	AC,<AC-3>&17
 12768	040747	003 14 0 00 015102 		ER3	AC,SN		;C(AC) FAILED
 12769	040750	302 15 0 00 000000 		CAIE	AC+1,0
 12770	040751	004 15 0 00 015102 		ER4	AC+1,SN		;C(AC+1) FAILED
 12771	040752	255 10 0 00 040754 		JOV	.+2		;TEST AROV FLAG
 12772	040753	254 00 0 00 040755 		JRST	,.+2
 12773	040754	013 12 0 00 015102 		ER13	AC-2,SN		;AROV SET
 12774	040755	603 12 0 00 000040 		TLNE	AC-2,DCK
 12775	040756	013 12 0 00 015102 		ER13	AC-2,SN		;DCK SET
 12776	040757	321 16 0 00 040737 		JUMPL	AC+2,.-^D16	;LOOP ON ERROR SWITCH
 12777
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 57
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0280

 12778					;HIGH  DVND = -2,-4
 12779					;LOW DVND = -1
 12780					;DVSR = 2,4
 12781
 12782			000012			AC=12
 12783						SAVEAC	(1,1)^
 12784	040760	201 14 0 00 040760 		MOVEI	AC+2,.		;SAVE TEST PC
 12785	040761	202 14 0 00 030051 		MOVEM	AC+2,TESTPC
 12786	040762	201 14 0 00 000014 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12787	040763	202 14 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12788	040764	254 02 1 00 045317 		JRSTF	@[.+1]		;CLEAR ALL FLAGS
 12789
 12790			015200		SN=15200
 12791			000001			XX=1
 12792		400000	000000			YY=1B0
 12793		777777	777777			ZZ=-1
 12794
 12795					F15200:	REPEAT ^D2,
 12796					<SN=SN+1
 12797						XX=XX+XX
 12798						YY=YY_-1
 12799						ZZ=ZZ+ZZ
 12800						HRROI	AC,ZZ		;SETUP HIGH DVND
 12801						SETO	AC+1,		;SETUP LOW DVND
 12802						MOVEI	AC-1,XX		;SETUP DVSR
 12803						DIV	AC,AC-1		;DIVIDE (-N) BY (XX)
 12804						CAME	AC,[1B0+YY]	;TEST FOR ODD NUMBER QUOTIENT
 12805						ER3	AC,SN
 12806						CAME	AC+1,[-1]	;TEST REMD
 12807						ER4	AC+1,SN
 12808						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12809					>
 12810			015201		SN=SN+1
 12811			000002			XX=XX+XX
 12812		200000	000000			YY=YY_-1
 12813		777777	777776			ZZ=ZZ+ZZ
 12814	040765	561 12 0 00 777776 		HRROI	AC,ZZ		;SETUP HIGH DVND
 12815	040766	474 13 0 00 000000 		SETO	AC+1,		;SETUP LOW DVND
 12816	040767	201 11 0 00 000002 		MOVEI	AC-1,XX		;SETUP DVSR
 12817	040770	234 12 0 00 000011 		DIV	AC,AC-1		;DIVIDE (-N) BY (XX)
 12818	040771	312 12 0 00 044762 		CAME	AC,[1B0+YY]	;TEST FOR ODD NUMBER QUOTIENT
 12819	040772	003 12 0 00 015201 		ER3	AC,SN
 12820	040773	312 13 0 00 044617 		CAME	AC+1,[-1]	;TEST REMD
 12821	040774	004 13 0 00 015201 		ER4	AC+1,SN
 12822	040775	321 14 0 00 040765 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12823
 12824			015202		SN=SN+1
 12825			000004			XX=XX+XX
 12826		100000	000000			YY=YY_-1
 12827		777777	777774			ZZ=ZZ+ZZ
 12828	040776	561 12 0 00 777774 		HRROI	AC,ZZ		;SETUP HIGH DVND
 12829	040777	474 13 0 00 000000 		SETO	AC+1,		;SETUP LOW DVND
 12830	041000	201 11 0 00 000004 		MOVEI	AC-1,XX		;SETUP DVSR
 12831	041001	234 12 0 00 000011 		DIV	AC,AC-1		;DIVIDE (-N) BY (XX)
 12832	041002	312 12 0 00 044757 		CAME	AC,[1B0+YY]	;TEST FOR ODD NUMBER QUOTIENT
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 57-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0281

 12833	041003	003 12 0 00 015202 		ER3	AC,SN
 12834	041004	312 13 0 00 044617 		CAME	AC+1,[-1]	;TEST REMD
 12835	041005	004 13 0 00 015202 		ER4	AC+1,SN
 12836	041006	321 14 0 00 040776 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 12837
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 60
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0282

 12838					;OPERANDS SELECTED SHOULD RESULT
 12839					;IN OVERFLOW
 12840					;HIGH DVND = -100,-40
 12841					;LOW DVND = 0
 12842					;DVSR = 100,40
 12843
 12844			000006			AC=6
 12845						SAVEAC	(1,1)^
 12846	041007	201 10 0 00 041007 		MOVEI	AC+2,.		;SAVE TEST PC
 12847	041010	202 10 0 00 030051 		MOVEM	AC+2,TESTPC
 12848	041011	201 10 0 00 000010 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12849	041012	202 10 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12850
 12851			015600		SN=15600
 12852		777777	777600			WW=-200
 12853			000200			XX=200
 12854		777777	777600			ZZ=-200
 12855
 12856					F15600:	REPEAT ^D2,
 12857					<SN=SN+1
 12858						WW=WW/2
 12859						XX=XX/2
 12860						ZZ=ZZ/2
 12861						JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 12862						HRROI	AC-2,WW		;SETUP AC-2 FOR COMPARISON
 12863						HRROI	AC,ZZ		;SETUP HIGH DVND
 12864						SETZ	AC+1,		;SETUP LOW DVND
 12865						MOVEI	AC-1,XX		;SETUP DVSR
 12866						DIV	AC,AC-1		;DIVIDE (-N) BY (N)
 12867						JSP	AC-3,.+1
 12868						JOV	.+2		;TEST FOR OVERFLOW
 12869						ER13	AC-3,SN
 12870						TLNN	AC-3,DCK
 12871						ER13	AC-3,SN		;DCK NOT SET
 12872						CAME	AC,AC-2		;TEST FOR UNIQUE QUOTIENT
 12873						ER3	AC,SN
 12874						CAIE	AC+1,0
 12875						ER4	AC+1,SN		;C(AC+1) FAILED
 12876						JUMPL	AC+2,.-^D16	;LOOP ON ERROR SWITCH
 12877					>
 12878			015601		SN=SN+1
 12879		777777	777700			WW=WW/2
 12880			000100			XX=XX/2
 12881		777777	777700			ZZ=ZZ/2
 12882	041013	254 02 1 00 045320 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 12883	041014	561 04 0 00 777700 		HRROI	AC-2,WW		;SETUP AC-2 FOR COMPARISON
 12884	041015	561 06 0 00 777700 		HRROI	AC,ZZ		;SETUP HIGH DVND
 12885	041016	400 07 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 12886	041017	201 05 0 00 000100 		MOVEI	AC-1,XX		;SETUP DVSR
 12887	041020	234 06 0 00 000005 		DIV	AC,AC-1		;DIVIDE (-N) BY (N)
 12888	041021	265 03 0 00 041022 		JSP	AC-3,.+1
 12889	041022	255 10 0 00 041024 		JOV	.+2		;TEST FOR OVERFLOW
 12890	041023	013 03 0 00 015601 		ER13	AC-3,SN
 12891	041024	607 03 0 00 000040 		TLNN	AC-3,DCK
 12892	041025	013 03 0 00 015601 		ER13	AC-3,SN		;DCK NOT SET
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 60-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0283

 12893	041026	312 06 0 00 000004 		CAME	AC,AC-2		;TEST FOR UNIQUE QUOTIENT
 12894	041027	003 06 0 00 015601 		ER3	AC,SN
 12895	041030	302 07 0 00 000000 		CAIE	AC+1,0
 12896	041031	004 07 0 00 015601 		ER4	AC+1,SN		;C(AC+1) FAILED
 12897	041032	321 10 0 00 041012 		JUMPL	AC+2,.-^D16	;LOOP ON ERROR SWITCH
 12898
 12899			015602		SN=SN+1
 12900		777777	777740			WW=WW/2
 12901			000040			XX=XX/2
 12902		777777	777740			ZZ=ZZ/2
 12903	041033	254 02 1 00 045321 		JRSTF	@[.+1]		;CLR ALL FLAGS, EXEC NEXT INST
 12904	041034	561 04 0 00 777740 		HRROI	AC-2,WW		;SETUP AC-2 FOR COMPARISON
 12905	041035	561 06 0 00 777740 		HRROI	AC,ZZ		;SETUP HIGH DVND
 12906	041036	400 07 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 12907	041037	201 05 0 00 000040 		MOVEI	AC-1,XX		;SETUP DVSR
 12908	041040	234 06 0 00 000005 		DIV	AC,AC-1		;DIVIDE (-N) BY (N)
 12909	041041	265 03 0 00 041042 		JSP	AC-3,.+1
 12910	041042	255 10 0 00 041044 		JOV	.+2		;TEST FOR OVERFLOW
 12911	041043	013 03 0 00 015602 		ER13	AC-3,SN
 12912	041044	607 03 0 00 000040 		TLNN	AC-3,DCK
 12913	041045	013 03 0 00 015602 		ER13	AC-3,SN		;DCK NOT SET
 12914	041046	312 06 0 00 000004 		CAME	AC,AC-2		;TEST FOR UNIQUE QUOTIENT
 12915	041047	003 06 0 00 015602 		ER3	AC,SN
 12916	041050	302 07 0 00 000000 		CAIE	AC+1,0
 12917	041051	004 07 0 00 015602 		ER4	AC+1,SN		;C(AC+1) FAILED
 12918	041052	321 10 0 00 041032 		JUMPL	AC+2,.-^D16	;LOOP ON ERROR SWITCH
 12919
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 61
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0284

 12920					;OPERANDS SELECTED SHOULD RESULT IN OVERFLOW
 12921					;HIGH DVND = -2,-4
 12922					;LOW DVND = 0
 12923					;DVSR = 2
 12924
 12925			000005			AC=5
 12926						SAVEAC	(1,1)^
 12927	041053	201 07 0 00 041053 		MOVEI	AC+2,.		;SAVE TEST PC
 12928	041054	202 07 0 00 030051 		MOVEM	AC+2,TESTPC
 12929	041055	201 07 0 00 000007 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12930	041056	202 07 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12931
 12932			015700		SN=15700
 12933		777777	777777			XX=-1
 12934		777777	777777			ZZ=-1
 12935
 12936					F15700:	REPEAT ^D2,
 12937					<SN=SN+1
 12938						XX=XX+XX
 12939						ZZ=ZZ+ZZ
 12940						JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 12941						HRROI	AC,ZZ		;SETUP HIGH DVND
 12942						SETZ	AC+1,		;SETUP LOW DVND
 12943						MOVEI	AC-1,2		;SETUP DVSR
 12944						DIV	AC,AC-1		;DIVIDE (-N) BY 2
 12945						JSP	AC-2,.+1
 12946						JOV	.+2		;TEST FOR OVERFLOW
 12947						ER13	AC-2,SN
 12948						CAME	AC,[XX]		;TEST QUOT
 12949						ER3	AC,SN
 12950						JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 12951					>
 12952			015701		SN=SN+1
 12953		777777	777776			XX=XX+XX
 12954		777777	777776			ZZ=ZZ+ZZ
 12955	041057	254 02 1 00 045322 		JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 12956	041060	561 05 0 00 777776 		HRROI	AC,ZZ		;SETUP HIGH DVND
 12957	041061	400 06 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 12958	041062	201 04 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12959	041063	234 05 0 00 000004 		DIV	AC,AC-1		;DIVIDE (-N) BY 2
 12960	041064	265 03 0 00 041065 		JSP	AC-2,.+1
 12961	041065	255 10 0 00 041067 		JOV	.+2		;TEST FOR OVERFLOW
 12962	041066	013 03 0 00 015701 		ER13	AC-2,SN
 12963	041067	312 05 0 00 044621 		CAME	AC,[XX]		;TEST QUOT
 12964	041070	003 05 0 00 015701 		ER3	AC,SN
 12965	041071	321 07 0 00 041057 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 12966
 12967			015702		SN=SN+1
 12968		777777	777774			XX=XX+XX
 12969		777777	777774			ZZ=ZZ+ZZ
 12970	041072	254 02 1 00 045323 		JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 12971	041073	561 05 0 00 777774 		HRROI	AC,ZZ		;SETUP HIGH DVND
 12972	041074	400 06 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 12973	041075	201 04 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 12974	041076	234 05 0 00 000004 		DIV	AC,AC-1		;DIVIDE (-N) BY 2
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 61-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0285

 12975	041077	265 03 0 00 041100 		JSP	AC-2,.+1
 12976	041100	255 10 0 00 041102 		JOV	.+2		;TEST FOR OVERFLOW
 12977	041101	013 03 0 00 015702 		ER13	AC-2,SN
 12978	041102	312 05 0 00 045324 		CAME	AC,[XX]		;TEST QUOT
 12979	041103	003 05 0 00 015702 		ER3	AC,SN
 12980	041104	321 07 0 00 041072 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 12981
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 63
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0286

 12982					;OPERANDS SELECTED WILL NOT OVERFLOW
 12983					;HIGH DVND = -1,-2
 12984					;LOW DVND = -1
 12985					;DVSR = -1,-2
 12986
 12987			000014			AC=14
 12988						SAVEAC	(1,1)^
 12989	041105	201 16 0 00 041105 		MOVEI	AC+2,.		;SAVE TEST PC
 12990	041106	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
 12991	041107	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 12992	041110	202 16 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 12993
 12994			016100		SN=16100
 12995			000000			ZZ=0
 12996
 12997					F16100:	REPEAT ^D2,
 12998					<SN=SN+1
 12999						ZZ=ZZ+ZZ
 13000						IFE	ZZ,<ZZ=-1>
 13001						JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 13002						HRROI	AC,ZZ		;SETUP HIGH DVND
 13003						SETO	AC+1,		;SETUP LOW DVND
 13004						HRROI	AC-1,ZZ		;SETUP DVSR
 13005						DIV	AC,AC-1		;DIVIDE (-N) BY (-N)
 13006						JSP	AC-3,.+1
 13007						JOV	.+2		;TEST FOR OVERFLOW
 13008						JRST	,.+2
 13009						ER13	AC-3,SN
 13010						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 13011					>
 13012			016101		SN=SN+1
 13013			000000			ZZ=ZZ+ZZ
 13014		777777	777777			IFE	ZZ,<ZZ=-1>
 13015	041111	254 02 1 00 045325 		JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 13016	041112	561 14 0 00 777777 		HRROI	AC,ZZ		;SETUP HIGH DVND
 13017	041113	474 15 0 00 000000 		SETO	AC+1,		;SETUP LOW DVND
 13018	041114	561 13 0 00 777777 		HRROI	AC-1,ZZ		;SETUP DVSR
 13019	041115	234 14 0 00 000013 		DIV	AC,AC-1		;DIVIDE (-N) BY (-N)
 13020	041116	265 11 0 00 041117 		JSP	AC-3,.+1
 13021	041117	255 10 0 00 041121 		JOV	.+2		;TEST FOR OVERFLOW
 13022	041120	254 00 0 00 041122 		JRST	,.+2
 13023	041121	013 11 0 00 016101 		ER13	AC-3,SN
 13024	041122	321 16 0 00 041111 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 13025
 13026			016102		SN=SN+1
 13027		777777	777776			ZZ=ZZ+ZZ
 13028						IFE	ZZ,<ZZ=-1>
 13029	041123	254 02 1 00 045326 		JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 13030	041124	561 14 0 00 777776 		HRROI	AC,ZZ		;SETUP HIGH DVND
 13031	041125	474 15 0 00 000000 		SETO	AC+1,		;SETUP LOW DVND
 13032	041126	561 13 0 00 777776 		HRROI	AC-1,ZZ		;SETUP DVSR
 13033	041127	234 14 0 00 000013 		DIV	AC,AC-1		;DIVIDE (-N) BY (-N)
 13034	041130	265 11 0 00 041131 		JSP	AC-3,.+1
 13035	041131	255 10 0 00 041133 		JOV	.+2		;TEST FOR OVERFLOW
 13036	041132	254 00 0 00 041134 		JRST	,.+2
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 63-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0287

 13037	041133	013 11 0 00 016102 		ER13	AC-3,SN
 13038	041134	321 16 0 00 041123 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 13039
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 64
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0288

 13040					;TEST DIV-IMMEDIATE MODE
 13041					;TEST ABILITY TO DIVIDE BY E
 13042					;VICE C(E)
 13043					;TEST ABILITY TO INHIBIT ASSERTION
 13044					;OF IRMDFCE
 13045
 13046			016200		SN=16200
 13047			000007			AC=7
 13048			000017			ZZ=17
 13049
 13050					F16200:	REPEAT ^D2,		;TEST DIV-IMM MODE
 13051					<SN=SN+1
 13052						AC=AC-1
 13053						ZZ=ZZ-1
 13054						SAVEAC	(1,1)		;SAVE ERROR AC
 13055						JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 13056						MOVEI	AC,4		;SETUP HIGH DVND
 13057						SETZ	AC+1,		;SETUP LOW DVND
 13058						MOVEI	AC-1,2		;SETUP OVERFLOW CONDITION
 13059						DIVI	AC,ZZ		;DIVIDE (N) BY E
 13060						JSP	AC-3,.+1
 13061						JOV	.+2		;TEST FOR OVERFLOW
 13062						JRST	,.+2		;DIVIDED BY E
 13063						ER13	AC-3,SN		;DIVIDED BY C(E)
 13064						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 13065					>
 13066			016201		SN=SN+1
 13067			000006			AC=AC-1
 13068			000016			ZZ=ZZ-1
 13069						SAVEAC	(1,1)^
 13070	041135	201 10 0 00 041135 		MOVEI	AC+2,.		;SAVE TEST PC
 13071	041136	202 10 0 00 030051 		MOVEM	AC+2,TESTPC
 13072	041137	201 10 0 00 000010 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 13073	041140	202 10 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^		;SAVE ERROR AC
 13074	041141	254 02 1 00 045327 		JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 13075	041142	201 06 0 00 000004 		MOVEI	AC,4		;SETUP HIGH DVND
 13076	041143	400 07 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 13077	041144	201 05 0 00 000002 		MOVEI	AC-1,2		;SETUP OVERFLOW CONDITION
 13078	041145	235 06 0 00 000016 		DIVI	AC,ZZ		;DIVIDE (N) BY E
 13079	041146	265 03 0 00 041147 		JSP	AC-3,.+1
 13080	041147	255 10 0 00 041151 		JOV	.+2		;TEST FOR OVERFLOW
 13081	041150	254 00 0 00 041152 		JRST	,.+2		;DIVIDED BY E
 13082	041151	013 03 0 00 016201 		ER13	AC-3,SN		;DIVIDED BY C(E)
 13083	041152	321 10 0 00 041141 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 13084
 13085			016202		SN=SN+1
 13086			000005			AC=AC-1
 13087			000015			ZZ=ZZ-1
 13088						SAVEAC	(1,1)^
 13089	041153	201 07 0 00 041153 		MOVEI	AC+2,.		;SAVE TEST PC
 13090	041154	202 07 0 00 030051 		MOVEM	AC+2,TESTPC
 13091	041155	201 07 0 00 000007 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 13092	041156	202 07 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^		;SAVE ERROR AC
 13093	041157	254 02 1 00 045330 		JRSTF	@[.+1]		;CLR ALL FLGS, EXEC NEXT INST
 13094	041160	201 05 0 00 000004 		MOVEI	AC,4		;SETUP HIGH DVND
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 64-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0289

 13095	041161	400 06 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 13096	041162	201 04 0 00 000002 		MOVEI	AC-1,2		;SETUP OVERFLOW CONDITION
 13097	041163	235 05 0 00 000015 		DIVI	AC,ZZ		;DIVIDE (N) BY E
 13098	041164	265 02 0 00 041165 		JSP	AC-3,.+1
 13099	041165	255 10 0 00 041167 		JOV	.+2		;TEST FOR OVERFLOW
 13100	041166	254 00 0 00 041170 		JRST	,.+2		;DIVIDED BY E
 13101	041167	013 02 0 00 016202 		ER13	AC-3,SN		;DIVIDED BY C(E)
 13102	041170	321 07 0 00 041157 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 13103
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 65
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0290

 13104					;TEST DIV-MEMORY MODE
 13105					;TEST ABILITY TO ASSERT IRMDSCE
 13106					;TEST ABILITY TO ASSERT IRMDSACINH
 13107
 13108			000005			AC=5
 13109						SAVEAC	(1,1)^
 13110	041171	201 07 0 00 041171 		MOVEI	AC+2,.		;SAVE TEST PC
 13111	041172	202 07 0 00 030051 		MOVEM	AC+2,TESTPC
 13112	041173	201 07 0 00 000007 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 13113	041174	202 07 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 13114	041175	254 02 1 00 045331 		JRSTF	@[.+1]		;CLEAR ALL FLAGS
 13115
 13116			016300		SN=16300
 13117			010000			XX=10000
 13118			000002			ZZ=2
 13119
 13120					F16300:	REPEAT ^D2,		;TEST DIV-MEM MODE
 13121					<SN=SN+1
 13122						XX=XX+XX
 13123						ZZ=ZZ+ZZ
 13124						MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13125						MOVEI	AC,ZZ		;SETUP HIGH DVND
 13126						MOVEI	AC+1,ZZ		;SETUP LOW DVND
 13127						MOVEI	AC-1,100	;SETUP DVSR
 13128						DIVM	AC,AC-1		;DIVIDE (+N) BY 100
 13129						CAME	AC-1,AC-2	;TEST SCE
 13130						ER5	AC-1,SN
 13131						CAME	AC,AC+1		;TEST SAC INH
 13132						ER3	AC,SN
 13133						JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 13134					>
 13135			016301		SN=SN+1
 13136			020000			XX=XX+XX
 13137			000004			ZZ=ZZ+ZZ
 13138	041176	205 03 0 00 020000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13139	041177	201 05 0 00 000004 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 13140	041200	201 06 0 00 000004 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 13141	041201	201 04 0 00 000100 		MOVEI	AC-1,100	;SETUP DVSR
 13142	041202	236 05 0 00 000004 		DIVM	AC,AC-1		;DIVIDE (+N) BY 100
 13143	041203	312 04 0 00 000003 		CAME	AC-1,AC-2	;TEST SCE
 13144	041204	005 04 0 00 016301 		ER5	AC-1,SN
 13145	041205	312 05 0 00 000006 		CAME	AC,AC+1		;TEST SAC INH
 13146	041206	003 05 0 00 016301 		ER3	AC,SN
 13147	041207	321 07 0 00 041176 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 13148
 13149			016302		SN=SN+1
 13150			040000			XX=XX+XX
 13151			000010			ZZ=ZZ+ZZ
 13152	041210	205 03 0 00 040000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13153	041211	201 05 0 00 000010 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 13154	041212	201 06 0 00 000010 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 13155	041213	201 04 0 00 000100 		MOVEI	AC-1,100	;SETUP DVSR
 13156	041214	236 05 0 00 000004 		DIVM	AC,AC-1		;DIVIDE (+N) BY 100
 13157	041215	312 04 0 00 000003 		CAME	AC-1,AC-2	;TEST SCE
 13158	041216	005 04 0 00 016302 		ER5	AC-1,SN
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 65-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0291

 13159	041217	312 05 0 00 000006 		CAME	AC,AC+1		;TEST SAC INH
 13160	041220	003 05 0 00 016302 		ER3	AC,SN
 13161	041221	321 07 0 00 041210 		JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
 13162
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 66
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0292

 13163					;TEST DIV-BOTH MODE
 13164					;TEST ABILITY TO STORE QUOT
 13165					;IN AC,E
 13166					;TEST ABILITY TO STORE REMD
 13167					;IN AC+1
 13168
 13169			000014			AC=14
 13170						SAVEAC	(1,1)^
 13171	041222	201 16 0 00 041222 		MOVEI	AC+2,.		;SAVE TEST PC
 13172	041223	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
 13173	041224	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 13174	041225	202 16 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 13175
 13176			016400		SN=16400
 13177			000002			ZZ=2
 13178
 13179					F16400:	REPEAT ^D2,		;TEST DIV-BOTH MODE
 13180					<SN=SN+1
 13181						ZZ=ZZ+ZZ
 13182						MOVEI	AC,ZZ		;SETUP HIGH DVND
 13183						MOVEI	AC+1,100	;SETUP LOW DVND
 13184						MOVEI	AC-1,100	;SETUP DVSR
 13185						DIVB	AC,AC-1		;DIVIDE (+N) BY 100
 13186						CAME	AC,AC-1		;TEST STORE QUOTIENT
 13187						ER3	AC,SN		;STORE QUOTIENT FAILED
 13188						SKIPE	AC+1		;TEST STORE REMAINDER
 13189						ER4	AC+1,SN		;STORE REMAINDER FAILED
 13190						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 13191					>
 13192			016401		SN=SN+1
 13193			000004			ZZ=ZZ+ZZ
 13194	041226	201 14 0 00 000004 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 13195	041227	201 15 0 00 000100 		MOVEI	AC+1,100	;SETUP LOW DVND
 13196	041230	201 13 0 00 000100 		MOVEI	AC-1,100	;SETUP DVSR
 13197	041231	237 14 0 00 000013 		DIVB	AC,AC-1		;DIVIDE (+N) BY 100
 13198	041232	312 14 0 00 000013 		CAME	AC,AC-1		;TEST STORE QUOTIENT
 13199	041233	003 14 0 00 016401 		ER3	AC,SN		;STORE QUOTIENT FAILED
 13200	041234	332 00 0 00 000015 		SKIPE	AC+1		;TEST STORE REMAINDER
 13201	041235	004 15 0 00 016401 		ER4	AC+1,SN		;STORE REMAINDER FAILED
 13202	041236	321 16 0 00 041226 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 13203
 13204			016402		SN=SN+1
 13205			000010			ZZ=ZZ+ZZ
 13206	041237	201 14 0 00 000010 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 13207	041240	201 15 0 00 000100 		MOVEI	AC+1,100	;SETUP LOW DVND
 13208	041241	201 13 0 00 000100 		MOVEI	AC-1,100	;SETUP DVSR
 13209	041242	237 14 0 00 000013 		DIVB	AC,AC-1		;DIVIDE (+N) BY 100
 13210	041243	312 14 0 00 000013 		CAME	AC,AC-1		;TEST STORE QUOTIENT
 13211	041244	003 14 0 00 016402 		ER3	AC,SN		;STORE QUOTIENT FAILED
 13212	041245	332 00 0 00 000015 		SKIPE	AC+1		;TEST STORE REMAINDER
 13213	041246	004 15 0 00 016402 		ER4	AC+1,SN		;STORE REMAINDER FAILED
 13214	041247	321 16 0 00 041237 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 13215
 13216					PAGE
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 66-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - FRACTIONAL DIVIDE TEST                                        SEQ 0293

 13217					;TEST DIVB (DIVIDE CHECK)
 13218
 13219	041250	254 02 1 00 045332 	F16410:	JRSTF	@[.+1]		;CLEAR ALL FLAGS
 13220	041251	201 14 0 00 000004 		MOVEI	AC,4		;SETUP HIGH DIVIDEND
 13221	041252	201 15 0 00 000001 		MOVEI	AC+1,1		;SETUP LOW DIVIDEND
 13222	041253	201 13 0 00 000001 		MOVEI	AC-1,1		;SETUP DIVISOR
 13223	041254	237 14 0 00 000013 		DIVB	AC,AC-1
 13224	041255	265 12 0 00 041256 		JSP	AC-2,.+1	;SAME FLAGS
 13225	041256	302 14 0 00 000004 		CAIE	AC,4
 13226	041257	003 14 0 00 016411 		ER3	AC,16411	;C(AC) WAS CLOBBERED
 13227	041260	302 15 0 00 000001 		CAIE	AC+1,1
 13228	041261	004 15 0 00 016411 		ER4	AC+1,16411	;C(AC+1) WAS CLOBBERED
 13229	041262	302 13 0 00 000001 		CAIE	AC-1,1
 13230	041263	005 13 0 00 016411 		ER5	AC-1,16411	;C(E) WAS CLOBBERED
 13231	041264	255 10 0 00 041266 		JOV	.+2
 13232	041265	013 12 0 00 016411 		ER13	AC-2,16411	;AROV FAILED TO SET
 13233	041266	607 12 0 00 000040 		TLNN	AC-2,DCK	;DCK FAILED TO SET
 13234	041267	013 12 0 00 016411 		ER13	AC-2,16411
 13235	041270	321 16 0 00 041250 		JUMPL	AC+2,F16410
 13236
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 67
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0294

 13237					SUBTTL	DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST
 13238
 13239					;TEST MUL DIRECT - TWO POSITIVES
 13240					;TESTING IS ACCOMPLISHED BY MULTIPLYING
 13241					;0500000000000 BY A DECREASING MULTIPLIER
 13242					;PLIER=200000000000, 100000000000 (1/2, 1/4) ETC
 13243					;PLICAND=050000000000
 13244					;HIGH PROD=024000000000, 012000000000 ETC
 13245					;LOW PROD=0
 13246
 13247			000013			AC=13
 13248						SAVEAC	(1,1)^
 13249	041271	201 15 0 00 041271 		MOVEI	AC+2,.		;SAVE TEST PC
 13250	041272	202 15 0 00 030051 		MOVEM	AC+2,TESTPC
 13251	041273	201 15 0 00 000015 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 13252	041274	202 15 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 13253
 13254			017100		SN=17100
 13255			050000			XX=050000
 13256			000000			ZZ=0
 13257
 13258					F17100:	REPEAT	^D10,
 13259					<SN=SN+1
 13260						XX=XX/2
 13261						ZZ=ZZ/2
 13262						IFE	ZZ,<ZZ=200000>
 13263						MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13264						MOVSI	AC,ZZ		;SETUP PLIER
 13265						MOVSI	AC-1,050000	;SETUP PLICAND
 13266						MUL	AC,AC-1		;MULTIPLY ZZ X 050000000000
 13267						SKIPE	AC+1		;TEST LOW PROD=0
 13268						ER4	AC+1,SN
 13269						CAME	AC,AC-2		;TEST HIGH PROD=XX
 13270						ER3	AC,SN		;MUL FAILED
 13271						CAME	AC-1,[050000,,0];WAS C(E) MODIFIED ?
 13272						ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13273						JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13274					>
 13275			017101		SN=SN+1
 13276			024000			XX=XX/2
 13277			000000			ZZ=ZZ/2
 13278			200000			IFE	ZZ,<ZZ=200000>
 13279	041275	205 11 0 00 024000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13280	041276	205 13 0 00 200000 		MOVSI	AC,ZZ		;SETUP PLIER
 13281	041277	205 12 0 00 050000 		MOVSI	AC-1,050000	;SETUP PLICAND
 13282	041300	224 13 0 00 000012 		MUL	AC,AC-1		;MULTIPLY ZZ X 050000000000
 13283	041301	332 00 0 00 000014 		SKIPE	AC+1		;TEST LOW PROD=0
 13284	041302	004 14 0 00 017101 		ER4	AC+1,SN
 13285	041303	312 13 0 00 000011 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13286	041304	003 13 0 00 017101 		ER3	AC,SN		;MUL FAILED
 13287	041305	312 12 0 00 045333 		CAME	AC-1,[050000,,0];WAS C(E) MODIFIED ?
 13288	041306	005 12 0 00 017101 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13289	041307	321 15 0 00 041275 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13290
 13291			017102		SN=SN+1
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 67-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0295

 13292			012000			XX=XX/2
 13293			100000			ZZ=ZZ/2
 13294						IFE	ZZ,<ZZ=200000>
 13295	041310	205 11 0 00 012000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13296	041311	205 13 0 00 100000 		MOVSI	AC,ZZ		;SETUP PLIER
 13297	041312	205 12 0 00 050000 		MOVSI	AC-1,050000	;SETUP PLICAND
 13298	041313	224 13 0 00 000012 		MUL	AC,AC-1		;MULTIPLY ZZ X 050000000000
 13299	041314	332 00 0 00 000014 		SKIPE	AC+1		;TEST LOW PROD=0
 13300	041315	004 14 0 00 017102 		ER4	AC+1,SN
 13301	041316	312 13 0 00 000011 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13302	041317	003 13 0 00 017102 		ER3	AC,SN		;MUL FAILED
 13303	041320	312 12 0 00 045333 		CAME	AC-1,[050000,,0];WAS C(E) MODIFIED ?
 13304	041321	005 12 0 00 017102 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13305	041322	321 15 0 00 041310 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13306
 13307			017103		SN=SN+1
 13308			005000			XX=XX/2
 13309			040000			ZZ=ZZ/2
 13310						IFE	ZZ,<ZZ=200000>
 13311	041323	205 11 0 00 005000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13312	041324	205 13 0 00 040000 		MOVSI	AC,ZZ		;SETUP PLIER
 13313	041325	205 12 0 00 050000 		MOVSI	AC-1,050000	;SETUP PLICAND
 13314	041326	224 13 0 00 000012 		MUL	AC,AC-1		;MULTIPLY ZZ X 050000000000
 13315	041327	332 00 0 00 000014 		SKIPE	AC+1		;TEST LOW PROD=0
 13316	041330	004 14 0 00 017103 		ER4	AC+1,SN
 13317	041331	312 13 0 00 000011 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13318	041332	003 13 0 00 017103 		ER3	AC,SN		;MUL FAILED
 13319	041333	312 12 0 00 045333 		CAME	AC-1,[050000,,0];WAS C(E) MODIFIED ?
 13320	041334	005 12 0 00 017103 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13321	041335	321 15 0 00 041323 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13322
 13323			017104		SN=SN+1
 13324			002400			XX=XX/2
 13325			020000			ZZ=ZZ/2
 13326						IFE	ZZ,<ZZ=200000>
 13327	041336	205 11 0 00 002400 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13328	041337	205 13 0 00 020000 		MOVSI	AC,ZZ		;SETUP PLIER
 13329	041340	205 12 0 00 050000 		MOVSI	AC-1,050000	;SETUP PLICAND
 13330	041341	224 13 0 00 000012 		MUL	AC,AC-1		;MULTIPLY ZZ X 050000000000
 13331	041342	332 00 0 00 000014 		SKIPE	AC+1		;TEST LOW PROD=0
 13332	041343	004 14 0 00 017104 		ER4	AC+1,SN
 13333	041344	312 13 0 00 000011 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13334	041345	003 13 0 00 017104 		ER3	AC,SN		;MUL FAILED
 13335	041346	312 12 0 00 045333 		CAME	AC-1,[050000,,0];WAS C(E) MODIFIED ?
 13336	041347	005 12 0 00 017104 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13337	041350	321 15 0 00 041336 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13338
 13339			017105		SN=SN+1
 13340			001200			XX=XX/2
 13341			010000			ZZ=ZZ/2
 13342						IFE	ZZ,<ZZ=200000>
 13343	041351	205 11 0 00 001200 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13344	041352	205 13 0 00 010000 		MOVSI	AC,ZZ		;SETUP PLIER
 13345	041353	205 12 0 00 050000 		MOVSI	AC-1,050000	;SETUP PLICAND
 13346	041354	224 13 0 00 000012 		MUL	AC,AC-1		;MULTIPLY ZZ X 050000000000
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 67-2
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0296

 13347	041355	332 00 0 00 000014 		SKIPE	AC+1		;TEST LOW PROD=0
 13348	041356	004 14 0 00 017105 		ER4	AC+1,SN
 13349	041357	312 13 0 00 000011 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13350	041360	003 13 0 00 017105 		ER3	AC,SN		;MUL FAILED
 13351	041361	312 12 0 00 045333 		CAME	AC-1,[050000,,0];WAS C(E) MODIFIED ?
 13352	041362	005 12 0 00 017105 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13353	041363	321 15 0 00 041351 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13354
 13355			017106		SN=SN+1
 13356			000500			XX=XX/2
 13357			004000			ZZ=ZZ/2
 13358						IFE	ZZ,<ZZ=200000>
 13359	041364	205 11 0 00 000500 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13360	041365	205 13 0 00 004000 		MOVSI	AC,ZZ		;SETUP PLIER
 13361	041366	205 12 0 00 050000 		MOVSI	AC-1,050000	;SETUP PLICAND
 13362	041367	224 13 0 00 000012 		MUL	AC,AC-1		;MULTIPLY ZZ X 050000000000
 13363	041370	332 00 0 00 000014 		SKIPE	AC+1		;TEST LOW PROD=0
 13364	041371	004 14 0 00 017106 		ER4	AC+1,SN
 13365	041372	312 13 0 00 000011 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13366	041373	003 13 0 00 017106 		ER3	AC,SN		;MUL FAILED
 13367	041374	312 12 0 00 045333 		CAME	AC-1,[050000,,0];WAS C(E) MODIFIED ?
 13368	041375	005 12 0 00 017106 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13369	041376	321 15 0 00 041364 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13370
 13371			017107		SN=SN+1
 13372			000240			XX=XX/2
 13373			002000			ZZ=ZZ/2
 13374						IFE	ZZ,<ZZ=200000>
 13375	041377	205 11 0 00 000240 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13376	041400	205 13 0 00 002000 		MOVSI	AC,ZZ		;SETUP PLIER
 13377	041401	205 12 0 00 050000 		MOVSI	AC-1,050000	;SETUP PLICAND
 13378	041402	224 13 0 00 000012 		MUL	AC,AC-1		;MULTIPLY ZZ X 050000000000
 13379	041403	332 00 0 00 000014 		SKIPE	AC+1		;TEST LOW PROD=0
 13380	041404	004 14 0 00 017107 		ER4	AC+1,SN
 13381	041405	312 13 0 00 000011 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13382	041406	003 13 0 00 017107 		ER3	AC,SN		;MUL FAILED
 13383	041407	312 12 0 00 045333 		CAME	AC-1,[050000,,0];WAS C(E) MODIFIED ?
 13384	041410	005 12 0 00 017107 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13385	041411	321 15 0 00 041377 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13386
 13387			017110		SN=SN+1
 13388			000120			XX=XX/2
 13389			001000			ZZ=ZZ/2
 13390						IFE	ZZ,<ZZ=200000>
 13391	041412	205 11 0 00 000120 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13392	041413	205 13 0 00 001000 		MOVSI	AC,ZZ		;SETUP PLIER
 13393	041414	205 12 0 00 050000 		MOVSI	AC-1,050000	;SETUP PLICAND
 13394	041415	224 13 0 00 000012 		MUL	AC,AC-1		;MULTIPLY ZZ X 050000000000
 13395	041416	332 00 0 00 000014 		SKIPE	AC+1		;TEST LOW PROD=0
 13396	041417	004 14 0 00 017110 		ER4	AC+1,SN
 13397	041420	312 13 0 00 000011 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13398	041421	003 13 0 00 017110 		ER3	AC,SN		;MUL FAILED
 13399	041422	312 12 0 00 045333 		CAME	AC-1,[050000,,0];WAS C(E) MODIFIED ?
 13400	041423	005 12 0 00 017110 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13401	041424	321 15 0 00 041412 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 67-3
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0297

 13402
 13403			017111		SN=SN+1
 13404			000050			XX=XX/2
 13405			000400			ZZ=ZZ/2
 13406						IFE	ZZ,<ZZ=200000>
 13407	041425	205 11 0 00 000050 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13408	041426	205 13 0 00 000400 		MOVSI	AC,ZZ		;SETUP PLIER
 13409	041427	205 12 0 00 050000 		MOVSI	AC-1,050000	;SETUP PLICAND
 13410	041430	224 13 0 00 000012 		MUL	AC,AC-1		;MULTIPLY ZZ X 050000000000
 13411	041431	332 00 0 00 000014 		SKIPE	AC+1		;TEST LOW PROD=0
 13412	041432	004 14 0 00 017111 		ER4	AC+1,SN
 13413	041433	312 13 0 00 000011 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13414	041434	003 13 0 00 017111 		ER3	AC,SN		;MUL FAILED
 13415	041435	312 12 0 00 045333 		CAME	AC-1,[050000,,0];WAS C(E) MODIFIED ?
 13416	041436	005 12 0 00 017111 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13417	041437	321 15 0 00 041425 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13418
 13419			017112		SN=SN+1
 13420			000024			XX=XX/2
 13421			000200			ZZ=ZZ/2
 13422						IFE	ZZ,<ZZ=200000>
 13423	041440	205 11 0 00 000024 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 13424	041441	205 13 0 00 000200 		MOVSI	AC,ZZ		;SETUP PLIER
 13425	041442	205 12 0 00 050000 		MOVSI	AC-1,050000	;SETUP PLICAND
 13426	041443	224 13 0 00 000012 		MUL	AC,AC-1		;MULTIPLY ZZ X 050000000000
 13427	041444	332 00 0 00 000014 		SKIPE	AC+1		;TEST LOW PROD=0
 13428	041445	004 14 0 00 017112 		ER4	AC+1,SN
 13429	041446	312 13 0 00 000011 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13430	041447	003 13 0 00 017112 		ER3	AC,SN		;MUL FAILED
 13431	041450	312 12 0 00 045333 		CAME	AC-1,[050000,,0];WAS C(E) MODIFIED ?
 13432	041451	005 12 0 00 017112 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13433	041452	321 15 0 00 041440 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 13434
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 68
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0298

 13435					;TEST MUL IMMEDIATE - TWO POSITIVES
 13436					;TESTING IS ACCOMPLISHED BY MULTIPLYING
 13437					;E BY AND DECREASING MULTIPLIER
 13438					;PLIER=200000000000, 100000000000 (1/2, 1/4) ETC
 13439					;PLICAND=E (005001)
 13440					;HIGH PROD=2400,1200,500,240,120
 13441					;LOW PROD=PLIER
 13442
 13443			000012			AC=12
 13444						SAVEAC	(1,1)^
 13445	041453	201 14 0 00 041453 		MOVEI	AC+2,.		;SAVE TEST PC
 13446	041454	202 14 0 00 030051 		MOVEM	AC+2,TESTPC
 13447	041455	201 14 0 00 000014 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 13448	041456	202 14 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 13449
 13450			017200		SN=17200
 13451			005000			XX=005000
 13452			000000			ZZ=0
 13453
 13454					F17200:	REPEAT	^D5,
 13455					<SN=SN+1
 13456						XX=XX/2
 13457						ZZ=ZZ/2
 13458						IFE	ZZ,<ZZ=200000>
 13459						MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13460						MOVSI	AC,ZZ		;SETUP PLIER
 13461						MULI	AC,005001	;MULTIPLY E BY ZZ
 13462						CAME	AC,AC-2		;TEST HIGH PROD=XX
 13463						ER3	AC,SN		;HIGH PROD ERROR
 13464						MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 13465						CAME	AC+1,AC-2	;TEST LOW PROD=PLIER
 13466						ER4	AC+1,SN		;LOW PROD ERROR
 13467						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 13468					>
 13469			017201		SN=SN+1
 13470			002400			XX=XX/2
 13471			000000			ZZ=ZZ/2
 13472			200000			IFE	ZZ,<ZZ=200000>
 13473	041457	201 10 0 00 002400 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13474	041460	205 12 0 00 200000 		MOVSI	AC,ZZ		;SETUP PLIER
 13475	041461	225 12 0 00 005001 		MULI	AC,005001	;MULTIPLY E BY ZZ
 13476	041462	312 12 0 00 000010 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13477	041463	003 12 0 00 017201 		ER3	AC,SN		;HIGH PROD ERROR
 13478	041464	205 10 0 00 200000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 13479	041465	312 13 0 00 000010 		CAME	AC+1,AC-2	;TEST LOW PROD=PLIER
 13480	041466	004 13 0 00 017201 		ER4	AC+1,SN		;LOW PROD ERROR
 13481	041467	321 14 0 00 041457 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 13482
 13483			017202		SN=SN+1
 13484			001200			XX=XX/2
 13485			100000			ZZ=ZZ/2
 13486						IFE	ZZ,<ZZ=200000>
 13487	041470	201 10 0 00 001200 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13488	041471	205 12 0 00 100000 		MOVSI	AC,ZZ		;SETUP PLIER
 13489	041472	225 12 0 00 005001 		MULI	AC,005001	;MULTIPLY E BY ZZ
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 68-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0299

 13490	041473	312 12 0 00 000010 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13491	041474	003 12 0 00 017202 		ER3	AC,SN		;HIGH PROD ERROR
 13492	041475	205 10 0 00 100000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 13493	041476	312 13 0 00 000010 		CAME	AC+1,AC-2	;TEST LOW PROD=PLIER
 13494	041477	004 13 0 00 017202 		ER4	AC+1,SN		;LOW PROD ERROR
 13495	041500	321 14 0 00 041470 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 13496
 13497			017203		SN=SN+1
 13498			000500			XX=XX/2
 13499			040000			ZZ=ZZ/2
 13500						IFE	ZZ,<ZZ=200000>
 13501	041501	201 10 0 00 000500 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13502	041502	205 12 0 00 040000 		MOVSI	AC,ZZ		;SETUP PLIER
 13503	041503	225 12 0 00 005001 		MULI	AC,005001	;MULTIPLY E BY ZZ
 13504	041504	312 12 0 00 000010 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13505	041505	003 12 0 00 017203 		ER3	AC,SN		;HIGH PROD ERROR
 13506	041506	205 10 0 00 040000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 13507	041507	312 13 0 00 000010 		CAME	AC+1,AC-2	;TEST LOW PROD=PLIER
 13508	041510	004 13 0 00 017203 		ER4	AC+1,SN		;LOW PROD ERROR
 13509	041511	321 14 0 00 041501 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 13510
 13511			017204		SN=SN+1
 13512			000240			XX=XX/2
 13513			020000			ZZ=ZZ/2
 13514						IFE	ZZ,<ZZ=200000>
 13515	041512	201 10 0 00 000240 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13516	041513	205 12 0 00 020000 		MOVSI	AC,ZZ		;SETUP PLIER
 13517	041514	225 12 0 00 005001 		MULI	AC,005001	;MULTIPLY E BY ZZ
 13518	041515	312 12 0 00 000010 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13519	041516	003 12 0 00 017204 		ER3	AC,SN		;HIGH PROD ERROR
 13520	041517	205 10 0 00 020000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 13521	041520	312 13 0 00 000010 		CAME	AC+1,AC-2	;TEST LOW PROD=PLIER
 13522	041521	004 13 0 00 017204 		ER4	AC+1,SN		;LOW PROD ERROR
 13523	041522	321 14 0 00 041512 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 13524
 13525			017205		SN=SN+1
 13526			000120			XX=XX/2
 13527			010000			ZZ=ZZ/2
 13528						IFE	ZZ,<ZZ=200000>
 13529	041523	201 10 0 00 000120 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13530	041524	205 12 0 00 010000 		MOVSI	AC,ZZ		;SETUP PLIER
 13531	041525	225 12 0 00 005001 		MULI	AC,005001	;MULTIPLY E BY ZZ
 13532	041526	312 12 0 00 000010 		CAME	AC,AC-2		;TEST HIGH PROD=XX
 13533	041527	003 12 0 00 017205 		ER3	AC,SN		;HIGH PROD ERROR
 13534	041530	205 10 0 00 010000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 13535	041531	312 13 0 00 000010 		CAME	AC+1,AC-2	;TEST LOW PROD=PLIER
 13536	041532	004 13 0 00 017205 		ER4	AC+1,SN		;LOW PROD ERROR
 13537	041533	321 14 0 00 041523 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 13538
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 69
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0300

 13539					;TEST MUL MEMORY - TWO NEGATIVES
 13540					;TESTING IS ACCOMPLISHED BY MULTIPLYING
 13541					;AN INCREASING NEGATIVE NUMBER BY -1
 13542					;PLIER=-1
 13543					;PLICAND=-1,-2,-4,-10,-20
 13544					;HIGH PROD=0
 13545
 13546			000011			AC=11
 13547						SAVEAC	(1,1)^
 13548	041534	201 13 0 00 041534 		MOVEI	AC+2,.		;SAVE TEST PC
 13549	041535	202 13 0 00 030051 		MOVEM	AC+2,TESTPC
 13550	041536	201 13 0 00 000013 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 13551	041537	202 13 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 13552
 13553			017300		SN=17300
 13554			000000			ZZ=0
 13555
 13556					F17300:	REPEAT	^D5,
 13557					<SN=SN+1
 13558						ZZ=ZZ+ZZ
 13559						IFE	ZZ,<ZZ=-1>
 13560						SETO	AC,		;SETUP PLIER
 13561						HRROI	AC-1,ZZ		;SETUP PLICAND
 13562						MULM	AC,AC-1		;MULTIPLY ZZ BY -1
 13563						SKIPE	AC-1		;TEST HIGH PROD = 0
 13564						ER5	AC,SN		;MULM FAILED
 13565						JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 13566					>
 13567			017301		SN=SN+1
 13568			000000			ZZ=ZZ+ZZ
 13569		777777	777777			IFE	ZZ,<ZZ=-1>
 13570	041540	474 11 0 00 000000 		SETO	AC,		;SETUP PLIER
 13571	041541	561 10 0 00 777777 		HRROI	AC-1,ZZ		;SETUP PLICAND
 13572	041542	226 11 0 00 000010 		MULM	AC,AC-1		;MULTIPLY ZZ BY -1
 13573	041543	332 00 0 00 000010 		SKIPE	AC-1		;TEST HIGH PROD = 0
 13574	041544	005 11 0 00 017301 		ER5	AC,SN		;MULM FAILED
 13575	041545	321 13 0 00 041540 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 13576
 13577			017302		SN=SN+1
 13578		777777	777776			ZZ=ZZ+ZZ
 13579						IFE	ZZ,<ZZ=-1>
 13580	041546	474 11 0 00 000000 		SETO	AC,		;SETUP PLIER
 13581	041547	561 10 0 00 777776 		HRROI	AC-1,ZZ		;SETUP PLICAND
 13582	041550	226 11 0 00 000010 		MULM	AC,AC-1		;MULTIPLY ZZ BY -1
 13583	041551	332 00 0 00 000010 		SKIPE	AC-1		;TEST HIGH PROD = 0
 13584	041552	005 11 0 00 017302 		ER5	AC,SN		;MULM FAILED
 13585	041553	321 13 0 00 041546 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 13586
 13587			017303		SN=SN+1
 13588		777777	777774			ZZ=ZZ+ZZ
 13589						IFE	ZZ,<ZZ=-1>
 13590	041554	474 11 0 00 000000 		SETO	AC,		;SETUP PLIER
 13591	041555	561 10 0 00 777774 		HRROI	AC-1,ZZ		;SETUP PLICAND
 13592	041556	226 11 0 00 000010 		MULM	AC,AC-1		;MULTIPLY ZZ BY -1
 13593	041557	332 00 0 00 000010 		SKIPE	AC-1		;TEST HIGH PROD = 0
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 69-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0301

 13594	041560	005 11 0 00 017303 		ER5	AC,SN		;MULM FAILED
 13595	041561	321 13 0 00 041554 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 13596
 13597			017304		SN=SN+1
 13598		777777	777770			ZZ=ZZ+ZZ
 13599						IFE	ZZ,<ZZ=-1>
 13600	041562	474 11 0 00 000000 		SETO	AC,		;SETUP PLIER
 13601	041563	561 10 0 00 777770 		HRROI	AC-1,ZZ		;SETUP PLICAND
 13602	041564	226 11 0 00 000010 		MULM	AC,AC-1		;MULTIPLY ZZ BY -1
 13603	041565	332 00 0 00 000010 		SKIPE	AC-1		;TEST HIGH PROD = 0
 13604	041566	005 11 0 00 017304 		ER5	AC,SN		;MULM FAILED
 13605	041567	321 13 0 00 041562 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 13606
 13607			017305		SN=SN+1
 13608		777777	777760			ZZ=ZZ+ZZ
 13609						IFE	ZZ,<ZZ=-1>
 13610	041570	474 11 0 00 000000 		SETO	AC,		;SETUP PLIER
 13611	041571	561 10 0 00 777760 		HRROI	AC-1,ZZ		;SETUP PLICAND
 13612	041572	226 11 0 00 000010 		MULM	AC,AC-1		;MULTIPLY ZZ BY -1
 13613	041573	332 00 0 00 000010 		SKIPE	AC-1		;TEST HIGH PROD = 0
 13614	041574	005 11 0 00 017305 		ER5	AC,SN		;MULM FAILED
 13615	041575	321 13 0 00 041570 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 13616
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 70
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0302

 13617					;TEST MUL BOTH - TWO NEGATIVES
 13618					;TESTING IS ACCOMPLISHED BY MULTIPLYING
 13619					;-1 BY AN INCREASING NEGATIVE NUMBER
 13620					;PLIER=-1,-2,-4,-10,-20
 13621					;PLICAND=-1
 13622					;HIGH PROD=0
 13623					;LOW PROD=1,2,4,10,20
 13624
 13625			000010			AC=10
 13626						SAVEAC	(1,1)^
 13627	041576	201 12 0 00 041576 		MOVEI	AC+2,.		;SAVE TEST PC
 13628	041577	202 12 0 00 030051 		MOVEM	AC+2,TESTPC
 13629	041600	201 12 0 00 000012 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 13630	041601	202 12 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 13631
 13632			017400		SN=17400
 13633			000000			XX=0
 13634			000000			ZZ=0
 13635
 13636					F17400:	REPEAT	^D5,
 13637					<SN=SN+1
 13638						XX=XX+XX
 13639						ZZ=ZZ+ZZ
 13640						IFE	XX,<XX=1>
 13641						IFE	ZZ,<ZZ=-1>
 13642						MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13643						HRROI	AC,ZZ		;SETUP PLIER
 13644						SETO	AC-1,		;SETUP PLICAND
 13645						MULB	AC,AC-1		;MULTIPLY -1 BY ZZ
 13646						SKIPE	AC		;TEST HIGH PROD=0
 13647						ER3	AC,SN
 13648						SKIPE	AC-1		;TEST C(AC) = C(E)
 13649						ER5	AC-1,SN
 13650						CAME	AC+1,AC-2	;TEST LOW PROD=XX
 13651						ER4	AC+1,SN		;MULB FAILED
 13652						JUMPL	AC+2,.-^D10	;LOOP ON ERR SWITCH
 13653					>
 13654			017401		SN=SN+1
 13655			000000			XX=XX+XX
 13656			000000			ZZ=ZZ+ZZ
 13657			000001			IFE	XX,<XX=1>
 13658		777777	777777			IFE	ZZ,<ZZ=-1>
 13659	041602	201 06 0 00 000001 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13660	041603	561 10 0 00 777777 		HRROI	AC,ZZ		;SETUP PLIER
 13661	041604	474 07 0 00 000000 		SETO	AC-1,		;SETUP PLICAND
 13662	041605	227 10 0 00 000007 		MULB	AC,AC-1		;MULTIPLY -1 BY ZZ
 13663	041606	332 00 0 00 000010 		SKIPE	AC		;TEST HIGH PROD=0
 13664	041607	003 10 0 00 017401 		ER3	AC,SN
 13665	041610	332 00 0 00 000007 		SKIPE	AC-1		;TEST C(AC) = C(E)
 13666	041611	005 07 0 00 017401 		ER5	AC-1,SN
 13667	041612	312 11 0 00 000006 		CAME	AC+1,AC-2	;TEST LOW PROD=XX
 13668	041613	004 11 0 00 017401 		ER4	AC+1,SN		;MULB FAILED
 13669	041614	321 12 0 00 041602 		JUMPL	AC+2,.-^D10	;LOOP ON ERR SWITCH
 13670
 13671			017402		SN=SN+1
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 70-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0303

 13672			000002			XX=XX+XX
 13673		777777	777776			ZZ=ZZ+ZZ
 13674						IFE	XX,<XX=1>
 13675						IFE	ZZ,<ZZ=-1>
 13676	041615	201 06 0 00 000002 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13677	041616	561 10 0 00 777776 		HRROI	AC,ZZ		;SETUP PLIER
 13678	041617	474 07 0 00 000000 		SETO	AC-1,		;SETUP PLICAND
 13679	041620	227 10 0 00 000007 		MULB	AC,AC-1		;MULTIPLY -1 BY ZZ
 13680	041621	332 00 0 00 000010 		SKIPE	AC		;TEST HIGH PROD=0
 13681	041622	003 10 0 00 017402 		ER3	AC,SN
 13682	041623	332 00 0 00 000007 		SKIPE	AC-1		;TEST C(AC) = C(E)
 13683	041624	005 07 0 00 017402 		ER5	AC-1,SN
 13684	041625	312 11 0 00 000006 		CAME	AC+1,AC-2	;TEST LOW PROD=XX
 13685	041626	004 11 0 00 017402 		ER4	AC+1,SN		;MULB FAILED
 13686	041627	321 12 0 00 041615 		JUMPL	AC+2,.-^D10	;LOOP ON ERR SWITCH
 13687
 13688			017403		SN=SN+1
 13689			000004			XX=XX+XX
 13690		777777	777774			ZZ=ZZ+ZZ
 13691						IFE	XX,<XX=1>
 13692						IFE	ZZ,<ZZ=-1>
 13693	041630	201 06 0 00 000004 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13694	041631	561 10 0 00 777774 		HRROI	AC,ZZ		;SETUP PLIER
 13695	041632	474 07 0 00 000000 		SETO	AC-1,		;SETUP PLICAND
 13696	041633	227 10 0 00 000007 		MULB	AC,AC-1		;MULTIPLY -1 BY ZZ
 13697	041634	332 00 0 00 000010 		SKIPE	AC		;TEST HIGH PROD=0
 13698	041635	003 10 0 00 017403 		ER3	AC,SN
 13699	041636	332 00 0 00 000007 		SKIPE	AC-1		;TEST C(AC) = C(E)
 13700	041637	005 07 0 00 017403 		ER5	AC-1,SN
 13701	041640	312 11 0 00 000006 		CAME	AC+1,AC-2	;TEST LOW PROD=XX
 13702	041641	004 11 0 00 017403 		ER4	AC+1,SN		;MULB FAILED
 13703	041642	321 12 0 00 041630 		JUMPL	AC+2,.-^D10	;LOOP ON ERR SWITCH
 13704
 13705			017404		SN=SN+1
 13706			000010			XX=XX+XX
 13707		777777	777770			ZZ=ZZ+ZZ
 13708						IFE	XX,<XX=1>
 13709						IFE	ZZ,<ZZ=-1>
 13710	041643	201 06 0 00 000010 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13711	041644	561 10 0 00 777770 		HRROI	AC,ZZ		;SETUP PLIER
 13712	041645	474 07 0 00 000000 		SETO	AC-1,		;SETUP PLICAND
 13713	041646	227 10 0 00 000007 		MULB	AC,AC-1		;MULTIPLY -1 BY ZZ
 13714	041647	332 00 0 00 000010 		SKIPE	AC		;TEST HIGH PROD=0
 13715	041650	003 10 0 00 017404 		ER3	AC,SN
 13716	041651	332 00 0 00 000007 		SKIPE	AC-1		;TEST C(AC) = C(E)
 13717	041652	005 07 0 00 017404 		ER5	AC-1,SN
 13718	041653	312 11 0 00 000006 		CAME	AC+1,AC-2	;TEST LOW PROD=XX
 13719	041654	004 11 0 00 017404 		ER4	AC+1,SN		;MULB FAILED
 13720	041655	321 12 0 00 041643 		JUMPL	AC+2,.-^D10	;LOOP ON ERR SWITCH
 13721
 13722			017405		SN=SN+1
 13723			000020			XX=XX+XX
 13724		777777	777760			ZZ=ZZ+ZZ
 13725						IFE	XX,<XX=1>
 13726						IFE	ZZ,<ZZ=-1>
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 70-2
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0304

 13727	041656	201 06 0 00 000020 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13728	041657	561 10 0 00 777760 		HRROI	AC,ZZ		;SETUP PLIER
 13729	041660	474 07 0 00 000000 		SETO	AC-1,		;SETUP PLICAND
 13730	041661	227 10 0 00 000007 		MULB	AC,AC-1		;MULTIPLY -1 BY ZZ
 13731	041662	332 00 0 00 000010 		SKIPE	AC		;TEST HIGH PROD=0
 13732	041663	003 10 0 00 017405 		ER3	AC,SN
 13733	041664	332 00 0 00 000007 		SKIPE	AC-1		;TEST C(AC) = C(E)
 13734	041665	005 07 0 00 017405 		ER5	AC-1,SN
 13735	041666	312 11 0 00 000006 		CAME	AC+1,AC-2	;TEST LOW PROD=XX
 13736	041667	004 11 0 00 017405 		ER4	AC+1,SN		;MULB FAILED
 13737	041670	321 12 0 00 041656 		JUMPL	AC+2,.-^D10	;LOOP ON ERR SWITCH
 13738
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 71
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0305

 13739					;TEST MUL MEMORY - TWO NEGATIVES
 13740					;TESTING IS ACCOMPLISHED BY MULTIPLYING
 13741					;-5001 BY AN INCREASING NEGATIVE PLIER
 13742					;PLIER=600000000000, 700000000000 ETC.
 13743					;PLICAND=-5001
 13744					;HIGH PROD=2400,1200,500,240,120
 13745
 13746			000007			AC=7
 13747						SAVEAC	(1,1)^
 13748	041671	201 11 0 00 041671 		MOVEI	AC+2,.		;SAVE TEST PC
 13749	041672	202 11 0 00 030051 		MOVEM	AC+2,TESTPC
 13750	041673	201 11 0 00 000011 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 13751	041674	202 11 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 13752
 13753			017500		SN=17500
 13754			005000			XX=005000
 13755			000000			ZZ=0
 13756
 13757					F17500:	REPEAT	^D5,
 13758					<SN=SN+1
 13759						XX=XX/2
 13760						ZZ=ZZ/2
 13761						IFE	ZZ,<ZZ=-200000>
 13762						MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13763						MOVSI	AC,ZZ		;SETUP PLIER
 13764						HRROI	AC-1,-5001	;SETUP PLICAND
 13765						MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 13766						MULM	AC,AC-1		;MULTIPLY ZZ X -5001
 13767						CAME	AC-1,AC-2	;TEST HIGH PROD = XX
 13768						ER5	AC-1,SN		;MULM FAILED
 13769						CAME	AC,[ZZ,,0]	;WAS C(AC) MODIFIED ?
 13770						ER3	AC,SN		;C(AC) WAS CLOBBERED
 13771						CAME	AC+1,<AC-3>&17	;WAS C(AC+1) MODIFIED ?
 13772						ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 13773						JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 13774					>
 13775			017501		SN=SN+1
 13776			002400			XX=XX/2
 13777			000000			ZZ=ZZ/2
 13778		777777	600000			IFE	ZZ,<ZZ=-200000>
 13779	041675	201 05 0 00 002400 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13780	041676	205 07 0 00 600000 		MOVSI	AC,ZZ		;SETUP PLIER
 13781	041677	561 06 0 00 772777 		HRROI	AC-1,-5001	;SETUP PLICAND
 13782	041700	200 04 0 00 000010 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 13783	041701	226 07 0 00 000006 		MULM	AC,AC-1		;MULTIPLY ZZ X -5001
 13784	041702	312 06 0 00 000005 		CAME	AC-1,AC-2	;TEST HIGH PROD = XX
 13785	041703	005 06 0 00 017501 		ER5	AC-1,SN		;MULM FAILED
 13786	041704	312 07 0 00 044762 		CAME	AC,[ZZ,,0]	;WAS C(AC) MODIFIED ?
 13787	041705	003 07 0 00 017501 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 13788	041706	312 10 0 00 000004 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) MODIFIED ?
 13789	041707	004 10 0 00 017501 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 13790	041710	321 11 0 00 041675 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 13791
 13792			017502		SN=SN+1
 13793			001200			XX=XX/2
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 71-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0306

 13794		777777	700000			ZZ=ZZ/2
 13795						IFE	ZZ,<ZZ=-200000>
 13796	041711	201 05 0 00 001200 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13797	041712	205 07 0 00 700000 		MOVSI	AC,ZZ		;SETUP PLIER
 13798	041713	561 06 0 00 772777 		HRROI	AC-1,-5001	;SETUP PLICAND
 13799	041714	200 04 0 00 000010 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 13800	041715	226 07 0 00 000006 		MULM	AC,AC-1		;MULTIPLY ZZ X -5001
 13801	041716	312 06 0 00 000005 		CAME	AC-1,AC-2	;TEST HIGH PROD = XX
 13802	041717	005 06 0 00 017502 		ER5	AC-1,SN		;MULM FAILED
 13803	041720	312 07 0 00 045233 		CAME	AC,[ZZ,,0]	;WAS C(AC) MODIFIED ?
 13804	041721	003 07 0 00 017502 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 13805	041722	312 10 0 00 000004 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) MODIFIED ?
 13806	041723	004 10 0 00 017502 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 13807	041724	321 11 0 00 041711 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 13808
 13809			017503		SN=SN+1
 13810			000500			XX=XX/2
 13811		777777	740000			ZZ=ZZ/2
 13812						IFE	ZZ,<ZZ=-200000>
 13813	041725	201 05 0 00 000500 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13814	041726	205 07 0 00 740000 		MOVSI	AC,ZZ		;SETUP PLIER
 13815	041727	561 06 0 00 772777 		HRROI	AC-1,-5001	;SETUP PLICAND
 13816	041730	200 04 0 00 000010 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 13817	041731	226 07 0 00 000006 		MULM	AC,AC-1		;MULTIPLY ZZ X -5001
 13818	041732	312 06 0 00 000005 		CAME	AC-1,AC-2	;TEST HIGH PROD = XX
 13819	041733	005 06 0 00 017503 		ER5	AC-1,SN		;MULM FAILED
 13820	041734	312 07 0 00 045232 		CAME	AC,[ZZ,,0]	;WAS C(AC) MODIFIED ?
 13821	041735	003 07 0 00 017503 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 13822	041736	312 10 0 00 000004 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) MODIFIED ?
 13823	041737	004 10 0 00 017503 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 13824	041740	321 11 0 00 041725 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 13825
 13826			017504		SN=SN+1
 13827			000240			XX=XX/2
 13828		777777	760000			ZZ=ZZ/2
 13829						IFE	ZZ,<ZZ=-200000>
 13830	041741	201 05 0 00 000240 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13831	041742	205 07 0 00 760000 		MOVSI	AC,ZZ		;SETUP PLIER
 13832	041743	561 06 0 00 772777 		HRROI	AC-1,-5001	;SETUP PLICAND
 13833	041744	200 04 0 00 000010 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 13834	041745	226 07 0 00 000006 		MULM	AC,AC-1		;MULTIPLY ZZ X -5001
 13835	041746	312 06 0 00 000005 		CAME	AC-1,AC-2	;TEST HIGH PROD = XX
 13836	041747	005 06 0 00 017504 		ER5	AC-1,SN		;MULM FAILED
 13837	041750	312 07 0 00 045231 		CAME	AC,[ZZ,,0]	;WAS C(AC) MODIFIED ?
 13838	041751	003 07 0 00 017504 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 13839	041752	312 10 0 00 000004 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) MODIFIED ?
 13840	041753	004 10 0 00 017504 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 13841	041754	321 11 0 00 041741 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 13842
 13843			017505		SN=SN+1
 13844			000120			XX=XX/2
 13845		777777	770000			ZZ=ZZ/2
 13846						IFE	ZZ,<ZZ=-200000>
 13847	041755	201 05 0 00 000120 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13848	041756	205 07 0 00 770000 		MOVSI	AC,ZZ		;SETUP PLIER
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 71-2
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0307

 13849	041757	561 06 0 00 772777 		HRROI	AC-1,-5001	;SETUP PLICAND
 13850	041760	200 04 0 00 000010 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 13851	041761	226 07 0 00 000006 		MULM	AC,AC-1		;MULTIPLY ZZ X -5001
 13852	041762	312 06 0 00 000005 		CAME	AC-1,AC-2	;TEST HIGH PROD = XX
 13853	041763	005 06 0 00 017505 		ER5	AC-1,SN		;MULM FAILED
 13854	041764	312 07 0 00 045230 		CAME	AC,[ZZ,,0]	;WAS C(AC) MODIFIED ?
 13855	041765	003 07 0 00 017505 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 13856	041766	312 10 0 00 000004 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) MODIFIED ?
 13857	041767	004 10 0 00 017505 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 13858	041770	321 11 0 00 041755 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 13859
 13860
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 72
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0308

 13861					;TEST IMUL DIRECT - TWO POSITIVES
 13862					;TESTING IS ACCOMPLISHED BY MULTIPLYING
 13863					;A NUMBER BY ITSELF
 13864					;PLIER=2,4,10,20,40
 13865					;PLICAND=2,4,10,20,40
 13866					;PROD=4,20,100,400,2000
 13867
 13868			000006			AC=6
 13869						SAVEAC	(1,1)^
 13870	041771	201 10 0 00 041771 		MOVEI	AC+2,.		;SAVE TEST PC
 13871	041772	202 10 0 00 030051 		MOVEM	AC+2,TESTPC
 13872	041773	201 10 0 00 000010 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 13873	041774	202 10 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 13874
 13875			017600		SN=17600
 13876			000001			XX=1
 13877			000001			ZZ=1
 13878
 13879					F17600:	REPEAT	^D5,
 13880					<SN=SN+1
 13881						XX=XX*4
 13882						ZZ=ZZ+ZZ
 13883						IFE	ZZ,<ZZ=-200000>
 13884						MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13885						MOVEI	AC,ZZ		;SETUP PLIER
 13886						MOVEI	AC-1,ZZ		;SETUP PLICAND
 13887						IMUL	AC,AC-1		;MULTIPLY ZZ BY ZZ
 13888						CAME	AC,AC-2		;TEST PROD=XX
 13889						ER3	AC,SN		;IMUL FAILED
 13890						CAIE	AC-1,ZZ		;WAS C(E) MODIFIED ?
 13891						ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13892						JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 13893					>
 13894			017601		SN=SN+1
 13895			000004			XX=XX*4
 13896			000002			ZZ=ZZ+ZZ
 13897						IFE	ZZ,<ZZ=-200000>
 13898	041775	201 04 0 00 000004 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13899	041776	201 06 0 00 000002 		MOVEI	AC,ZZ		;SETUP PLIER
 13900	041777	201 05 0 00 000002 		MOVEI	AC-1,ZZ		;SETUP PLICAND
 13901	042000	220 06 0 00 000005 		IMUL	AC,AC-1		;MULTIPLY ZZ BY ZZ
 13902	042001	312 06 0 00 000004 		CAME	AC,AC-2		;TEST PROD=XX
 13903	042002	003 06 0 00 017601 		ER3	AC,SN		;IMUL FAILED
 13904	042003	302 05 0 00 000002 		CAIE	AC-1,ZZ		;WAS C(E) MODIFIED ?
 13905	042004	005 05 0 00 017601 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13906	042005	321 10 0 00 041775 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 13907
 13908			017602		SN=SN+1
 13909			000020			XX=XX*4
 13910			000004			ZZ=ZZ+ZZ
 13911						IFE	ZZ,<ZZ=-200000>
 13912	042006	201 04 0 00 000020 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13913	042007	201 06 0 00 000004 		MOVEI	AC,ZZ		;SETUP PLIER
 13914	042010	201 05 0 00 000004 		MOVEI	AC-1,ZZ		;SETUP PLICAND
 13915	042011	220 06 0 00 000005 		IMUL	AC,AC-1		;MULTIPLY ZZ BY ZZ
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 72-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0309

 13916	042012	312 06 0 00 000004 		CAME	AC,AC-2		;TEST PROD=XX
 13917	042013	003 06 0 00 017602 		ER3	AC,SN		;IMUL FAILED
 13918	042014	302 05 0 00 000004 		CAIE	AC-1,ZZ		;WAS C(E) MODIFIED ?
 13919	042015	005 05 0 00 017602 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13920	042016	321 10 0 00 042006 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 13921
 13922			017603		SN=SN+1
 13923			000100			XX=XX*4
 13924			000010			ZZ=ZZ+ZZ
 13925						IFE	ZZ,<ZZ=-200000>
 13926	042017	201 04 0 00 000100 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13927	042020	201 06 0 00 000010 		MOVEI	AC,ZZ		;SETUP PLIER
 13928	042021	201 05 0 00 000010 		MOVEI	AC-1,ZZ		;SETUP PLICAND
 13929	042022	220 06 0 00 000005 		IMUL	AC,AC-1		;MULTIPLY ZZ BY ZZ
 13930	042023	312 06 0 00 000004 		CAME	AC,AC-2		;TEST PROD=XX
 13931	042024	003 06 0 00 017603 		ER3	AC,SN		;IMUL FAILED
 13932	042025	302 05 0 00 000010 		CAIE	AC-1,ZZ		;WAS C(E) MODIFIED ?
 13933	042026	005 05 0 00 017603 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13934	042027	321 10 0 00 042017 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 13935
 13936			017604		SN=SN+1
 13937			000400			XX=XX*4
 13938			000020			ZZ=ZZ+ZZ
 13939						IFE	ZZ,<ZZ=-200000>
 13940	042030	201 04 0 00 000400 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13941	042031	201 06 0 00 000020 		MOVEI	AC,ZZ		;SETUP PLIER
 13942	042032	201 05 0 00 000020 		MOVEI	AC-1,ZZ		;SETUP PLICAND
 13943	042033	220 06 0 00 000005 		IMUL	AC,AC-1		;MULTIPLY ZZ BY ZZ
 13944	042034	312 06 0 00 000004 		CAME	AC,AC-2		;TEST PROD=XX
 13945	042035	003 06 0 00 017604 		ER3	AC,SN		;IMUL FAILED
 13946	042036	302 05 0 00 000020 		CAIE	AC-1,ZZ		;WAS C(E) MODIFIED ?
 13947	042037	005 05 0 00 017604 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13948	042040	321 10 0 00 042030 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 13949
 13950			017605		SN=SN+1
 13951			002000			XX=XX*4
 13952			000040			ZZ=ZZ+ZZ
 13953						IFE	ZZ,<ZZ=-200000>
 13954	042041	201 04 0 00 002000 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13955	042042	201 06 0 00 000040 		MOVEI	AC,ZZ		;SETUP PLIER
 13956	042043	201 05 0 00 000040 		MOVEI	AC-1,ZZ		;SETUP PLICAND
 13957	042044	220 06 0 00 000005 		IMUL	AC,AC-1		;MULTIPLY ZZ BY ZZ
 13958	042045	312 06 0 00 000004 		CAME	AC,AC-2		;TEST PROD=XX
 13959	042046	003 06 0 00 017605 		ER3	AC,SN		;IMUL FAILED
 13960	042047	302 05 0 00 000040 		CAIE	AC-1,ZZ		;WAS C(E) MODIFIED ?
 13961	042050	005 05 0 00 017605 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 13962	042051	321 10 0 00 042041 		JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
 13963
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 73
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0310

 13964					;TEST IMUL IMMEDIATE - TWO POSITIVES
 13965					;TESTING IS ACCOMPLISHED BY MULTIPLYING
 13966					;3 X E
 13967					;PLIER=3
 13968					;PLICAND=E
 13969					;PROD=6,11,14,17,22
 13970
 13971			000005			AC=5
 13972						SAVEAC	(1,1)^
 13973	042052	201 07 0 00 042052 		MOVEI	AC+2,.		;SAVE TEST PC
 13974	042053	202 07 0 00 030051 		MOVEM	AC+2,TESTPC
 13975	042054	201 07 0 00 000007 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 13976	042055	202 07 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 13977
 13978			017700		SN=17700
 13979			000003			XX=3
 13980			000001			ZZ=1
 13981
 13982					F17700:	REPEAT	^D5,
 13983					<SN=SN+1
 13984						XX=XX+3
 13985						ZZ=ZZ+1
 13986						MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13987						MOVEI	AC,3		;SETUP PLIER
 13988						IMULI	AC,ZZ		;MULTIPLY 3 X E
 13989						CAME	AC,AC-2		;TEST PROD = XX
 13990						ER3	AC,SN		;IMULI FAILED
 13991						JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 13992					>
 13993			017701		SN=SN+1
 13994			000006			XX=XX+3
 13995			000002			ZZ=ZZ+1
 13996	042056	201 03 0 00 000006 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 13997	042057	201 05 0 00 000003 		MOVEI	AC,3		;SETUP PLIER
 13998	042060	221 05 0 00 000002 		IMULI	AC,ZZ		;MULTIPLY 3 X E
 13999	042061	312 05 0 00 000003 		CAME	AC,AC-2		;TEST PROD = XX
 14000	042062	003 05 0 00 017701 		ER3	AC,SN		;IMULI FAILED
 14001	042063	321 07 0 00 042056 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 14002
 14003			017702		SN=SN+1
 14004			000011			XX=XX+3
 14005			000003			ZZ=ZZ+1
 14006	042064	201 03 0 00 000011 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14007	042065	201 05 0 00 000003 		MOVEI	AC,3		;SETUP PLIER
 14008	042066	221 05 0 00 000003 		IMULI	AC,ZZ		;MULTIPLY 3 X E
 14009	042067	312 05 0 00 000003 		CAME	AC,AC-2		;TEST PROD = XX
 14010	042070	003 05 0 00 017702 		ER3	AC,SN		;IMULI FAILED
 14011	042071	321 07 0 00 042064 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 14012
 14013			017703		SN=SN+1
 14014			000014			XX=XX+3
 14015			000004			ZZ=ZZ+1
 14016	042072	201 03 0 00 000014 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14017	042073	201 05 0 00 000003 		MOVEI	AC,3		;SETUP PLIER
 14018	042074	221 05 0 00 000004 		IMULI	AC,ZZ		;MULTIPLY 3 X E
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 73-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0311

 14019	042075	312 05 0 00 000003 		CAME	AC,AC-2		;TEST PROD = XX
 14020	042076	003 05 0 00 017703 		ER3	AC,SN		;IMULI FAILED
 14021	042077	321 07 0 00 042072 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 14022
 14023			017704		SN=SN+1
 14024			000017			XX=XX+3
 14025			000005			ZZ=ZZ+1
 14026	042100	201 03 0 00 000017 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14027	042101	201 05 0 00 000003 		MOVEI	AC,3		;SETUP PLIER
 14028	042102	221 05 0 00 000005 		IMULI	AC,ZZ		;MULTIPLY 3 X E
 14029	042103	312 05 0 00 000003 		CAME	AC,AC-2		;TEST PROD = XX
 14030	042104	003 05 0 00 017704 		ER3	AC,SN		;IMULI FAILED
 14031	042105	321 07 0 00 042100 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 14032
 14033			017705		SN=SN+1
 14034			000022			XX=XX+3
 14035			000006			ZZ=ZZ+1
 14036	042106	201 03 0 00 000022 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14037	042107	201 05 0 00 000003 		MOVEI	AC,3		;SETUP PLIER
 14038	042110	221 05 0 00 000006 		IMULI	AC,ZZ		;MULTIPLY 3 X E
 14039	042111	312 05 0 00 000003 		CAME	AC,AC-2		;TEST PROD = XX
 14040	042112	003 05 0 00 017705 		ER3	AC,SN		;IMULI FAILED
 14041	042113	321 07 0 00 042106 		JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
 14042
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 74
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0312

 14043					;TEST IMUL MEMORY - TWO NEGATIVES
 14044					;TESTING IS ACCOMPLISHED BY MULTIPLYING
 14045					;A NEGATIVE NUMBER BY ITSELF
 14046					;PLIER=-2,-4,-10,-20,-40
 14047					;PLICAND=-2,-4,-10,-20,-40
 14048					;PROD=4,20,100,400,2000
 14049
 14050			000004			AC=4
 14051						SAVEAC	(1,1)^
 14052	042114	201 06 0 00 042114 		MOVEI	AC+2,.		;SAVE TEST PC
 14053	042115	202 06 0 00 030051 		MOVEM	AC+2,TESTPC
 14054	042116	201 06 0 00 000006 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 14055	042117	202 06 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 14056
 14057			020000		SN=20000
 14058			000001			XX=1
 14059		777777	777777			ZZ=-1
 14060
 14061					F20000:	REPEAT	^D5,
 14062					<SN=SN+1
 14063						XX=XX*4
 14064						ZZ=ZZ+ZZ
 14065						MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14066						HRROI	AC,ZZ		;SETUP PLIER
 14067						HRROI	AC-1,ZZ		;SETUP PLICAND
 14068						MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 14069						IMULM	AC,AC-1		;MULTIPLY ZZ BY ZZ
 14070						CAME	AC-1,AC-2	;TEST PROD=XX
 14071						ER5	AC-1,SN		;IMULM FAILED
 14072						CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 14073						ER3	AC,SN		;C(AC) WAS CLOBBERED
 14074						CAME	AC+1,<AC-3>&17	;WAS C(AC+1) MODIFIED ?
 14075						ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 14076						JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 14077					>
 14078			020001		SN=SN+1
 14079			000004			XX=XX*4
 14080		777777	777776			ZZ=ZZ+ZZ
 14081	042120	201 02 0 00 000004 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14082	042121	561 04 0 00 777776 		HRROI	AC,ZZ		;SETUP PLIER
 14083	042122	561 03 0 00 777776 		HRROI	AC-1,ZZ		;SETUP PLICAND
 14084	042123	200 01 0 00 000005 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 14085	042124	222 04 0 00 000003 		IMULM	AC,AC-1		;MULTIPLY ZZ BY ZZ
 14086	042125	312 03 0 00 000002 		CAME	AC-1,AC-2	;TEST PROD=XX
 14087	042126	005 03 0 00 020001 		ER5	AC-1,SN		;IMULM FAILED
 14088	042127	312 04 0 00 044621 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 14089	042130	003 04 0 00 020001 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 14090	042131	312 05 0 00 000001 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) MODIFIED ?
 14091	042132	004 05 0 00 020001 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 14092	042133	321 06 0 00 042120 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 14093
 14094			020002		SN=SN+1
 14095			000020			XX=XX*4
 14096		777777	777774			ZZ=ZZ+ZZ
 14097	042134	201 02 0 00 000020 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 74-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0313

 14098	042135	561 04 0 00 777774 		HRROI	AC,ZZ		;SETUP PLIER
 14099	042136	561 03 0 00 777774 		HRROI	AC-1,ZZ		;SETUP PLICAND
 14100	042137	200 01 0 00 000005 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 14101	042140	222 04 0 00 000003 		IMULM	AC,AC-1		;MULTIPLY ZZ BY ZZ
 14102	042141	312 03 0 00 000002 		CAME	AC-1,AC-2	;TEST PROD=XX
 14103	042142	005 03 0 00 020002 		ER5	AC-1,SN		;IMULM FAILED
 14104	042143	312 04 0 00 045324 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 14105	042144	003 04 0 00 020002 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 14106	042145	312 05 0 00 000001 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) MODIFIED ?
 14107	042146	004 05 0 00 020002 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 14108	042147	321 06 0 00 042134 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 14109
 14110			020003		SN=SN+1
 14111			000100			XX=XX*4
 14112		777777	777770			ZZ=ZZ+ZZ
 14113	042150	201 02 0 00 000100 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14114	042151	561 04 0 00 777770 		HRROI	AC,ZZ		;SETUP PLIER
 14115	042152	561 03 0 00 777770 		HRROI	AC-1,ZZ		;SETUP PLICAND
 14116	042153	200 01 0 00 000005 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 14117	042154	222 04 0 00 000003 		IMULM	AC,AC-1		;MULTIPLY ZZ BY ZZ
 14118	042155	312 03 0 00 000002 		CAME	AC-1,AC-2	;TEST PROD=XX
 14119	042156	005 03 0 00 020003 		ER5	AC-1,SN		;IMULM FAILED
 14120	042157	312 04 0 00 045304 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 14121	042160	003 04 0 00 020003 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 14122	042161	312 05 0 00 000001 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) MODIFIED ?
 14123	042162	004 05 0 00 020003 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 14124	042163	321 06 0 00 042150 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 14125
 14126			020004		SN=SN+1
 14127			000400			XX=XX*4
 14128		777777	777760			ZZ=ZZ+ZZ
 14129	042164	201 02 0 00 000400 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14130	042165	561 04 0 00 777760 		HRROI	AC,ZZ		;SETUP PLIER
 14131	042166	561 03 0 00 777760 		HRROI	AC-1,ZZ		;SETUP PLICAND
 14132	042167	200 01 0 00 000005 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 14133	042170	222 04 0 00 000003 		IMULM	AC,AC-1		;MULTIPLY ZZ BY ZZ
 14134	042171	312 03 0 00 000002 		CAME	AC-1,AC-2	;TEST PROD=XX
 14135	042172	005 03 0 00 020004 		ER5	AC-1,SN		;IMULM FAILED
 14136	042173	312 04 0 00 045303 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 14137	042174	003 04 0 00 020004 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 14138	042175	312 05 0 00 000001 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) MODIFIED ?
 14139	042176	004 05 0 00 020004 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 14140	042177	321 06 0 00 042164 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 14141
 14142			020005		SN=SN+1
 14143			002000			XX=XX*4
 14144		777777	777740			ZZ=ZZ+ZZ
 14145	042200	201 02 0 00 002000 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 14146	042201	561 04 0 00 777740 		HRROI	AC,ZZ		;SETUP PLIER
 14147	042202	561 03 0 00 777740 		HRROI	AC-1,ZZ		;SETUP PLICAND
 14148	042203	200 01 0 00 000005 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 14149	042204	222 04 0 00 000003 		IMULM	AC,AC-1		;MULTIPLY ZZ BY ZZ
 14150	042205	312 03 0 00 000002 		CAME	AC-1,AC-2	;TEST PROD=XX
 14151	042206	005 03 0 00 020005 		ER5	AC-1,SN		;IMULM FAILED
 14152	042207	312 04 0 00 045334 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 74-2
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0314

 14153	042210	003 04 0 00 020005 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 14154	042211	312 05 0 00 000001 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) MODIFIED ?
 14155	042212	004 05 0 00 020005 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 14156	042213	321 06 0 00 042200 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 14157
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 75
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0315

 14158					;TEST IMUL BOTH - MULTIPLY BY 0
 14159					;TESTING IS ACCOMPLISHED BY MULTIPLYING
 14160					;A NEGATIVE NUMBER BY 0
 14161					;PLIER=0
 14162					;PLICAND=-1,-2,-4,-10,-20
 14163					;PROD=0
 14164
 14165			000005			AC=5
 14166						SAVEAC	(1,1)^
 14167	042214	201 07 0 00 042214 		MOVEI	AC+2,.		;SAVE TEST PC
 14168	042215	202 07 0 00 030051 		MOVEM	AC+2,TESTPC
 14169	042216	201 07 0 00 000007 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 14170	042217	202 07 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 14171
 14172			020100		SN=20100
 14173			000000			ZZ=0
 14174
 14175					F20100:	REPEAT	^D5,
 14176					<SN=SN+1
 14177						ZZ=ZZ+ZZ
 14178						IFE	ZZ,<ZZ=-1>
 14179						SETZ	AC,		;SETUP PLIER
 14180						HRROI	AC-1,ZZ		;SETUP PLICAND
 14181						IMULB	AC,AC-1		;MULTIPLY ZZ BY 0
 14182						SKIPE	AC		;TEST PROD=0
 14183						ER3	AC,SN
 14184						SKIPE	AC-1		;TEST C(AC) = C(E)
 14185						ER5	AC-1,SN		;IMULB FAILED
 14186						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14187					>
 14188			020101		SN=SN+1
 14189			000000			ZZ=ZZ+ZZ
 14190		777777	777777			IFE	ZZ,<ZZ=-1>
 14191	042220	400 05 0 00 000000 		SETZ	AC,		;SETUP PLIER
 14192	042221	561 04 0 00 777777 		HRROI	AC-1,ZZ		;SETUP PLICAND
 14193	042222	223 05 0 00 000004 		IMULB	AC,AC-1		;MULTIPLY ZZ BY 0
 14194	042223	332 00 0 00 000005 		SKIPE	AC		;TEST PROD=0
 14195	042224	003 05 0 00 020101 		ER3	AC,SN
 14196	042225	332 00 0 00 000004 		SKIPE	AC-1		;TEST C(AC) = C(E)
 14197	042226	005 04 0 00 020101 		ER5	AC-1,SN		;IMULB FAILED
 14198	042227	321 07 0 00 042220 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14199
 14200			020102		SN=SN+1
 14201		777777	777776			ZZ=ZZ+ZZ
 14202						IFE	ZZ,<ZZ=-1>
 14203	042230	400 05 0 00 000000 		SETZ	AC,		;SETUP PLIER
 14204	042231	561 04 0 00 777776 		HRROI	AC-1,ZZ		;SETUP PLICAND
 14205	042232	223 05 0 00 000004 		IMULB	AC,AC-1		;MULTIPLY ZZ BY 0
 14206	042233	332 00 0 00 000005 		SKIPE	AC		;TEST PROD=0
 14207	042234	003 05 0 00 020102 		ER3	AC,SN
 14208	042235	332 00 0 00 000004 		SKIPE	AC-1		;TEST C(AC) = C(E)
 14209	042236	005 04 0 00 020102 		ER5	AC-1,SN		;IMULB FAILED
 14210	042237	321 07 0 00 042230 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14211
 14212			020103		SN=SN+1
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 75-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0316

 14213		777777	777774			ZZ=ZZ+ZZ
 14214						IFE	ZZ,<ZZ=-1>
 14215	042240	400 05 0 00 000000 		SETZ	AC,		;SETUP PLIER
 14216	042241	561 04 0 00 777774 		HRROI	AC-1,ZZ		;SETUP PLICAND
 14217	042242	223 05 0 00 000004 		IMULB	AC,AC-1		;MULTIPLY ZZ BY 0
 14218	042243	332 00 0 00 000005 		SKIPE	AC		;TEST PROD=0
 14219	042244	003 05 0 00 020103 		ER3	AC,SN
 14220	042245	332 00 0 00 000004 		SKIPE	AC-1		;TEST C(AC) = C(E)
 14221	042246	005 04 0 00 020103 		ER5	AC-1,SN		;IMULB FAILED
 14222	042247	321 07 0 00 042240 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14223
 14224			020104		SN=SN+1
 14225		777777	777770			ZZ=ZZ+ZZ
 14226						IFE	ZZ,<ZZ=-1>
 14227	042250	400 05 0 00 000000 		SETZ	AC,		;SETUP PLIER
 14228	042251	561 04 0 00 777770 		HRROI	AC-1,ZZ		;SETUP PLICAND
 14229	042252	223 05 0 00 000004 		IMULB	AC,AC-1		;MULTIPLY ZZ BY 0
 14230	042253	332 00 0 00 000005 		SKIPE	AC		;TEST PROD=0
 14231	042254	003 05 0 00 020104 		ER3	AC,SN
 14232	042255	332 00 0 00 000004 		SKIPE	AC-1		;TEST C(AC) = C(E)
 14233	042256	005 04 0 00 020104 		ER5	AC-1,SN		;IMULB FAILED
 14234	042257	321 07 0 00 042250 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14235
 14236			020105		SN=SN+1
 14237		777777	777760			ZZ=ZZ+ZZ
 14238						IFE	ZZ,<ZZ=-1>
 14239	042260	400 05 0 00 000000 		SETZ	AC,		;SETUP PLIER
 14240	042261	561 04 0 00 777760 		HRROI	AC-1,ZZ		;SETUP PLICAND
 14241	042262	223 05 0 00 000004 		IMULB	AC,AC-1		;MULTIPLY ZZ BY 0
 14242	042263	332 00 0 00 000005 		SKIPE	AC		;TEST PROD=0
 14243	042264	003 05 0 00 020105 		ER3	AC,SN
 14244	042265	332 00 0 00 000004 		SKIPE	AC-1		;TEST C(AC) = C(E)
 14245	042266	005 04 0 00 020105 		ER5	AC-1,SN		;IMULB FAILED
 14246	042267	321 07 0 00 042260 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14247
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 76
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0317

 14248					;TEST IDIV DIRECT - TWO POSITIVES
 14249					;TESTING IS ACCOMPLISHED BY
 14250					;DIVIDING A NUMBER BY ITSELF
 14251					;DVND=1,2,4, ETC
 14252					;DVSR=1,2,4, ETC
 14253					;AN ERROR WILL OCCUR IF QUOT
 14254					;DIFFERS FROM 1
 14255					;AN ERROR WILL OCCUR IF REMD
 14256					;DIFFERS FROM 0
 14257
 14258			000005			AC=5
 14259						SAVEAC	(1,1)^
 14260	042270	201 07 0 00 042270 		MOVEI	AC+2,.		;SAVE TEST PC
 14261	042271	202 07 0 00 030051 		MOVEM	AC+2,TESTPC
 14262	042272	201 07 0 00 000007 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 14263	042273	202 07 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 14264
 14265			020200		SN=20200
 14266			000000			ZZ=0
 14267
 14268					F20200:	REPEAT	^D18,
 14269					<SN=SN+1
 14270						ZZ=ZZ+ZZ
 14271						IFE	ZZ,<ZZ=1>
 14272						MOVEI	AC,ZZ		;SETUP DVND
 14273						MOVEI	AC-1,ZZ		;SETUP DVSR
 14274						IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14275						CAIE	AC,1		;TEST QUOT=1
 14276						ER3	AC,SN
 14277						JUMPE	AC+1,.+2	;TEST REMD=0
 14278						ER4	AC+1,SN		;IDIV FAILED
 14279						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14280					>
 14281			020201		SN=SN+1
 14282			000000			ZZ=ZZ+ZZ
 14283			000001			IFE	ZZ,<ZZ=1>
 14284	042274	201 05 0 00 000001 		MOVEI	AC,ZZ		;SETUP DVND
 14285	042275	201 04 0 00 000001 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14286	042276	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14287	042277	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14288	042300	003 05 0 00 020201 		ER3	AC,SN
 14289	042301	322 06 0 00 042303 		JUMPE	AC+1,.+2	;TEST REMD=0
 14290	042302	004 06 0 00 020201 		ER4	AC+1,SN		;IDIV FAILED
 14291	042303	321 07 0 00 042274 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14292
 14293			020202		SN=SN+1
 14294			000002			ZZ=ZZ+ZZ
 14295						IFE	ZZ,<ZZ=1>
 14296	042304	201 05 0 00 000002 		MOVEI	AC,ZZ		;SETUP DVND
 14297	042305	201 04 0 00 000002 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14298	042306	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14299	042307	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14300	042310	003 05 0 00 020202 		ER3	AC,SN
 14301	042311	322 06 0 00 042313 		JUMPE	AC+1,.+2	;TEST REMD=0
 14302	042312	004 06 0 00 020202 		ER4	AC+1,SN		;IDIV FAILED
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 76-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0318

 14303	042313	321 07 0 00 042304 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14304
 14305			020203		SN=SN+1
 14306			000004			ZZ=ZZ+ZZ
 14307						IFE	ZZ,<ZZ=1>
 14308	042314	201 05 0 00 000004 		MOVEI	AC,ZZ		;SETUP DVND
 14309	042315	201 04 0 00 000004 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14310	042316	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14311	042317	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14312	042320	003 05 0 00 020203 		ER3	AC,SN
 14313	042321	322 06 0 00 042323 		JUMPE	AC+1,.+2	;TEST REMD=0
 14314	042322	004 06 0 00 020203 		ER4	AC+1,SN		;IDIV FAILED
 14315	042323	321 07 0 00 042314 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14316
 14317			020204		SN=SN+1
 14318			000010			ZZ=ZZ+ZZ
 14319						IFE	ZZ,<ZZ=1>
 14320	042324	201 05 0 00 000010 		MOVEI	AC,ZZ		;SETUP DVND
 14321	042325	201 04 0 00 000010 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14322	042326	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14323	042327	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14324	042330	003 05 0 00 020204 		ER3	AC,SN
 14325	042331	322 06 0 00 042333 		JUMPE	AC+1,.+2	;TEST REMD=0
 14326	042332	004 06 0 00 020204 		ER4	AC+1,SN		;IDIV FAILED
 14327	042333	321 07 0 00 042324 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14328
 14329			020205		SN=SN+1
 14330			000020			ZZ=ZZ+ZZ
 14331						IFE	ZZ,<ZZ=1>
 14332	042334	201 05 0 00 000020 		MOVEI	AC,ZZ		;SETUP DVND
 14333	042335	201 04 0 00 000020 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14334	042336	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14335	042337	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14336	042340	003 05 0 00 020205 		ER3	AC,SN
 14337	042341	322 06 0 00 042343 		JUMPE	AC+1,.+2	;TEST REMD=0
 14338	042342	004 06 0 00 020205 		ER4	AC+1,SN		;IDIV FAILED
 14339	042343	321 07 0 00 042334 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14340
 14341			020206		SN=SN+1
 14342			000040			ZZ=ZZ+ZZ
 14343						IFE	ZZ,<ZZ=1>
 14344	042344	201 05 0 00 000040 		MOVEI	AC,ZZ		;SETUP DVND
 14345	042345	201 04 0 00 000040 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14346	042346	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14347	042347	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14348	042350	003 05 0 00 020206 		ER3	AC,SN
 14349	042351	322 06 0 00 042353 		JUMPE	AC+1,.+2	;TEST REMD=0
 14350	042352	004 06 0 00 020206 		ER4	AC+1,SN		;IDIV FAILED
 14351	042353	321 07 0 00 042344 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14352
 14353			020207		SN=SN+1
 14354			000100			ZZ=ZZ+ZZ
 14355						IFE	ZZ,<ZZ=1>
 14356	042354	201 05 0 00 000100 		MOVEI	AC,ZZ		;SETUP DVND
 14357	042355	201 04 0 00 000100 		MOVEI	AC-1,ZZ		;SETUP DVSR
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 76-2
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0319

 14358	042356	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14359	042357	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14360	042360	003 05 0 00 020207 		ER3	AC,SN
 14361	042361	322 06 0 00 042363 		JUMPE	AC+1,.+2	;TEST REMD=0
 14362	042362	004 06 0 00 020207 		ER4	AC+1,SN		;IDIV FAILED
 14363	042363	321 07 0 00 042354 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14364
 14365			020210		SN=SN+1
 14366			000200			ZZ=ZZ+ZZ
 14367						IFE	ZZ,<ZZ=1>
 14368	042364	201 05 0 00 000200 		MOVEI	AC,ZZ		;SETUP DVND
 14369	042365	201 04 0 00 000200 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14370	042366	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14371	042367	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14372	042370	003 05 0 00 020210 		ER3	AC,SN
 14373	042371	322 06 0 00 042373 		JUMPE	AC+1,.+2	;TEST REMD=0
 14374	042372	004 06 0 00 020210 		ER4	AC+1,SN		;IDIV FAILED
 14375	042373	321 07 0 00 042364 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14376
 14377			020211		SN=SN+1
 14378			000400			ZZ=ZZ+ZZ
 14379						IFE	ZZ,<ZZ=1>
 14380	042374	201 05 0 00 000400 		MOVEI	AC,ZZ		;SETUP DVND
 14381	042375	201 04 0 00 000400 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14382	042376	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14383	042377	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14384	042400	003 05 0 00 020211 		ER3	AC,SN
 14385	042401	322 06 0 00 042403 		JUMPE	AC+1,.+2	;TEST REMD=0
 14386	042402	004 06 0 00 020211 		ER4	AC+1,SN		;IDIV FAILED
 14387	042403	321 07 0 00 042374 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14388
 14389			020212		SN=SN+1
 14390			001000			ZZ=ZZ+ZZ
 14391						IFE	ZZ,<ZZ=1>
 14392	042404	201 05 0 00 001000 		MOVEI	AC,ZZ		;SETUP DVND
 14393	042405	201 04 0 00 001000 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14394	042406	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14395	042407	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14396	042410	003 05 0 00 020212 		ER3	AC,SN
 14397	042411	322 06 0 00 042413 		JUMPE	AC+1,.+2	;TEST REMD=0
 14398	042412	004 06 0 00 020212 		ER4	AC+1,SN		;IDIV FAILED
 14399	042413	321 07 0 00 042404 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14400
 14401			020213		SN=SN+1
 14402			002000			ZZ=ZZ+ZZ
 14403						IFE	ZZ,<ZZ=1>
 14404	042414	201 05 0 00 002000 		MOVEI	AC,ZZ		;SETUP DVND
 14405	042415	201 04 0 00 002000 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14406	042416	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14407	042417	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14408	042420	003 05 0 00 020213 		ER3	AC,SN
 14409	042421	322 06 0 00 042423 		JUMPE	AC+1,.+2	;TEST REMD=0
 14410	042422	004 06 0 00 020213 		ER4	AC+1,SN		;IDIV FAILED
 14411	042423	321 07 0 00 042414 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14412
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 76-3
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0320

 14413			020214		SN=SN+1
 14414			004000			ZZ=ZZ+ZZ
 14415						IFE	ZZ,<ZZ=1>
 14416	042424	201 05 0 00 004000 		MOVEI	AC,ZZ		;SETUP DVND
 14417	042425	201 04 0 00 004000 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14418	042426	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14419	042427	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14420	042430	003 05 0 00 020214 		ER3	AC,SN
 14421	042431	322 06 0 00 042433 		JUMPE	AC+1,.+2	;TEST REMD=0
 14422	042432	004 06 0 00 020214 		ER4	AC+1,SN		;IDIV FAILED
 14423	042433	321 07 0 00 042424 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14424
 14425			020215		SN=SN+1
 14426			010000			ZZ=ZZ+ZZ
 14427						IFE	ZZ,<ZZ=1>
 14428	042434	201 05 0 00 010000 		MOVEI	AC,ZZ		;SETUP DVND
 14429	042435	201 04 0 00 010000 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14430	042436	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14431	042437	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14432	042440	003 05 0 00 020215 		ER3	AC,SN
 14433	042441	322 06 0 00 042443 		JUMPE	AC+1,.+2	;TEST REMD=0
 14434	042442	004 06 0 00 020215 		ER4	AC+1,SN		;IDIV FAILED
 14435	042443	321 07 0 00 042434 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14436
 14437			020216		SN=SN+1
 14438			020000			ZZ=ZZ+ZZ
 14439						IFE	ZZ,<ZZ=1>
 14440	042444	201 05 0 00 020000 		MOVEI	AC,ZZ		;SETUP DVND
 14441	042445	201 04 0 00 020000 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14442	042446	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14443	042447	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14444	042450	003 05 0 00 020216 		ER3	AC,SN
 14445	042451	322 06 0 00 042453 		JUMPE	AC+1,.+2	;TEST REMD=0
 14446	042452	004 06 0 00 020216 		ER4	AC+1,SN		;IDIV FAILED
 14447	042453	321 07 0 00 042444 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14448
 14449			020217		SN=SN+1
 14450			040000			ZZ=ZZ+ZZ
 14451						IFE	ZZ,<ZZ=1>
 14452	042454	201 05 0 00 040000 		MOVEI	AC,ZZ		;SETUP DVND
 14453	042455	201 04 0 00 040000 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14454	042456	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14455	042457	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14456	042460	003 05 0 00 020217 		ER3	AC,SN
 14457	042461	322 06 0 00 042463 		JUMPE	AC+1,.+2	;TEST REMD=0
 14458	042462	004 06 0 00 020217 		ER4	AC+1,SN		;IDIV FAILED
 14459	042463	321 07 0 00 042454 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14460
 14461			020220		SN=SN+1
 14462			100000			ZZ=ZZ+ZZ
 14463						IFE	ZZ,<ZZ=1>
 14464	042464	201 05 0 00 100000 		MOVEI	AC,ZZ		;SETUP DVND
 14465	042465	201 04 0 00 100000 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14466	042466	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14467	042467	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 76-4
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0321

 14468	042470	003 05 0 00 020220 		ER3	AC,SN
 14469	042471	322 06 0 00 042473 		JUMPE	AC+1,.+2	;TEST REMD=0
 14470	042472	004 06 0 00 020220 		ER4	AC+1,SN		;IDIV FAILED
 14471	042473	321 07 0 00 042464 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14472
 14473			020221		SN=SN+1
 14474			200000			ZZ=ZZ+ZZ
 14475						IFE	ZZ,<ZZ=1>
 14476	042474	201 05 0 00 200000 		MOVEI	AC,ZZ		;SETUP DVND
 14477	042475	201 04 0 00 200000 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14478	042476	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14479	042477	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14480	042500	003 05 0 00 020221 		ER3	AC,SN
 14481	042501	322 06 0 00 042503 		JUMPE	AC+1,.+2	;TEST REMD=0
 14482	042502	004 06 0 00 020221 		ER4	AC+1,SN		;IDIV FAILED
 14483	042503	321 07 0 00 042474 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14484
 14485			020222		SN=SN+1
 14486			400000			ZZ=ZZ+ZZ
 14487						IFE	ZZ,<ZZ=1>
 14488	042504	201 05 0 00 400000 		MOVEI	AC,ZZ		;SETUP DVND
 14489	042505	201 04 0 00 400000 		MOVEI	AC-1,ZZ		;SETUP DVSR
 14490	042506	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14491	042507	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14492	042510	003 05 0 00 020222 		ER3	AC,SN
 14493	042511	322 06 0 00 042513 		JUMPE	AC+1,.+2	;TEST REMD=0
 14494	042512	004 06 0 00 020222 		ER4	AC+1,SN		;IDIV FAILED
 14495	042513	321 07 0 00 042504 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14496
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 77
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0322

 14497			020300		SN=20300
 14498			000000			ZZ=0
 14499
 14500					F20300:	REPEAT	^D17,
 14501					<SN=SN+1
 14502						ZZ=ZZ+ZZ
 14503						IFE	ZZ,<ZZ=1>
 14504						MOVSI	AC,ZZ		;SETUP DVND
 14505						MOVSI	AC-1,ZZ		;SETUP DVSR
 14506						IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14507						CAIE	AC,1		;TEST QUOT=1
 14508						ER3	AC,SN
 14509						JUMPE	AC+1,.+2	;TEST REMD=0
 14510						ER4	AC+1,SN		;IDIV FAILED
 14511						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14512					>
 14513			020301		SN=SN+1
 14514			000000			ZZ=ZZ+ZZ
 14515			000001			IFE	ZZ,<ZZ=1>
 14516	042514	205 05 0 00 000001 		MOVSI	AC,ZZ		;SETUP DVND
 14517	042515	205 04 0 00 000001 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14518	042516	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14519	042517	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14520	042520	003 05 0 00 020301 		ER3	AC,SN
 14521	042521	322 06 0 00 042523 		JUMPE	AC+1,.+2	;TEST REMD=0
 14522	042522	004 06 0 00 020301 		ER4	AC+1,SN		;IDIV FAILED
 14523	042523	321 07 0 00 042514 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14524
 14525			020302		SN=SN+1
 14526			000002			ZZ=ZZ+ZZ
 14527						IFE	ZZ,<ZZ=1>
 14528	042524	205 05 0 00 000002 		MOVSI	AC,ZZ		;SETUP DVND
 14529	042525	205 04 0 00 000002 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14530	042526	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14531	042527	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14532	042530	003 05 0 00 020302 		ER3	AC,SN
 14533	042531	322 06 0 00 042533 		JUMPE	AC+1,.+2	;TEST REMD=0
 14534	042532	004 06 0 00 020302 		ER4	AC+1,SN		;IDIV FAILED
 14535	042533	321 07 0 00 042524 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14536
 14537			020303		SN=SN+1
 14538			000004			ZZ=ZZ+ZZ
 14539						IFE	ZZ,<ZZ=1>
 14540	042534	205 05 0 00 000004 		MOVSI	AC,ZZ		;SETUP DVND
 14541	042535	205 04 0 00 000004 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14542	042536	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14543	042537	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14544	042540	003 05 0 00 020303 		ER3	AC,SN
 14545	042541	322 06 0 00 042543 		JUMPE	AC+1,.+2	;TEST REMD=0
 14546	042542	004 06 0 00 020303 		ER4	AC+1,SN		;IDIV FAILED
 14547	042543	321 07 0 00 042534 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14548
 14549			020304		SN=SN+1
 14550			000010			ZZ=ZZ+ZZ
 14551						IFE	ZZ,<ZZ=1>
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 77-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0323

 14552	042544	205 05 0 00 000010 		MOVSI	AC,ZZ		;SETUP DVND
 14553	042545	205 04 0 00 000010 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14554	042546	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14555	042547	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14556	042550	003 05 0 00 020304 		ER3	AC,SN
 14557	042551	322 06 0 00 042553 		JUMPE	AC+1,.+2	;TEST REMD=0
 14558	042552	004 06 0 00 020304 		ER4	AC+1,SN		;IDIV FAILED
 14559	042553	321 07 0 00 042544 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14560
 14561			020305		SN=SN+1
 14562			000020			ZZ=ZZ+ZZ
 14563						IFE	ZZ,<ZZ=1>
 14564	042554	205 05 0 00 000020 		MOVSI	AC,ZZ		;SETUP DVND
 14565	042555	205 04 0 00 000020 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14566	042556	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14567	042557	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14568	042560	003 05 0 00 020305 		ER3	AC,SN
 14569	042561	322 06 0 00 042563 		JUMPE	AC+1,.+2	;TEST REMD=0
 14570	042562	004 06 0 00 020305 		ER4	AC+1,SN		;IDIV FAILED
 14571	042563	321 07 0 00 042554 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14572
 14573			020306		SN=SN+1
 14574			000040			ZZ=ZZ+ZZ
 14575						IFE	ZZ,<ZZ=1>
 14576	042564	205 05 0 00 000040 		MOVSI	AC,ZZ		;SETUP DVND
 14577	042565	205 04 0 00 000040 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14578	042566	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14579	042567	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14580	042570	003 05 0 00 020306 		ER3	AC,SN
 14581	042571	322 06 0 00 042573 		JUMPE	AC+1,.+2	;TEST REMD=0
 14582	042572	004 06 0 00 020306 		ER4	AC+1,SN		;IDIV FAILED
 14583	042573	321 07 0 00 042564 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14584
 14585			020307		SN=SN+1
 14586			000100			ZZ=ZZ+ZZ
 14587						IFE	ZZ,<ZZ=1>
 14588	042574	205 05 0 00 000100 		MOVSI	AC,ZZ		;SETUP DVND
 14589	042575	205 04 0 00 000100 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14590	042576	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14591	042577	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14592	042600	003 05 0 00 020307 		ER3	AC,SN
 14593	042601	322 06 0 00 042603 		JUMPE	AC+1,.+2	;TEST REMD=0
 14594	042602	004 06 0 00 020307 		ER4	AC+1,SN		;IDIV FAILED
 14595	042603	321 07 0 00 042574 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14596
 14597			020310		SN=SN+1
 14598			000200			ZZ=ZZ+ZZ
 14599						IFE	ZZ,<ZZ=1>
 14600	042604	205 05 0 00 000200 		MOVSI	AC,ZZ		;SETUP DVND
 14601	042605	205 04 0 00 000200 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14602	042606	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14603	042607	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14604	042610	003 05 0 00 020310 		ER3	AC,SN
 14605	042611	322 06 0 00 042613 		JUMPE	AC+1,.+2	;TEST REMD=0
 14606	042612	004 06 0 00 020310 		ER4	AC+1,SN		;IDIV FAILED
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 77-2
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0324

 14607	042613	321 07 0 00 042604 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14608
 14609			020311		SN=SN+1
 14610			000400			ZZ=ZZ+ZZ
 14611						IFE	ZZ,<ZZ=1>
 14612	042614	205 05 0 00 000400 		MOVSI	AC,ZZ		;SETUP DVND
 14613	042615	205 04 0 00 000400 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14614	042616	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14615	042617	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14616	042620	003 05 0 00 020311 		ER3	AC,SN
 14617	042621	322 06 0 00 042623 		JUMPE	AC+1,.+2	;TEST REMD=0
 14618	042622	004 06 0 00 020311 		ER4	AC+1,SN		;IDIV FAILED
 14619	042623	321 07 0 00 042614 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14620
 14621			020312		SN=SN+1
 14622			001000			ZZ=ZZ+ZZ
 14623						IFE	ZZ,<ZZ=1>
 14624	042624	205 05 0 00 001000 		MOVSI	AC,ZZ		;SETUP DVND
 14625	042625	205 04 0 00 001000 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14626	042626	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14627	042627	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14628	042630	003 05 0 00 020312 		ER3	AC,SN
 14629	042631	322 06 0 00 042633 		JUMPE	AC+1,.+2	;TEST REMD=0
 14630	042632	004 06 0 00 020312 		ER4	AC+1,SN		;IDIV FAILED
 14631	042633	321 07 0 00 042624 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14632
 14633			020313		SN=SN+1
 14634			002000			ZZ=ZZ+ZZ
 14635						IFE	ZZ,<ZZ=1>
 14636	042634	205 05 0 00 002000 		MOVSI	AC,ZZ		;SETUP DVND
 14637	042635	205 04 0 00 002000 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14638	042636	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14639	042637	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14640	042640	003 05 0 00 020313 		ER3	AC,SN
 14641	042641	322 06 0 00 042643 		JUMPE	AC+1,.+2	;TEST REMD=0
 14642	042642	004 06 0 00 020313 		ER4	AC+1,SN		;IDIV FAILED
 14643	042643	321 07 0 00 042634 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14644
 14645			020314		SN=SN+1
 14646			004000			ZZ=ZZ+ZZ
 14647						IFE	ZZ,<ZZ=1>
 14648	042644	205 05 0 00 004000 		MOVSI	AC,ZZ		;SETUP DVND
 14649	042645	205 04 0 00 004000 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14650	042646	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14651	042647	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14652	042650	003 05 0 00 020314 		ER3	AC,SN
 14653	042651	322 06 0 00 042653 		JUMPE	AC+1,.+2	;TEST REMD=0
 14654	042652	004 06 0 00 020314 		ER4	AC+1,SN		;IDIV FAILED
 14655	042653	321 07 0 00 042644 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14656
 14657			020315		SN=SN+1
 14658			010000			ZZ=ZZ+ZZ
 14659						IFE	ZZ,<ZZ=1>
 14660	042654	205 05 0 00 010000 		MOVSI	AC,ZZ		;SETUP DVND
 14661	042655	205 04 0 00 010000 		MOVSI	AC-1,ZZ		;SETUP DVSR
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 77-3
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0325

 14662	042656	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14663	042657	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14664	042660	003 05 0 00 020315 		ER3	AC,SN
 14665	042661	322 06 0 00 042663 		JUMPE	AC+1,.+2	;TEST REMD=0
 14666	042662	004 06 0 00 020315 		ER4	AC+1,SN		;IDIV FAILED
 14667	042663	321 07 0 00 042654 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14668
 14669			020316		SN=SN+1
 14670			020000			ZZ=ZZ+ZZ
 14671						IFE	ZZ,<ZZ=1>
 14672	042664	205 05 0 00 020000 		MOVSI	AC,ZZ		;SETUP DVND
 14673	042665	205 04 0 00 020000 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14674	042666	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14675	042667	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14676	042670	003 05 0 00 020316 		ER3	AC,SN
 14677	042671	322 06 0 00 042673 		JUMPE	AC+1,.+2	;TEST REMD=0
 14678	042672	004 06 0 00 020316 		ER4	AC+1,SN		;IDIV FAILED
 14679	042673	321 07 0 00 042664 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14680
 14681			020317		SN=SN+1
 14682			040000			ZZ=ZZ+ZZ
 14683						IFE	ZZ,<ZZ=1>
 14684	042674	205 05 0 00 040000 		MOVSI	AC,ZZ		;SETUP DVND
 14685	042675	205 04 0 00 040000 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14686	042676	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14687	042677	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14688	042700	003 05 0 00 020317 		ER3	AC,SN
 14689	042701	322 06 0 00 042703 		JUMPE	AC+1,.+2	;TEST REMD=0
 14690	042702	004 06 0 00 020317 		ER4	AC+1,SN		;IDIV FAILED
 14691	042703	321 07 0 00 042674 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14692
 14693			020320		SN=SN+1
 14694			100000			ZZ=ZZ+ZZ
 14695						IFE	ZZ,<ZZ=1>
 14696	042704	205 05 0 00 100000 		MOVSI	AC,ZZ		;SETUP DVND
 14697	042705	205 04 0 00 100000 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14698	042706	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14699	042707	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14700	042710	003 05 0 00 020320 		ER3	AC,SN
 14701	042711	322 06 0 00 042713 		JUMPE	AC+1,.+2	;TEST REMD=0
 14702	042712	004 06 0 00 020320 		ER4	AC+1,SN		;IDIV FAILED
 14703	042713	321 07 0 00 042704 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14704
 14705			020321		SN=SN+1
 14706			200000			ZZ=ZZ+ZZ
 14707						IFE	ZZ,<ZZ=1>
 14708	042714	205 05 0 00 200000 		MOVSI	AC,ZZ		;SETUP DVND
 14709	042715	205 04 0 00 200000 		MOVSI	AC-1,ZZ		;SETUP DVSR
 14710	042716	230 05 0 00 000004 		IDIV	AC,AC-1		;DIVIDE ZZ BY ZZ
 14711	042717	302 05 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 14712	042720	003 05 0 00 020321 		ER3	AC,SN
 14713	042721	322 06 0 00 042723 		JUMPE	AC+1,.+2	;TEST REMD=0
 14714	042722	004 06 0 00 020321 		ER4	AC+1,SN		;IDIV FAILED
 14715	042723	321 07 0 00 042714 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 14716
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 78
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0326

 14717					;TEST IDIV DIRECT - TWO POSITIVES
 14718					;TESTING IS ACCOMPLISHED BY
 14719					;DIVIDING AN EVEN NUMBER BY 1
 14720					;DVND=1,2,4 ETC
 14721					;DVSR=1
 14722					;AN ERROR WILL OCCUR IF QUOT
 14723					;DIFFERS FROM DVND
 14724					;AN ERROR WILL OCCUR IF REMD
 14725					;DIFFERS FROM 0
 14726
 14727			000013			AC=13
 14728						SAVEAC	(1,1)^
 14729	042724	201 15 0 00 042724 		MOVEI	AC+2,.		;SAVE TEST PC
 14730	042725	202 15 0 00 030051 		MOVEM	AC+2,TESTPC
 14731	042726	201 15 0 00 000015 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 14732	042727	202 15 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 14733
 14734			020400		SN=20400
 14735			000000			ZZ=0
 14736
 14737					F20400:	REPEAT	^D18,
 14738					<SN=SN+1
 14739						ZZ=ZZ+ZZ
 14740						IFE	ZZ,<ZZ=1>
 14741						MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 14742						MOVEI	AC,ZZ		;SETUP DVND
 14743						MOVEI	AC-1,1		;SETUP DVSR
 14744						IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 14745						CAME	AC,AC-2		;TEST QUOT=DVND
 14746						ER3	AC,SN
 14747						JUMPE	AC+1,.+2	;TEST REMD=0
 14748						ER4	AC+1,SN		;IDIV FAILED
 14749						CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 14750						ER5	AC-1,SN		;C(E) WAS CLOBBERED
 14751						JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 14752					>
 14753			020401		SN=SN+1
 14754			000000			ZZ=ZZ+ZZ
 14755			000001			IFE	ZZ,<ZZ=1>
 14756	042730	201 11 0 00 000001 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 14757	042731	201 13 0 00 000001 		MOVEI	AC,ZZ		;SETUP DVND
 14758	042732	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 14759	042733	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 14760	042734	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 14761	042735	003 13 0 00 020401 		ER3	AC,SN
 14762	042736	322 14 0 00 042740 		JUMPE	AC+1,.+2	;TEST REMD=0
 14763	042737	004 14 0 00 020401 		ER4	AC+1,SN		;IDIV FAILED
 14764	042740	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 14765	042741	005 12 0 00 020401 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 14766	042742	321 15 0 00 042730 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 14767
 14768			020402		SN=SN+1
 14769			000002			ZZ=ZZ+ZZ
 14770						IFE	ZZ,<ZZ=1>
 14771	042743	201 11 0 00 000002 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 78-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0327

 14772	042744	201 13 0 00 000002 		MOVEI	AC,ZZ		;SETUP DVND
 14773	042745	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 14774	042746	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 14775	042747	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 14776	042750	003 13 0 00 020402 		ER3	AC,SN
 14777	042751	322 14 0 00 042753 		JUMPE	AC+1,.+2	;TEST REMD=0
 14778	042752	004 14 0 00 020402 		ER4	AC+1,SN		;IDIV FAILED
 14779	042753	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 14780	042754	005 12 0 00 020402 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 14781	042755	321 15 0 00 042743 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 14782
 14783			020403		SN=SN+1
 14784			000004			ZZ=ZZ+ZZ
 14785						IFE	ZZ,<ZZ=1>
 14786	042756	201 11 0 00 000004 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 14787	042757	201 13 0 00 000004 		MOVEI	AC,ZZ		;SETUP DVND
 14788	042760	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 14789	042761	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 14790	042762	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 14791	042763	003 13 0 00 020403 		ER3	AC,SN
 14792	042764	322 14 0 00 042766 		JUMPE	AC+1,.+2	;TEST REMD=0
 14793	042765	004 14 0 00 020403 		ER4	AC+1,SN		;IDIV FAILED
 14794	042766	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 14795	042767	005 12 0 00 020403 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 14796	042770	321 15 0 00 042756 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 14797
 14798			020404		SN=SN+1
 14799			000010			ZZ=ZZ+ZZ
 14800						IFE	ZZ,<ZZ=1>
 14801	042771	201 11 0 00 000010 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 14802	042772	201 13 0 00 000010 		MOVEI	AC,ZZ		;SETUP DVND
 14803	042773	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 14804	042774	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 14805	042775	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 14806	042776	003 13 0 00 020404 		ER3	AC,SN
 14807	042777	322 14 0 00 043001 		JUMPE	AC+1,.+2	;TEST REMD=0
 14808	043000	004 14 0 00 020404 		ER4	AC+1,SN		;IDIV FAILED
 14809	043001	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 14810	043002	005 12 0 00 020404 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 14811	043003	321 15 0 00 042771 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 14812
 14813			020405		SN=SN+1
 14814			000020			ZZ=ZZ+ZZ
 14815						IFE	ZZ,<ZZ=1>
 14816	043004	201 11 0 00 000020 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 14817	043005	201 13 0 00 000020 		MOVEI	AC,ZZ		;SETUP DVND
 14818	043006	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 14819	043007	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 14820	043010	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 14821	043011	003 13 0 00 020405 		ER3	AC,SN
 14822	043012	322 14 0 00 043014 		JUMPE	AC+1,.+2	;TEST REMD=0
 14823	043013	004 14 0 00 020405 		ER4	AC+1,SN		;IDIV FAILED
 14824	043014	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 14825	043015	005 12 0 00 020405 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 14826	043016	321 15 0 00 043004 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 78-2
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0328

 14827
 14828			020406		SN=SN+1
 14829			000040			ZZ=ZZ+ZZ
 14830						IFE	ZZ,<ZZ=1>
 14831	043017	201 11 0 00 000040 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 14832	043020	201 13 0 00 000040 		MOVEI	AC,ZZ		;SETUP DVND
 14833	043021	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 14834	043022	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 14835	043023	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 14836	043024	003 13 0 00 020406 		ER3	AC,SN
 14837	043025	322 14 0 00 043027 		JUMPE	AC+1,.+2	;TEST REMD=0
 14838	043026	004 14 0 00 020406 		ER4	AC+1,SN		;IDIV FAILED
 14839	043027	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 14840	043030	005 12 0 00 020406 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 14841	043031	321 15 0 00 043017 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 14842
 14843			020407		SN=SN+1
 14844			000100			ZZ=ZZ+ZZ
 14845						IFE	ZZ,<ZZ=1>
 14846	043032	201 11 0 00 000100 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 14847	043033	201 13 0 00 000100 		MOVEI	AC,ZZ		;SETUP DVND
 14848	043034	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 14849	043035	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 14850	043036	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 14851	043037	003 13 0 00 020407 		ER3	AC,SN
 14852	043040	322 14 0 00 043042 		JUMPE	AC+1,.+2	;TEST REMD=0
 14853	043041	004 14 0 00 020407 		ER4	AC+1,SN		;IDIV FAILED
 14854	043042	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 14855	043043	005 12 0 00 020407 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 14856	043044	321 15 0 00 043032 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 14857
 14858			020410		SN=SN+1
 14859			000200			ZZ=ZZ+ZZ
 14860						IFE	ZZ,<ZZ=1>
 14861	043045	201 11 0 00 000200 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 14862	043046	201 13 0 00 000200 		MOVEI	AC,ZZ		;SETUP DVND
 14863	043047	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 14864	043050	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 14865	043051	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 14866	043052	003 13 0 00 020410 		ER3	AC,SN
 14867	043053	322 14 0 00 043055 		JUMPE	AC+1,.+2	;TEST REMD=0
 14868	043054	004 14 0 00 020410 		ER4	AC+1,SN		;IDIV FAILED
 14869	043055	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 14870	043056	005 12 0 00 020410 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 14871	043057	321 15 0 00 043045 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 14872
 14873			020411		SN=SN+1
 14874			000400			ZZ=ZZ+ZZ
 14875						IFE	ZZ,<ZZ=1>
 14876	043060	201 11 0 00 000400 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 14877	043061	201 13 0 00 000400 		MOVEI	AC,ZZ		;SETUP DVND
 14878	043062	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 14879	043063	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 14880	043064	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 14881	043065	003 13 0 00 020411 		ER3	AC,SN
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 78-3
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0329

 14882	043066	322 14 0 00 043070 		JUMPE	AC+1,.+2	;TEST REMD=0
 14883	043067	004 14 0 00 020411 		ER4	AC+1,SN		;IDIV FAILED
 14884	043070	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 14885	043071	005 12 0 00 020411 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 14886	043072	321 15 0 00 043060 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 14887
 14888			020412		SN=SN+1
 14889			001000			ZZ=ZZ+ZZ
 14890						IFE	ZZ,<ZZ=1>
 14891	043073	201 11 0 00 001000 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 14892	043074	201 13 0 00 001000 		MOVEI	AC,ZZ		;SETUP DVND
 14893	043075	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 14894	043076	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 14895	043077	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 14896	043100	003 13 0 00 020412 		ER3	AC,SN
 14897	043101	322 14 0 00 043103 		JUMPE	AC+1,.+2	;TEST REMD=0
 14898	043102	004 14 0 00 020412 		ER4	AC+1,SN		;IDIV FAILED
 14899	043103	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 14900	043104	005 12 0 00 020412 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 14901	043105	321 15 0 00 043073 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 14902
 14903			020413		SN=SN+1
 14904			002000			ZZ=ZZ+ZZ
 14905						IFE	ZZ,<ZZ=1>
 14906	043106	201 11 0 00 002000 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 14907	043107	201 13 0 00 002000 		MOVEI	AC,ZZ		;SETUP DVND
 14908	043110	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 14909	043111	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 14910	043112	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 14911	043113	003 13 0 00 020413 		ER3	AC,SN
 14912	043114	322 14 0 00 043116 		JUMPE	AC+1,.+2	;TEST REMD=0
 14913	043115	004 14 0 00 020413 		ER4	AC+1,SN		;IDIV FAILED
 14914	043116	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 14915	043117	005 12 0 00 020413 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 14916	043120	321 15 0 00 043106 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 14917
 14918			020414		SN=SN+1
 14919			004000			ZZ=ZZ+ZZ
 14920						IFE	ZZ,<ZZ=1>
 14921	043121	201 11 0 00 004000 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 14922	043122	201 13 0 00 004000 		MOVEI	AC,ZZ		;SETUP DVND
 14923	043123	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 14924	043124	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 14925	043125	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 14926	043126	003 13 0 00 020414 		ER3	AC,SN
 14927	043127	322 14 0 00 043131 		JUMPE	AC+1,.+2	;TEST REMD=0
 14928	043130	004 14 0 00 020414 		ER4	AC+1,SN		;IDIV FAILED
 14929	043131	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 14930	043132	005 12 0 00 020414 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 14931	043133	321 15 0 00 043121 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 14932
 14933			020415		SN=SN+1
 14934			010000			ZZ=ZZ+ZZ
 14935						IFE	ZZ,<ZZ=1>
 14936	043134	201 11 0 00 010000 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 78-4
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0330

 14937	043135	201 13 0 00 010000 		MOVEI	AC,ZZ		;SETUP DVND
 14938	043136	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 14939	043137	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 14940	043140	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 14941	043141	003 13 0 00 020415 		ER3	AC,SN
 14942	043142	322 14 0 00 043144 		JUMPE	AC+1,.+2	;TEST REMD=0
 14943	043143	004 14 0 00 020415 		ER4	AC+1,SN		;IDIV FAILED
 14944	043144	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 14945	043145	005 12 0 00 020415 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 14946	043146	321 15 0 00 043134 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 14947
 14948			020416		SN=SN+1
 14949			020000			ZZ=ZZ+ZZ
 14950						IFE	ZZ,<ZZ=1>
 14951	043147	201 11 0 00 020000 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 14952	043150	201 13 0 00 020000 		MOVEI	AC,ZZ		;SETUP DVND
 14953	043151	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 14954	043152	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 14955	043153	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 14956	043154	003 13 0 00 020416 		ER3	AC,SN
 14957	043155	322 14 0 00 043157 		JUMPE	AC+1,.+2	;TEST REMD=0
 14958	043156	004 14 0 00 020416 		ER4	AC+1,SN		;IDIV FAILED
 14959	043157	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 14960	043160	005 12 0 00 020416 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 14961	043161	321 15 0 00 043147 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 14962
 14963			020417		SN=SN+1
 14964			040000			ZZ=ZZ+ZZ
 14965						IFE	ZZ,<ZZ=1>
 14966	043162	201 11 0 00 040000 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 14967	043163	201 13 0 00 040000 		MOVEI	AC,ZZ		;SETUP DVND
 14968	043164	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 14969	043165	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 14970	043166	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 14971	043167	003 13 0 00 020417 		ER3	AC,SN
 14972	043170	322 14 0 00 043172 		JUMPE	AC+1,.+2	;TEST REMD=0
 14973	043171	004 14 0 00 020417 		ER4	AC+1,SN		;IDIV FAILED
 14974	043172	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 14975	043173	005 12 0 00 020417 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 14976	043174	321 15 0 00 043162 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 14977
 14978			020420		SN=SN+1
 14979			100000			ZZ=ZZ+ZZ
 14980						IFE	ZZ,<ZZ=1>
 14981	043175	201 11 0 00 100000 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 14982	043176	201 13 0 00 100000 		MOVEI	AC,ZZ		;SETUP DVND
 14983	043177	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 14984	043200	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 14985	043201	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 14986	043202	003 13 0 00 020420 		ER3	AC,SN
 14987	043203	322 14 0 00 043205 		JUMPE	AC+1,.+2	;TEST REMD=0
 14988	043204	004 14 0 00 020420 		ER4	AC+1,SN		;IDIV FAILED
 14989	043205	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 14990	043206	005 12 0 00 020420 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 14991	043207	321 15 0 00 043175 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 78-5
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0331

 14992
 14993			020421		SN=SN+1
 14994			200000			ZZ=ZZ+ZZ
 14995						IFE	ZZ,<ZZ=1>
 14996	043210	201 11 0 00 200000 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 14997	043211	201 13 0 00 200000 		MOVEI	AC,ZZ		;SETUP DVND
 14998	043212	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 14999	043213	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15000	043214	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15001	043215	003 13 0 00 020421 		ER3	AC,SN
 15002	043216	322 14 0 00 043220 		JUMPE	AC+1,.+2	;TEST REMD=0
 15003	043217	004 14 0 00 020421 		ER4	AC+1,SN		;IDIV FAILED
 15004	043220	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15005	043221	005 12 0 00 020421 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15006	043222	321 15 0 00 043210 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15007
 15008			020422		SN=SN+1
 15009			400000			ZZ=ZZ+ZZ
 15010						IFE	ZZ,<ZZ=1>
 15011	043223	201 11 0 00 400000 		MOVEI	AC-2,ZZ		;SETUP FOR COMPARISON
 15012	043224	201 13 0 00 400000 		MOVEI	AC,ZZ		;SETUP DVND
 15013	043225	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15014	043226	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15015	043227	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15016	043230	003 13 0 00 020422 		ER3	AC,SN
 15017	043231	322 14 0 00 043233 		JUMPE	AC+1,.+2	;TEST REMD=0
 15018	043232	004 14 0 00 020422 		ER4	AC+1,SN		;IDIV FAILED
 15019	043233	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15020	043234	005 12 0 00 020422 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15021	043235	321 15 0 00 043223 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15022
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 79
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0332

 15023			020500		SN=20500
 15024			000000			ZZ=0
 15025
 15026					F20500:	REPEAT	^D17,
 15027					<SN=SN+1
 15028						ZZ=ZZ+ZZ
 15029						IFE	ZZ,<ZZ=1>
 15030						MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15031						MOVSI	AC,ZZ		;SETUP DVND
 15032						MOVEI	AC-1,1		;SETUP DVSR
 15033						IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15034						CAME	AC,AC-2		;TEST QUOT=DVND
 15035						ER3	AC,SN
 15036						JUMPE	AC+1,.+2	;TEST REMD=0
 15037						ER4	AC+1,SN		;IDIV FAILED
 15038						CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15039						ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15040						JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15041					>
 15042			020501		SN=SN+1
 15043			000000			ZZ=ZZ+ZZ
 15044			000001			IFE	ZZ,<ZZ=1>
 15045	043236	205 11 0 00 000001 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15046	043237	205 13 0 00 000001 		MOVSI	AC,ZZ		;SETUP DVND
 15047	043240	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15048	043241	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15049	043242	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15050	043243	003 13 0 00 020501 		ER3	AC,SN
 15051	043244	322 14 0 00 043246 		JUMPE	AC+1,.+2	;TEST REMD=0
 15052	043245	004 14 0 00 020501 		ER4	AC+1,SN		;IDIV FAILED
 15053	043246	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15054	043247	005 12 0 00 020501 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15055	043250	321 15 0 00 043236 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15056
 15057			020502		SN=SN+1
 15058			000002			ZZ=ZZ+ZZ
 15059						IFE	ZZ,<ZZ=1>
 15060	043251	205 11 0 00 000002 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15061	043252	205 13 0 00 000002 		MOVSI	AC,ZZ		;SETUP DVND
 15062	043253	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15063	043254	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15064	043255	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15065	043256	003 13 0 00 020502 		ER3	AC,SN
 15066	043257	322 14 0 00 043261 		JUMPE	AC+1,.+2	;TEST REMD=0
 15067	043260	004 14 0 00 020502 		ER4	AC+1,SN		;IDIV FAILED
 15068	043261	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15069	043262	005 12 0 00 020502 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15070	043263	321 15 0 00 043251 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15071
 15072			020503		SN=SN+1
 15073			000004			ZZ=ZZ+ZZ
 15074						IFE	ZZ,<ZZ=1>
 15075	043264	205 11 0 00 000004 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15076	043265	205 13 0 00 000004 		MOVSI	AC,ZZ		;SETUP DVND
 15077	043266	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 79-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0333

 15078	043267	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15079	043270	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15080	043271	003 13 0 00 020503 		ER3	AC,SN
 15081	043272	322 14 0 00 043274 		JUMPE	AC+1,.+2	;TEST REMD=0
 15082	043273	004 14 0 00 020503 		ER4	AC+1,SN		;IDIV FAILED
 15083	043274	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15084	043275	005 12 0 00 020503 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15085	043276	321 15 0 00 043264 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15086
 15087			020504		SN=SN+1
 15088			000010			ZZ=ZZ+ZZ
 15089						IFE	ZZ,<ZZ=1>
 15090	043277	205 11 0 00 000010 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15091	043300	205 13 0 00 000010 		MOVSI	AC,ZZ		;SETUP DVND
 15092	043301	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15093	043302	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15094	043303	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15095	043304	003 13 0 00 020504 		ER3	AC,SN
 15096	043305	322 14 0 00 043307 		JUMPE	AC+1,.+2	;TEST REMD=0
 15097	043306	004 14 0 00 020504 		ER4	AC+1,SN		;IDIV FAILED
 15098	043307	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15099	043310	005 12 0 00 020504 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15100	043311	321 15 0 00 043277 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15101
 15102			020505		SN=SN+1
 15103			000020			ZZ=ZZ+ZZ
 15104						IFE	ZZ,<ZZ=1>
 15105	043312	205 11 0 00 000020 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15106	043313	205 13 0 00 000020 		MOVSI	AC,ZZ		;SETUP DVND
 15107	043314	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15108	043315	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15109	043316	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15110	043317	003 13 0 00 020505 		ER3	AC,SN
 15111	043320	322 14 0 00 043322 		JUMPE	AC+1,.+2	;TEST REMD=0
 15112	043321	004 14 0 00 020505 		ER4	AC+1,SN		;IDIV FAILED
 15113	043322	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15114	043323	005 12 0 00 020505 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15115	043324	321 15 0 00 043312 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15116
 15117			020506		SN=SN+1
 15118			000040			ZZ=ZZ+ZZ
 15119						IFE	ZZ,<ZZ=1>
 15120	043325	205 11 0 00 000040 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15121	043326	205 13 0 00 000040 		MOVSI	AC,ZZ		;SETUP DVND
 15122	043327	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15123	043330	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15124	043331	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15125	043332	003 13 0 00 020506 		ER3	AC,SN
 15126	043333	322 14 0 00 043335 		JUMPE	AC+1,.+2	;TEST REMD=0
 15127	043334	004 14 0 00 020506 		ER4	AC+1,SN		;IDIV FAILED
 15128	043335	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15129	043336	005 12 0 00 020506 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15130	043337	321 15 0 00 043325 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15131
 15132			020507		SN=SN+1
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 79-2
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0334

 15133			000100			ZZ=ZZ+ZZ
 15134						IFE	ZZ,<ZZ=1>
 15135	043340	205 11 0 00 000100 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15136	043341	205 13 0 00 000100 		MOVSI	AC,ZZ		;SETUP DVND
 15137	043342	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15138	043343	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15139	043344	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15140	043345	003 13 0 00 020507 		ER3	AC,SN
 15141	043346	322 14 0 00 043350 		JUMPE	AC+1,.+2	;TEST REMD=0
 15142	043347	004 14 0 00 020507 		ER4	AC+1,SN		;IDIV FAILED
 15143	043350	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15144	043351	005 12 0 00 020507 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15145	043352	321 15 0 00 043340 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15146
 15147			020510		SN=SN+1
 15148			000200			ZZ=ZZ+ZZ
 15149						IFE	ZZ,<ZZ=1>
 15150	043353	205 11 0 00 000200 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15151	043354	205 13 0 00 000200 		MOVSI	AC,ZZ		;SETUP DVND
 15152	043355	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15153	043356	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15154	043357	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15155	043360	003 13 0 00 020510 		ER3	AC,SN
 15156	043361	322 14 0 00 043363 		JUMPE	AC+1,.+2	;TEST REMD=0
 15157	043362	004 14 0 00 020510 		ER4	AC+1,SN		;IDIV FAILED
 15158	043363	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15159	043364	005 12 0 00 020510 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15160	043365	321 15 0 00 043353 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15161
 15162			020511		SN=SN+1
 15163			000400			ZZ=ZZ+ZZ
 15164						IFE	ZZ,<ZZ=1>
 15165	043366	205 11 0 00 000400 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15166	043367	205 13 0 00 000400 		MOVSI	AC,ZZ		;SETUP DVND
 15167	043370	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15168	043371	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15169	043372	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15170	043373	003 13 0 00 020511 		ER3	AC,SN
 15171	043374	322 14 0 00 043376 		JUMPE	AC+1,.+2	;TEST REMD=0
 15172	043375	004 14 0 00 020511 		ER4	AC+1,SN		;IDIV FAILED
 15173	043376	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15174	043377	005 12 0 00 020511 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15175	043400	321 15 0 00 043366 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15176
 15177			020512		SN=SN+1
 15178			001000			ZZ=ZZ+ZZ
 15179						IFE	ZZ,<ZZ=1>
 15180	043401	205 11 0 00 001000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15181	043402	205 13 0 00 001000 		MOVSI	AC,ZZ		;SETUP DVND
 15182	043403	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15183	043404	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15184	043405	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15185	043406	003 13 0 00 020512 		ER3	AC,SN
 15186	043407	322 14 0 00 043411 		JUMPE	AC+1,.+2	;TEST REMD=0
 15187	043410	004 14 0 00 020512 		ER4	AC+1,SN		;IDIV FAILED
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 79-3
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0335

 15188	043411	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15189	043412	005 12 0 00 020512 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15190	043413	321 15 0 00 043401 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15191
 15192			020513		SN=SN+1
 15193			002000			ZZ=ZZ+ZZ
 15194						IFE	ZZ,<ZZ=1>
 15195	043414	205 11 0 00 002000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15196	043415	205 13 0 00 002000 		MOVSI	AC,ZZ		;SETUP DVND
 15197	043416	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15198	043417	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15199	043420	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15200	043421	003 13 0 00 020513 		ER3	AC,SN
 15201	043422	322 14 0 00 043424 		JUMPE	AC+1,.+2	;TEST REMD=0
 15202	043423	004 14 0 00 020513 		ER4	AC+1,SN		;IDIV FAILED
 15203	043424	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15204	043425	005 12 0 00 020513 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15205	043426	321 15 0 00 043414 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15206
 15207			020514		SN=SN+1
 15208			004000			ZZ=ZZ+ZZ
 15209						IFE	ZZ,<ZZ=1>
 15210	043427	205 11 0 00 004000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15211	043430	205 13 0 00 004000 		MOVSI	AC,ZZ		;SETUP DVND
 15212	043431	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15213	043432	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15214	043433	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15215	043434	003 13 0 00 020514 		ER3	AC,SN
 15216	043435	322 14 0 00 043437 		JUMPE	AC+1,.+2	;TEST REMD=0
 15217	043436	004 14 0 00 020514 		ER4	AC+1,SN		;IDIV FAILED
 15218	043437	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15219	043440	005 12 0 00 020514 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15220	043441	321 15 0 00 043427 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15221
 15222			020515		SN=SN+1
 15223			010000			ZZ=ZZ+ZZ
 15224						IFE	ZZ,<ZZ=1>
 15225	043442	205 11 0 00 010000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15226	043443	205 13 0 00 010000 		MOVSI	AC,ZZ		;SETUP DVND
 15227	043444	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15228	043445	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15229	043446	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15230	043447	003 13 0 00 020515 		ER3	AC,SN
 15231	043450	322 14 0 00 043452 		JUMPE	AC+1,.+2	;TEST REMD=0
 15232	043451	004 14 0 00 020515 		ER4	AC+1,SN		;IDIV FAILED
 15233	043452	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15234	043453	005 12 0 00 020515 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15235	043454	321 15 0 00 043442 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15236
 15237			020516		SN=SN+1
 15238			020000			ZZ=ZZ+ZZ
 15239						IFE	ZZ,<ZZ=1>
 15240	043455	205 11 0 00 020000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15241	043456	205 13 0 00 020000 		MOVSI	AC,ZZ		;SETUP DVND
 15242	043457	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 79-4
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0336

 15243	043460	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15244	043461	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15245	043462	003 13 0 00 020516 		ER3	AC,SN
 15246	043463	322 14 0 00 043465 		JUMPE	AC+1,.+2	;TEST REMD=0
 15247	043464	004 14 0 00 020516 		ER4	AC+1,SN		;IDIV FAILED
 15248	043465	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15249	043466	005 12 0 00 020516 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15250	043467	321 15 0 00 043455 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15251
 15252			020517		SN=SN+1
 15253			040000			ZZ=ZZ+ZZ
 15254						IFE	ZZ,<ZZ=1>
 15255	043470	205 11 0 00 040000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15256	043471	205 13 0 00 040000 		MOVSI	AC,ZZ		;SETUP DVND
 15257	043472	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15258	043473	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15259	043474	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15260	043475	003 13 0 00 020517 		ER3	AC,SN
 15261	043476	322 14 0 00 043500 		JUMPE	AC+1,.+2	;TEST REMD=0
 15262	043477	004 14 0 00 020517 		ER4	AC+1,SN		;IDIV FAILED
 15263	043500	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15264	043501	005 12 0 00 020517 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15265	043502	321 15 0 00 043470 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15266
 15267			020520		SN=SN+1
 15268			100000			ZZ=ZZ+ZZ
 15269						IFE	ZZ,<ZZ=1>
 15270	043503	205 11 0 00 100000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15271	043504	205 13 0 00 100000 		MOVSI	AC,ZZ		;SETUP DVND
 15272	043505	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15273	043506	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15274	043507	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15275	043510	003 13 0 00 020520 		ER3	AC,SN
 15276	043511	322 14 0 00 043513 		JUMPE	AC+1,.+2	;TEST REMD=0
 15277	043512	004 14 0 00 020520 		ER4	AC+1,SN		;IDIV FAILED
 15278	043513	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15279	043514	005 12 0 00 020520 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15280	043515	321 15 0 00 043503 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15281
 15282			020521		SN=SN+1
 15283			200000			ZZ=ZZ+ZZ
 15284						IFE	ZZ,<ZZ=1>
 15285	043516	205 11 0 00 200000 		MOVSI	AC-2,ZZ		;SETUP FOR COMPARISON
 15286	043517	205 13 0 00 200000 		MOVSI	AC,ZZ		;SETUP DVND
 15287	043520	201 12 0 00 000001 		MOVEI	AC-1,1		;SETUP DVSR
 15288	043521	230 13 0 00 000012 		IDIV	AC,AC-1		;DIVIDE ZZ BY 1
 15289	043522	312 13 0 00 000011 		CAME	AC,AC-2		;TEST QUOT=DVND
 15290	043523	003 13 0 00 020521 		ER3	AC,SN
 15291	043524	322 14 0 00 043526 		JUMPE	AC+1,.+2	;TEST REMD=0
 15292	043525	004 14 0 00 020521 		ER4	AC+1,SN		;IDIV FAILED
 15293	043526	302 12 0 00 000001 		CAIE	AC-1,1		;WAS C(E) MODIFIED ?
 15294	043527	005 12 0 00 020521 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15295	043530	321 15 0 00 043516 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15296
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 80
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0337

 15297					;TEST IDIV IMMEDIATE - TWO POSITIVES
 15298					;TESTING IS ACCOMPLISHED BY DIVIDING
 15299					;AN ODD NUMBER BY E
 15300					;DVND=3,5,7,11 ETC
 15301					;DVSR=E (2)
 15302					;QUOT=1,2,4, ETC
 15303					;REMD=1
 15304
 15305			000014			AC=14
 15306						SAVEAC	(1,1)^
 15307	043531	201 16 0 00 043531 		MOVEI	AC+2,.		;SAVE TEST PC
 15308	043532	202 16 0 00 030051 		MOVEM	AC+2,TESTPC
 15309	043533	201 16 0 00 000016 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 15310	043534	202 16 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 15311
 15312			020600		SN=20600
 15313			000000			XX=0
 15314			000001			ZZ=1
 15315
 15316					F20600:	REPEAT	^D10,
 15317					<SN=SN+1
 15318						XX=XX+1
 15319						ZZ=ZZ+2
 15320						MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15321						MOVEI	AC,ZZ		;SETUP DVND
 15322						IDIVI	AC,2		;DIVIDE ZZ BY 2
 15323						CAME	AC,AC-2		;TEST QUOT
 15324						ER3	AC,SN
 15325						CAIE	AC+1,1		;TEST REMD=1
 15326						ER4	AC+1,SN		;IDIVI FAILED
 15327						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15328					>
 15329			020601		SN=SN+1
 15330			000001			XX=XX+1
 15331			000003			ZZ=ZZ+2
 15332	043535	201 12 0 00 000001 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15333	043536	201 14 0 00 000003 		MOVEI	AC,ZZ		;SETUP DVND
 15334	043537	231 14 0 00 000002 		IDIVI	AC,2		;DIVIDE ZZ BY 2
 15335	043540	312 14 0 00 000012 		CAME	AC,AC-2		;TEST QUOT
 15336	043541	003 14 0 00 020601 		ER3	AC,SN
 15337	043542	302 15 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15338	043543	004 15 0 00 020601 		ER4	AC+1,SN		;IDIVI FAILED
 15339	043544	321 16 0 00 043535 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15340
 15341			020602		SN=SN+1
 15342			000002			XX=XX+1
 15343			000005			ZZ=ZZ+2
 15344	043545	201 12 0 00 000002 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15345	043546	201 14 0 00 000005 		MOVEI	AC,ZZ		;SETUP DVND
 15346	043547	231 14 0 00 000002 		IDIVI	AC,2		;DIVIDE ZZ BY 2
 15347	043550	312 14 0 00 000012 		CAME	AC,AC-2		;TEST QUOT
 15348	043551	003 14 0 00 020602 		ER3	AC,SN
 15349	043552	302 15 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15350	043553	004 15 0 00 020602 		ER4	AC+1,SN		;IDIVI FAILED
 15351	043554	321 16 0 00 043545 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 80-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0338

 15352
 15353			020603		SN=SN+1
 15354			000003			XX=XX+1
 15355			000007			ZZ=ZZ+2
 15356	043555	201 12 0 00 000003 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15357	043556	201 14 0 00 000007 		MOVEI	AC,ZZ		;SETUP DVND
 15358	043557	231 14 0 00 000002 		IDIVI	AC,2		;DIVIDE ZZ BY 2
 15359	043560	312 14 0 00 000012 		CAME	AC,AC-2		;TEST QUOT
 15360	043561	003 14 0 00 020603 		ER3	AC,SN
 15361	043562	302 15 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15362	043563	004 15 0 00 020603 		ER4	AC+1,SN		;IDIVI FAILED
 15363	043564	321 16 0 00 043555 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15364
 15365			020604		SN=SN+1
 15366			000004			XX=XX+1
 15367			000011			ZZ=ZZ+2
 15368	043565	201 12 0 00 000004 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15369	043566	201 14 0 00 000011 		MOVEI	AC,ZZ		;SETUP DVND
 15370	043567	231 14 0 00 000002 		IDIVI	AC,2		;DIVIDE ZZ BY 2
 15371	043570	312 14 0 00 000012 		CAME	AC,AC-2		;TEST QUOT
 15372	043571	003 14 0 00 020604 		ER3	AC,SN
 15373	043572	302 15 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15374	043573	004 15 0 00 020604 		ER4	AC+1,SN		;IDIVI FAILED
 15375	043574	321 16 0 00 043565 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15376
 15377			020605		SN=SN+1
 15378			000005			XX=XX+1
 15379			000013			ZZ=ZZ+2
 15380	043575	201 12 0 00 000005 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15381	043576	201 14 0 00 000013 		MOVEI	AC,ZZ		;SETUP DVND
 15382	043577	231 14 0 00 000002 		IDIVI	AC,2		;DIVIDE ZZ BY 2
 15383	043600	312 14 0 00 000012 		CAME	AC,AC-2		;TEST QUOT
 15384	043601	003 14 0 00 020605 		ER3	AC,SN
 15385	043602	302 15 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15386	043603	004 15 0 00 020605 		ER4	AC+1,SN		;IDIVI FAILED
 15387	043604	321 16 0 00 043575 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15388
 15389			020606		SN=SN+1
 15390			000006			XX=XX+1
 15391			000015			ZZ=ZZ+2
 15392	043605	201 12 0 00 000006 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15393	043606	201 14 0 00 000015 		MOVEI	AC,ZZ		;SETUP DVND
 15394	043607	231 14 0 00 000002 		IDIVI	AC,2		;DIVIDE ZZ BY 2
 15395	043610	312 14 0 00 000012 		CAME	AC,AC-2		;TEST QUOT
 15396	043611	003 14 0 00 020606 		ER3	AC,SN
 15397	043612	302 15 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15398	043613	004 15 0 00 020606 		ER4	AC+1,SN		;IDIVI FAILED
 15399	043614	321 16 0 00 043605 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15400
 15401			020607		SN=SN+1
 15402			000007			XX=XX+1
 15403			000017			ZZ=ZZ+2
 15404	043615	201 12 0 00 000007 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15405	043616	201 14 0 00 000017 		MOVEI	AC,ZZ		;SETUP DVND
 15406	043617	231 14 0 00 000002 		IDIVI	AC,2		;DIVIDE ZZ BY 2
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 80-2
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0339

 15407	043620	312 14 0 00 000012 		CAME	AC,AC-2		;TEST QUOT
 15408	043621	003 14 0 00 020607 		ER3	AC,SN
 15409	043622	302 15 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15410	043623	004 15 0 00 020607 		ER4	AC+1,SN		;IDIVI FAILED
 15411	043624	321 16 0 00 043615 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15412
 15413			020610		SN=SN+1
 15414			000010			XX=XX+1
 15415			000021			ZZ=ZZ+2
 15416	043625	201 12 0 00 000010 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15417	043626	201 14 0 00 000021 		MOVEI	AC,ZZ		;SETUP DVND
 15418	043627	231 14 0 00 000002 		IDIVI	AC,2		;DIVIDE ZZ BY 2
 15419	043630	312 14 0 00 000012 		CAME	AC,AC-2		;TEST QUOT
 15420	043631	003 14 0 00 020610 		ER3	AC,SN
 15421	043632	302 15 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15422	043633	004 15 0 00 020610 		ER4	AC+1,SN		;IDIVI FAILED
 15423	043634	321 16 0 00 043625 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15424
 15425			020611		SN=SN+1
 15426			000011			XX=XX+1
 15427			000023			ZZ=ZZ+2
 15428	043635	201 12 0 00 000011 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15429	043636	201 14 0 00 000023 		MOVEI	AC,ZZ		;SETUP DVND
 15430	043637	231 14 0 00 000002 		IDIVI	AC,2		;DIVIDE ZZ BY 2
 15431	043640	312 14 0 00 000012 		CAME	AC,AC-2		;TEST QUOT
 15432	043641	003 14 0 00 020611 		ER3	AC,SN
 15433	043642	302 15 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15434	043643	004 15 0 00 020611 		ER4	AC+1,SN		;IDIVI FAILED
 15435	043644	321 16 0 00 043635 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15436
 15437			020612		SN=SN+1
 15438			000012			XX=XX+1
 15439			000025			ZZ=ZZ+2
 15440	043645	201 12 0 00 000012 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15441	043646	201 14 0 00 000025 		MOVEI	AC,ZZ		;SETUP DVND
 15442	043647	231 14 0 00 000002 		IDIVI	AC,2		;DIVIDE ZZ BY 2
 15443	043650	312 14 0 00 000012 		CAME	AC,AC-2		;TEST QUOT
 15444	043651	003 14 0 00 020612 		ER3	AC,SN
 15445	043652	302 15 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15446	043653	004 15 0 00 020612 		ER4	AC+1,SN		;IDIVI FAILED
 15447	043654	321 16 0 00 043645 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15448
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 81
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0340

 15449					;TEST IDIV MEMORY - TWO NEGATIVES
 15450					;TESTING IS ACCOMPLISHED BY DIVIDING
 15451					;A NEGATIVE NUMBER BY -1
 15452					;DVND=-1,-2,-4,-10,-20
 15453					;DVSR=-1
 15454					;QUOT=1,2,4,10,20
 15455					;REMD=0
 15456
 15457			000012			AC=12
 15458						SAVEAC	(1,1)^
 15459	043655	201 14 0 00 043655 		MOVEI	AC+2,.		;SAVE TEST PC
 15460	043656	202 14 0 00 030051 		MOVEM	AC+2,TESTPC
 15461	043657	201 14 0 00 000014 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 15462	043660	202 14 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 15463
 15464			020700		SN=20700
 15465			000000			XX=0
 15466			000000			ZZ=0
 15467
 15468					F20700:	REPEAT	^D5,
 15469					<SN=SN+1
 15470						XX=XX+XX
 15471						ZZ=ZZ+ZZ
 15472						IFE	XX,<XX=1>
 15473						IFE	ZZ,<ZZ=-1>
 15474						MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15475						HRROI	AC,ZZ		;SETUP DVND
 15476						SETO	AC-1,		;SETUP DVSR
 15477						MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 15478						IDIVM	AC,AC-1		;DIVIDE ZZ BY -1
 15479						CAME	AC-1,AC-2	;TEST QUOT
 15480						ER5	AC-1,SN		;IDIVM FAILED
 15481						CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 15482						ER3	AC,SN		;C(AC) WAS CLOBBERED
 15483						CAME	AC+1,<AC-3>&17	;WAS C(AC+1) ALTERED ?
 15484						ER4	AC+1,SN		;C(AC+1] WAS CLOBBERED
 15485						JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 15486					>
 15487			020701		SN=SN+1
 15488			000000			XX=XX+XX
 15489			000000			ZZ=ZZ+ZZ
 15490			000001			IFE	XX,<XX=1>
 15491		777777	777777			IFE	ZZ,<ZZ=-1>
 15492	043661	201 10 0 00 000001 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15493	043662	561 12 0 00 777777 		HRROI	AC,ZZ		;SETUP DVND
 15494	043663	474 11 0 00 000000 		SETO	AC-1,		;SETUP DVSR
 15495	043664	200 07 0 00 000013 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 15496	043665	232 12 0 00 000011 		IDIVM	AC,AC-1		;DIVIDE ZZ BY -1
 15497	043666	312 11 0 00 000010 		CAME	AC-1,AC-2	;TEST QUOT
 15498	043667	005 11 0 00 020701 		ER5	AC-1,SN		;IDIVM FAILED
 15499	043670	312 12 0 00 044617 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 15500	043671	003 12 0 00 020701 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 15501	043672	312 13 0 00 000007 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) ALTERED ?
 15502	043673	004 13 0 00 020701 		ER4	AC+1,SN		;C(AC+1] WAS CLOBBERED
 15503	043674	321 14 0 00 043661 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 81-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0341

 15504
 15505			020702		SN=SN+1
 15506			000002			XX=XX+XX
 15507		777777	777776			ZZ=ZZ+ZZ
 15508						IFE	XX,<XX=1>
 15509						IFE	ZZ,<ZZ=-1>
 15510	043675	201 10 0 00 000002 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15511	043676	561 12 0 00 777776 		HRROI	AC,ZZ		;SETUP DVND
 15512	043677	474 11 0 00 000000 		SETO	AC-1,		;SETUP DVSR
 15513	043700	200 07 0 00 000013 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 15514	043701	232 12 0 00 000011 		IDIVM	AC,AC-1		;DIVIDE ZZ BY -1
 15515	043702	312 11 0 00 000010 		CAME	AC-1,AC-2	;TEST QUOT
 15516	043703	005 11 0 00 020702 		ER5	AC-1,SN		;IDIVM FAILED
 15517	043704	312 12 0 00 044621 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 15518	043705	003 12 0 00 020702 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 15519	043706	312 13 0 00 000007 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) ALTERED ?
 15520	043707	004 13 0 00 020702 		ER4	AC+1,SN		;C(AC+1] WAS CLOBBERED
 15521	043710	321 14 0 00 043675 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 15522
 15523			020703		SN=SN+1
 15524			000004			XX=XX+XX
 15525		777777	777774			ZZ=ZZ+ZZ
 15526						IFE	XX,<XX=1>
 15527						IFE	ZZ,<ZZ=-1>
 15528	043711	201 10 0 00 000004 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15529	043712	561 12 0 00 777774 		HRROI	AC,ZZ		;SETUP DVND
 15530	043713	474 11 0 00 000000 		SETO	AC-1,		;SETUP DVSR
 15531	043714	200 07 0 00 000013 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 15532	043715	232 12 0 00 000011 		IDIVM	AC,AC-1		;DIVIDE ZZ BY -1
 15533	043716	312 11 0 00 000010 		CAME	AC-1,AC-2	;TEST QUOT
 15534	043717	005 11 0 00 020703 		ER5	AC-1,SN		;IDIVM FAILED
 15535	043720	312 12 0 00 045324 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 15536	043721	003 12 0 00 020703 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 15537	043722	312 13 0 00 000007 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) ALTERED ?
 15538	043723	004 13 0 00 020703 		ER4	AC+1,SN		;C(AC+1] WAS CLOBBERED
 15539	043724	321 14 0 00 043711 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 15540
 15541			020704		SN=SN+1
 15542			000010			XX=XX+XX
 15543		777777	777770			ZZ=ZZ+ZZ
 15544						IFE	XX,<XX=1>
 15545						IFE	ZZ,<ZZ=-1>
 15546	043725	201 10 0 00 000010 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15547	043726	561 12 0 00 777770 		HRROI	AC,ZZ		;SETUP DVND
 15548	043727	474 11 0 00 000000 		SETO	AC-1,		;SETUP DVSR
 15549	043730	200 07 0 00 000013 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 15550	043731	232 12 0 00 000011 		IDIVM	AC,AC-1		;DIVIDE ZZ BY -1
 15551	043732	312 11 0 00 000010 		CAME	AC-1,AC-2	;TEST QUOT
 15552	043733	005 11 0 00 020704 		ER5	AC-1,SN		;IDIVM FAILED
 15553	043734	312 12 0 00 045304 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 15554	043735	003 12 0 00 020704 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 15555	043736	312 13 0 00 000007 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) ALTERED ?
 15556	043737	004 13 0 00 020704 		ER4	AC+1,SN		;C(AC+1] WAS CLOBBERED
 15557	043740	321 14 0 00 043725 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 15558
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 81-2
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0342

 15559			020705		SN=SN+1
 15560			000020			XX=XX+XX
 15561		777777	777760			ZZ=ZZ+ZZ
 15562						IFE	XX,<XX=1>
 15563						IFE	ZZ,<ZZ=-1>
 15564	043741	201 10 0 00 000020 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15565	043742	561 12 0 00 777760 		HRROI	AC,ZZ		;SETUP DVND
 15566	043743	474 11 0 00 000000 		SETO	AC-1,		;SETUP DVSR
 15567	043744	200 07 0 00 000013 		MOVE	AC-3,<AC+1>&17	;SAVE C(AC+1)
 15568	043745	232 12 0 00 000011 		IDIVM	AC,AC-1		;DIVIDE ZZ BY -1
 15569	043746	312 11 0 00 000010 		CAME	AC-1,AC-2	;TEST QUOT
 15570	043747	005 11 0 00 020705 		ER5	AC-1,SN		;IDIVM FAILED
 15571	043750	312 12 0 00 045303 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 15572	043751	003 12 0 00 020705 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 15573	043752	312 13 0 00 000007 		CAME	AC+1,<AC-3>&17	;WAS C(AC+1) ALTERED ?
 15574	043753	004 13 0 00 020705 		ER4	AC+1,SN		;C(AC+1] WAS CLOBBERED
 15575	043754	321 14 0 00 043741 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 15576
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 82
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0343

 15577					;TEST IDIV BOTH - TWO POSITIVES
 15578					;TESTING IS ACCOMPLISHED BY DIVIDING
 15579					;AN INCREASING ODD NUMBER BY 2
 15580					;DVND=15,17,21,23,25
 15581					;DVSR=2
 15582					;QUOT=6,7,10,11,12
 15583					;REMD=1
 15584
 15585			000011			AC=11
 15586						SAVEAC	(1,1)^
 15587	043755	201 13 0 00 043755 		MOVEI	AC+2,.		;SAVE TEST PC
 15588	043756	202 13 0 00 030051 		MOVEM	AC+2,TESTPC
 15589	043757	201 13 0 00 000013 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 15590	043760	202 13 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 15591
 15592			021000		SN=21000
 15593			000005			XX=5
 15594			000013			ZZ=13
 15595
 15596					F21000:	REPEAT	^D5,
 15597					<SN=SN+1
 15598						XX=XX+1
 15599						ZZ=ZZ+2
 15600						MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15601						MOVEI	AC,ZZ		;SETUP DVND
 15602						MOVEI	AC-1,2		;SETUP DVSR
 15603						IDIVB	AC,AC-1		;DIVIDE ZZ BY 2
 15604						CAME	AC,AC-2		;TEST QUOT
 15605						ER3	AC,SN		;QUOT ERROR
 15606						CAME	AC,AC-1		;C(AC) = C(E)
 15607						ER5	AC-1,SN
 15608						CAIE	AC+1,1		;TEST REMD=1
 15609						ER4	AC+1,SN		;IDIVB FAILED
 15610						JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15611					>
 15612			021001		SN=SN+1
 15613			000006			XX=XX+1
 15614			000015			ZZ=ZZ+2
 15615	043761	201 07 0 00 000006 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15616	043762	201 11 0 00 000015 		MOVEI	AC,ZZ		;SETUP DVND
 15617	043763	201 10 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 15618	043764	233 11 0 00 000010 		IDIVB	AC,AC-1		;DIVIDE ZZ BY 2
 15619	043765	312 11 0 00 000007 		CAME	AC,AC-2		;TEST QUOT
 15620	043766	003 11 0 00 021001 		ER3	AC,SN		;QUOT ERROR
 15621	043767	312 11 0 00 000010 		CAME	AC,AC-1		;C(AC) = C(E)
 15622	043770	005 10 0 00 021001 		ER5	AC-1,SN
 15623	043771	302 12 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15624	043772	004 12 0 00 021001 		ER4	AC+1,SN		;IDIVB FAILED
 15625	043773	321 13 0 00 043761 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15626
 15627			021002		SN=SN+1
 15628			000007			XX=XX+1
 15629			000017			ZZ=ZZ+2
 15630	043774	201 07 0 00 000007 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15631	043775	201 11 0 00 000017 		MOVEI	AC,ZZ		;SETUP DVND
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 82-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0344

 15632	043776	201 10 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 15633	043777	233 11 0 00 000010 		IDIVB	AC,AC-1		;DIVIDE ZZ BY 2
 15634	044000	312 11 0 00 000007 		CAME	AC,AC-2		;TEST QUOT
 15635	044001	003 11 0 00 021002 		ER3	AC,SN		;QUOT ERROR
 15636	044002	312 11 0 00 000010 		CAME	AC,AC-1		;C(AC) = C(E)
 15637	044003	005 10 0 00 021002 		ER5	AC-1,SN
 15638	044004	302 12 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15639	044005	004 12 0 00 021002 		ER4	AC+1,SN		;IDIVB FAILED
 15640	044006	321 13 0 00 043774 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15641
 15642			021003		SN=SN+1
 15643			000010			XX=XX+1
 15644			000021			ZZ=ZZ+2
 15645	044007	201 07 0 00 000010 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15646	044010	201 11 0 00 000021 		MOVEI	AC,ZZ		;SETUP DVND
 15647	044011	201 10 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 15648	044012	233 11 0 00 000010 		IDIVB	AC,AC-1		;DIVIDE ZZ BY 2
 15649	044013	312 11 0 00 000007 		CAME	AC,AC-2		;TEST QUOT
 15650	044014	003 11 0 00 021003 		ER3	AC,SN		;QUOT ERROR
 15651	044015	312 11 0 00 000010 		CAME	AC,AC-1		;C(AC) = C(E)
 15652	044016	005 10 0 00 021003 		ER5	AC-1,SN
 15653	044017	302 12 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15654	044020	004 12 0 00 021003 		ER4	AC+1,SN		;IDIVB FAILED
 15655	044021	321 13 0 00 044007 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15656
 15657			021004		SN=SN+1
 15658			000011			XX=XX+1
 15659			000023			ZZ=ZZ+2
 15660	044022	201 07 0 00 000011 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15661	044023	201 11 0 00 000023 		MOVEI	AC,ZZ		;SETUP DVND
 15662	044024	201 10 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 15663	044025	233 11 0 00 000010 		IDIVB	AC,AC-1		;DIVIDE ZZ BY 2
 15664	044026	312 11 0 00 000007 		CAME	AC,AC-2		;TEST QUOT
 15665	044027	003 11 0 00 021004 		ER3	AC,SN		;QUOT ERROR
 15666	044030	312 11 0 00 000010 		CAME	AC,AC-1		;C(AC) = C(E)
 15667	044031	005 10 0 00 021004 		ER5	AC-1,SN
 15668	044032	302 12 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15669	044033	004 12 0 00 021004 		ER4	AC+1,SN		;IDIVB FAILED
 15670	044034	321 13 0 00 044022 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15671
 15672			021005		SN=SN+1
 15673			000012			XX=XX+1
 15674			000025			ZZ=ZZ+2
 15675	044035	201 07 0 00 000012 		MOVEI	AC-2,XX		;SETUP FOR COMPARISON
 15676	044036	201 11 0 00 000025 		MOVEI	AC,ZZ		;SETUP DVND
 15677	044037	201 10 0 00 000002 		MOVEI	AC-1,2		;SETUP DVSR
 15678	044040	233 11 0 00 000010 		IDIVB	AC,AC-1		;DIVIDE ZZ BY 2
 15679	044041	312 11 0 00 000007 		CAME	AC,AC-2		;TEST QUOT
 15680	044042	003 11 0 00 021005 		ER3	AC,SN		;QUOT ERROR
 15681	044043	312 11 0 00 000010 		CAME	AC,AC-1		;C(AC) = C(E)
 15682	044044	005 10 0 00 021005 		ER5	AC-1,SN
 15683	044045	302 12 0 00 000001 		CAIE	AC+1,1		;TEST REMD=1
 15684	044046	004 12 0 00 021005 		ER4	AC+1,SN		;IDIVB FAILED
 15685	044047	321 13 0 00 044035 		JUMPL	AC+2,.-^D10	;LOOP ON ERROR SWITCH
 15686
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 83
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0345

 15687					;TEST DIV DIRECT - TWO POSITIVES
 15688					;HIGH DVND=4,10,20,40,100
 15689					;LOW DVND=0
 15690					;DVSR=2000
 15691					;QUOT=001000000000, 00200000000 ETC
 15692					;REMD=0
 15693
 15694			000010			AC=10
 15695						SAVEAC	(1,1)^
 15696	044050	201 12 0 00 044050 		MOVEI	AC+2,.		;SAVE TEST PC
 15697	044051	202 12 0 00 030051 		MOVEM	AC+2,TESTPC
 15698	044052	201 12 0 00 000012 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 15699	044053	202 12 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 15700
 15701			021100		SN=21100
 15702			000400			XX=000400
 15703			000002			ZZ=2
 15704
 15705					F21100:	REPEAT	^D5,
 15706					<SN=SN+1
 15707						XX=XX+XX
 15708						ZZ=ZZ+ZZ
 15709						MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 15710						MOVEI	AC,ZZ		;SETUP HIGH DVND
 15711						SETZ	AC+1,		;SETUP LOW DVND
 15712						MOVEI	AC-1,2000	;SETUP DVSR
 15713						DIV	AC,AC-1		;DIVIDE ZZ BY 2000
 15714						CAME	AC,AC-2		;TEST QUOT
 15715						ER3	AC,SN
 15716						JUMPE	AC+1,.+2	;TEST REMD
 15717						ER4	AC+1,SN		;DIV FAILED
 15718						CAIE	AC-1,2000	;WAS C(E) MODIFIED ?
 15719						ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15720						JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 15721					>
 15722			021101		SN=SN+1
 15723			001000			XX=XX+XX
 15724			000004			ZZ=ZZ+ZZ
 15725	044054	205 06 0 00 001000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 15726	044055	201 10 0 00 000004 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 15727	044056	400 11 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 15728	044057	201 07 0 00 002000 		MOVEI	AC-1,2000	;SETUP DVSR
 15729	044060	234 10 0 00 000007 		DIV	AC,AC-1		;DIVIDE ZZ BY 2000
 15730	044061	312 10 0 00 000006 		CAME	AC,AC-2		;TEST QUOT
 15731	044062	003 10 0 00 021101 		ER3	AC,SN
 15732	044063	322 11 0 00 044065 		JUMPE	AC+1,.+2	;TEST REMD
 15733	044064	004 11 0 00 021101 		ER4	AC+1,SN		;DIV FAILED
 15734	044065	302 07 0 00 002000 		CAIE	AC-1,2000	;WAS C(E) MODIFIED ?
 15735	044066	005 07 0 00 021101 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15736	044067	321 12 0 00 044054 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 15737
 15738			021102		SN=SN+1
 15739			002000			XX=XX+XX
 15740			000010			ZZ=ZZ+ZZ
 15741	044070	205 06 0 00 002000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 83-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0346

 15742	044071	201 10 0 00 000010 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 15743	044072	400 11 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 15744	044073	201 07 0 00 002000 		MOVEI	AC-1,2000	;SETUP DVSR
 15745	044074	234 10 0 00 000007 		DIV	AC,AC-1		;DIVIDE ZZ BY 2000
 15746	044075	312 10 0 00 000006 		CAME	AC,AC-2		;TEST QUOT
 15747	044076	003 10 0 00 021102 		ER3	AC,SN
 15748	044077	322 11 0 00 044101 		JUMPE	AC+1,.+2	;TEST REMD
 15749	044100	004 11 0 00 021102 		ER4	AC+1,SN		;DIV FAILED
 15750	044101	302 07 0 00 002000 		CAIE	AC-1,2000	;WAS C(E) MODIFIED ?
 15751	044102	005 07 0 00 021102 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15752	044103	321 12 0 00 044070 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 15753
 15754			021103		SN=SN+1
 15755			004000			XX=XX+XX
 15756			000020			ZZ=ZZ+ZZ
 15757	044104	205 06 0 00 004000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 15758	044105	201 10 0 00 000020 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 15759	044106	400 11 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 15760	044107	201 07 0 00 002000 		MOVEI	AC-1,2000	;SETUP DVSR
 15761	044110	234 10 0 00 000007 		DIV	AC,AC-1		;DIVIDE ZZ BY 2000
 15762	044111	312 10 0 00 000006 		CAME	AC,AC-2		;TEST QUOT
 15763	044112	003 10 0 00 021103 		ER3	AC,SN
 15764	044113	322 11 0 00 044115 		JUMPE	AC+1,.+2	;TEST REMD
 15765	044114	004 11 0 00 021103 		ER4	AC+1,SN		;DIV FAILED
 15766	044115	302 07 0 00 002000 		CAIE	AC-1,2000	;WAS C(E) MODIFIED ?
 15767	044116	005 07 0 00 021103 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15768	044117	321 12 0 00 044104 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 15769
 15770			021104		SN=SN+1
 15771			010000			XX=XX+XX
 15772			000040			ZZ=ZZ+ZZ
 15773	044120	205 06 0 00 010000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 15774	044121	201 10 0 00 000040 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 15775	044122	400 11 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 15776	044123	201 07 0 00 002000 		MOVEI	AC-1,2000	;SETUP DVSR
 15777	044124	234 10 0 00 000007 		DIV	AC,AC-1		;DIVIDE ZZ BY 2000
 15778	044125	312 10 0 00 000006 		CAME	AC,AC-2		;TEST QUOT
 15779	044126	003 10 0 00 021104 		ER3	AC,SN
 15780	044127	322 11 0 00 044131 		JUMPE	AC+1,.+2	;TEST REMD
 15781	044130	004 11 0 00 021104 		ER4	AC+1,SN		;DIV FAILED
 15782	044131	302 07 0 00 002000 		CAIE	AC-1,2000	;WAS C(E) MODIFIED ?
 15783	044132	005 07 0 00 021104 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15784	044133	321 12 0 00 044120 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 15785
 15786			021105		SN=SN+1
 15787			020000			XX=XX+XX
 15788			000100			ZZ=ZZ+ZZ
 15789	044134	205 06 0 00 020000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 15790	044135	201 10 0 00 000100 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 15791	044136	400 11 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 15792	044137	201 07 0 00 002000 		MOVEI	AC-1,2000	;SETUP DVSR
 15793	044140	234 10 0 00 000007 		DIV	AC,AC-1		;DIVIDE ZZ BY 2000
 15794	044141	312 10 0 00 000006 		CAME	AC,AC-2		;TEST QUOT
 15795	044142	003 10 0 00 021105 		ER3	AC,SN
 15796	044143	322 11 0 00 044145 		JUMPE	AC+1,.+2	;TEST REMD
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 83-2
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0347

 15797	044144	004 11 0 00 021105 		ER4	AC+1,SN		;DIV FAILED
 15798	044145	302 07 0 00 002000 		CAIE	AC-1,2000	;WAS C(E) MODIFIED ?
 15799	044146	005 07 0 00 021105 		ER5	AC-1,SN		;C(E) WAS CLOBBERED
 15800	044147	321 12 0 00 044134 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 15801
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 84
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0348

 15802					;TEST DIV IMMEDIATE - TWO POSITIVES
 15803					;HIGH DVND=0
 15804					;LOW DVND=3,4,5,6,7
 15805					;DVSR=E (2,3,4,5,6)
 15806					;QUOT=1
 15807					;REMD=1
 15808
 15809			000007			AC=7
 15810						SAVEAC	(1,1)^
 15811	044150	201 11 0 00 044150 		MOVEI	AC+2,.		;SAVE TEST PC
 15812	044151	202 11 0 00 030051 		MOVEM	AC+2,TESTPC
 15813	044152	201 11 0 00 000011 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 15814	044153	202 11 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 15815
 15816			021200		SN=21200
 15817			000001			XX=1
 15818			000002			ZZ=2
 15819					F21200:	REPEAT	^D5,
 15820					<SN=SN+1
 15821						XX=XX+1
 15822						ZZ=ZZ+1
 15823						SETZ	AC,		;SETUP HIGH DVND
 15824						MOVEI	AC+1,ZZ		;SETUP LOW DVND
 15825						DIVI	AC,XX		;SETUP DVSR
 15826						CAIE	AC,1		;TEST QUOT=1
 15827						ER3	AC,SN
 15828						CAIE	AC+1,1		;TEST QUOT=REMD
 15829						ER4	AC+1,SN		;DIVI FAILED
 15830						JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15831					>
 15832			021201		SN=SN+1
 15833			000002			XX=XX+1
 15834			000003			ZZ=ZZ+1
 15835	044154	400 07 0 00 000000 		SETZ	AC,		;SETUP HIGH DVND
 15836	044155	201 10 0 00 000003 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 15837	044156	235 07 0 00 000002 		DIVI	AC,XX		;SETUP DVSR
 15838	044157	302 07 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 15839	044160	003 07 0 00 021201 		ER3	AC,SN
 15840	044161	302 10 0 00 000001 		CAIE	AC+1,1		;TEST QUOT=REMD
 15841	044162	004 10 0 00 021201 		ER4	AC+1,SN		;DIVI FAILED
 15842	044163	321 11 0 00 044154 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15843
 15844			021202		SN=SN+1
 15845			000003			XX=XX+1
 15846			000004			ZZ=ZZ+1
 15847	044164	400 07 0 00 000000 		SETZ	AC,		;SETUP HIGH DVND
 15848	044165	201 10 0 00 000004 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 15849	044166	235 07 0 00 000003 		DIVI	AC,XX		;SETUP DVSR
 15850	044167	302 07 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 15851	044170	003 07 0 00 021202 		ER3	AC,SN
 15852	044171	302 10 0 00 000001 		CAIE	AC+1,1		;TEST QUOT=REMD
 15853	044172	004 10 0 00 021202 		ER4	AC+1,SN		;DIVI FAILED
 15854	044173	321 11 0 00 044164 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15855
 15856			021203		SN=SN+1
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 84-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0349

 15857			000004			XX=XX+1
 15858			000005			ZZ=ZZ+1
 15859	044174	400 07 0 00 000000 		SETZ	AC,		;SETUP HIGH DVND
 15860	044175	201 10 0 00 000005 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 15861	044176	235 07 0 00 000004 		DIVI	AC,XX		;SETUP DVSR
 15862	044177	302 07 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 15863	044200	003 07 0 00 021203 		ER3	AC,SN
 15864	044201	302 10 0 00 000001 		CAIE	AC+1,1		;TEST QUOT=REMD
 15865	044202	004 10 0 00 021203 		ER4	AC+1,SN		;DIVI FAILED
 15866	044203	321 11 0 00 044174 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15867
 15868			021204		SN=SN+1
 15869			000005			XX=XX+1
 15870			000006			ZZ=ZZ+1
 15871	044204	400 07 0 00 000000 		SETZ	AC,		;SETUP HIGH DVND
 15872	044205	201 10 0 00 000006 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 15873	044206	235 07 0 00 000005 		DIVI	AC,XX		;SETUP DVSR
 15874	044207	302 07 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 15875	044210	003 07 0 00 021204 		ER3	AC,SN
 15876	044211	302 10 0 00 000001 		CAIE	AC+1,1		;TEST QUOT=REMD
 15877	044212	004 10 0 00 021204 		ER4	AC+1,SN		;DIVI FAILED
 15878	044213	321 11 0 00 044204 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15879
 15880			021205		SN=SN+1
 15881			000006			XX=XX+1
 15882			000007			ZZ=ZZ+1
 15883	044214	400 07 0 00 000000 		SETZ	AC,		;SETUP HIGH DVND
 15884	044215	201 10 0 00 000007 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 15885	044216	235 07 0 00 000006 		DIVI	AC,XX		;SETUP DVSR
 15886	044217	302 07 0 00 000001 		CAIE	AC,1		;TEST QUOT=1
 15887	044220	003 07 0 00 021205 		ER3	AC,SN
 15888	044221	302 10 0 00 000001 		CAIE	AC+1,1		;TEST QUOT=REMD
 15889	044222	004 10 0 00 021205 		ER4	AC+1,SN		;DIVI FAILED
 15890	044223	321 11 0 00 044214 		JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
 15891
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 85
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0350

 15892					;TEST DIV MEMORY - TWO NEGATIVES
 15893					;HI DVND = -2,-4,-10,-20,-40
 15894					;LO DVND=0
 15895					;DVSR=-200
 15896					;QUOT=00400000000, 010000000000 ETC
 15897					;REMD=0
 15898
 15899			000006			AC=6
 15900						SAVEAC	(1,1)^
 15901	044224	201 10 0 00 044224 		MOVEI	AC+2,.		;SAVE TEST PC
 15902	044225	202 10 0 00 030051 		MOVEM	AC+2,TESTPC
 15903	044226	201 10 0 00 000010 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 15904	044227	202 10 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 15905
 15906			021300		SN=21300
 15907			002000			XX=002000
 15908		777777	777777			ZZ=-1
 15909
 15910					F21300:	REPEAT	^D5,
 15911					<SN=SN+1
 15912						XX=XX+XX
 15913						ZZ=ZZ+ZZ
 15914						MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 15915						HRROI	AC,ZZ		;SETUP HIGH DVND
 15916						SETZ	AC+1,		;SETUP LOW DVND
 15917						HRROI	AC-1,-200	;SETUP DVSR
 15918						DIVM	AC,AC-1		;DIVIDE ZZ BY -200
 15919						CAME	AC-1,AC-2	;TEST QUOT
 15920						ER5	AC-1,SN		;DIVM FAILED
 15921						CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 15922						ER3	AC,SN		;C(AC) WAS CLOBBERED
 15923						SKIPE	<AC+1>&17	;WAS C(AC+1) MODIFIED ?
 15924						ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 15925						JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 15926					>
 15927			021301		SN=SN+1
 15928			004000			XX=XX+XX
 15929		777777	777776			ZZ=ZZ+ZZ
 15930	044230	205 04 0 00 004000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 15931	044231	561 06 0 00 777776 		HRROI	AC,ZZ		;SETUP HIGH DVND
 15932	044232	400 07 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 15933	044233	561 05 0 00 777600 		HRROI	AC-1,-200	;SETUP DVSR
 15934	044234	236 06 0 00 000005 		DIVM	AC,AC-1		;DIVIDE ZZ BY -200
 15935	044235	312 05 0 00 000004 		CAME	AC-1,AC-2	;TEST QUOT
 15936	044236	005 05 0 00 021301 		ER5	AC-1,SN		;DIVM FAILED
 15937	044237	312 06 0 00 044621 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 15938	044240	003 06 0 00 021301 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 15939	044241	332 00 0 00 000007 		SKIPE	<AC+1>&17	;WAS C(AC+1) MODIFIED ?
 15940	044242	004 07 0 00 021301 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 15941	044243	321 10 0 00 044230 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 15942
 15943			021302		SN=SN+1
 15944			010000			XX=XX+XX
 15945		777777	777774			ZZ=ZZ+ZZ
 15946	044244	205 04 0 00 010000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 85-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0351

 15947	044245	561 06 0 00 777774 		HRROI	AC,ZZ		;SETUP HIGH DVND
 15948	044246	400 07 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 15949	044247	561 05 0 00 777600 		HRROI	AC-1,-200	;SETUP DVSR
 15950	044250	236 06 0 00 000005 		DIVM	AC,AC-1		;DIVIDE ZZ BY -200
 15951	044251	312 05 0 00 000004 		CAME	AC-1,AC-2	;TEST QUOT
 15952	044252	005 05 0 00 021302 		ER5	AC-1,SN		;DIVM FAILED
 15953	044253	312 06 0 00 045324 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 15954	044254	003 06 0 00 021302 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 15955	044255	332 00 0 00 000007 		SKIPE	<AC+1>&17	;WAS C(AC+1) MODIFIED ?
 15956	044256	004 07 0 00 021302 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 15957	044257	321 10 0 00 044244 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 15958
 15959			021303		SN=SN+1
 15960			020000			XX=XX+XX
 15961		777777	777770			ZZ=ZZ+ZZ
 15962	044260	205 04 0 00 020000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 15963	044261	561 06 0 00 777770 		HRROI	AC,ZZ		;SETUP HIGH DVND
 15964	044262	400 07 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 15965	044263	561 05 0 00 777600 		HRROI	AC-1,-200	;SETUP DVSR
 15966	044264	236 06 0 00 000005 		DIVM	AC,AC-1		;DIVIDE ZZ BY -200
 15967	044265	312 05 0 00 000004 		CAME	AC-1,AC-2	;TEST QUOT
 15968	044266	005 05 0 00 021303 		ER5	AC-1,SN		;DIVM FAILED
 15969	044267	312 06 0 00 045304 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 15970	044270	003 06 0 00 021303 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 15971	044271	332 00 0 00 000007 		SKIPE	<AC+1>&17	;WAS C(AC+1) MODIFIED ?
 15972	044272	004 07 0 00 021303 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 15973	044273	321 10 0 00 044260 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 15974
 15975			021304		SN=SN+1
 15976			040000			XX=XX+XX
 15977		777777	777760			ZZ=ZZ+ZZ
 15978	044274	205 04 0 00 040000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 15979	044275	561 06 0 00 777760 		HRROI	AC,ZZ		;SETUP HIGH DVND
 15980	044276	400 07 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 15981	044277	561 05 0 00 777600 		HRROI	AC-1,-200	;SETUP DVSR
 15982	044300	236 06 0 00 000005 		DIVM	AC,AC-1		;DIVIDE ZZ BY -200
 15983	044301	312 05 0 00 000004 		CAME	AC-1,AC-2	;TEST QUOT
 15984	044302	005 05 0 00 021304 		ER5	AC-1,SN		;DIVM FAILED
 15985	044303	312 06 0 00 045303 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
 15986	044304	003 06 0 00 021304 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 15987	044305	332 00 0 00 000007 		SKIPE	<AC+1>&17	;WAS C(AC+1) MODIFIED ?
 15988	044306	004 07 0 00 021304 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 15989	044307	321 10 0 00 044274 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 15990
 15991			021305		SN=SN+1
 15992			100000			XX=XX+XX
 15993		777777	777740			ZZ=ZZ+ZZ
 15994	044310	205 04 0 00 100000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 15995	044311	561 06 0 00 777740 		HRROI	AC,ZZ		;SETUP HIGH DVND
 15996	044312	400 07 0 00 000000 		SETZ	AC+1,		;SETUP LOW DVND
 15997	044313	561 05 0 00 777600 		HRROI	AC-1,-200	;SETUP DVSR
 15998	044314	236 06 0 00 000005 		DIVM	AC,AC-1		;DIVIDE ZZ BY -200
 15999	044315	312 05 0 00 000004 		CAME	AC-1,AC-2	;TEST QUOT
 16000	044316	005 05 0 00 021305 		ER5	AC-1,SN		;DIVM FAILED
 16001	044317	312 06 0 00 045334 		CAME	AC,[-1,,ZZ]	;WAS C(AC) MODIFIED ?
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 85-2
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0352

 16002	044320	003 06 0 00 021305 		ER3	AC,SN		;C(AC) WAS CLOBBERED
 16003	044321	332 00 0 00 000007 		SKIPE	<AC+1>&17	;WAS C(AC+1) MODIFIED ?
 16004	044322	004 07 0 00 021305 		ER4	AC+1,SN		;C(AC+1) WAS CLOBBERED
 16005	044323	321 10 0 00 044310 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 16006
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 86
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0353

 16007					;TEST DIV BOTH - TWO POSITIVES
 16008					;HIGH DVND 2,4,10,20,40
 16009					;LOW DVND 2,4,10,20,40
 16010					;DVSR=200
 16011					;QUOT=00400000000, 010000000000 ETC
 16012					;REMD=2,4,10,20,40
 16013
 16014			000005			AC=5
 16015						SAVEAC	(1,1)^
 16016	044324	201 07 0 00 044324 		MOVEI	AC+2,.		;SAVE TEST PC
 16017	044325	202 07 0 00 030051 		MOVEM	AC+2,TESTPC
 16018	044326	201 07 0 00 000007 		MOVEI	AC+2,<AC+2>&17	;INFORM ERROR ROUTINE WHICH
 16019	044327	202 07 0 00 045454 		MOVEM	AC+2,ERRLOP#	;AC IS USED FOR ITERATION^
 16020
 16021			021400		SN=21400
 16022			002000			XX=002000
 16023			000001			ZZ=1
 16024
 16025					F21400:	REPEAT	^D5,
 16026					<SN=SN+1
 16027						XX=XX+XX
 16028						ZZ=ZZ+ZZ
 16029						MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 16030						MOVEI	AC,ZZ		;SETUP HIGH DVND
 16031						MOVEI	AC+1,ZZ		;SETUP LOW DVND
 16032						MOVEI	AC-1,200	;SETUP DVSR
 16033						DIVB	AC,AC-1		;DIVIDE ZZ BY 200
 16034						CAME	AC,AC-2		;TEST QUOT
 16035						ER3	AC,SN		;QUOT ERROR
 16036						CAME	AC-1,AC-2	;TEST C(AC) = C(E)
 16037						ER5	AC-1,SN
 16038						CAIE	AC+1,ZZ		;TEST REMD
 16039						ER4	AC+1,SN		;DIVB FAILED
 16040						JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 16041					>
 16042			021401		SN=SN+1
 16043			004000			XX=XX+XX
 16044			000002			ZZ=ZZ+ZZ
 16045	044330	205 03 0 00 004000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 16046	044331	201 05 0 00 000002 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 16047	044332	201 06 0 00 000002 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 16048	044333	201 04 0 00 000200 		MOVEI	AC-1,200	;SETUP DVSR
 16049	044334	237 05 0 00 000004 		DIVB	AC,AC-1		;DIVIDE ZZ BY 200
 16050	044335	312 05 0 00 000003 		CAME	AC,AC-2		;TEST QUOT
 16051	044336	003 05 0 00 021401 		ER3	AC,SN		;QUOT ERROR
 16052	044337	312 04 0 00 000003 		CAME	AC-1,AC-2	;TEST C(AC) = C(E)
 16053	044340	005 04 0 00 021401 		ER5	AC-1,SN
 16054	044341	302 06 0 00 000002 		CAIE	AC+1,ZZ		;TEST REMD
 16055	044342	004 06 0 00 021401 		ER4	AC+1,SN		;DIVB FAILED
 16056	044343	321 07 0 00 044330 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 16057
 16058			021402		SN=SN+1
 16059			010000			XX=XX+XX
 16060			000004			ZZ=ZZ+ZZ
 16061	044344	205 03 0 00 010000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 86-1
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0354

 16062	044345	201 05 0 00 000004 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 16063	044346	201 06 0 00 000004 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 16064	044347	201 04 0 00 000200 		MOVEI	AC-1,200	;SETUP DVSR
 16065	044350	237 05 0 00 000004 		DIVB	AC,AC-1		;DIVIDE ZZ BY 200
 16066	044351	312 05 0 00 000003 		CAME	AC,AC-2		;TEST QUOT
 16067	044352	003 05 0 00 021402 		ER3	AC,SN		;QUOT ERROR
 16068	044353	312 04 0 00 000003 		CAME	AC-1,AC-2	;TEST C(AC) = C(E)
 16069	044354	005 04 0 00 021402 		ER5	AC-1,SN
 16070	044355	302 06 0 00 000004 		CAIE	AC+1,ZZ		;TEST REMD
 16071	044356	004 06 0 00 021402 		ER4	AC+1,SN		;DIVB FAILED
 16072	044357	321 07 0 00 044344 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 16073
 16074			021403		SN=SN+1
 16075			020000			XX=XX+XX
 16076			000010			ZZ=ZZ+ZZ
 16077	044360	205 03 0 00 020000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 16078	044361	201 05 0 00 000010 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 16079	044362	201 06 0 00 000010 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 16080	044363	201 04 0 00 000200 		MOVEI	AC-1,200	;SETUP DVSR
 16081	044364	237 05 0 00 000004 		DIVB	AC,AC-1		;DIVIDE ZZ BY 200
 16082	044365	312 05 0 00 000003 		CAME	AC,AC-2		;TEST QUOT
 16083	044366	003 05 0 00 021403 		ER3	AC,SN		;QUOT ERROR
 16084	044367	312 04 0 00 000003 		CAME	AC-1,AC-2	;TEST C(AC) = C(E)
 16085	044370	005 04 0 00 021403 		ER5	AC-1,SN
 16086	044371	302 06 0 00 000010 		CAIE	AC+1,ZZ		;TEST REMD
 16087	044372	004 06 0 00 021403 		ER4	AC+1,SN		;DIVB FAILED
 16088	044373	321 07 0 00 044360 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 16089
 16090			021404		SN=SN+1
 16091			040000			XX=XX+XX
 16092			000020			ZZ=ZZ+ZZ
 16093	044374	205 03 0 00 040000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 16094	044375	201 05 0 00 000020 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 16095	044376	201 06 0 00 000020 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 16096	044377	201 04 0 00 000200 		MOVEI	AC-1,200	;SETUP DVSR
 16097	044400	237 05 0 00 000004 		DIVB	AC,AC-1		;DIVIDE ZZ BY 200
 16098	044401	312 05 0 00 000003 		CAME	AC,AC-2		;TEST QUOT
 16099	044402	003 05 0 00 021404 		ER3	AC,SN		;QUOT ERROR
 16100	044403	312 04 0 00 000003 		CAME	AC-1,AC-2	;TEST C(AC) = C(E)
 16101	044404	005 04 0 00 021404 		ER5	AC-1,SN
 16102	044405	302 06 0 00 000020 		CAIE	AC+1,ZZ		;TEST REMD
 16103	044406	004 06 0 00 021404 		ER4	AC+1,SN		;DIVB FAILED
 16104	044407	321 07 0 00 044374 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 16105
 16106			021405		SN=SN+1
 16107			100000			XX=XX+XX
 16108			000040			ZZ=ZZ+ZZ
 16109	044410	205 03 0 00 100000 		MOVSI	AC-2,XX		;SETUP FOR COMPARISON
 16110	044411	201 05 0 00 000040 		MOVEI	AC,ZZ		;SETUP HIGH DVND
 16111	044412	201 06 0 00 000040 		MOVEI	AC+1,ZZ		;SETUP LOW DVND
 16112	044413	201 04 0 00 000200 		MOVEI	AC-1,200	;SETUP DVSR
 16113	044414	237 05 0 00 000004 		DIVB	AC,AC-1		;DIVIDE ZZ BY 200
 16114	044415	312 05 0 00 000003 		CAME	AC,AC-2		;TEST QUOT
 16115	044416	003 05 0 00 021405 		ER3	AC,SN		;QUOT ERROR
 16116	044417	312 04 0 00 000003 		CAME	AC-1,AC-2	;TEST C(AC) = C(E)
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 86-2
DSKAL1	MAC	29-Mar-78 10:10		DIAGNOSTIC SECTION - GENERAL MPY/DIV TEST                                          SEQ 0355

 16117	044420	005 04 0 00 021405 		ER5	AC-1,SN
 16118	044421	302 06 0 00 000040 		CAIE	AC+1,ZZ		;TEST REMD
 16119	044422	004 06 0 00 021405 		ER4	AC+1,SN		;DIVB FAILED
 16120	044423	321 07 0 00 044410 		JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
 16121
 16122
 16123	044424	254 00 0 00 030057 		JRST	BEGEND
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 1
UUOERR	KSM	28-Mar-78 11:17		*UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, MARCH 1978                              SEQ 0356

 16124					SUBTTL	*UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, MARCH 1978
 16125
 16126					;THIS SUBROUTINE PROVIDES ERROR REPORTING THRU THE USE OF UUO'S.
 16127
 16128	044425	202 00 0 00 045460 	ERRMES:	MOVEM	0,%ERAC0#	;SAVE AC0
 16129	044426	202 01 0 00 045461 		MOVEM	1,%ERAC1#	;SAVE AC1
 16130	044427	202 02 0 00 045462 		MOVEM	2,%ERAC2#	;SAVE AC2
 16131	044430	350 00 0 00 030053 		AOS	ERRTLS		;INCREMENT ERROR TOTALS
 16132	044431	550 00 0 00 030114 		HRRZ	0,$SVUPC	;GET PC OF UUO
 16133	044432	316 00 0 00 030052 		CAMN	0,ERRPC		;PC = PC OF LAST ERROR ?
 16134	044433	350 00 0 00 045455 		AOS	MICNT#		;YES, ADD 1 TO ERROR COUNT
 16135	044434	200 00 0 00 045455 		MOVE	0,MICNT
 16136	044435	504 00 0 00 030114 		HRL	0,$SVUPC
 16137	044436	402 00 0 00 045456 		SETZM	PROCED#		;CLEAR PROCEED FLAG
 16138	044437	037 10 0 00 000002 		SWITCH
 16139	044440	603 00 0 00 040000 		TLNE	NOPNT		;PRINTOUT ?
 16140	044441	254 00 0 00 044553 		JRST	%ERRS1		;NO, RESTORE AC'S AND RETURN
 16141	044442	200 01 0 00 030113 		MOVE	1,$SVUUO
 16142	044443	242 01 0 00 777745 		LSH	1,-^D27
 16143	044444	202 01 0 00 045457 		MOVEM	1,%ACS1A#	;SAVE UUO NUMBER
 16144	044445	200 00 0 00 045460 		MOVE	0,%ERAC0
 16145	044446	200 01 0 00 045461 		MOVE	1,%ERAC1
 16146	044447	335 00 1 00 045454 		SKIPGE	@ERRLOP		;ERR LOOP AC > OR = 0 ?
 16147	044450	254 00 0 00 044605 		JRST	%ERRS4		;NO, SEE IF PRINT ALL
 16148	044451	402 00 0 00 045455 	%ERMS1:	SETZM	MICNT		;CLEAR ERROR COUNT
 16149	044452	331 00 0 00 030043 		SKIPL	MONCTL		;DIAG MON OR SYS EXER ?
 16150	044453	254 00 0 00 044457 		JRST	.+4		;NO, DON'T NEED TITLE
 16151	044454	336 00 0 00 045463 		SKIPN	%ERFST#		;FIRST ERROR ?
 16152	044455	037 04 0 00 000002 		PNTNM			;YES, PRINT PROGRAM TITLE
 16153	044456	476 00 0 00 045463 		SETOM	%ERFST
 16154	044457	336 00 0 00 030047 		SKIPN	PASCNT		;FIRST PASS ?
 16155	044460	254 00 0 00 044464 		JRST	.+4		;YES
 16156						PMSG	<^TEST PASS COUNT = >^
 16157	044461	037 02 0 00 045335 		PSIXM	[SIXBIT\^TEST PASS COUNT = _\]^
 16158	044462	200 00 0 00 030047 		MOVE	PASCNT
 16159	044463	037 15 0 00 000000 		PNTDEC
 16160						PMSG	<^PC =   >^
 16161	044464	037 02 0 00 045341 		PSIXM	[SIXBIT\^PC =   _\]^
 16162	044465	550 00 0 00 030114 		HRRZ	0,$SVUPC	;GET PC OF UUO
 16163	044466	202 00 0 00 030052 		MOVEM	0,ERRPC		;SAVE FOR COMPARE
 16164	044467	037 06 0 00 000000 		PNT6			;PRINT UUO ADDRESS
 16165						XLIST
 16166						IFDEF	ERDIAG,<LIST
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 2
UUOERR	KSM	28-Mar-78 11:17		*UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, MARCH 1978                              SEQ 0357

 16167					;DIAGNOSTIC FORMAT ERROR PRINTER
 16168
 16169					;PRINT RESULT
 16170
 16171	044470				%ERMS2:	PMSG	<^RESULT  = >^
 16172	044470	037 02 0 00 045343 		PSIXM	[SIXBIT\^RESULT  = _\]^
 16173	044471	200 01 0 00 030113 		MOVE	1,$SVUUO	;GET AC # OF UUO
 16174	044472	242 01 0 00 777751 		LSH	1,-27
 16175	044473	405 01 0 00 000017 		ANDI	1,17
 16176	044474	200 00 0 01 000000 		MOVE	0,(1)		;GET C(AC)
 16177	044475	307 01 0 00 000001 		CAIG	1,1		;IS AC # = TO SAVE AC ?
 16178	044476	200 00 0 01 045460 		MOVE	0,%ERAC0(1)	;YES, GET SAVED AC
 16179	044477	037 13 0 00 000000 		PNTHW			;PRINT C(AC)
 16180
 16181	044500	200 00 0 00 030046 		MOVE	CONSW
 16182	044501	603 00 0 00 000200 		TLNE	TXTINH		;PRINT FAILURE DES AND FLT NBR ?
 16183	044502	254 00 0 00 044551 		JRST	%ERMORE		;NO, RESTORE AC'S ETC.
 16184
 16185					;PRINT FAILURE DESCRIPTOR
 16186
 16187	044503	200 01 0 00 045457 		MOVE	1,%ACS1A	;GET UUO NUMBER
 16188	044504	307 01 0 00 000001 		CAIG	1,1		;PRINT DESCRIPTOR ?
 16189	044505	254 00 0 00 044511 		JRST	%ERMS3		;NO, JUST PRINT FAULT NUMBER
 16190	044506	037 00 0 00 030242 		PCRL
 16191	044507	200 00 0 01 044535 		MOVE	%FLTTB(1)
 16192	044510	037 17 0 00 000000 		PNTAL			;PRINT FAULT DESCRIPTOR
 16193
 16194					;PRINT FAULT NUMBER
 16195
 16196	044511				%ERMS3:	PMSG	<^FAULT NUMBER = >^
 16197	044511	037 02 0 00 045345 		PSIXM	[SIXBIT\^FAULT NUMBER = _\]^
 16198	044512	201 00 0 00 044534 		MOVEI	TLET
 16199	044513	037 00 0 00 000000 		PNTA			;PRINT TEST LETTER
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 3
UUOERR	KSM	28-Mar-78 11:17		*UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, MARCH 1978                              SEQ 0358

 16200
 16201	044514	550 00 0 00 030113 		HRRZ	$SVUUO
 16202	044515	602 00 0 00 700000 		TRNE	700000
 16203	044516	254 00 0 00 044532 		JRST	%ER6X
 16204	044517	602 00 0 00 070000 		TRNE	070000
 16205	044520	254 00 0 00 044530 		JRST	%ER5X
 16206	044521	602 00 0 00 007000 		TRNE	007000
 16207	044522	254 00 0 00 044526 		JRST	%ER4X
 16208	044523	037 03 0 00 000000 		PNT3			;PRINT FAULT NUMBER
 16209	044524	037 00 0 00 030242 	%ER7X:	PCRL
 16210	044525	254 00 0 00 044551 		JRST	%ERMORE
 16211
 16212	044526	037 04 0 00 000000 	%ER4X:	PNT4
 16213	044527	254 00 0 00 044524 		JRST	%ER7X
 16214	044530	037 05 0 00 000000 	%ER5X:	PNT5
 16215	044531	254 00 0 00 044524 		JRST	%ER7X
 16216	044532	037 06 0 00 000000 	%ER6X:	PNT6
 16217	044533	254 00 0 00 044524 		JRST	%ER7X
 16218
 16219					;FAILURE DESCRIPTORS
 16220
 16221	044534	000000	000000		TLET:	0			;TEST LETTER
 16222	044535	000000	000000		%FLTTB:	0			;DESCRIPTOR TABLE
 16223	044536	000000	044615		%NODES:	[0]			;NO DESCRIPTOR
 16224	044537	000000	044615		SPDES:	[0]			;SPECIAL USER FAILURE DESCRIPTOR
 16225	044540	000000	045350		$ACF:	[ASCIZ/C(AC) FAILED/]
 16226	044541	000000	045353		%AC1F:	[ASCIZ/C(AC+1) FAILED/]
 16227	044542	000000	045356		%EF:	[ASCIZ/C(E) FAILED/]
 16228	044543	000000	045361		%E1F:	[ASCIZ/C(E+1) FAILED/]
 16229	044544	000000	045364		%ARF:	[ASCIZ/C(C(ACR)) FAILED/]
 16230	044545	000000	045370		%AR1F:	[ASCIZ/C(C(ACR+1)) FAILED/]
 16231	044546	000000	045374		%ALF:	[ASCIZ/C(C(ACL)) FAILED/]
 16232	044547	000000	045400		%EEF:	[ASCIZ/C(C(E)) FAILED/]
 16233	044550	000000	045403		%FF:	[ASCIZ/FLAG FAILED/]
 16234					>
 16235						XLIST
 16236						LIST
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 8
UUOERR	KSM	28-Mar-78 11:17		*UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, MARCH 1978                              SEQ 0359

 16237					;RESTORE AC'S AND RETURN OR HALT
 16238
 16239	044551	256 00 0 00 030101 	%ERMORE:XCT	ERMORE
 16240	044552	037 10 0 00 000002 		SWITCH
 16241
 16242	044553	037 07 0 00 000003 	%ERRS1:	TTALTM			;ALTMODE CHECK
 16243	044554	254 00 0 00 044560 		JRST	.+4		;NONE
 16244	044555	201 00 0 00 044560 		MOVEI	.+3		;SAVE CONT ADDRESS
 16245	044556	202 00 0 00 000130 		MOVEM	JOBOPC
 16246	044557	254 00 1 00 030063 		JRST	@ALTMGO		;PERFORM TRANSFER
 16247	044560	200 00 0 00 030046 		MOVE	CONSW
 16248	044561	603 00 0 00 002000 		TLNE	0,ERSTOP	;HALT ON ERROR SWITCH SET ?
 16249	044562	037 14 0 00 000004 		ERRHLT			;YES
 16250	044563	607 00 0 00 004000 		TLNN	0,LOOPER	;LOOP ON ERROR SWITCH SET ?
 16251	044564	476 00 0 00 045456 		SETOM	PROCED		;NO, SET THE PROCEED FLAG
 16252	044565	603 00 0 00 010000 		TLNE	0,DING		;RING BELL SWITCH SET ?
 16253	044566	037 01 0 00 000007 		PBELL			;YES, GO RING BELL
 16254
 16255	044567	200 02 0 00 045462 	%ERRS2:	MOVE	2,%ERAC2	;RESTORE AC'S
 16256	044570	200 01 0 00 045461 		MOVE	1,%ERAC1
 16257	044571	476 00 1 00 045454 		SETOM	@ERRLOP		;SET C(ERR LOOP AC) TO -1
 16258	044572	336 00 0 00 045456 		SKIPN	PROCED		;LOOP ON ERROR ?
 16259	044573	254 00 0 00 044603 		JRST	%ERRS5		;YES
 16260	044574	350 00 1 00 045454 		AOS	@ERRLOP		;NO, INC C(ERR LOOP AC)
 16261	044575	350 00 1 00 045454 		AOS	@ERRLOP		;SO IT ='S 1
 16262	044576	331 00 0 00 030043 		SKIPL	MONCTL		;UNDER DIAGNOSTIC MONITOR ?
 16263	044577	254 00 0 00 044603 		JRST	%ERRS5		;NO, CONTINUE PROGRAM
 16264	044600	200 00 0 00 030053 		MOVE	0,ERRTLS	;YES
 16265	044601	301 00 0 00 000024 		CAIL	0,^D20		;PRINTED ALLOWED ERRORS ?
 16266	044602	254 00 0 00 044611 		JRST	%ERRS6
 16267
 16268	044603	200 00 0 00 045460 	%ERRS5:	MOVE	0,%ERAC0	;NO, CONTINUE PROGRAM
 16269	044604	254 00 0 00 030065 		JRST	UUOEXT
 16270
 16271	044605	200 00 0 00 030046 	%ERRS4:	MOVE	0,CONSW
 16272	044606	607 00 0 00 001000 		TLNN	PALERS		;PRINT ALL ERRORS ?
 16273	044607	254 00 0 00 044553 		JRST	%ERRS1		;NO
 16274	044610	254 00 0 00 044451 		JRST	%ERMS1		;YES
 16275
 16276	044611				%ERRS6:	PMSGF	<^EXCEEDED ALLOWED ERRORS^>^
 16277	044611	037 04 0 00 045406 		PSIXMF	[SIXBIT\^EXCEEDED ALLOWED ERRORS^_\]^
 16278	044612	254 00 0 00 030061 		JRST	$BEND2
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 1
STOR	KSM	28-Mar-78 11:25		*STOR* RESERVED STORAGE, MARCH 1978                                                SEQ 0360

 16279					SUBTTL	*STOR* RESERVED STORAGE, MARCH 1978
 16280
 16281					;PROGRAM LITERALS
 16282
 16283						XLIST
 16284					IFNDEF	$LPAPER,<LIST>
 16285	044613					LIT
 16286	044613	101 114 000 000 000 
 16287	044614	525252	525252
 16288	044615	000000	000000
 16289	044616	000000	000001
 16290	044617	777777	777777
 16291	044620	000000	000002
 16292	044621	777777	777776
 16293	044622	652525	252524
 16294	044623	000000	000004
 16295	044624	777777	777775
 16296	044625	525252	525250
 16297	044626	000000	000010
 16298	044627	777777	777772
 16299	044630	652525	252520
 16300	044631	000000	000020
 16301	044632	777777	777765
 16302	044633	525252	525240
 16303	044634	000000	000040
 16304	044635	777777	777752
 16305	044636	652525	252500
 16306	044637	000000	000100
 16307	044640	777777	777725
 16308	044641	525252	525200
 16309	044642	000000	000200
 16310	044643	777777	777652
 16311	044644	652525	252400
 16312	044645	000000	000400
 16313	044646	777777	777525
 16314	044647	525252	525000
 16315	044650	000000	001000
 16316	044651	777777	777252
 16317	044652	652525	252000
 16318	044653	000000	002000
 16319	044654	777777	776525
 16320	044655	525252	524000
 16321	044656	000000	004000
 16322	044657	777777	775252
 16323	044660	652525	250000
 16324	044661	000000	010000
 16325	044662	777777	772525
 16326	044663	525252	520000
 16327	044664	000000	020000
 16328	044665	777777	765252
 16329	044666	652525	240000
 16330	044667	000000	040000
 16331	044670	777777	752525
 16332	044671	525252	500000
 16333	044672	000000	100000
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 1-1
STOR	KSM	28-Mar-78 11:25		*STOR* RESERVED STORAGE, MARCH 1978                                                SEQ 0361

 16334	044673	777777	725252
 16335	044674	652525	200000
 16336	044675	000000	200000
 16337	044676	777777	652525
 16338	044677	525252	400000
 16339	044700	000000	400000
 16340	044701	777777	525252
 16341	044702	652525	000000
 16342	044703	000001	000000
 16343	044704	777777	252525
 16344	044705	525252	000000
 16345	044706	000002	000000
 16346	044707	777776	525252
 16347	044710	652524	000000
 16348	044711	000004	000000
 16349	044712	777775	252525
 16350	044713	525250	000000
 16351	044714	000010	000000
 16352	044715	777772	525252
 16353	044716	652520	000000
 16354	044717	000020	000000
 16355	044720	777765	252525
 16356	044721	525240	000000
 16357	044722	000040	000000
 16358	044723	777752	525252
 16359	044724	652500	000000
 16360	044725	000100	000000
 16361	044726	777725	252525
 16362	044727	525200	000000
 16363	044730	000200	000000
 16364	044731	777652	525252
 16365	044732	652400	000000
 16366	044733	000400	000000
 16367	044734	777525	252525
 16368	044735	525000	000000
 16369	044736	001000	000000
 16370	044737	777252	525252
 16371	044740	652000	000000
 16372	044741	002000	000000
 16373	044742	776525	252525
 16374	044743	524000	000000
 16375	044744	004000	000000
 16376	044745	775252	525252
 16377	044746	650000	000000
 16378	044747	010000	000000
 16379	044750	772525	252525
 16380	044751	520000	000000
 16381	044752	020000	000000
 16382	044753	765252	525252
 16383	044754	640000	000000
 16384	044755	040000	000000
 16385	044756	752525	252525
 16386	044757	500000	000000
 16387	044760	100000	000000
 16388	044761	725252	525252
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 1-2
STOR	KSM	28-Mar-78 11:25		*STOR* RESERVED STORAGE, MARCH 1978                                                SEQ 0362

 16389	044762	600000	000000
 16390	044763	200000	000000
 16391	044764	652525	252525
 16392	044765	400000	000000
 16393	044766	252525	252526
 16394	044767	252525	252525
 16395	044770	125252	525252
 16396	044771	252525	252524
 16397	044772	000000	000005
 16398	044773	125252	525250
 16399	044774	000000	000012
 16400	044775	252525	252520
 16401	044776	000000	000025
 16402	044777	125252	525240
 16403	045000	000000	000052
 16404	045001	252525	252500
 16405	045002	000000	000125
 16406	045003	125252	525200
 16407	045004	000000	000252
 16408	045005	252525	252400
 16409	045006	000000	000525
 16410	045007	125252	525000
 16411	045010	000000	001252
 16412	045011	252525	252000
 16413	045012	000000	002525
 16414	045013	125252	524000
 16415	045014	000000	005252
 16416	045015	252525	250000
 16417	045016	000000	012525
 16418	045017	125252	520000
 16419	045020	000000	025252
 16420	045021	252525	240000
 16421	045022	000000	052525
 16422	045023	125252	500000
 16423	045024	000000	125252
 16424	045025	252525	200000
 16425	045026	000000	252525
 16426	045027	125252	400000
 16427	045030	000000	525252
 16428	045031	252525	000000
 16429	045032	000001	252525
 16430	045033	125252	000000
 16431	045034	000002	525252
 16432	045035	252524	000000
 16433	045036	000005	252525
 16434	045037	125250	000000
 16435	045040	000012	525252
 16436	045041	252520	000000
 16437	045042	000025	252525
 16438	045043	125240	000000
 16439	045044	000052	525252
 16440	045045	252500	000000
 16441	045046	000125	252525
 16442	045047	125200	000000
 16443	045050	000252	525252
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 1-3
STOR	KSM	28-Mar-78 11:25		*STOR* RESERVED STORAGE, MARCH 1978                                                SEQ 0363

 16444	045051	252400	000000
 16445	045052	000525	252525
 16446	045053	125000	000000
 16447	045054	001252	525252
 16448	045055	252000	000000
 16449	045056	002525	252525
 16450	045057	124000	000000
 16451	045060	005252	525252
 16452	045061	250000	000000
 16453	045062	012525	252525
 16454	045063	120000	000000
 16455	045064	025252	525252
 16456	045065	240000	000000
 16457	045066	052525	252525
 16458	045067	525252	525253
 16459	045070	000000	000011
 16460	045071	777777	777773
 16461	045072	000000	000031
 16462	045073	777777	777767
 16463	045074	000000	000121
 16464	045075	777777	777757
 16465	045076	000000	000441
 16466	045077	777777	777737
 16467	045100	000000	002101
 16468	045101	777777	777677
 16469	045102	000000	010201
 16470	045103	777777	777577
 16471	045104	000000	040401
 16472	045105	777777	777377
 16473	045106	000000	201001
 16474	045107	777777	776777
 16475	045110	000001	002001
 16476	045111	777777	775777
 16477	045112	000004	004001
 16478	045113	777777	773777
 16479	045114	000020	010001
 16480	045115	777777	767777
 16481	045116	000100	020001
 16482	045117	777777	757777
 16483	045120	000400	040001
 16484	045121	777777	737777
 16485	045122	002000	100001
 16486	045123	777777	677777
 16487	045124	010000	200001
 16488	045125	777777	577777
 16489	045126	040000	400001
 16490	045127	777777	377777
 16491	045130	200001	000001
 16492	045131	777776	777777
 16493	045132	000002	000001
 16494	045133	777775	777777
 16495	045134	000004	000001
 16496	045135	777773	777777
 16497	045136	000010	000001
 16498	045137	777767	777777
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 1-4
STOR	KSM	28-Mar-78 11:25		*STOR* RESERVED STORAGE, MARCH 1978                                                SEQ 0364

 16499	045140	000020	000001
 16500	045141	777757	777777
 16501	045142	000040	000001
 16502	045143	777737	777777
 16503	045144	000100	000001
 16504	045145	777677	777777
 16505	045146	000200	000001
 16506	045147	777577	777777
 16507	045150	000400	000001
 16508	045151	777377	777777
 16509	045152	001000	000001
 16510	045153	776777	777777
 16511	045154	002000	000001
 16512	045155	775777	777777
 16513	045156	004000	000001
 16514	045157	773777	777777
 16515	045160	010000	000001
 16516	045161	767777	777777
 16517	045162	020000	000001
 16518	045163	757777	777777
 16519	045164	040000	000001
 16520	045165	737777	777777
 16521	045166	100000	000001
 16522	045167	677777	777777
 16523	045170	200000	000001
 16524	045171	577777	777777
 16525	045172	377777	777777
 16526	045173	377777	777776
 16527	045174	777777	777754
 16528	045175	777777	777670
 16529	045176	777777	777360
 16530	045177	777777	775740
 16531	045200	777777	767700
 16532	045201	777777	737600
 16533	045202	777777	577400
 16534	045203	777776	777000
 16535	045204	777773	776000
 16536	045205	777757	774000
 16537	045206	777677	770000
 16538	045207	777377	760000
 16539	045210	775777	740000
 16540	045211	767777	700000
 16541	045212	737777	600000
 16542	045213	577777	400000
 16543	045214	777777	000000
 16544	045215	777776	000000
 16545	045216	777774	000000
 16546	045217	777770	000000
 16547	045220	777760	000000
 16548	045221	777740	000000
 16549	045222	777700	000000
 16550	045223	777600	000000
 16551	045224	777400	000000
 16552	045225	777000	000000
 16553	045226	776000	000000
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 1-5
STOR	KSM	28-Mar-78 11:25		*STOR* RESERVED STORAGE, MARCH 1978                                                SEQ 0365

 16554	045227	774000	000000
 16555	045230	770000	000000
 16556	045231	760000	000000
 16557	045232	740000	000000
 16558	045233	700000	000000
 16559	045234	400000	000001
 16560	045235	000000	000003
 16561	045236	377777	777774
 16562	045237	377777	777770
 16563	045240	000000	000007
 16564	045241	377777	777760
 16565	045242	000000	000017
 16566	045243	000000	036740
 16567	045244	000000	036754
 16568	045245	000000	036776
 16569	045246	000000	037017
 16570	045247	000000	037032
 16571	045250	000000	037045
 16572	045251	000000	037060
 16573	045252	000000	037073
 16574	045253	000000	037106
 16575	045254	000000	037121
 16576	045255	000000	037133
 16577	045256	000000	037145
 16578	045257	000000	037161
 16579	045260	000000	037201
 16580	045261	000000	037214
 16581	045262	000000	037233
 16582	045263	000000	037247
 16583	045264	000000	037267
 16584	045265	000000	037303
 16585	045266	000000	037317
 16586	045267	000000	037337
 16587	045270	000000	037430
 16588	045271	000000	037445
 16589	045272	000000	037446
 16590	045273	000000	037463
 16591	045274	000000	037517
 16592	045275	000000	037536
 16593	045276	000000	037561
 16594	045277	000000	037576
 16595	045300	000000	037617
 16596	045301	000000	037634
 16597	045302	000000	037655
 16598	045303	777777	777760
 16599	045304	777777	777770
 16600	045305	000000	040372
 16601	045306	000000	040413
 16602	045307	000000	040434
 16603	045310	000000	040524
 16604	045311	000000	040551
 16605	045312	000000	040600
 16606	045313	000000	040617
 16607	045314	000000	040642
 16608	045315	000000	040717
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 1-6
STOR	KSM	28-Mar-78 11:25		*STOR* RESERVED STORAGE, MARCH 1978                                                SEQ 0366

 16609	045316	000000	040740
 16610	045317	000000	040765
 16611	045320	000000	041014
 16612	045321	000000	041034
 16613	045322	000000	041060
 16614	045323	000000	041073
 16615	045324	777777	777774
 16616	045325	000000	041112
 16617	045326	000000	041124
 16618	045327	000000	041142
 16619	045330	000000	041160
 16620	045331	000000	041176
 16621	045332	000000	041251
 16622	045333	050000	000000
 16623	045334	777777	777740
 16624	045335	76 64 45 63 64 00 
 16625	045336	60 41 63 63 00 43 
 16626	045337	57 65 56 64 00 35 
 16627	045340	00 77 00 00 00 00 
 16628	045341	76 60 43 00 35 00 
 16629	045342	00 00 77 00 00 00 
 16630	045343	76 62 45 63 65 54 
 16631	045344	64 00 00 35 00 77 
 16632	045345	76 46 41 65 54 64 
 16633	045346	00 56 65 55 42 45 
 16634	045347	62 00 35 00 77 00 
 16635	045350	103 050 101 103 051 
 16636	045351	040 106 101 111 114 
 16637	045352	105 104 000 000 000 
 16638	045353	103 050 101 103 053 
 16639	045354	061 051 040 106 101 
 16640	045355	111 114 105 104 000 
 16641	045356	103 050 105 051 040 
 16642	045357	106 101 111 114 105 
 16643	045360	104 000 000 000 000 
 16644	045361	103 050 105 053 061 
 16645	045362	051 040 106 101 111 
 16646	045363	114 105 104 000 000 
 16647	045364	103 050 103 050 101 
 16648	045365	103 122 051 051 040 
 16649	045366	106 101 111 114 105 
 16650	045367	104 000 000 000 000 
 16651	045370	103 050 103 050 101 
 16652	045371	103 122 053 061 051 
 16653	045372	051 040 106 101 111 
 16654	045373	114 105 104 000 000 
 16655	045374	103 050 103 050 101 
 16656	045375	103 114 051 051 040 
 16657	045376	106 101 111 114 105 
 16658	045377	104 000 000 000 000 
 16659	045400	103 050 103 050 105 
 16660	045401	051 051 040 106 101 
 16661	045402	111 114 105 104 000 
 16662	045403	106 114 101 107 040 
 16663	045404	106 101 111 114 105 
DSKAL DECSYSTEM 2020 BASIC INSTRUCTION DIAGNOSTIC (12) 0,1	MACRO %53(1020) 11:05 29-Mar-78 Page 1-7
STOR	KSM	28-Mar-78 11:25		*STOR* RESERVED STORAGE, MARCH 1978                                                SEQ 0367

 16664	045405	104 000 000 000 000 
 16665	045406	76 45 70 43 45 45 
 16666	045407	44 45 44 00 41 54 
 16667	045410	54 57 67 45 44 00 
 16668	045411	45 62 62 57 62 63 
 16669	045412	76 77 00 00 00 00 
 16670						LIST
 16671	045413	000000	000000		ENDSLD:	0
 16672
 16673					IFDEF	DEBUG,<
 16674	045414				PATCH:	BLOCK DEBUG		;PATCHING AREA
 16675					>
 16676
 16677					;PROGRAM VARIABLES
 16678	045454					VAR
 16679
 16680					IFDEF	PGMEND,<
 16681	045464	000000	000000		END:	0
 16682			030000			END	BEGIN	>

NO ERRORS DETECTED

PROGRAM BREAK IS 000000
ABSOLUTE BREAK IS 045465
CPU TIME USED 00:51.628

32P CORE USED

AA1	   794#	   828#	   862#	   896#	   930#	   964#	   998#	  1032#	  1066#	  1100#	  1134#	  1168#	  1202#	  1236#
	  1270#	  1304#	  1338#	  1372#	  1406#	  1440#	  1474#	  1508#	  1542#	  1576#	  1610#	  1644#	  1678#	  1712#    SEQ 0368
	  1746#	  1780#	  1814#	  1848#	  1882#	  1916#	  1950#	  1984#	  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#
	  3197#	  3231#	  3287#	  3321#	  3355#	  3389#	  3423#	  3457#	  3491#	  3525#	  3559#	  3593#	  3627#	  3661#
	  3695#	  3729#	  3763#	  3797#	  3831#	  3865#	  3899#	  3933#	  3967#	  4001#	  4035#	  4069#	  4103#	  4137#
	  4171#	  4205#	  4239#	  4273#	  4307#	  4341#	  4375#	  4409#	  4443#	  4477#	  4528#	  4560#	  4592#	  4624#
	  4656#	  4688#	  4720#	  4752#	  4784#	  4816#	  4848#	  4880#	  4912#	  4944#	  4976#	  5008#	  5040#	  5072#
	  5104#	  5136#	  5168#	  5200#	  5232#	  5264#	  5296#	  5328#	  5360#	  5392#	  5424#	  5456#	  5488#	  5520#
	  5552#	  5584#	  5616#	  5648#	  5703#	  5737#	  5771#	  5805#	  5839#	  5873#	  5907#	  5941#	  5975#	  6009#
	  6043#	  6077#	  6111#	  6145#	  6179#	  6213#	  6247#	  6281#	  6315#	  6349#	  6383#	  6417#	  6451#	  6485#
	  6519#	  6553#	  6587#	  6621#	  6655#	  6689#	  6723#	  6757#	  6791#	  6825#	  6859#	  6893#	  6953#	  6989#
	  7025#	  7061#	  7097#	  7133#	  7169#	  7205#	  7241#	  7277#	  7313#	  7349#	  7385#	  7421#	  7457#	  7493#
	  7529#	  7565#	  7601#	  7637#	  7673#	  7709#	  7745#	  7781#	  7817#	  7853#	  7889#	  7925#	  7961#	  7997#
	  8033#	  8069#	  8105#	  8141#	  8177#	  8213#	  8273#	  8309#	  8345#	  8381#	  8417#	  8453#	  8489#	  8525#
	  8561#	  8597#	  8633#	  8669#	  8705#	  8741#	  8777#	  8813#	  8849#	  8885#	  8921#	  8957#	  8993#	  9029#
	  9065#	  9101#	  9137#	  9173#	  9209#	  9245#	  9281#	  9317#	  9353#	  9389#	  9425#	  9461#	  9497#	  9533#
AA2	   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#	  1986#	  2043#	  2077#	  2111#	  2145#	  2179#	  2213#
	  2247#	  2281#	  2315#	  2349#	  2383#	  2417#	  2451#	  2485#	  2519#	  2553#	  2587#	  2621#	  2655#	  2689#
	  2723#	  2757#	  2791#	  2825#	  2859#	  2893#	  2927#	  2961#	  2995#	  3029#	  3063#	  3097#	  3131#	  3165#
	  3199#	  3233#	  3289#	  3323#	  3357#	  3391#	  3425#	  3459#	  3493#	  3527#	  3561#	  3595#	  3629#	  3663#
	  3697#	  3731#	  3765#	  3799#	  3833#	  3867#	  3901#	  3935#	  3969#	  4003#	  4037#	  4071#	  4105#	  4139#
	  4173#	  4207#	  4241#	  4275#	  4309#	  4343#	  4377#	  4411#	  4445#	  4479#	  4530#	  4562#	  4594#	  4626#
	  4658#	  4690#	  4722#	  4754#	  4786#	  4818#	  4850#	  4882#	  4914#	  4946#	  4978#	  5010#	  5042#	  5074#
	  5106#	  5138#	  5170#	  5202#	  5234#	  5266#	  5298#	  5330#	  5362#	  5394#	  5426#	  5458#	  5490#	  5522#
	  5554#	  5586#	  5618#	  5650#	  5705#	  5739#	  5773#	  5807#	  5841#	  5875#	  5909#	  5943#	  5977#	  6011#
	  6045#	  6079#	  6113#	  6147#	  6181#	  6215#	  6249#	  6283#	  6317#	  6351#	  6385#	  6419#	  6453#	  6487#
	  6521#	  6555#	  6589#	  6623#	  6657#	  6691#	  6725#	  6759#	  6793#	  6827#	  6861#	  6895#	  6955#	  6991#
	  7027#	  7063#	  7099#	  7135#	  7171#	  7207#	  7243#	  7279#	  7315#	  7351#	  7387#	  7423#	  7459#	  7495#
	  7531#	  7567#	  7603#	  7639#	  7675#	  7711#	  7747#	  7783#	  7819#	  7855#	  7891#	  7927#	  7963#	  7999#
	  8035#	  8071#	  8107#	  8143#	  8179#	  8215#	  8275#	  8311#	  8347#	  8383#	  8419#	  8455#	  8491#	  8527#
	  8563#	  8599#	  8635#	  8671#	  8707#	  8743#	  8779#	  8815#	  8851#	  8887#	  8923#	  8959#	  8995#	  9031#
	  9067#	  9103#	  9139#	  9175#	  9211#	  9247#	  9283#	  9319#	  9355#	  9391#	  9427#	  9463#	  9499#	  9535#
ABORT	   130#
AC	   753#	   754	   758	   759	   760	   761	   795	   797	   800	   802	   803	   805	   806	   810
	   829	   831	   834	   836	   837	   839	   840	   844	   863	   865	   868	   870	   871	   873
	   874	   878	   897	   899	   902	   904	   905	   907	   908	   912	   931	   933	   936	   938
	   939	   941	   942	   946	   965	   967	   970	   972	   973	   975	   976	   980	   999	  1001
	  1004	  1006	  1007	  1009	  1010	  1014	  1033	  1035	  1038	  1040	  1041	  1043	  1044	  1048
	  1067	  1069	  1072	  1074	  1075	  1077	  1078	  1082	  1101	  1103	  1106	  1108	  1109	  1111
	  1112	  1116	  1135	  1137	  1140	  1142	  1143	  1145	  1146	  1150	  1169	  1171	  1174	  1176
	  1177	  1179	  1180	  1184	  1203	  1205	  1208	  1210	  1211	  1213	  1214	  1218	  1237	  1239
	  1242	  1244	  1245	  1247	  1248	  1252	  1271	  1273	  1276	  1278	  1279	  1281	  1282	  1286
	  1305	  1307	  1310	  1312	  1313	  1315	  1316	  1320	  1339	  1341	  1344	  1346	  1347	  1349
	  1350	  1354	  1373	  1375	  1378	  1380	  1381	  1383	  1384	  1388	  1407	  1409	  1412	  1414
	  1415	  1417	  1418	  1422	  1441	  1443	  1446	  1448	  1449	  1451	  1452	  1456	  1475	  1477
	  1480	  1482	  1483	  1485	  1486	  1490	  1509	  1511	  1514	  1516	  1517	  1519	  1520	  1524
	  1543	  1545	  1548	  1550	  1551	  1553	  1554	  1558	  1577	  1579	  1582	  1584	  1585	  1587
	  1588	  1592	  1611	  1613	  1616	  1618	  1619	  1621	  1622	  1626	  1645	  1647	  1650	  1652
	  1653	  1655	  1656	  1660	  1679	  1681	  1684	  1686	  1687	  1689	  1690	  1694	  1713	  1715
	  1718	  1720	  1721	  1723	  1724	  1728	  1747	  1749	  1752	  1754	  1755	  1757	  1758	  1762
	  1781	  1783	  1786	  1788	  1789	  1791	  1792	  1796	  1815	  1817	  1820	  1822	  1823	  1825     SEQ 0369
	  1826	  1830	  1849	  1851	  1854	  1856	  1857	  1859	  1860	  1864	  1883	  1885	  1888	  1890
	  1891	  1893	  1894	  1898	  1917	  1919	  1922	  1924	  1925	  1927	  1928	  1932	  1951	  1953
	  1956	  1958	  1959	  1961	  1962	  1966	  1985	  1987	  1990	  1992	  1993	  1995	  1996	  2000
	  2001#	  2002	  2004	  2005	  2006	  2007	  2042	  2044	  2047	  2049	  2050	  2052	  2053	  2057
	  2076	  2078	  2081	  2083	  2084	  2086	  2087	  2091	  2110	  2112	  2115	  2117	  2118	  2120
	  2121	  2125	  2144	  2146	  2149	  2151	  2152	  2154	  2155	  2159	  2178	  2180	  2183	  2185
	  2186	  2188	  2189	  2193	  2212	  2214	  2217	  2219	  2220	  2222	  2223	  2227	  2246	  2248
	  2251	  2253	  2254	  2256	  2257	  2261	  2280	  2282	  2285	  2287	  2288	  2290	  2291	  2295
	  2314	  2316	  2319	  2321	  2322	  2324	  2325	  2329	  2348	  2350	  2353	  2355	  2356	  2358
	  2359	  2363	  2382	  2384	  2387	  2389	  2390	  2392	  2393	  2397	  2416	  2418	  2421	  2423
	  2424	  2426	  2427	  2431	  2450	  2452	  2455	  2457	  2458	  2460	  2461	  2465	  2484	  2486
	  2489	  2491	  2492	  2494	  2495	  2499	  2518	  2520	  2523	  2525	  2526	  2528	  2529	  2533
	  2552	  2554	  2557	  2559	  2560	  2562	  2563	  2567	  2586	  2588	  2591	  2593	  2594	  2596
	  2597	  2601	  2620	  2622	  2625	  2627	  2628	  2630	  2631	  2635	  2654	  2656	  2659	  2661
	  2662	  2664	  2665	  2669	  2688	  2690	  2693	  2695	  2696	  2698	  2699	  2703	  2722	  2724
	  2727	  2729	  2730	  2732	  2733	  2737	  2756	  2758	  2761	  2763	  2764	  2766	  2767	  2771
	  2790	  2792	  2795	  2797	  2798	  2800	  2801	  2805	  2824	  2826	  2829	  2831	  2832	  2834
	  2835	  2839	  2858	  2860	  2863	  2865	  2866	  2868	  2869	  2873	  2892	  2894	  2897	  2899
	  2900	  2902	  2903	  2907	  2926	  2928	  2931	  2933	  2934	  2936	  2937	  2941	  2960	  2962
	  2965	  2967	  2968	  2970	  2971	  2975	  2994	  2996	  2999	  3001	  3002	  3004	  3005	  3009
	  3028	  3030	  3033	  3035	  3036	  3038	  3039	  3043	  3062	  3064	  3067	  3069	  3070	  3072
	  3073	  3077	  3096	  3098	  3101	  3103	  3104	  3106	  3107	  3111	  3130	  3132	  3135	  3137
	  3138	  3140	  3141	  3145	  3164	  3166	  3169	  3171	  3172	  3174	  3175	  3179	  3198	  3200
	  3203	  3205	  3206	  3208	  3209	  3213	  3232	  3234	  3237	  3239	  3240	  3242	  3243	  3247
	  3248#	  3249	  3251	  3252	  3253	  3254	  3288	  3290	  3293	  3295	  3296	  3298	  3299	  3303
	  3322	  3324	  3327	  3329	  3330	  3332	  3333	  3337	  3356	  3358	  3361	  3363	  3364	  3366
	  3367	  3371	  3390	  3392	  3395	  3397	  3398	  3400	  3401	  3405	  3424	  3426	  3429	  3431
	  3432	  3434	  3435	  3439	  3458	  3460	  3463	  3465	  3466	  3468	  3469	  3473	  3492	  3494
	  3497	  3499	  3500	  3502	  3503	  3507	  3526	  3528	  3531	  3533	  3534	  3536	  3537	  3541
	  3560	  3562	  3565	  3567	  3568	  3570	  3571	  3575	  3594	  3596	  3599	  3601	  3602	  3604
	  3605	  3609	  3628	  3630	  3633	  3635	  3636	  3638	  3639	  3643	  3662	  3664	  3667	  3669
	  3670	  3672	  3673	  3677	  3696	  3698	  3701	  3703	  3704	  3706	  3707	  3711	  3730	  3732
	  3735	  3737	  3738	  3740	  3741	  3745	  3764	  3766	  3769	  3771	  3772	  3774	  3775	  3779
	  3798	  3800	  3803	  3805	  3806	  3808	  3809	  3813	  3832	  3834	  3837	  3839	  3840	  3842
	  3843	  3847	  3866	  3868	  3871	  3873	  3874	  3876	  3877	  3881	  3900	  3902	  3905	  3907
	  3908	  3910	  3911	  3915	  3934	  3936	  3939	  3941	  3942	  3944	  3945	  3949	  3968	  3970
	  3973	  3975	  3976	  3978	  3979	  3983	  4002	  4004	  4007	  4009	  4010	  4012	  4013	  4017
	  4036	  4038	  4041	  4043	  4044	  4046	  4047	  4051	  4070	  4072	  4075	  4077	  4078	  4080
	  4081	  4085	  4104	  4106	  4109	  4111	  4112	  4114	  4115	  4119	  4138	  4140	  4143	  4145
	  4146	  4148	  4149	  4153	  4172	  4174	  4177	  4179	  4180	  4182	  4183	  4187	  4206	  4208
	  4211	  4213	  4214	  4216	  4217	  4221	  4240	  4242	  4245	  4247	  4248	  4250	  4251	  4255
	  4274	  4276	  4279	  4281	  4282	  4284	  4285	  4289	  4308	  4310	  4313	  4315	  4316	  4318
	  4319	  4323	  4342	  4344	  4347	  4349	  4350	  4352	  4353	  4357	  4376	  4378	  4381	  4383
	  4384	  4386	  4387	  4391	  4410	  4412	  4415	  4417	  4418	  4420	  4421	  4425	  4444	  4446
	  4449	  4451	  4452	  4454	  4455	  4459	  4478	  4480	  4483	  4485	  4486	  4488	  4489	  4493
	  4494#	  4495	  4497	  4498	  4499	  4500	  4529	  4531	  4534	  4536	  4537	  4539	  4540	  4544
	  4561	  4563	  4566	  4568	  4569	  4571	  4572	  4576	  4593	  4595	  4598	  4600	  4601	  4603
	  4604	  4608	  4625	  4627	  4630	  4632	  4633	  4635	  4636	  4640	  4657	  4659	  4662	  4664
	  4665	  4667	  4668	  4672	  4689	  4691	  4694	  4696	  4697	  4699	  4700	  4704	  4721	  4723
	  4726	  4728	  4729	  4731	  4732	  4736	  4753	  4755	  4758	  4760	  4761	  4763	  4764	  4768
	  4785	  4787	  4790	  4792	  4793	  4795	  4796	  4800	  4817	  4819	  4822	  4824	  4825	  4827
	  4828	  4832	  4849	  4851	  4854	  4856	  4857	  4859	  4860	  4864	  4881	  4883	  4886	  4888
	  4889	  4891	  4892	  4896	  4913	  4915	  4918	  4920	  4921	  4923	  4924	  4928	  4945	  4947     SEQ 0370
	  4950	  4952	  4953	  4955	  4956	  4960	  4977	  4979	  4982	  4984	  4985	  4987	  4988	  4992
	  5009	  5011	  5014	  5016	  5017	  5019	  5020	  5024	  5041	  5043	  5046	  5048	  5049	  5051
	  5052	  5056	  5073	  5075	  5078	  5080	  5081	  5083	  5084	  5088	  5105	  5107	  5110	  5112
	  5113	  5115	  5116	  5120	  5137	  5139	  5142	  5144	  5145	  5147	  5148	  5152	  5169	  5171
	  5174	  5176	  5177	  5179	  5180	  5184	  5201	  5203	  5206	  5208	  5209	  5211	  5212	  5216
	  5233	  5235	  5238	  5240	  5241	  5243	  5244	  5248	  5265	  5267	  5270	  5272	  5273	  5275
	  5276	  5280	  5297	  5299	  5302	  5304	  5305	  5307	  5308	  5312	  5329	  5331	  5334	  5336
	  5337	  5339	  5340	  5344	  5361	  5363	  5366	  5368	  5369	  5371	  5372	  5376	  5393	  5395
	  5398	  5400	  5401	  5403	  5404	  5408	  5425	  5427	  5430	  5432	  5433	  5435	  5436	  5440
	  5457	  5459	  5462	  5464	  5465	  5467	  5468	  5472	  5489	  5491	  5494	  5496	  5497	  5499
	  5500	  5504	  5521	  5523	  5526	  5528	  5529	  5531	  5532	  5536	  5553	  5555	  5558	  5560
	  5561	  5563	  5564	  5568	  5585	  5587	  5590	  5592	  5593	  5595	  5596	  5600	  5617	  5619
	  5622	  5624	  5625	  5627	  5628	  5632	  5649	  5651	  5654	  5656	  5657	  5659	  5660	  5664
	  5665#	  5666	  5668	  5669	  5670	  5671	  5704	  5706	  5709	  5711	  5712	  5714	  5715	  5719
	  5738	  5740	  5743	  5745	  5746	  5748	  5749	  5753	  5772	  5774	  5777	  5779	  5780	  5782
	  5783	  5787	  5806	  5808	  5811	  5813	  5814	  5816	  5817	  5821	  5840	  5842	  5845	  5847
	  5848	  5850	  5851	  5855	  5874	  5876	  5879	  5881	  5882	  5884	  5885	  5889	  5908	  5910
	  5913	  5915	  5916	  5918	  5919	  5923	  5942	  5944	  5947	  5949	  5950	  5952	  5953	  5957
	  5976	  5978	  5981	  5983	  5984	  5986	  5987	  5991	  6010	  6012	  6015	  6017	  6018	  6020
	  6021	  6025	  6044	  6046	  6049	  6051	  6052	  6054	  6055	  6059	  6078	  6080	  6083	  6085
	  6086	  6088	  6089	  6093	  6112	  6114	  6117	  6119	  6120	  6122	  6123	  6127	  6146	  6148
	  6151	  6153	  6154	  6156	  6157	  6161	  6180	  6182	  6185	  6187	  6188	  6190	  6191	  6195
	  6214	  6216	  6219	  6221	  6222	  6224	  6225	  6229	  6248	  6250	  6253	  6255	  6256	  6258
	  6259	  6263	  6282	  6284	  6287	  6289	  6290	  6292	  6293	  6297	  6316	  6318	  6321	  6323
	  6324	  6326	  6327	  6331	  6350	  6352	  6355	  6357	  6358	  6360	  6361	  6365	  6384	  6386
	  6389	  6391	  6392	  6394	  6395	  6399	  6418	  6420	  6423	  6425	  6426	  6428	  6429	  6433
	  6452	  6454	  6457	  6459	  6460	  6462	  6463	  6467	  6486	  6488	  6491	  6493	  6494	  6496
	  6497	  6501	  6520	  6522	  6525	  6527	  6528	  6530	  6531	  6535	  6554	  6556	  6559	  6561
	  6562	  6564	  6565	  6569	  6588	  6590	  6593	  6595	  6596	  6598	  6599	  6603	  6622	  6624
	  6627	  6629	  6630	  6632	  6633	  6637	  6656	  6658	  6661	  6663	  6664	  6666	  6667	  6671
	  6690	  6692	  6695	  6697	  6698	  6700	  6701	  6705	  6724	  6726	  6729	  6731	  6732	  6734
	  6735	  6739	  6758	  6760	  6763	  6765	  6766	  6768	  6769	  6773	  6792	  6794	  6797	  6799
	  6800	  6802	  6803	  6807	  6826	  6828	  6831	  6833	  6834	  6836	  6837	  6841	  6860	  6862
	  6865	  6867	  6868	  6870	  6871	  6875	  6894	  6896	  6899	  6901	  6902	  6904	  6905	  6909
	  6910#	  6911	  6913	  6914	  6915	  6916	  6954	  6956	  6959	  6961	  6962	  6964	  6965	  6969
	  6990	  6992	  6995	  6997	  6998	  7000	  7001	  7005	  7026	  7028	  7031	  7033	  7034	  7036
	  7037	  7041	  7062	  7064	  7067	  7069	  7070	  7072	  7073	  7077	  7098	  7100	  7103	  7105
	  7106	  7108	  7109	  7113	  7134	  7136	  7139	  7141	  7142	  7144	  7145	  7149	  7170	  7172
	  7175	  7177	  7178	  7180	  7181	  7185	  7206	  7208	  7211	  7213	  7214	  7216	  7217	  7221
	  7242	  7244	  7247	  7249	  7250	  7252	  7253	  7257	  7278	  7280	  7283	  7285	  7286	  7288
	  7289	  7293	  7314	  7316	  7319	  7321	  7322	  7324	  7325	  7329	  7350	  7352	  7355	  7357
	  7358	  7360	  7361	  7365	  7386	  7388	  7391	  7393	  7394	  7396	  7397	  7401	  7422	  7424
	  7427	  7429	  7430	  7432	  7433	  7437	  7458	  7460	  7463	  7465	  7466	  7468	  7469	  7473
	  7494	  7496	  7499	  7501	  7502	  7504	  7505	  7509	  7530	  7532	  7535	  7537	  7538	  7540
	  7541	  7545	  7566	  7568	  7571	  7573	  7574	  7576	  7577	  7581	  7602	  7604	  7607	  7609
	  7610	  7612	  7613	  7617	  7638	  7640	  7643	  7645	  7646	  7648	  7649	  7653	  7674	  7676
	  7679	  7681	  7682	  7684	  7685	  7689	  7710	  7712	  7715	  7717	  7718	  7720	  7721	  7725
	  7746	  7748	  7751	  7753	  7754	  7756	  7757	  7761	  7782	  7784	  7787	  7789	  7790	  7792
	  7793	  7797	  7818	  7820	  7823	  7825	  7826	  7828	  7829	  7833	  7854	  7856	  7859	  7861
	  7862	  7864	  7865	  7869	  7890	  7892	  7895	  7897	  7898	  7900	  7901	  7905	  7926	  7928
	  7931	  7933	  7934	  7936	  7937	  7941	  7962	  7964	  7967	  7969	  7970	  7972	  7973	  7977
	  7998	  8000	  8003	  8005	  8006	  8008	  8009	  8013	  8034	  8036	  8039	  8041	  8042	  8044
	  8045	  8049	  8070	  8072	  8075	  8077	  8078	  8080	  8081	  8085	  8106	  8108	  8111	  8113     SEQ 0371
	  8114	  8116	  8117	  8121	  8142	  8144	  8147	  8149	  8150	  8152	  8153	  8157	  8178	  8180
	  8183	  8185	  8186	  8188	  8189	  8193	  8214	  8216	  8219	  8221	  8222	  8224	  8225	  8229
	  8230#	  8231	  8233	  8234	  8235	  8236	  8274	  8276	  8279	  8281	  8282	  8284	  8285	  8289
	  8310	  8312	  8315	  8317	  8318	  8320	  8321	  8325	  8346	  8348	  8351	  8353	  8354	  8356
	  8357	  8361	  8382	  8384	  8387	  8389	  8390	  8392	  8393	  8397	  8418	  8420	  8423	  8425
	  8426	  8428	  8429	  8433	  8454	  8456	  8459	  8461	  8462	  8464	  8465	  8469	  8490	  8492
	  8495	  8497	  8498	  8500	  8501	  8505	  8526	  8528	  8531	  8533	  8534	  8536	  8537	  8541
	  8562	  8564	  8567	  8569	  8570	  8572	  8573	  8577	  8598	  8600	  8603	  8605	  8606	  8608
	  8609	  8613	  8634	  8636	  8639	  8641	  8642	  8644	  8645	  8649	  8670	  8672	  8675	  8677
	  8678	  8680	  8681	  8685	  8706	  8708	  8711	  8713	  8714	  8716	  8717	  8721	  8742	  8744
	  8747	  8749	  8750	  8752	  8753	  8757	  8778	  8780	  8783	  8785	  8786	  8788	  8789	  8793
	  8814	  8816	  8819	  8821	  8822	  8824	  8825	  8829	  8850	  8852	  8855	  8857	  8858	  8860
	  8861	  8865	  8886	  8888	  8891	  8893	  8894	  8896	  8897	  8901	  8922	  8924	  8927	  8929
	  8930	  8932	  8933	  8937	  8958	  8960	  8963	  8965	  8966	  8968	  8969	  8973	  8994	  8996
	  8999	  9001	  9002	  9004	  9005	  9009	  9030	  9032	  9035	  9037	  9038	  9040	  9041	  9045
	  9066	  9068	  9071	  9073	  9074	  9076	  9077	  9081	  9102	  9104	  9107	  9109	  9110	  9112
	  9113	  9117	  9138	  9140	  9143	  9145	  9146	  9148	  9149	  9153	  9174	  9176	  9179	  9181
	  9182	  9184	  9185	  9189	  9210	  9212	  9215	  9217	  9218	  9220	  9221	  9225	  9246	  9248
	  9251	  9253	  9254	  9256	  9257	  9261	  9282	  9284	  9287	  9289	  9290	  9292	  9293	  9297
	  9318	  9320	  9323	  9325	  9326	  9328	  9329	  9333	  9354	  9356	  9359	  9361	  9362	  9364
	  9365	  9369	  9390	  9392	  9395	  9397	  9398	  9400	  9401	  9405	  9426	  9428	  9431	  9433
	  9434	  9436	  9437	  9441	  9462	  9464	  9467	  9469	  9470	  9472	  9473	  9477	  9498	  9500
	  9503	  9505	  9506	  9508	  9509	  9513	  9534	  9536	  9539	  9541	  9542	  9544	  9545	  9549
	  9553#	  9555	  9556	  9557	  9558	  9585	  9586	  9587	  9588	  9589	  9590	  9591	  9592	  9599
	  9600	  9601	  9602	  9603	  9604	  9605	  9606	  9612#	  9614	  9615	  9616	  9617	  9641	  9642
	  9643	  9644	  9645	  9646	  9647	  9648	  9649	  9650	  9655	  9656	  9657	  9658	  9659	  9660
	  9661	  9662	  9663	  9664	  9669#	  9671	  9672	  9673	  9674	  9696	  9697	  9698	  9699	  9700
	  9701	  9702	  9703	  9708	  9709	  9710	  9711	  9712	  9713	  9714	  9715	  9720#	  9722	  9723
	  9724	  9725	  9744	  9745	  9746	  9747	  9748	  9749	  9750	  9751	  9755	  9756	  9757	  9758
	  9759	  9760	  9761	  9762	  9768#	  9770	  9771	  9772	  9773	  9797	  9798	  9799	  9800	  9801
	  9802	  9803	  9804	  9810	  9811	  9812	  9813	  9814	  9815	  9816	  9817	  9822#	  9824	  9825
	  9826	  9827	  9851	  9852	  9853	  9854	  9855	  9856	  9857	  9858	  9859	  9860	  9865	  9866
	  9867	  9868	  9869	  9870	  9871	  9872	  9873	  9874	  9879#	  9881	  9882	  9883	  9884	  9913
	  9914	  9915	  9916	  9917	  9918	  9919	  9920	  9921	  9922	  9929	  9930	  9931	  9932	  9933
	  9934	  9935	  9936	  9937	  9938	  9944#	  9946	  9947	  9948	  9949	  9971	  9972	  9973	  9974
	  9975	  9976	  9977	  9978	  9983	  9984	  9985	  9986	  9987	  9988	  9989	  9990	  9995#	  9997
	  9998	  9999	 10000	 10022	 10023	 10024	 10025	 10026	 10027	 10028	 10029	 10030	 10035	 10036
	 10037	 10038	 10039	 10040	 10041	 10042	 10043	 10048#	 10050	 10051	 10052	 10053	 10081	 10082
	 10083	 10084	 10085	 10086	 10087	 10088	 10089	 10090	 10097	 10098	 10099	 10100	 10101	 10102
	 10103	 10104	 10105	 10106	 10112#	 10114	 10115	 10116	 10117	 10139	 10140	 10141	 10142	 10143
	 10144	 10145	 10146	 10151	 10152	 10153	 10154	 10155	 10156	 10157	 10158	 10167#	 10184	 10184#
	 10186	 10187	 10188	 10189	 10191	 10192	 10193	 10194	 10195	 10196	 10197	 10198	 10199	 10202
	 10202#	 10204	 10205	 10206	 10207	 10209	 10210	 10211	 10212	 10213	 10214	 10215	 10216	 10217
	 10227#	 10229	 10230	 10231	 10232	 10255	 10256	 10257	 10258	 10259	 10260	 10261	 10262	 10263
	 10264	 10265	 10266	 10270	 10271	 10272	 10273	 10274	 10275	 10276	 10277	 10278	 10279	 10280
	 10281	 10299	 10300	 10301	 10302	 10303	 10304	 10308	 10309	 10310	 10311	 10312	 10313	 10332
	 10333	 10334	 10335	 10336	 10337	 10338	 10342	 10343	 10344	 10345	 10346	 10347	 10348	 10358#
	 10360	 10361	 10362	 10363	 10389	 10390	 10391	 10392	 10393	 10394	 10395	 10396	 10397	 10398
	 10399	 10400	 10405	 10406	 10407	 10408	 10409	 10410	 10411	 10412	 10413	 10414	 10415	 10416
	 10425	 10426	 10427	 10428	 10429	 10430	 10431	 10432	 10434	 10435	 10444	 10445	 10446	 10447
	 10448	 10449	 10450	 10451	 10452	 10453	 10455	 10456	 10462#	 10464	 10465	 10466	 10467	 10485
	 10486	 10487	 10488	 10489	 10490	 10494	 10495	 10496	 10497	 10498	 10499	 10508#	 10510	 10511
	 10512	 10513	 10539	 10540	 10541	 10542	 10543	 10544	 10547	 10548	 10554	 10555	 10556	 10557     SEQ 0372
	 10558	 10559	 10562	 10563	 10590	 10591	 10592	 10593	 10594	 10595	 10596	 10598	 10599	 10605
	 10606	 10607	 10608	 10609	 10610	 10611	 10613	 10614	 10640	 10641	 10642	 10643	 10644	 10645
	 10648	 10649	 10655	 10656	 10657	 10658	 10659	 10660	 10663	 10664	 10687	 10688	 10689	 10690
	 10691	 10692	 10694	 10695	 10700	 10701	 10702	 10703	 10704	 10705	 10707	 10708	 10735	 10736
	 10737	 10738	 10739	 10740	 10741	 10744	 10745	 10751	 10752	 10753	 10754	 10755	 10756	 10757
	 10760	 10761	 10766#	 10768	 10769	 10770	 10771	 10799	 10800	 10801	 10802	 10803	 10804	 10807
	 10808	 10815	 10816	 10817	 10818	 10819	 10820	 10823	 10824	 10830#	 10832	 10833	 10834	 10835
	 10862	 10863	 10864	 10865	 10866	 10867	 10868	 10871	 10872	 10878	 10879	 10880	 10881	 10882
	 10883	 10884	 10887	 10888	 10893#	 10895	 10896	 10897	 10898	 10925	 10926	 10927	 10928	 10929
	 10930	 10931	 10934	 10935	 10941	 10942	 10943	 10944	 10945	 10946	 10947	 10950	 10951	 10955
	 10956	 10957	 10958	 10959	 10960	 10961	 10962	 10964	 10965	 10974#	 10976	 10977	 10978	 10979
	 10998	 10999	 11000	 11001	 11002	 11003	 11004	 11008	 11009	 11010	 11011	 11012	 11013	 11014
	 11018#	 11020	 11021	 11022	 11023	 11043	 11044	 11045	 11046	 11047	 11048	 11049	 11050	 11051
	 11055	 11056	 11057	 11058	 11059	 11060	 11061	 11062	 11063	 11071#	 11073	 11074	 11075	 11076
	 11091	 11092	 11093	 11094	 11095	 11096	 11100	 11101	 11102	 11103	 11104	 11105	 11118#	 11120
	 11121	 11122	 11123	 11151	 11152	 11153	 11154	 11157	 11158	 11159	 11160	 11161	 11162	 11169
	 11170	 11171	 11172	 11175	 11176	 11177	 11178	 11179	 11180	 11185	 11186	 11187	 11188	 11189
	 11190	 11191	 11197#	 11199	 11200	 11201	 11202	 11218	 11219	 11220	 11221	 11222	 11223	 11227
	 11228	 11229	 11230	 11231	 11232	 11238#	 11240	 11241	 11242	 11243	 11270	 11271	 11272	 11273
	 11274	 11275	 11276	 11277	 11278	 11280	 11281	 11282	 11283	 11288	 11289	 11290	 11291	 11292
	 11293	 11294	 11295	 11296	 11298	 11299	 11300	 11301	 11307#	 11309	 11310	 11311	 11312	 11337
	 11338	 11339	 11340	 11341	 11342	 11343	 11344	 11347	 11348	 11353	 11354	 11355	 11356	 11357
	 11358	 11359	 11360	 11363	 11364	 11369#	 11371	 11372	 11373	 11374	 11399	 11400	 11401	 11402
	 11403	 11404	 11405	 11406	 11409	 11410	 11415	 11416	 11417	 11418	 11419	 11420	 11421	 11422
	 11425	 11426	 11432#	 11434	 11435	 11436	 11437	 11457	 11458	 11459	 11460	 11461	 11462	 11463
	 11464	 11468	 11469	 11470	 11471	 11472	 11473	 11474	 11475	 11480#	 11482	 11483	 11484	 11485
	 11510	 11511	 11512	 11513	 11514	 11515	 11516	 11517	 11518	 11524	 11525	 11526	 11527	 11528
	 11529	 11530	 11531	 11532	 11537#	 11539	 11540	 11541	 11542	 11562	 11563	 11564	 11565	 11566
	 11567	 11568	 11569	 11570	 11574	 11575	 11576	 11577	 11578	 11579	 11580	 11581	 11582	 11591#
	 11593	 11594	 11595	 11596	 11616	 11617	 11618	 11619	 11620	 11621	 11622	 11623	 11624	 11628
	 11629	 11630	 11631	 11632	 11633	 11634	 11635	 11636	 11643#	 11645	 11646	 11647	 11648	 11667
	 11668	 11669	 11670	 11671	 11672	 11673	 11674	 11678	 11679	 11680	 11681	 11682	 11683	 11684
	 11685	 11708	 11709	 11710	 11711	 11712	 11713	 11714	 11715	 11716	 11721	 11722	 11723	 11724
	 11725	 11726	 11727	 11728	 11729	 11735#	 11737	 11738	 11739	 11740	 11757	 11758	 11759	 11760
	 11761	 11762	 11766	 11767	 11768	 11769	 11770	 11771	 11778#	 11780	 11781	 11782	 11783	 11806
	 11807	 11808	 11809	 11810	 11811	 11812	 11813	 11814	 11819	 11820	 11821	 11822	 11823	 11824
	 11825	 11826	 11827	 11832#	 11834	 11835	 11836	 11837	 11862	 11863	 11864	 11865	 11866	 11867
	 11868	 11869	 11870	 11876	 11877	 11878	 11879	 11880	 11881	 11882	 11883	 11884	 11906	 11907
	 11908	 11909	 11910	 11911	 11912	 11913	 11917	 11918	 11919	 11920	 11921	 11922	 11923	 11924
	 11929#	 11931	 11932	 11933	 11934	 11953	 11954	 11955	 11956	 11957	 11958	 11959	 11960	 11964
	 11965	 11966	 11967	 11968	 11969	 11970	 11971	 11976#	 11978	 11979	 11980	 11981	 12001	 12002
	 12003	 12004	 12005	 12006	 12007	 12008	 12009	 12013	 12014	 12015	 12016	 12017	 12018	 12019
	 12020	 12021	 12029#	 12031	 12032	 12033	 12034	 12055	 12056	 12057	 12058	 12059	 12060	 12061
	 12062	 12063	 12064	 12068	 12069	 12070	 12071	 12072	 12073	 12074	 12075	 12076	 12077	 12082#
	 12084	 12085	 12086	 12087	 12108	 12109	 12110	 12111	 12112	 12113	 12114	 12115	 12116	 12117
	 12121	 12122	 12123	 12124	 12125	 12126	 12127	 12128	 12129	 12130	 12135#	 12137	 12138	 12139
	 12140	 12160	 12161	 12162	 12163	 12164	 12165	 12166	 12167	 12168	 12172	 12173	 12174	 12175
	 12176	 12177	 12178	 12179	 12180	 12190#	 12192	 12193	 12194	 12195	 12214	 12215	 12216	 12217
	 12218	 12219	 12220	 12221	 12225	 12226	 12227	 12228	 12229	 12230	 12231	 12232	 12240#	 12264
	 12264#	 12266	 12267	 12268	 12269	 12271	 12272	 12273	 12274	 12275	 12276	 12277	 12278	 12281
	 12282	 12286	 12286#	 12288	 12289	 12290	 12291	 12293	 12294	 12295	 12296	 12297	 12298	 12299
	 12300	 12303	 12304	 12311#	 12313	 12314	 12315	 12316	 12337	 12338	 12339	 12340	 12341	 12342
	 12343	 12344	 12345	 12349	 12350	 12351	 12352	 12353	 12354	 12355	 12356	 12357	 12365#	 12367     SEQ 0373
	 12368	 12369	 12370	 12390	 12391	 12392	 12393	 12394	 12395	 12396	 12397	 12398	 12402	 12403
	 12404	 12405	 12406	 12407	 12408	 12409	 12410	 12419#	 12421	 12422	 12423	 12424	 12429	 12430
	 12431	 12432	 12433	 12434	 12435	 12436	 12437	 12438	 12439	 12443	 12444	 12445	 12446	 12447
	 12448	 12449	 12450	 12451	 12452	 12453	 12455	 12456	 12457	 12458	 12465#	 12467	 12468	 12469
	 12470	 12494	 12495	 12496	 12497	 12498	 12499	 12500	 12501	 12502	 12507	 12508	 12509	 12510
	 12511	 12512	 12513	 12514	 12515	 12521#	 12523	 12524	 12525	 12526	 12553	 12554	 12555	 12556
	 12557	 12559	 12560	 12561	 12562	 12563	 12564	 12565	 12566	 12571	 12572	 12573	 12574	 12575
	 12577	 12578	 12579	 12580	 12581	 12582	 12583	 12584	 12592#	 12594	 12595	 12596	 12597	 12617
	 12618	 12619	 12620	 12621	 12622	 12623	 12624	 12628	 12629	 12630	 12631	 12632	 12633	 12634
	 12635	 12641#	 12643	 12644	 12645	 12646	 12670	 12671	 12672	 12673	 12674	 12675	 12676	 12677
	 12678	 12679	 12684	 12685	 12686	 12687	 12688	 12689	 12690	 12691	 12692	 12693	 12699#	 12701
	 12702	 12703	 12704	 12739	 12740	 12741	 12742	 12743	 12744	 12745	 12746	 12747	 12748	 12751
	 12752	 12753	 12754	 12761	 12762	 12763	 12764	 12765	 12766	 12767	 12768	 12769	 12770	 12773
	 12774	 12775	 12776	 12782#	 12784	 12785	 12786	 12787	 12814	 12815	 12816	 12817	 12818	 12819
	 12820	 12821	 12822	 12828	 12829	 12830	 12831	 12832	 12833	 12834	 12835	 12836	 12844#	 12846
	 12847	 12848	 12849	 12883	 12884	 12885	 12886	 12887	 12888	 12890	 12891	 12892	 12893	 12894
	 12895	 12896	 12897	 12904	 12905	 12906	 12907	 12908	 12909	 12911	 12912	 12913	 12914	 12915
	 12916	 12917	 12918	 12925#	 12927	 12928	 12929	 12930	 12956	 12957	 12958	 12959	 12960	 12962
	 12963	 12964	 12965	 12971	 12972	 12973	 12974	 12975	 12977	 12978	 12979	 12980	 12987#	 12989
	 12990	 12991	 12992	 13016	 13017	 13018	 13019	 13020	 13023	 13024	 13030	 13031	 13032	 13033
	 13034	 13037	 13038	 13047#	 13067	 13067#	 13070	 13071	 13072	 13073	 13075	 13076	 13077	 13078
	 13079	 13082	 13083	 13086	 13086#	 13089	 13090	 13091	 13092	 13094	 13095	 13096	 13097	 13098
	 13101	 13102	 13108#	 13110	 13111	 13112	 13113	 13138	 13139	 13140	 13141	 13142	 13143	 13144
	 13145	 13146	 13147	 13152	 13153	 13154	 13155	 13156	 13157	 13158	 13159	 13160	 13161	 13169#
	 13171	 13172	 13173	 13174	 13194	 13195	 13196	 13197	 13198	 13199	 13200	 13201	 13202	 13206
	 13207	 13208	 13209	 13210	 13211	 13212	 13213	 13214	 13220	 13221	 13222	 13223	 13224	 13225
	 13226	 13227	 13228	 13229	 13230	 13232	 13233	 13234	 13235	 13247#	 13249	 13250	 13251	 13252
	 13279	 13280	 13281	 13282	 13283	 13284	 13285	 13286	 13287	 13288	 13289	 13295	 13296	 13297
	 13298	 13299	 13300	 13301	 13302	 13303	 13304	 13305	 13311	 13312	 13313	 13314	 13315	 13316
	 13317	 13318	 13319	 13320	 13321	 13327	 13328	 13329	 13330	 13331	 13332	 13333	 13334	 13335
	 13336	 13337	 13343	 13344	 13345	 13346	 13347	 13348	 13349	 13350	 13351	 13352	 13353	 13359
	 13360	 13361	 13362	 13363	 13364	 13365	 13366	 13367	 13368	 13369	 13375	 13376	 13377	 13378
	 13379	 13380	 13381	 13382	 13383	 13384	 13385	 13391	 13392	 13393	 13394	 13395	 13396	 13397
	 13398	 13399	 13400	 13401	 13407	 13408	 13409	 13410	 13411	 13412	 13413	 13414	 13415	 13416
	 13417	 13423	 13424	 13425	 13426	 13427	 13428	 13429	 13430	 13431	 13432	 13433	 13443#	 13445
	 13446	 13447	 13448	 13473	 13474	 13475	 13476	 13477	 13478	 13479	 13480	 13481	 13487	 13488
	 13489	 13490	 13491	 13492	 13493	 13494	 13495	 13501	 13502	 13503	 13504	 13505	 13506	 13507
	 13508	 13509	 13515	 13516	 13517	 13518	 13519	 13520	 13521	 13522	 13523	 13529	 13530	 13531
	 13532	 13533	 13534	 13535	 13536	 13537	 13546#	 13548	 13549	 13550	 13551	 13570	 13571	 13572
	 13573	 13574	 13575	 13580	 13581	 13582	 13583	 13584	 13585	 13590	 13591	 13592	 13593	 13594
	 13595	 13600	 13601	 13602	 13603	 13604	 13605	 13610	 13611	 13612	 13613	 13614	 13615	 13625#
	 13627	 13628	 13629	 13630	 13659	 13660	 13661	 13662	 13663	 13664	 13665	 13666	 13667	 13668
	 13669	 13676	 13677	 13678	 13679	 13680	 13681	 13682	 13683	 13684	 13685	 13686	 13693	 13694
	 13695	 13696	 13697	 13698	 13699	 13700	 13701	 13702	 13703	 13710	 13711	 13712	 13713	 13714
	 13715	 13716	 13717	 13718	 13719	 13720	 13727	 13728	 13729	 13730	 13731	 13732	 13733	 13734
	 13735	 13736	 13737	 13746#	 13748	 13749	 13750	 13751	 13779	 13780	 13781	 13782	 13783	 13784
	 13785	 13786	 13787	 13788	 13789	 13790	 13796	 13797	 13798	 13799	 13800	 13801	 13802	 13803
	 13804	 13805	 13806	 13807	 13813	 13814	 13815	 13816	 13817	 13818	 13819	 13820	 13821	 13822
	 13823	 13824	 13830	 13831	 13832	 13833	 13834	 13835	 13836	 13837	 13838	 13839	 13840	 13841
	 13847	 13848	 13849	 13850	 13851	 13852	 13853	 13854	 13855	 13856	 13857	 13858	 13868#	 13870
	 13871	 13872	 13873	 13898	 13899	 13900	 13901	 13902	 13903	 13904	 13905	 13906	 13912	 13913
	 13914	 13915	 13916	 13917	 13918	 13919	 13920	 13926	 13927	 13928	 13929	 13930	 13931	 13932
	 13933	 13934	 13940	 13941	 13942	 13943	 13944	 13945	 13946	 13947	 13948	 13954	 13955	 13956     SEQ 0374
	 13957	 13958	 13959	 13960	 13961	 13962	 13971#	 13973	 13974	 13975	 13976	 13996	 13997	 13998
	 13999	 14000	 14001	 14006	 14007	 14008	 14009	 14010	 14011	 14016	 14017	 14018	 14019	 14020
	 14021	 14026	 14027	 14028	 14029	 14030	 14031	 14036	 14037	 14038	 14039	 14040	 14041	 14050#
	 14052	 14053	 14054	 14055	 14081	 14082	 14083	 14084	 14085	 14086	 14087	 14088	 14089	 14090
	 14091	 14092	 14097	 14098	 14099	 14100	 14101	 14102	 14103	 14104	 14105	 14106	 14107	 14108
	 14113	 14114	 14115	 14116	 14117	 14118	 14119	 14120	 14121	 14122	 14123	 14124	 14129	 14130
	 14131	 14132	 14133	 14134	 14135	 14136	 14137	 14138	 14139	 14140	 14145	 14146	 14147	 14148
	 14149	 14150	 14151	 14152	 14153	 14154	 14155	 14156	 14165#	 14167	 14168	 14169	 14170	 14191
	 14192	 14193	 14194	 14195	 14196	 14197	 14198	 14203	 14204	 14205	 14206	 14207	 14208	 14209
	 14210	 14215	 14216	 14217	 14218	 14219	 14220	 14221	 14222	 14227	 14228	 14229	 14230	 14231
	 14232	 14233	 14234	 14239	 14240	 14241	 14242	 14243	 14244	 14245	 14246	 14258#	 14260	 14261
	 14262	 14263	 14284	 14285	 14286	 14287	 14288	 14289	 14290	 14291	 14296	 14297	 14298	 14299
	 14300	 14301	 14302	 14303	 14308	 14309	 14310	 14311	 14312	 14313	 14314	 14315	 14320	 14321
	 14322	 14323	 14324	 14325	 14326	 14327	 14332	 14333	 14334	 14335	 14336	 14337	 14338	 14339
	 14344	 14345	 14346	 14347	 14348	 14349	 14350	 14351	 14356	 14357	 14358	 14359	 14360	 14361
	 14362	 14363	 14368	 14369	 14370	 14371	 14372	 14373	 14374	 14375	 14380	 14381	 14382	 14383
	 14384	 14385	 14386	 14387	 14392	 14393	 14394	 14395	 14396	 14397	 14398	 14399	 14404	 14405
	 14406	 14407	 14408	 14409	 14410	 14411	 14416	 14417	 14418	 14419	 14420	 14421	 14422	 14423
	 14428	 14429	 14430	 14431	 14432	 14433	 14434	 14435	 14440	 14441	 14442	 14443	 14444	 14445
	 14446	 14447	 14452	 14453	 14454	 14455	 14456	 14457	 14458	 14459	 14464	 14465	 14466	 14467
	 14468	 14469	 14470	 14471	 14476	 14477	 14478	 14479	 14480	 14481	 14482	 14483	 14488	 14489
	 14490	 14491	 14492	 14493	 14494	 14495	 14516	 14517	 14518	 14519	 14520	 14521	 14522	 14523
	 14528	 14529	 14530	 14531	 14532	 14533	 14534	 14535	 14540	 14541	 14542	 14543	 14544	 14545
	 14546	 14547	 14552	 14553	 14554	 14555	 14556	 14557	 14558	 14559	 14564	 14565	 14566	 14567
	 14568	 14569	 14570	 14571	 14576	 14577	 14578	 14579	 14580	 14581	 14582	 14583	 14588	 14589
	 14590	 14591	 14592	 14593	 14594	 14595	 14600	 14601	 14602	 14603	 14604	 14605	 14606	 14607
	 14612	 14613	 14614	 14615	 14616	 14617	 14618	 14619	 14624	 14625	 14626	 14627	 14628	 14629
	 14630	 14631	 14636	 14637	 14638	 14639	 14640	 14641	 14642	 14643	 14648	 14649	 14650	 14651
	 14652	 14653	 14654	 14655	 14660	 14661	 14662	 14663	 14664	 14665	 14666	 14667	 14672	 14673
	 14674	 14675	 14676	 14677	 14678	 14679	 14684	 14685	 14686	 14687	 14688	 14689	 14690	 14691
	 14696	 14697	 14698	 14699	 14700	 14701	 14702	 14703	 14708	 14709	 14710	 14711	 14712	 14713
	 14714	 14715	 14727#	 14729	 14730	 14731	 14732	 14756	 14757	 14758	 14759	 14760	 14761	 14762
	 14763	 14764	 14765	 14766	 14771	 14772	 14773	 14774	 14775	 14776	 14777	 14778	 14779	 14780
	 14781	 14786	 14787	 14788	 14789	 14790	 14791	 14792	 14793	 14794	 14795	 14796	 14801	 14802
	 14803	 14804	 14805	 14806	 14807	 14808	 14809	 14810	 14811	 14816	 14817	 14818	 14819	 14820
	 14821	 14822	 14823	 14824	 14825	 14826	 14831	 14832	 14833	 14834	 14835	 14836	 14837	 14838
	 14839	 14840	 14841	 14846	 14847	 14848	 14849	 14850	 14851	 14852	 14853	 14854	 14855	 14856
	 14861	 14862	 14863	 14864	 14865	 14866	 14867	 14868	 14869	 14870	 14871	 14876	 14877	 14878
	 14879	 14880	 14881	 14882	 14883	 14884	 14885	 14886	 14891	 14892	 14893	 14894	 14895	 14896
	 14897	 14898	 14899	 14900	 14901	 14906	 14907	 14908	 14909	 14910	 14911	 14912	 14913	 14914
	 14915	 14916	 14921	 14922	 14923	 14924	 14925	 14926	 14927	 14928	 14929	 14930	 14931	 14936
	 14937	 14938	 14939	 14940	 14941	 14942	 14943	 14944	 14945	 14946	 14951	 14952	 14953	 14954
	 14955	 14956	 14957	 14958	 14959	 14960	 14961	 14966	 14967	 14968	 14969	 14970	 14971	 14972
	 14973	 14974	 14975	 14976	 14981	 14982	 14983	 14984	 14985	 14986	 14987	 14988	 14989	 14990
	 14991	 14996	 14997	 14998	 14999	 15000	 15001	 15002	 15003	 15004	 15005	 15006	 15011	 15012
	 15013	 15014	 15015	 15016	 15017	 15018	 15019	 15020	 15021	 15045	 15046	 15047	 15048	 15049
	 15050	 15051	 15052	 15053	 15054	 15055	 15060	 15061	 15062	 15063	 15064	 15065	 15066	 15067
	 15068	 15069	 15070	 15075	 15076	 15077	 15078	 15079	 15080	 15081	 15082	 15083	 15084	 15085
	 15090	 15091	 15092	 15093	 15094	 15095	 15096	 15097	 15098	 15099	 15100	 15105	 15106	 15107
	 15108	 15109	 15110	 15111	 15112	 15113	 15114	 15115	 15120	 15121	 15122	 15123	 15124	 15125
	 15126	 15127	 15128	 15129	 15130	 15135	 15136	 15137	 15138	 15139	 15140	 15141	 15142	 15143
	 15144	 15145	 15150	 15151	 15152	 15153	 15154	 15155	 15156	 15157	 15158	 15159	 15160	 15165
	 15166	 15167	 15168	 15169	 15170	 15171	 15172	 15173	 15174	 15175	 15180	 15181	 15182	 15183     SEQ 0375
	 15184	 15185	 15186	 15187	 15188	 15189	 15190	 15195	 15196	 15197	 15198	 15199	 15200	 15201
	 15202	 15203	 15204	 15205	 15210	 15211	 15212	 15213	 15214	 15215	 15216	 15217	 15218	 15219
	 15220	 15225	 15226	 15227	 15228	 15229	 15230	 15231	 15232	 15233	 15234	 15235	 15240	 15241
	 15242	 15243	 15244	 15245	 15246	 15247	 15248	 15249	 15250	 15255	 15256	 15257	 15258	 15259
	 15260	 15261	 15262	 15263	 15264	 15265	 15270	 15271	 15272	 15273	 15274	 15275	 15276	 15277
	 15278	 15279	 15280	 15285	 15286	 15287	 15288	 15289	 15290	 15291	 15292	 15293	 15294	 15295
	 15305#	 15307	 15308	 15309	 15310	 15332	 15333	 15334	 15335	 15336	 15337	 15338	 15339	 15344
	 15345	 15346	 15347	 15348	 15349	 15350	 15351	 15356	 15357	 15358	 15359	 15360	 15361	 15362
	 15363	 15368	 15369	 15370	 15371	 15372	 15373	 15374	 15375	 15380	 15381	 15382	 15383	 15384
	 15385	 15386	 15387	 15392	 15393	 15394	 15395	 15396	 15397	 15398	 15399	 15404	 15405	 15406
	 15407	 15408	 15409	 15410	 15411	 15416	 15417	 15418	 15419	 15420	 15421	 15422	 15423	 15428
	 15429	 15430	 15431	 15432	 15433	 15434	 15435	 15440	 15441	 15442	 15443	 15444	 15445	 15446
	 15447	 15457#	 15459	 15460	 15461	 15462	 15492	 15493	 15494	 15495	 15496	 15497	 15498	 15499
	 15500	 15501	 15502	 15503	 15510	 15511	 15512	 15513	 15514	 15515	 15516	 15517	 15518	 15519
	 15520	 15521	 15528	 15529	 15530	 15531	 15532	 15533	 15534	 15535	 15536	 15537	 15538	 15539
	 15546	 15547	 15548	 15549	 15550	 15551	 15552	 15553	 15554	 15555	 15556	 15557	 15564	 15565
	 15566	 15567	 15568	 15569	 15570	 15571	 15572	 15573	 15574	 15575	 15585#	 15587	 15588	 15589
	 15590	 15615	 15616	 15617	 15618	 15619	 15620	 15621	 15622	 15623	 15624	 15625	 15630	 15631
	 15632	 15633	 15634	 15635	 15636	 15637	 15638	 15639	 15640	 15645	 15646	 15647	 15648	 15649
	 15650	 15651	 15652	 15653	 15654	 15655	 15660	 15661	 15662	 15663	 15664	 15665	 15666	 15667
	 15668	 15669	 15670	 15675	 15676	 15677	 15678	 15679	 15680	 15681	 15682	 15683	 15684	 15685
	 15694#	 15696	 15697	 15698	 15699	 15725	 15726	 15727	 15728	 15729	 15730	 15731	 15732	 15733
	 15734	 15735	 15736	 15741	 15742	 15743	 15744	 15745	 15746	 15747	 15748	 15749	 15750	 15751
	 15752	 15757	 15758	 15759	 15760	 15761	 15762	 15763	 15764	 15765	 15766	 15767	 15768	 15773
	 15774	 15775	 15776	 15777	 15778	 15779	 15780	 15781	 15782	 15783	 15784	 15789	 15790	 15791
	 15792	 15793	 15794	 15795	 15796	 15797	 15798	 15799	 15800	 15809#	 15811	 15812	 15813	 15814
	 15835	 15836	 15837	 15838	 15839	 15840	 15841	 15842	 15847	 15848	 15849	 15850	 15851	 15852
	 15853	 15854	 15859	 15860	 15861	 15862	 15863	 15864	 15865	 15866	 15871	 15872	 15873	 15874
	 15875	 15876	 15877	 15878	 15883	 15884	 15885	 15886	 15887	 15888	 15889	 15890	 15899#	 15901
	 15902	 15903	 15904	 15930	 15931	 15932	 15933	 15934	 15935	 15936	 15937	 15938	 15939	 15940
	 15941	 15946	 15947	 15948	 15949	 15950	 15951	 15952	 15953	 15954	 15955	 15956	 15957	 15962
	 15963	 15964	 15965	 15966	 15967	 15968	 15969	 15970	 15971	 15972	 15973	 15978	 15979	 15980
	 15981	 15982	 15983	 15984	 15985	 15986	 15987	 15988	 15989	 15994	 15995	 15996	 15997	 15998
	 15999	 16000	 16001	 16002	 16003	 16004	 16005	 16014#	 16016	 16017	 16018	 16019	 16045	 16046
	 16047	 16048	 16049	 16050	 16051	 16052	 16053	 16054	 16055	 16056	 16061	 16062	 16063	 16064
	 16065	 16066	 16067	 16068	 16069	 16070	 16071	 16072	 16077	 16078	 16079	 16080	 16081	 16082
	 16083	 16084	 16085	 16086	 16087	 16088	 16093	 16094	 16095	 16096	 16097	 16098	 16099	 16100
	 16101	 16102	 16103	 16104	 16109	 16110	 16111	 16112	 16113	 16114	 16115	 16116	 16117	 16118
	 16119	 16120
ADR	   752#	   778	   778#	   788	   812	   812#	   822	   846	   846#	   856	   880	   880#	   890	   914
	   914#	   924	   948	   948#	   958	   982	   982#	   992	  1016	  1016#	  1026	  1050	  1050#	  1060
	  1084	  1084#	  1094	  1118	  1118#	  1128	  1152	  1152#	  1162	  1186	  1186#	  1196	  1220	  1220#
	  1230	  1254	  1254#	  1264	  1288	  1288#	  1298	  1322	  1322#	  1332	  1356	  1356#	  1366	  1390
	  1390#	  1400	  1424	  1424#	  1434	  1458	  1458#	  1468	  1492	  1492#	  1502	  1526	  1526#	  1536
	  1560	  1560#	  1570	  1594	  1594#	  1604	  1628	  1628#	  1638	  1662	  1662#	  1672	  1696	  1696#
	  1706	  1730	  1730#	  1740	  1764	  1764#	  1774	  1798	  1798#	  1808	  1832	  1832#	  1842	  1866
	  1866#	  1876	  1900	  1900#	  1910	  1934	  1934#	  1944	  1968	  1968#	  1978	  2025	  2025#	  2035
	  2059	  2059#	  2069	  2093	  2093#	  2103	  2127	  2127#	  2137	  2161	  2161#	  2171	  2195	  2195#
	  2205	  2229	  2229#	  2239	  2263	  2263#	  2273	  2297	  2297#	  2307	  2331	  2331#	  2341	  2365
	  2365#	  2375	  2399	  2399#	  2409	  2433	  2433#	  2443	  2467	  2467#	  2477	  2501	  2501#	  2511
	  2535	  2535#	  2545	  2569	  2569#	  2579	  2603	  2603#	  2613	  2637	  2637#	  2647	  2671	  2671#
	  2681	  2705	  2705#	  2715	  2739	  2739#	  2749	  2773	  2773#	  2783	  2807	  2807#	  2817	  2841
	  2841#	  2851	  2875	  2875#	  2885	  2909	  2909#	  2919	  2943	  2943#	  2953	  2977	  2977#	  2987     SEQ 0376
	  3011	  3011#	  3021	  3045	  3045#	  3055	  3079	  3079#	  3089	  3113	  3113#	  3123	  3147	  3147#
	  3157	  3181	  3181#	  3191	  3215	  3215#	  3225	  3271	  3271#	  3281	  3305	  3305#	  3315	  3339
	  3339#	  3349	  3373	  3373#	  3383	  3407	  3407#	  3417	  3441	  3441#	  3451	  3475	  3475#	  3485
	  3509	  3509#	  3519	  3543	  3543#	  3553	  3577	  3577#	  3587	  3611	  3611#	  3621	  3645	  3645#
	  3655	  3679	  3679#	  3689	  3713	  3713#	  3723	  3747	  3747#	  3757	  3781	  3781#	  3791	  3815
	  3815#	  3825	  3849	  3849#	  3859	  3883	  3883#	  3893	  3917	  3917#	  3927	  3951	  3951#	  3961
	  3985	  3985#	  3995	  4019	  4019#	  4029	  4053	  4053#	  4063	  4087	  4087#	  4097	  4121	  4121#
	  4131	  4155	  4155#	  4165	  4189	  4189#	  4199	  4223	  4223#	  4233	  4257	  4257#	  4267	  4291
	  4291#	  4301	  4325	  4325#	  4335	  4359	  4359#	  4369	  4393	  4393#	  4403	  4427	  4427#	  4437
	  4461	  4461#	  4471	  4514	  4514#	  4522	  4546	  4546#	  4554	  4578	  4578#	  4586	  4610	  4610#
	  4618	  4642	  4642#	  4650	  4674	  4674#	  4682	  4706	  4706#	  4714	  4738	  4738#	  4746	  4770
	  4770#	  4778	  4802	  4802#	  4810	  4834	  4834#	  4842	  4866	  4866#	  4874	  4898	  4898#	  4906
	  4930	  4930#	  4938	  4962	  4962#	  4970	  4994	  4994#	  5002	  5026	  5026#	  5034	  5058	  5058#
	  5066	  5090	  5090#	  5098	  5122	  5122#	  5130	  5154	  5154#	  5162	  5186	  5186#	  5194	  5218
	  5218#	  5226	  5250	  5250#	  5258	  5282	  5282#	  5290	  5314	  5314#	  5322	  5346	  5346#	  5354
	  5378	  5378#	  5386	  5410	  5410#	  5418	  5442	  5442#	  5450	  5474	  5474#	  5482	  5506	  5506#
	  5514	  5538	  5538#	  5546	  5570	  5570#	  5578	  5602	  5602#	  5610	  5634	  5634#	  5642	  5687
	  5687#	  5697	  5721	  5721#	  5731	  5755	  5755#	  5765	  5789	  5789#	  5799	  5823	  5823#	  5833
	  5857	  5857#	  5867	  5891	  5891#	  5901	  5925	  5925#	  5935	  5959	  5959#	  5969	  5993	  5993#
	  6003	  6027	  6027#	  6037	  6061	  6061#	  6071	  6095	  6095#	  6105	  6129	  6129#	  6139	  6163
	  6163#	  6173	  6197	  6197#	  6207	  6231	  6231#	  6241	  6265	  6265#	  6275	  6299	  6299#	  6309
	  6333	  6333#	  6343	  6367	  6367#	  6377	  6401	  6401#	  6411	  6435	  6435#	  6445	  6469	  6469#
	  6479	  6503	  6503#	  6513	  6537	  6537#	  6547	  6571	  6571#	  6581	  6605	  6605#	  6615	  6639
	  6639#	  6649	  6673	  6673#	  6683	  6707	  6707#	  6717	  6741	  6741#	  6751	  6775	  6775#	  6785
	  6809	  6809#	  6819	  6843	  6843#	  6853	  6877	  6877#	  6887	  6935	  6935#	  6947	  6971	  6971#
	  6983	  7007	  7007#	  7019	  7043	  7043#	  7055	  7079	  7079#	  7091	  7115	  7115#	  7127	  7151
	  7151#	  7163	  7187	  7187#	  7199	  7223	  7223#	  7235	  7259	  7259#	  7271	  7295	  7295#	  7307
	  7331	  7331#	  7343	  7367	  7367#	  7379	  7403	  7403#	  7415	  7439	  7439#	  7451	  7475	  7475#
	  7487	  7511	  7511#	  7523	  7547	  7547#	  7559	  7583	  7583#	  7595	  7619	  7619#	  7631	  7655
	  7655#	  7667	  7691	  7691#	  7703	  7727	  7727#	  7739	  7763	  7763#	  7775	  7799	  7799#	  7811
	  7835	  7835#	  7847	  7871	  7871#	  7883	  7907	  7907#	  7919	  7943	  7943#	  7955	  7979	  7979#
	  7991	  8015	  8015#	  8027	  8051	  8051#	  8063	  8087	  8087#	  8099	  8123	  8123#	  8135	  8159
	  8159#	  8171	  8195	  8195#	  8207	  8255	  8255#	  8267	  8291	  8291#	  8303	  8327	  8327#	  8339
	  8363	  8363#	  8375	  8399	  8399#	  8411	  8435	  8435#	  8447	  8471	  8471#	  8483	  8507	  8507#
	  8519	  8543	  8543#	  8555	  8579	  8579#	  8591	  8615	  8615#	  8627	  8651	  8651#	  8663	  8687
	  8687#	  8699	  8723	  8723#	  8735	  8759	  8759#	  8771	  8795	  8795#	  8807	  8831	  8831#	  8843
	  8867	  8867#	  8879	  8903	  8903#	  8915	  8939	  8939#	  8951	  8975	  8975#	  8987	  9011	  9011#
	  9023	  9047	  9047#	  9059	  9083	  9083#	  9095	  9119	  9119#	  9131	  9155	  9155#	  9167	  9191
	  9191#	  9203	  9227	  9227#	  9239	  9263	  9263#	  9275	  9299	  9299#	  9311	  9335	  9335#	  9347
	  9371	  9371#	  9383	  9407	  9407#	  9419	  9443	  9443#	  9455	  9479	  9479#	  9491	  9515	  9515#
	  9527
AEE	   798#	   807#	   832#	   841#	   866#	   875#	   900#	   909#	   934#	   943#	   968#	   977#	  1002#	  1011#
	  1036#	  1045#	  1070#	  1079#	  1104#	  1113#	  1138#	  1147#	  1172#	  1181#	  1206#	  1215#	  1240#	  1249#
	  1274#	  1283#	  1308#	  1317#	  1342#	  1351#	  1376#	  1385#	  1410#	  1419#	  1444#	  1453#	  1478#	  1487#
	  1512#	  1521#	  1546#	  1555#	  1580#	  1589#	  1614#	  1623#	  1648#	  1657#	  1682#	  1691#	  1716#	  1725#
	  1750#	  1759#	  1784#	  1793#	  1818#	  1827#	  1852#	  1861#	  1886#	  1895#	  1920#	  1929#	  1954#	  1963#
	  1988#	  1997#	  2045#	  2054#	  2079#	  2088#	  2113#	  2122#	  2147#	  2156#	  2181#	  2190#	  2215#	  2224#
	  2249#	  2258#	  2283#	  2292#	  2317#	  2326#	  2351#	  2360#	  2385#	  2394#	  2419#	  2428#	  2453#	  2462#
	  2487#	  2496#	  2521#	  2530#	  2555#	  2564#	  2589#	  2598#	  2623#	  2632#	  2657#	  2666#	  2691#	  2700#
	  2725#	  2734#	  2759#	  2768#	  2793#	  2802#	  2827#	  2836#	  2861#	  2870#	  2895#	  2904#	  2929#	  2938#
	  2963#	  2972#	  2997#	  3006#	  3031#	  3040#	  3065#	  3074#	  3099#	  3108#	  3133#	  3142#	  3167#	  3176#
	  3201#	  3210#	  3235#	  3244#	  3291#	  3300#	  3325#	  3334#	  3359#	  3368#	  3393#	  3402#	  3427#	  3436#
	  3461#	  3470#	  3495#	  3504#	  3529#	  3538#	  3563#	  3572#	  3597#	  3606#	  3631#	  3640#	  3665#	  3674#    SEQ 0377
	  3699#	  3708#	  3733#	  3742#	  3767#	  3776#	  3801#	  3810#	  3835#	  3844#	  3869#	  3878#	  3903#	  3912#
	  3937#	  3946#	  3971#	  3980#	  4005#	  4014#	  4039#	  4048#	  4073#	  4082#	  4107#	  4116#	  4141#	  4150#
	  4175#	  4184#	  4209#	  4218#	  4243#	  4252#	  4277#	  4286#	  4311#	  4320#	  4345#	  4354#	  4379#	  4388#
	  4413#	  4422#	  4447#	  4456#	  4481#	  4490#	  4532#	  4541#	  4564#	  4573#	  4596#	  4605#	  4628#	  4637#
	  4660#	  4669#	  4692#	  4701#	  4724#	  4733#	  4756#	  4765#	  4788#	  4797#	  4820#	  4829#	  4852#	  4861#
	  4884#	  4893#	  4916#	  4925#	  4948#	  4957#	  4980#	  4989#	  5012#	  5021#	  5044#	  5053#	  5076#	  5085#
	  5108#	  5117#	  5140#	  5149#	  5172#	  5181#	  5204#	  5213#	  5236#	  5245#	  5268#	  5277#	  5300#	  5309#
	  5332#	  5341#	  5364#	  5373#	  5396#	  5405#	  5428#	  5437#	  5460#	  5469#	  5492#	  5501#	  5524#	  5533#
	  5556#	  5565#	  5588#	  5597#	  5620#	  5629#	  5652#	  5661#	  5707#	  5716#	  5741#	  5750#	  5775#	  5784#
	  5809#	  5818#	  5843#	  5852#	  5877#	  5886#	  5911#	  5920#	  5945#	  5954#	  5979#	  5988#	  6013#	  6022#
	  6047#	  6056#	  6081#	  6090#	  6115#	  6124#	  6149#	  6158#	  6183#	  6192#	  6217#	  6226#	  6251#	  6260#
	  6285#	  6294#	  6319#	  6328#	  6353#	  6362#	  6387#	  6396#	  6421#	  6430#	  6455#	  6464#	  6489#	  6498#
	  6523#	  6532#	  6557#	  6566#	  6591#	  6600#	  6625#	  6634#	  6659#	  6668#	  6693#	  6702#	  6727#	  6736#
	  6761#	  6770#	  6795#	  6804#	  6829#	  6838#	  6863#	  6872#	  6897#	  6906#	  6957#	  6966#	  6993#	  7002#
	  7029#	  7038#	  7065#	  7074#	  7101#	  7110#	  7137#	  7146#	  7173#	  7182#	  7209#	  7218#	  7245#	  7254#
	  7281#	  7290#	  7317#	  7326#	  7353#	  7362#	  7389#	  7398#	  7425#	  7434#	  7461#	  7470#	  7497#	  7506#
	  7533#	  7542#	  7569#	  7578#	  7605#	  7614#	  7641#	  7650#	  7677#	  7686#	  7713#	  7722#	  7749#	  7758#
	  7785#	  7794#	  7821#	  7830#	  7857#	  7866#	  7893#	  7902#	  7929#	  7938#	  7965#	  7974#	  8001#	  8010#
	  8037#	  8046#	  8073#	  8082#	  8109#	  8118#	  8145#	  8154#	  8181#	  8190#	  8217#	  8226#	  8277#	  8286#
	  8313#	  8322#	  8349#	  8358#	  8385#	  8394#	  8421#	  8430#	  8457#	  8466#	  8493#	  8502#	  8529#	  8538#
	  8565#	  8574#	  8601#	  8610#	  8637#	  8646#	  8673#	  8682#	  8709#	  8718#	  8745#	  8754#	  8781#	  8790#
	  8817#	  8826#	  8853#	  8862#	  8889#	  8898#	  8925#	  8934#	  8961#	  8970#	  8997#	  9006#	  9033#	  9042#
	  9069#	  9078#	  9105#	  9114#	  9141#	  9150#	  9177#	  9186#	  9213#	  9222#	  9249#	  9258#	  9285#	  9294#
	  9321#	  9330#	  9357#	  9366#	  9393#	  9402#	  9429#	  9438#	  9465#	  9474#	  9501#	  9510#	  9537#	  9546#
ALTMGO	   480#	 16246
AR1	   801#	   835#	   869#	   903#	   937#	   971#	  1005#	  1039#	  1073#	  1107#	  1141#	  1175#	  1209#	  1243#
	  1277#	  1311#	  1345#	  1379#	  1413#	  1447#	  1481#	  1515#	  1549#	  1583#	  1617#	  1651#	  1685#	  1719#
	  1753#	  1787#	  1821#	  1855#	  1889#	  1923#	  1957#	  1991#	  2048#	  2082#	  2116#	  2150#	  2184#	  2218#
	  2252#	  2286#	  2320#	  2354#	  2388#	  2422#	  2456#	  2490#	  2524#	  2558#	  2592#	  2626#	  2660#	  2694#
	  2728#	  2762#	  2796#	  2830#	  2864#	  2898#	  2932#	  2966#	  3000#	  3034#	  3068#	  3102#	  3136#	  3170#
	  3204#	  3238#	  3294#	  3328#	  3362#	  3396#	  3430#	  3464#	  3498#	  3532#	  3566#	  3600#	  3634#	  3668#
	  3702#	  3736#	  3770#	  3804#	  3838#	  3872#	  3906#	  3940#	  3974#	  4008#	  4042#	  4076#	  4110#	  4144#
	  4178#	  4212#	  4246#	  4280#	  4314#	  4348#	  4382#	  4416#	  4450#	  4484#	  4535#	  4567#	  4599#	  4631#
	  4663#	  4695#	  4727#	  4759#	  4791#	  4823#	  4855#	  4887#	  4919#	  4951#	  4983#	  5015#	  5047#	  5079#
	  5111#	  5143#	  5175#	  5207#	  5239#	  5271#	  5303#	  5335#	  5367#	  5399#	  5431#	  5463#	  5495#	  5527#
	  5559#	  5591#	  5623#	  5655#	  5710#	  5744#	  5778#	  5812#	  5846#	  5880#	  5914#	  5948#	  5982#	  6016#
	  6050#	  6084#	  6118#	  6152#	  6186#	  6220#	  6254#	  6288#	  6322#	  6356#	  6390#	  6424#	  6458#	  6492#
	  6526#	  6560#	  6594#	  6628#	  6662#	  6696#	  6730#	  6764#	  6798#	  6832#	  6866#	  6900#	  6960#	  6996#
	  7032#	  7068#	  7104#	  7140#	  7176#	  7212#	  7248#	  7284#	  7320#	  7356#	  7392#	  7428#	  7464#	  7500#
	  7536#	  7572#	  7608#	  7644#	  7680#	  7716#	  7752#	  7788#	  7824#	  7860#	  7896#	  7932#	  7968#	  8004#
	  8040#	  8076#	  8112#	  8148#	  8184#	  8220#	  8280#	  8316#	  8352#	  8388#	  8424#	  8460#	  8496#	  8532#
	  8568#	  8604#	  8640#	  8676#	  8712#	  8748#	  8784#	  8820#	  8856#	  8892#	  8928#	  8964#	  9000#	  9036#
	  9072#	  9108#	  9144#	  9180#	  9216#	  9252#	  9288#	  9324#	  9360#	  9396#	  9432#	  9468#	  9504#	  9540#
AR2	   804#	   838#	   872#	   906#	   940#	   974#	  1008#	  1042#	  1076#	  1110#	  1144#	  1178#	  1212#	  1246#
	  1280#	  1314#	  1348#	  1382#	  1416#	  1450#	  1484#	  1518#	  1552#	  1586#	  1620#	  1654#	  1688#	  1722#
	  1756#	  1790#	  1824#	  1858#	  1892#	  1926#	  1960#	  1994#	  2051#	  2085#	  2119#	  2153#	  2187#	  2221#
	  2255#	  2289#	  2323#	  2357#	  2391#	  2425#	  2459#	  2493#	  2527#	  2561#	  2595#	  2629#	  2663#	  2697#
	  2731#	  2765#	  2799#	  2833#	  2867#	  2901#	  2935#	  2969#	  3003#	  3037#	  3071#	  3105#	  3139#	  3173#
	  3207#	  3241#	  3297#	  3331#	  3365#	  3399#	  3433#	  3467#	  3501#	  3535#	  3569#	  3603#	  3637#	  3671#
	  3705#	  3739#	  3773#	  3807#	  3841#	  3875#	  3909#	  3943#	  3977#	  4011#	  4045#	  4079#	  4113#	  4147#
	  4181#	  4215#	  4249#	  4283#	  4317#	  4351#	  4385#	  4419#	  4453#	  4487#	  4538#	  4570#	  4602#	  4634#
	  4666#	  4698#	  4730#	  4762#	  4794#	  4826#	  4858#	  4890#	  4922#	  4954#	  4986#	  5018#	  5050#	  5082#
	  5114#	  5146#	  5178#	  5210#	  5242#	  5274#	  5306#	  5338#	  5370#	  5402#	  5434#	  5466#	  5498#	  5530#    SEQ 0378
	  5562#	  5594#	  5626#	  5658#	  5713#	  5747#	  5781#	  5815#	  5849#	  5883#	  5917#	  5951#	  5985#	  6019#
	  6053#	  6087#	  6121#	  6155#	  6189#	  6223#	  6257#	  6291#	  6325#	  6359#	  6393#	  6427#	  6461#	  6495#
	  6529#	  6563#	  6597#	  6631#	  6665#	  6699#	  6733#	  6767#	  6801#	  6835#	  6869#	  6903#	  6963#	  6999#
	  7035#	  7071#	  7107#	  7143#	  7179#	  7215#	  7251#	  7287#	  7323#	  7359#	  7395#	  7431#	  7467#	  7503#
	  7539#	  7575#	  7611#	  7647#	  7683#	  7719#	  7755#	  7791#	  7827#	  7863#	  7899#	  7935#	  7971#	  8007#
	  8043#	  8079#	  8115#	  8151#	  8187#	  8223#	  8283#	  8319#	  8355#	  8391#	  8427#	  8463#	  8499#	  8535#
	  8571#	  8607#	  8643#	  8679#	  8715#	  8751#	  8787#	  8823#	  8859#	  8895#	  8931#	  8967#	  9003#	  9039#
	  9075#	  9111#	  9147#	  9183#	  9219#	  9255#	  9291#	  9327#	  9363#	  9399#	  9435#	  9471#	  9507#	  9543#
AROV	   394#
AROVTP	   394#
AROVU	   394#
AST	   595#
ATSIN	   596#
BEGEND	   476#	 16123
BEGIN	    67	    68	    69	    72	    73	    74	    75	    76	    77	   345	   346	   407#	 16682
BEGIN1	   423#	   477
BELL	   599#
BIS	   394#
CCA	   394#
CHAIN	   150#
CHNOFF	   394#
CHNON	   394#
CLKU	   394#
CLOCKF	   462#
CNTLC	   479#
CNTRP	   394#
COMMA	   588#
CONSW	   463#	 16181	 16247	 16271
CPOPJ	   483#
CPOPJ1	   481#
CRLF	   280	   281	   583#
CRLF2	   284	   285	   585#
CRY0	   394#
CRY1	   394#
CSHFLG	   642#
CSHMEM	   643#
CTRP	   394#
CYCL60	   636#
DCK	   394#	 11281	 11299	 12456	 12560	 12578	 12752	 12774	 12891	 12912	 13233
DDTLNK	   164#	   421
DDTSRT	   421#
DEBUG	    59#	 16673	 16674
DECVER	     4#	    11	    26	   442
DF22F	   547#
DIAGMN	   410#
DING	   136#	 16252
DOLLAR	   602#
DSKUPD	   447
E	   754#	   799	   800	   808	   809	   833	   834	   842	   843	   867	   868	   876	   877	   901
	   902	   910	   911	   935	   936	   944	   945	   969	   970	   978	   979	  1003	  1004	  1012
	  1013	  1037	  1038	  1046	  1047	  1071	  1072	  1080	  1081	  1105	  1106	  1114	  1115	  1139
	  1140	  1148	  1149	  1173	  1174	  1182	  1183	  1207	  1208	  1216	  1217	  1241	  1242	  1250
	  1251	  1275	  1276	  1284	  1285	  1309	  1310	  1318	  1319	  1343	  1344	  1352	  1353	  1377     SEQ 0379
	  1378	  1386	  1387	  1411	  1412	  1420	  1421	  1445	  1446	  1454	  1455	  1479	  1480	  1488
	  1489	  1513	  1514	  1522	  1523	  1547	  1548	  1556	  1557	  1581	  1582	  1590	  1591	  1615
	  1616	  1624	  1625	  1649	  1650	  1658	  1659	  1683	  1684	  1692	  1693	  1717	  1718	  1726
	  1727	  1751	  1752	  1760	  1761	  1785	  1786	  1794	  1795	  1819	  1820	  1828	  1829	  1853
	  1854	  1862	  1863	  1887	  1888	  1896	  1897	  1921	  1922	  1930	  1931	  1955	  1956	  1964
	  1965	  1989	  1990	  1998	  1999	  2002#	  2046	  2047	  2055	  2056	  2080	  2081	  2089	  2090
	  2114	  2115	  2123	  2124	  2148	  2149	  2157	  2158	  2182	  2183	  2191	  2192	  2216	  2217
	  2225	  2226	  2250	  2251	  2259	  2260	  2284	  2285	  2293	  2294	  2318	  2319	  2327	  2328
	  2352	  2353	  2361	  2362	  2386	  2387	  2395	  2396	  2420	  2421	  2429	  2430	  2454	  2455
	  2463	  2464	  2488	  2489	  2497	  2498	  2522	  2523	  2531	  2532	  2556	  2557	  2565	  2566
	  2590	  2591	  2599	  2600	  2624	  2625	  2633	  2634	  2658	  2659	  2667	  2668	  2692	  2693
	  2701	  2702	  2726	  2727	  2735	  2736	  2760	  2761	  2769	  2770	  2794	  2795	  2803	  2804
	  2828	  2829	  2837	  2838	  2862	  2863	  2871	  2872	  2896	  2897	  2905	  2906	  2930	  2931
	  2939	  2940	  2964	  2965	  2973	  2974	  2998	  2999	  3007	  3008	  3032	  3033	  3041	  3042
	  3066	  3067	  3075	  3076	  3100	  3101	  3109	  3110	  3134	  3135	  3143	  3144	  3168	  3169
	  3177	  3178	  3202	  3203	  3211	  3212	  3236	  3237	  3245	  3246	  3249#	  3292	  3293	  3301
	  3302	  3326	  3327	  3335	  3336	  3360	  3361	  3369	  3370	  3394	  3395	  3403	  3404	  3428
	  3429	  3437	  3438	  3462	  3463	  3471	  3472	  3496	  3497	  3505	  3506	  3530	  3531	  3539
	  3540	  3564	  3565	  3573	  3574	  3598	  3599	  3607	  3608	  3632	  3633	  3641	  3642	  3666
	  3667	  3675	  3676	  3700	  3701	  3709	  3710	  3734	  3735	  3743	  3744	  3768	  3769	  3777
	  3778	  3802	  3803	  3811	  3812	  3836	  3837	  3845	  3846	  3870	  3871	  3879	  3880	  3904
	  3905	  3913	  3914	  3938	  3939	  3947	  3948	  3972	  3973	  3981	  3982	  4006	  4007	  4015
	  4016	  4040	  4041	  4049	  4050	  4074	  4075	  4083	  4084	  4108	  4109	  4117	  4118	  4142
	  4143	  4151	  4152	  4176	  4177	  4185	  4186	  4210	  4211	  4219	  4220	  4244	  4245	  4253
	  4254	  4278	  4279	  4287	  4288	  4312	  4313	  4321	  4322	  4346	  4347	  4355	  4356	  4380
	  4381	  4389	  4390	  4414	  4415	  4423	  4424	  4448	  4449	  4457	  4458	  4482	  4483	  4491
	  4492	  4495#	  4533	  4534	  4542	  4543	  4565	  4566	  4574	  4575	  4597	  4598	  4606	  4607
	  4629	  4630	  4638	  4639	  4661	  4662	  4670	  4671	  4693	  4694	  4702	  4703	  4725	  4726
	  4734	  4735	  4757	  4758	  4766	  4767	  4789	  4790	  4798	  4799	  4821	  4822	  4830	  4831
	  4853	  4854	  4862	  4863	  4885	  4886	  4894	  4895	  4917	  4918	  4926	  4927	  4949	  4950
	  4958	  4959	  4981	  4982	  4990	  4991	  5013	  5014	  5022	  5023	  5045	  5046	  5054	  5055
	  5077	  5078	  5086	  5087	  5109	  5110	  5118	  5119	  5141	  5142	  5150	  5151	  5173	  5174
	  5182	  5183	  5205	  5206	  5214	  5215	  5237	  5238	  5246	  5247	  5269	  5270	  5278	  5279
	  5301	  5302	  5310	  5311	  5333	  5334	  5342	  5343	  5365	  5366	  5374	  5375	  5397	  5398
	  5406	  5407	  5429	  5430	  5438	  5439	  5461	  5462	  5470	  5471	  5493	  5494	  5502	  5503
	  5525	  5526	  5534	  5535	  5557	  5558	  5566	  5567	  5589	  5590	  5598	  5599	  5621	  5622
	  5630	  5631	  5653	  5654	  5662	  5663	  5666#	  5708	  5709	  5717	  5718	  5742	  5743	  5751
	  5752	  5776	  5777	  5785	  5786	  5810	  5811	  5819	  5820	  5844	  5845	  5853	  5854	  5878
	  5879	  5887	  5888	  5912	  5913	  5921	  5922	  5946	  5947	  5955	  5956	  5980	  5981	  5989
	  5990	  6014	  6015	  6023	  6024	  6048	  6049	  6057	  6058	  6082	  6083	  6091	  6092	  6116
	  6117	  6125	  6126	  6150	  6151	  6159	  6160	  6184	  6185	  6193	  6194	  6218	  6219	  6227
	  6228	  6252	  6253	  6261	  6262	  6286	  6287	  6295	  6296	  6320	  6321	  6329	  6330	  6354
	  6355	  6363	  6364	  6388	  6389	  6397	  6398	  6422	  6423	  6431	  6432	  6456	  6457	  6465
	  6466	  6490	  6491	  6499	  6500	  6524	  6525	  6533	  6534	  6558	  6559	  6567	  6568	  6592
	  6593	  6601	  6602	  6626	  6627	  6635	  6636	  6660	  6661	  6669	  6670	  6694	  6695	  6703
	  6704	  6728	  6729	  6737	  6738	  6762	  6763	  6771	  6772	  6796	  6797	  6805	  6806	  6830
	  6831	  6839	  6840	  6864	  6865	  6873	  6874	  6898	  6899	  6907	  6908	  6911#	  6958	  6959
	  6967	  6968	  6994	  6995	  7003	  7004	  7030	  7031	  7039	  7040	  7066	  7067	  7075	  7076
	  7102	  7103	  7111	  7112	  7138	  7139	  7147	  7148	  7174	  7175	  7183	  7184	  7210	  7211
	  7219	  7220	  7246	  7247	  7255	  7256	  7282	  7283	  7291	  7292	  7318	  7319	  7327	  7328
	  7354	  7355	  7363	  7364	  7390	  7391	  7399	  7400	  7426	  7427	  7435	  7436	  7462	  7463
	  7471	  7472	  7498	  7499	  7507	  7508	  7534	  7535	  7543	  7544	  7570	  7571	  7579	  7580
	  7606	  7607	  7615	  7616	  7642	  7643	  7651	  7652	  7678	  7679	  7687	  7688	  7714	  7715     SEQ 0380
	  7723	  7724	  7750	  7751	  7759	  7760	  7786	  7787	  7795	  7796	  7822	  7823	  7831	  7832
	  7858	  7859	  7867	  7868	  7894	  7895	  7903	  7904	  7930	  7931	  7939	  7940	  7966	  7967
	  7975	  7976	  8002	  8003	  8011	  8012	  8038	  8039	  8047	  8048	  8074	  8075	  8083	  8084
	  8110	  8111	  8119	  8120	  8146	  8147	  8155	  8156	  8182	  8183	  8191	  8192	  8218	  8219
	  8227	  8228	  8231#	  8278	  8279	  8287	  8288	  8314	  8315	  8323	  8324	  8350	  8351	  8359
	  8360	  8386	  8387	  8395	  8396	  8422	  8423	  8431	  8432	  8458	  8459	  8467	  8468	  8494
	  8495	  8503	  8504	  8530	  8531	  8539	  8540	  8566	  8567	  8575	  8576	  8602	  8603	  8611
	  8612	  8638	  8639	  8647	  8648	  8674	  8675	  8683	  8684	  8710	  8711	  8719	  8720	  8746
	  8747	  8755	  8756	  8782	  8783	  8791	  8792	  8818	  8819	  8827	  8828	  8854	  8855	  8863
	  8864	  8890	  8891	  8899	  8900	  8926	  8927	  8935	  8936	  8962	  8963	  8971	  8972	  8998
	  8999	  9007	  9008	  9034	  9035	  9043	  9044	  9070	  9071	  9079	  9080	  9106	  9107	  9115
	  9116	  9142	  9143	  9151	  9152	  9178	  9179	  9187	  9188	  9214	  9215	  9223	  9224	  9250
	  9251	  9259	  9260	  9286	  9287	  9295	  9296	  9322	  9323	  9331	  9332	  9358	  9359	  9367
	  9368	  9394	  9395	  9403	  9404	  9430	  9431	  9439	  9440	  9466	  9467	  9475	  9476	  9502
	  9503	  9511	  9512	  9538	  9539	  9547	  9548
EBIT0	   394#
EBIT1	   394#
EBIT10	   394#
EBIT11	   394#
EBIT12	   394#
EBIT13	   394#
EBIT14	   394#
EBIT15	   394#
EBIT2	   394#
EBIT3	   394#
EBIT4	   394#
EBIT5	   394#
EBIT6	   394#
EBIT7	   394#
EBIT8	   394#
EBIT9	   394#
END	 16681#
ENDFIX	   722#
ENDSLD	 16671#
ERDIAG	    63#	 16166
ERMORE	   496#	 16239
EROLD	   356
ERRELB	 16236
ERRLOP	   761#	   761	  2007#	  2007	  3254#	  3254	  4500#	  4500	  5671#	  5671	  6916#	  6916	  8236#	  8236
	  9558#	  9558	  9617#	  9617	  9674#	  9674	  9725#	  9725	  9773#	  9773	  9827#	  9827	  9884#	  9884
	  9949#	  9949	 10000#	 10000	 10053#	 10053	 10117#	 10117	 10189#	 10189	 10207#	 10207	 10232#	 10232
	 10363#	 10363	 10467#	 10467	 10513#	 10513	 10771#	 10771	 10835#	 10835	 10898#	 10898	 10979#	 10979
	 11023#	 11023	 11076#	 11076	 11123#	 11123	 11202#	 11202	 11243#	 11243	 11312#	 11312	 11374#	 11374
	 11437#	 11437	 11485#	 11485	 11542#	 11542	 11596#	 11596	 11648#	 11648	 11740#	 11740	 11783#	 11783
	 11837#	 11837	 11934#	 11934	 11981#	 11981	 12034#	 12034	 12087#	 12087	 12140#	 12140	 12195#	 12195
	 12269#	 12269	 12291#	 12291	 12316#	 12316	 12370#	 12370	 12424#	 12424	 12470#	 12470	 12526#	 12526
	 12597#	 12597	 12646#	 12646	 12704#	 12704	 12787#	 12787	 12849#	 12849	 12930#	 12930	 12992#	 12992
	 13073#	 13073	 13092#	 13092	 13113#	 13113	 13174#	 13174	 13252#	 13252	 13448#	 13448	 13551#	 13551
	 13630#	 13630	 13751#	 13751	 13873#	 13873	 13976#	 13976	 14055#	 14055	 14170#	 14170	 14263#	 14263
	 14732#	 14732	 15310#	 15310	 15462#	 15462	 15590#	 15590	 15699#	 15699	 15814#	 15814	 15904#	 15904
	 16019#	 16019	 16146	 16257	 16260	 16261
ERRMES	    46	    47	    48	    49	    50	    51	    52	    53	    54	    55	    56	 16128#
ERRPC	   467#	 16133	 16163                                                                                             SEQ 0381
ERRTLS	   468#	 16131	 16264
ERSTOP	   139#	 16248
EXCASB	    60#	   445
EXIOT	   394#
EXIT	   723#	   724
F1000	  9730#
F10000	 11547#
F10300	 11601#
F10400	 11653#
F10500	 11691#
F1100	  9779#
F11300	 11745#
F11400	 11789#
F12000	 11843#
F12300	 11892#
F12600	 11939#
F13000	 11986#
F13200	 12039#
F13300	 12092#
F13500	 12145#
F1400	  9833#
F14000	 12200#
F14100	 12243#
F14200	 12322#
F14300	 12375#
F14400	 12429#	 12439
F14410	 12442#	 12458
F14500	 12477#
F14600	 12531#
F14700	 12603#
F15000	 12652#
F15100	 12711#
F15200	 12795#
F15600	 12856#
F15700	 12936#
F16100	 12997#
F16200	 13050#
F16300	 13120#
F16400	 13179#
F16410	 13219#	 13235
F17100	 13258#
F17200	 13454#
F17300	 13556#
F17400	 13636#
F17500	 13757#
F17600	 13879#
F17700	 13982#
F2000	  9891#
F20000	 14061#
F20100	 14175#
F20200	 14268#
F20300	 14500#
F20400	 14737#                                                                                                            SEQ 0382
F20500	 15026#
F20600	 15316#
F20700	 15468#
F21000	 15596#
F21100	 15705#
F21200	 15819#
F21300	 15910#
F21400	 16025#
F2200	  9955#
F2400	 10005#
F300	  9565#
F3300	 10059#
F4000	 10123#
F40010	   794#	   810
F40020	   828#	   844
F40030	   862#	   878
F40040	   896#	   912
F40050	   930#	   946
F40060	   964#	   980
F40070	   998#	  1014
F40100	  1032#	  1048
F40110	  1066#	  1082
F40120	  1100#	  1116
F40130	  1134#	  1150
F40140	  1168#	  1184
F40150	  1202#	  1218
F40160	  1236#	  1252
F40170	  1270#	  1286
F40200	  1304#	  1320
F40210	  1338#	  1354
F40220	  1372#	  1388
F40230	  1406#	  1422
F40240	  1440#	  1456
F40250	  1474#	  1490
F40260	  1508#	  1524
F40270	  1542#	  1558
F40300	  1576#	  1592
F40310	  1610#	  1626
F40320	  1644#	  1660
F40330	  1678#	  1694
F40340	  1712#	  1728
F40350	  1746#	  1762
F40360	  1780#	  1796
F40370	  1814#	  1830
F40400	  1848#	  1864
F40410	  1882#	  1898
F40420	  1916#	  1932
F40430	  1950#	  1966
F40440	  1984#	  2000
F40450	  2041#	  2057
F40460	  2075#	  2091
F40470	  2109#	  2125
F40500	  2143#	  2159                                                                                                     SEQ 0383
F40510	  2177#	  2193
F40520	  2211#	  2227
F40530	  2245#	  2261
F40540	  2279#	  2295
F40550	  2313#	  2329
F40560	  2347#	  2363
F40570	  2381#	  2397
F40600	  2415#	  2431
F40610	  2449#	  2465
F40620	  2483#	  2499
F40630	  2517#	  2533
F40640	  2551#	  2567
F40650	  2585#	  2601
F40660	  2619#	  2635
F40670	  2653#	  2669
F40700	  2687#	  2703
F40710	  2721#	  2737
F40720	  2755#	  2771
F40730	  2789#	  2805
F40740	  2823#	  2839
F40750	  2857#	  2873
F40760	  2891#	  2907
F40770	  2925#	  2941
F41000	  2959#	  2975
F41010	  2993#	  3009
F41020	  3027#	  3043
F41030	  3061#	  3077
F41040	  3095#	  3111
F41050	  3129#	  3145
F41060	  3163#	  3179
F41070	  3197#	  3213
F41100	  3231#	  3247
F41110	  3287#	  3303
F41120	  3321#	  3337
F41130	  3355#	  3371
F41140	  3389#	  3405
F41150	  3423#	  3439
F41160	  3457#	  3473
F41170	  3491#	  3507
F41200	  3525#	  3541
F41210	  3559#	  3575
F41220	  3593#	  3609
F41230	  3627#	  3643
F41240	  3661#	  3677
F41250	  3695#	  3711
F41260	  3729#	  3745
F41270	  3763#	  3779
F41300	  3797#	  3813
F41310	  3831#	  3847
F41320	  3865#	  3881
F41330	  3899#	  3915
F41340	  3933#	  3949
F41350	  3967#	  3983                                                                                                     SEQ 0384
F41360	  4001#	  4017
F41370	  4035#	  4051
F41400	  4069#	  4085
F41410	  4103#	  4119
F41420	  4137#	  4153
F41430	  4171#	  4187
F41440	  4205#	  4221
F41450	  4239#	  4255
F41460	  4273#	  4289
F41470	  4307#	  4323
F41500	  4341#	  4357
F41510	  4375#	  4391
F41520	  4409#	  4425
F41530	  4443#	  4459
F41540	  4477#	  4493
F41550	  4528#	  4544
F41560	  4560#	  4576
F41570	  4592#	  4608
F41600	  4624#	  4640
F41610	  4656#	  4672
F41620	  4688#	  4704
F41630	  4720#	  4736
F41640	  4752#	  4768
F41650	  4784#	  4800
F41660	  4816#	  4832
F41670	  4848#	  4864
F41700	  4880#	  4896
F41710	  4912#	  4928
F41720	  4944#	  4960
F41730	  4976#	  4992
F41740	  5008#	  5024
F41750	  5040#	  5056
F41760	  5072#	  5088
F41770	  5104#	  5120
F4200	 10169#
F42000	  5136#	  5152
F42010	  5168#	  5184
F42020	  5200#	  5216
F42030	  5232#	  5248
F42040	  5264#	  5280
F42050	  5296#	  5312
F42060	  5328#	  5344
F42070	  5360#	  5376
F42100	  5392#	  5408
F42110	  5424#	  5440
F42120	  5456#	  5472
F42130	  5488#	  5504
F42140	  5520#	  5536
F42150	  5552#	  5568
F42160	  5584#	  5600
F42170	  5616#	  5632
F42200	  5648#	  5664
F42210	  5703#	  5719                                                                                                     SEQ 0385
F42220	  5737#	  5753
F42230	  5771#	  5787
F42240	  5805#	  5821
F42250	  5839#	  5855
F42260	  5873#	  5889
F42270	  5907#	  5923
F42300	  5941#	  5957
F42310	  5975#	  5991
F42320	  6009#	  6025
F42330	  6043#	  6059
F42340	  6077#	  6093
F42350	  6111#	  6127
F42360	  6145#	  6161
F42370	  6179#	  6195
F42400	  6213#	  6229
F42410	  6247#	  6263
F42420	  6281#	  6297
F42430	  6315#	  6331
F42440	  6349#	  6365
F42450	  6383#	  6399
F42460	  6417#	  6433
F42470	  6451#	  6467
F42500	  6485#	  6501
F42510	  6519#	  6535
F42520	  6553#	  6569
F42530	  6587#	  6603
F42540	  6621#	  6637
F42550	  6655#	  6671
F42560	  6689#	  6705
F42570	  6723#	  6739
F42600	  6757#	  6773
F42610	  6791#	  6807
F42620	  6825#	  6841
F42630	  6859#	  6875
F42640	  6893#	  6909
F42650	  6953#	  6969
F42660	  6989#	  7005
F42670	  7025#	  7041
F42700	  7061#	  7077
F42710	  7097#	  7113
F42720	  7133#	  7149
F42730	  7169#	  7185
F42740	  7205#	  7221
F42750	  7241#	  7257
F42760	  7277#	  7293
F42770	  7313#	  7329
F4300	 10237#
F43000	  7349#	  7365
F43010	  7385#	  7401
F43020	  7421#	  7437
F43030	  7457#	  7473
F43040	  7493#	  7509
F43050	  7529#	  7545                                                                                                     SEQ 0386
F43060	  7565#	  7581
F43070	  7601#	  7617
F43100	  7637#	  7653
F43110	  7673#	  7689
F43120	  7709#	  7725
F43130	  7745#	  7761
F43140	  7781#	  7797
F43150	  7817#	  7833
F43160	  7853#	  7869
F43170	  7889#	  7905
F43200	  7925#	  7941
F43210	  7961#	  7977
F43220	  7997#	  8013
F43230	  8033#	  8049
F43240	  8069#	  8085
F43250	  8105#	  8121
F43260	  8141#	  8157
F43270	  8177#	  8193
F43300	  8213#	  8229
F43310	  8273#	  8289
F43320	  8309#	  8325
F43330	  8345#	  8361
F43340	  8381#	  8397
F43350	  8417#	  8433
F43360	  8453#	  8469
F43370	  8489#	  8505
F43400	  8525#	  8541
F43410	  8561#	  8577
F43420	  8597#	  8613
F43430	  8633#	  8649
F43440	  8669#	  8685
F43450	  8705#	  8721
F43460	  8741#	  8757
F43470	  8777#	  8793
F43500	  8813#	  8829
F43510	  8849#	  8865
F43520	  8885#	  8901
F43530	  8921#	  8937
F43540	  8957#	  8973
F43550	  8993#	  9009
F43560	  9029#	  9045
F43570	  9065#	  9081
F43600	  9101#	  9117
F43610	  9137#	  9153
F43620	  9173#	  9189
F43630	  9209#	  9225
F43640	  9245#	  9261
F43650	  9281#	  9297
F43660	  9317#	  9333
F43670	  9353#	  9369
F43700	  9389#	  9405
F43710	  9425#	  9441
F43720	  9461#	  9477                                                                                                     SEQ 0387
F43730	  9497#	  9513
F43740	  9533#	  9549
F4400	 10287#
F4500	 10319#
F4600	 10369#
F4710	 10424#	 10435
F4720	 10443#	 10456
F500	  9623#
F5000	 10473#
F5100	 10519#
F5200	 10570#
F5300	 10620#
F5400	 10670#
F5500	 10714#
F5600	 10777#
F5700	 10841#
F6000	 10904#
F6010	 10954#	 10965
F6100	 10985#
F6300	 11028#
F6500	 11079#
F6600	 11128#
F6700	 11185#	 11191
F700	  9680#
F7000	 11206#
F7100	 11248#
F7400	 11317#
F7500	 11379#
F7600	 11443#
F7700	 11491#
FOV	   394#
FOVU	   394#
FRDLNK	   162#
FSELNK	   161#
FXU	   394#
HYPEN	   593#
INHCSH	   147#
INHPAG	   144#
IOCLR	   394#
ITERAT	    88#	   440
ITRCH1	   500#
ITRCNT	   440#
JOB41	   394#
JOBAPR	   394#
JOBCNI	   394#
JOBDDT	   394#
JOBFF	   394#
JOBOPC	   394#	 16245
JOBREL	   394#
JOBREN	   394#
JOBSA	   394#
JOBSYM	   394#
JOBTPC	   394#                                                                                                            SEQ 0388
JOBUSY	   394#
JOBUUO	   394#
JOBVER	   394#
KAIFLG	   457#
KLFLG	   458#
KNTRP	   394#
KTRP	   394#
LACLK	   394#
LACLKE	   394#
LAPRAL	   394#
LAPRP1	   394#
LAPRP2	   394#
LAPRP3	   394#
LAPRP4	   394#
LAPRP5	   394#
LAPRP6	   394#
LAPRP7	   394#
LCHNOF	   394#
LCHNON	   394#
LCNTXT	   394#
LCNXER	   394#
LCPAER	   394#
LCPSFT	   394#
LCPWRF	   394#
LDATAF	   394#
LDLNK	   163#	   410	   412
LDNXER	   394#
LDPAER	   394#
LDPSFT	   394#
LDPWRF	   394#
LEBXMH	   394#
LEBXML	   394#
LENXER	   394#
LEPAER	   394#
LEPSFT	   394#
LEPWRF	   394#
LEUPFW	   394#
LEXCMP	   394#
LFLGCL	   394#
LFLGDS	   394#
LFLGEN	   394#
LFLGST	   394#
LFP	   597#
LINSTF	   394#
LINT	   394#
LIOCLR	   394#
LLACBL	   394#
LLDUSB	   394#
LMBXMH	   394#
LMBXML	   394#
LNXMEN	   394#
LNXMER	   394#
LOOPER	   138#	 16250                                                                                                     SEQ 0389
LPAREN	   394#
LPARER	   394#
LPFWPC	   394#
LPGFTR	   394#
LPICH1	   394#
LPICH2	   394#
LPICH3	   394#
LPICH4	   394#
LPICH5	   394#
LPICH6	   394#
LPICH7	   394#
LPICHA	   394#
LPICLR	   394#
LPIIP1	   394#
LPIIP2	   394#
LPIIP3	   394#
LPIIP4	   394#
LPIIP5	   394#
LPIIP6	   394#
LPIIP7	   394#
LPIOFF	   394#
LPION	   394#
LPRCH1	   394#
LPRCH2	   394#
LPRCH3	   394#
LPRCH4	   394#
LPRCH5	   394#
LPRCH6	   394#
LPRCH7	   394#
LPRFMH	   394#
LPRFML	   394#
LPSFT	   394#
LPSFTE	   394#
LPWRFE	   394#
LPWRFL	   394#
LREQSE	   394#
LRQCLR	   394#
LSECMO	   394#
LSMODE	   394#
LSNXER	   394#
LSPAER	   394#
LSPSFT	   394#
LSPWRF	   394#
LTBASH	   394#
LTBASL	   394#
LTRPAE	   394#
LTRPEN	   394#
LUSCMP	   394#
LUUO	   394#
LUUO1	    46#	   527	   528
LUUO10	    53#	   527	   532
LUUO11	    54#	   527	   532
LUUO12	    55#	   527	   533                                                                                             SEQ 0390
LUUO13	    56#	   527	   533
LUUO14	   527	   534
LUUO15	   527	   534
LUUO16	   527	   535
LUUO17	   527	   535
LUUO2	    47#	   527	   529
LUUO20	   527	   536
LUUO21	   527	   536
LUUO22	   527	   537
LUUO23	   527	   537
LUUO24	   527	   538
LUUO25	   527	   538
LUUO26	   527	   539
LUUO27	   527	   539
LUUO3	    48#	   527	   529
LUUO30	   527	   540
LUUO31	   527	   540
LUUO32	   527	   541
LUUO33	   527	   541
LUUO4	    49#	   527	   530
LUUO5	    50#	   527	   530
LUUO6	    51#	   527	   531
LUUO7	    52#	   527	   531
LUUOI	   394#
LWRITE	   394#
MAPNEW	   548#
MARGIN	   470#
MCNVER	     3#	    11	    26	   442
MEMLOW	   550#
MEMMAP	   448
MEMSIZ	   551#
MEMTOT	   549#
MICNT	 16134#	 16134	 16135	 16148
MINUS	   592#
MODDVC	   146#
MODDVL	   345	   345#	   443
MODDVU	   346	   346#	   444
MODLNK	   165#	   407
MONCTL	   460#	 16149	 16262
MONFLG	   459#
MONTEN	   461#
MONTYP	   674#
MPVU	   394#
MUUO	   394#
MUUOPC	   394#
N1	   755#	   784	   785	   787	   818	   819	   821	   852	   853	   855	   886	   887	   889	   920
	   921	   923	   954	   955	   957	   988	   989	   991	  1022	  1023	  1025	  1056	  1057	  1059
	  1090	  1091	  1093	  1124	  1125	  1127	  1158	  1159	  1161	  1192	  1193	  1195	  1226	  1227
	  1229	  1260	  1261	  1263	  1294	  1295	  1297	  1328	  1329	  1331	  1362	  1363	  1365	  1396
	  1397	  1399	  1430	  1431	  1433	  1464	  1465	  1467	  1498	  1499	  1501	  1532	  1533	  1535
	  1566	  1567	  1569	  1600	  1601	  1603	  1634	  1635	  1637	  1668	  1669	  1671	  1702	  1703
	  1705	  1736	  1737	  1739	  1770	  1771	  1773	  1804	  1805	  1807	  1838	  1839	  1841	  1872
	  1873	  1875	  1906	  1907	  1909	  1940	  1941	  1943	  1974	  1975	  3224	  4470                     SEQ 0391
N2	   756#	  1976	  2031	  2032	  2033	  2065	  2066	  2067	  2099	  2100	  2101	  2133	  2134	  2135
	  2167	  2168	  2169	  2201	  2202	  2203	  2235	  2236	  2237	  2269	  2270	  2271	  2303	  2304
	  2305	  2337	  2338	  2339	  2371	  2372	  2373	  2405	  2406	  2407	  2439	  2440	  2441	  2473
	  2474	  2475	  2507	  2508	  2509	  2541	  2542	  2543	  2575	  2576	  2577	  2609	  2610	  2611
	  2643	  2644	  2645	  2677	  2678	  2679	  2711	  2712	  2713	  2745	  2746	  2747	  2779	  2780
	  2781	  2813	  2814	  2815	  2847	  2848	  2849	  2881	  2882	  2883	  2915	  2916	  2917	  2949
	  2950	  2951	  2983	  2984	  2985	  3017	  3018	  3019	  3051	  3052	  3053	  3085	  3086	  3087
	  3119	  3120	  3121	  3153	  3154	  3155	  3187	  3188	  3189	  3221	  3222	  3277	  3278	  3279
	  3311	  3312	  3313	  3345	  3346	  3347	  3379	  3380	  3381	  3413	  3414	  3415	  3447	  3448
	  3449	  3481	  3482	  3483	  3515	  3516	  3517	  3549	  3550	  3551	  3583	  3584	  3585	  3617
	  3618	  3619	  3651	  3652	  3653	  3685	  3686	  3687	  3719	  3720	  3721	  3753	  3754	  3755
	  3787	  3788	  3789	  3821	  3822	  3823	  3855	  3856	  3857	  3889	  3890	  3891	  3923	  3924
	  3925	  3957	  3958	  3959	  3991	  3992	  3993	  4025	  4026	  4027	  4059	  4060	  4061	  4093
	  4094	  4095	  4127	  4128	  4129	  4161	  4162	  4163	  4195	  4196	  4197	  4229	  4230	  4231
	  4263	  4264	  4265	  4297	  4298	  4299	  4331	  4332	  4333	  4365	  4366	  4367	  4399	  4400
	  4401	  4433	  4434	  4435	  4467	  4468
NOPNT	   134#	 16139
NXMU	   394#
OPRSEL	   148#
OPTIME	   562#
P	   191	   192	   193	   194	   394#	   482
PAG	   394#
PALERS	   140#	 16272
PAREA0	    81#
PAREA1	    82#	   438
PAREA2	    83#	   439
PAREA3	    84#	   436
PAREA4	    85#	   437
PAREA5	    86#	   449
PAREA6	    87#	   450
PAREA7	   449#
PAREA8	   450#
PART2	   749	   753#
PARU	   394#
PASCNT	   464#	 16154	 16158
PATCH	 16674#
PDISF	   559#
PDLOVU	   394#
PDOVTP	   394#
PERIOD	   589#
PFSTRT	   416#
PGMEND	    62#	 16680
PGMNAM	   441	   726#
PICHN1	   394#
PICHN2	   394#
PICHN3	   394#
PICHN4	   394#
PICHN5	   394#
PICHN6	   394#
PICHN7	   394#
PICHNA	   394#
PICLR	   394#
PIOFF	   394#                                                                                                            SEQ 0392
PION	   394#
PLIST	   628#	   628
PLISTE	   628	   630#
PLISTS	   629#
PLUS	   594#
PNTENB	   558#
PNTEXT	   437#
PNTFLG	   557#
PNTINH	   560#
PNTLPT	   135#
PNTNAM	   436#
PNTRP	   394#
PNTSPC	   561#
PROCED	 16137#	 16137	 16251	 16258
PTRP	   394#
PVPAGI	   655#
QUEST	   600#
RADIX	   603#
RADLSC	   605#
RADLSP	   604#
RANDBS	   438#
REENTR	   418#
RELIAB	   142#
REPT	   394#
REPT1	   394#
REPTU	   516#
REQSET	   394#
RESRT1	   493#
RESRT2	   494#
RETURN	   425#
RSTART	   131#
RTP	   598#
RUNFLG	   465#
SADR1	    67#	   414
SADR10	    76#	   430
SADR11	    77#	   431
SADR2	    68#	   416
SADR3	    69#	   418
SADR4	    70#
SADR5	    71#	   479
SADR6	    72#	   480
SADR7	    73#	   427
SADR8	    74#	   428
SADR9	    75#	   429
SBINIT	   204	   424#
SCOPE	   517#
SFSTRT	   414#
SLASH	   601#
SM10	   705#
SN	  9560#	  9580	  9580#	  9589	  9591	  9594	  9594#	  9603	  9605	  9619#	  9638	  9638#	  9646	  9649
	  9652	  9652#	  9660	  9663	  9676#	  9693	  9693#	  9700	  9702	  9705	  9705#	  9712	  9714	  9727#
	  9742	  9742#	  9748	  9750	  9753	  9753#	  9759	  9761	  9775#	  9793	  9793#	  9801	  9803	  9806
	  9806#	  9814	  9816	  9829#	  9848	  9848#	  9856	  9859	  9862	  9862#	  9870	  9873	  9886#	  9908     SEQ 0393
	  9908#	  9918	  9921	  9924	  9924#	  9934	  9937	  9951#	  9968	  9968#	  9975	  9977	  9980	  9980#
	  9987	  9989	 10002#	 10019	 10019#	 10027	 10029	 10032	 10032#	 10040	 10042	 10055#	 10076	 10076#
	 10087	 10089	 10092	 10092#	 10103	 10105	 10119#	 10136	 10136#	 10143	 10145	 10148	 10148#	 10155
	 10157	 10166#	 10183	 10183#	 10196	 10198	 10201	 10201#	 10214	 10216	 10234#	 10253	 10253#	 10261
	 10263	 10265	 10268	 10268#	 10276	 10278	 10280	 10284#	 10297	 10297#	 10303	 10306	 10306#	 10312
	 10316#	 10330	 10330#	 10337	 10340	 10340#	 10347	 10365#	 10386	 10386#	 10395	 10397	 10399	 10402
	 10402#	 10411	 10413	 10415	 10470#	 10483	 10483#	 10489	 10492	 10492#	 10498	 10515#	 10535	 10535#
	 10544	 10547	 10550	 10550#	 10559	 10562	 10566#	 10586	 10586#	 10596	 10598	 10601	 10601#	 10611
	 10613	 10616#	 10636	 10636#	 10645	 10648	 10651	 10651#	 10660	 10663	 10667#	 10684	 10684#	 10692
	 10694	 10697	 10697#	 10705	 10707	 10710#	 10731	 10731#	 10741	 10744	 10747	 10747#	 10757	 10760
	 10773#	 10794	 10794#	 10804	 10807	 10810	 10810#	 10820	 10823	 10837#	 10858	 10858#	 10868	 10871
	 10874	 10874#	 10884	 10887	 10900#	 10921	 10921#	 10931	 10934	 10937	 10937#	 10947	 10950	 10982#
	 10996	 10996#	 11003	 11006	 11006#	 11013	 11025#	 11041	 11041#	 11048	 11050	 11053	 11053#	 11060
	 11062	 11077#	 11089	 11089#	 11095	 11098	 11098#	 11104	 11125#	 11147	 11147#	 11157	 11159	 11161
	 11165	 11165#	 11175	 11177	 11179	 11204#	 11216	 11216#	 11222	 11225	 11225#	 11231	 11245#	 11267
	 11267#	 11276	 11278	 11282	 11285	 11285#	 11294	 11296	 11300	 11314#	 11334	 11334#	 11342	 11344
	 11347	 11350	 11350#	 11358	 11360	 11363	 11376#	 11396	 11396#	 11404	 11406	 11409	 11412	 11412#
	 11420	 11422	 11425	 11440#	 11455	 11455#	 11461	 11463	 11466	 11466#	 11472	 11474	 11487#	 11506
	 11506#	 11515	 11517	 11520	 11520#	 11529	 11531	 11544#	 11560	 11560#	 11567	 11569	 11572	 11572#
	 11579	 11581	 11598#	 11614	 11614#	 11621	 11623	 11626	 11626#	 11633	 11635	 11650#	 11665	 11665#
	 11671	 11673	 11676	 11676#	 11682	 11684	 11688#	 11705	 11705#	 11713	 11715	 11718	 11718#	 11726
	 11728	 11742#	 11755	 11755#	 11761	 11764	 11764#	 11770	 11785#	 11803	 11803#	 11811	 11813	 11816
	 11816#	 11824	 11826	 11839#	 11858	 11858#	 11867	 11869	 11872	 11872#	 11881	 11883	 11889#	 11904
	 11904#	 11910	 11912	 11915	 11915#	 11921	 11923	 11936#	 11951	 11951#	 11957	 11959	 11962	 11962#
	 11968	 11970	 11983#	 11999	 11999#	 12006	 12008	 12011	 12011#	 12018	 12020	 12036#	 12053	 12053#
	 12060	 12063	 12066	 12066#	 12073	 12076	 12089#	 12106	 12106#	 12113	 12119	 12119#	 12126	 12142#
	 12158	 12158#	 12165	 12167	 12170	 12170#	 12177	 12179	 12197#	 12212	 12212#	 12218	 12220	 12223
	 12223#	 12229	 12231	 12239#	 12262	 12262#	 12276	 12278	 12281	 12284	 12284#	 12298	 12300	 12303
	 12319#	 12335	 12335#	 12342	 12344	 12347	 12347#	 12354	 12356	 12372#	 12388	 12388#	 12395	 12397
	 12400	 12400#	 12407	 12409	 12473#	 12491	 12491#	 12499	 12501	 12504	 12504#	 12512	 12514	 12528#
	 12550	 12550#	 12559	 12561	 12563	 12565	 12568	 12568#	 12577	 12579	 12581	 12583	 12600#	 12615
	 12615#	 12623	 12626	 12626#	 12634	 12648#	 12667	 12667#	 12676	 12678	 12681	 12681#	 12690	 12692
	 12706#	 12734	 12734#	 12746	 12748	 12751	 12753	 12756	 12756#	 12768	 12770	 12773	 12775	 12790#
	 12810	 12810#	 12819	 12821	 12824	 12824#	 12833	 12835	 12851#	 12878	 12878#	 12890	 12892	 12894
	 12896	 12899	 12899#	 12911	 12913	 12915	 12917	 12932#	 12952	 12952#	 12962	 12964	 12967	 12967#
	 12977	 12979	 12994#	 13012	 13012#	 13023	 13026	 13026#	 13037	 13046#	 13066	 13066#	 13082	 13085
	 13085#	 13101	 13116#	 13135	 13135#	 13144	 13146	 13149	 13149#	 13158	 13160	 13176#	 13192	 13192#
	 13199	 13201	 13204	 13204#	 13211	 13213	 13254#	 13275	 13275#	 13284	 13286	 13288	 13291	 13291#
	 13300	 13302	 13304	 13307	 13307#	 13316	 13318	 13320	 13323	 13323#	 13332	 13334	 13336	 13339
	 13339#	 13348	 13350	 13352	 13355	 13355#	 13364	 13366	 13368	 13371	 13371#	 13380	 13382	 13384
	 13387	 13387#	 13396	 13398	 13400	 13403	 13403#	 13412	 13414	 13416	 13419	 13419#	 13428	 13430
	 13432	 13450#	 13469	 13469#	 13477	 13480	 13483	 13483#	 13491	 13494	 13497	 13497#	 13505	 13508
	 13511	 13511#	 13519	 13522	 13525	 13525#	 13533	 13536	 13553#	 13567	 13567#	 13574	 13577	 13577#
	 13584	 13587	 13587#	 13594	 13597	 13597#	 13604	 13607	 13607#	 13614	 13632#	 13654	 13654#	 13664
	 13666	 13668	 13671	 13671#	 13681	 13683	 13685	 13688	 13688#	 13698	 13700	 13702	 13705	 13705#
	 13715	 13717	 13719	 13722	 13722#	 13732	 13734	 13736	 13753#	 13775	 13775#	 13785	 13787	 13789
	 13792	 13792#	 13802	 13804	 13806	 13809	 13809#	 13819	 13821	 13823	 13826	 13826#	 13836	 13838
	 13840	 13843	 13843#	 13853	 13855	 13857	 13875#	 13894	 13894#	 13903	 13905	 13908	 13908#	 13917
	 13919	 13922	 13922#	 13931	 13933	 13936	 13936#	 13945	 13947	 13950	 13950#	 13959	 13961	 13978#
	 13993	 13993#	 14000	 14003	 14003#	 14010	 14013	 14013#	 14020	 14023	 14023#	 14030	 14033	 14033#
	 14040	 14057#	 14078	 14078#	 14087	 14089	 14091	 14094	 14094#	 14103	 14105	 14107	 14110	 14110#
	 14119	 14121	 14123	 14126	 14126#	 14135	 14137	 14139	 14142	 14142#	 14151	 14153	 14155	 14172#
	 14188	 14188#	 14195	 14197	 14200	 14200#	 14207	 14209	 14212	 14212#	 14219	 14221	 14224	 14224#    SEQ 0394
	 14231	 14233	 14236	 14236#	 14243	 14245	 14265#	 14281	 14281#	 14288	 14290	 14293	 14293#	 14300
	 14302	 14305	 14305#	 14312	 14314	 14317	 14317#	 14324	 14326	 14329	 14329#	 14336	 14338	 14341
	 14341#	 14348	 14350	 14353	 14353#	 14360	 14362	 14365	 14365#	 14372	 14374	 14377	 14377#	 14384
	 14386	 14389	 14389#	 14396	 14398	 14401	 14401#	 14408	 14410	 14413	 14413#	 14420	 14422	 14425
	 14425#	 14432	 14434	 14437	 14437#	 14444	 14446	 14449	 14449#	 14456	 14458	 14461	 14461#	 14468
	 14470	 14473	 14473#	 14480	 14482	 14485	 14485#	 14492	 14494	 14497#	 14513	 14513#	 14520	 14522
	 14525	 14525#	 14532	 14534	 14537	 14537#	 14544	 14546	 14549	 14549#	 14556	 14558	 14561	 14561#
	 14568	 14570	 14573	 14573#	 14580	 14582	 14585	 14585#	 14592	 14594	 14597	 14597#	 14604	 14606
	 14609	 14609#	 14616	 14618	 14621	 14621#	 14628	 14630	 14633	 14633#	 14640	 14642	 14645	 14645#
	 14652	 14654	 14657	 14657#	 14664	 14666	 14669	 14669#	 14676	 14678	 14681	 14681#	 14688	 14690
	 14693	 14693#	 14700	 14702	 14705	 14705#	 14712	 14714	 14734#	 14753	 14753#	 14761	 14763	 14765
	 14768	 14768#	 14776	 14778	 14780	 14783	 14783#	 14791	 14793	 14795	 14798	 14798#	 14806	 14808
	 14810	 14813	 14813#	 14821	 14823	 14825	 14828	 14828#	 14836	 14838	 14840	 14843	 14843#	 14851
	 14853	 14855	 14858	 14858#	 14866	 14868	 14870	 14873	 14873#	 14881	 14883	 14885	 14888	 14888#
	 14896	 14898	 14900	 14903	 14903#	 14911	 14913	 14915	 14918	 14918#	 14926	 14928	 14930	 14933
	 14933#	 14941	 14943	 14945	 14948	 14948#	 14956	 14958	 14960	 14963	 14963#	 14971	 14973	 14975
	 14978	 14978#	 14986	 14988	 14990	 14993	 14993#	 15001	 15003	 15005	 15008	 15008#	 15016	 15018
	 15020	 15023#	 15042	 15042#	 15050	 15052	 15054	 15057	 15057#	 15065	 15067	 15069	 15072	 15072#
	 15080	 15082	 15084	 15087	 15087#	 15095	 15097	 15099	 15102	 15102#	 15110	 15112	 15114	 15117
	 15117#	 15125	 15127	 15129	 15132	 15132#	 15140	 15142	 15144	 15147	 15147#	 15155	 15157	 15159
	 15162	 15162#	 15170	 15172	 15174	 15177	 15177#	 15185	 15187	 15189	 15192	 15192#	 15200	 15202
	 15204	 15207	 15207#	 15215	 15217	 15219	 15222	 15222#	 15230	 15232	 15234	 15237	 15237#	 15245
	 15247	 15249	 15252	 15252#	 15260	 15262	 15264	 15267	 15267#	 15275	 15277	 15279	 15282	 15282#
	 15290	 15292	 15294	 15312#	 15329	 15329#	 15336	 15338	 15341	 15341#	 15348	 15350	 15353	 15353#
	 15360	 15362	 15365	 15365#	 15372	 15374	 15377	 15377#	 15384	 15386	 15389	 15389#	 15396	 15398
	 15401	 15401#	 15408	 15410	 15413	 15413#	 15420	 15422	 15425	 15425#	 15432	 15434	 15437	 15437#
	 15444	 15446	 15464#	 15487	 15487#	 15498	 15500	 15502	 15505	 15505#	 15516	 15518	 15520	 15523
	 15523#	 15534	 15536	 15538	 15541	 15541#	 15552	 15554	 15556	 15559	 15559#	 15570	 15572	 15574
	 15592#	 15612	 15612#	 15620	 15622	 15624	 15627	 15627#	 15635	 15637	 15639	 15642	 15642#	 15650
	 15652	 15654	 15657	 15657#	 15665	 15667	 15669	 15672	 15672#	 15680	 15682	 15684	 15701#	 15722
	 15722#	 15731	 15733	 15735	 15738	 15738#	 15747	 15749	 15751	 15754	 15754#	 15763	 15765	 15767
	 15770	 15770#	 15779	 15781	 15783	 15786	 15786#	 15795	 15797	 15799	 15816#	 15832	 15832#	 15839
	 15841	 15844	 15844#	 15851	 15853	 15856	 15856#	 15863	 15865	 15868	 15868#	 15875	 15877	 15880
	 15880#	 15887	 15889	 15906#	 15927	 15927#	 15936	 15938	 15940	 15943	 15943#	 15952	 15954	 15956
	 15959	 15959#	 15968	 15970	 15972	 15975	 15975#	 15984	 15986	 15988	 15991	 15991#	 16000	 16002
	 16004	 16021#	 16042	 16042#	 16051	 16053	 16055	 16058	 16058#	 16067	 16069	 16071	 16074	 16074#
	 16083	 16085	 16087	 16090	 16090#	 16099	 16101	 16103	 16106	 16106#	 16115	 16117	 16119
SNTRP	   394#
SPACE	   590#
SPDES	 16224#
SRTDDT	    70	   420#
START	   408	   745#
START1	   427#
START2	   428#
START3	   429#
START4	   430#
START5	   431#
STARTA	   423	   749#
STRP	   394#
SUBLNK	   166#	   424
SWPTAB	   711#
SWTEXR	   439#
SYSEXR	   412#                                                                                                            SEQ 0395
TAB	   591#
TESTPC	   466#	   759	  2005	  3252	  4498	  5669	  6914	  8234	  9556	  9615	  9672	  9723	  9771	  9825
	  9882	  9947	  9998	 10051	 10115	 10187	 10205	 10230	 10361	 10465	 10511	 10769	 10833	 10896
	 10977	 11021	 11074	 11121	 11200	 11241	 11310	 11372	 11435	 11483	 11540	 11594	 11646	 11738
	 11781	 11835	 11932	 11979	 12032	 12085	 12138	 12193	 12267	 12289	 12314	 12368	 12422	 12468
	 12524	 12595	 12644	 12702	 12785	 12847	 12928	 12990	 13071	 13090	 13111	 13172	 13250	 13446
	 13549	 13628	 13749	 13871	 13974	 14053	 14168	 14261	 14730	 15308	 15460	 15588	 15697	 15812
	 15902	 16017
TICKS	   469#
TLET	   747	 16198	 16221#
TN0	   394#
TN1	   394#
TOTALS	   132#
TRP3TP	   394#
TTNBRF	   649#
TTYFIL	   565#
TTYSPD	   566#
TXTINH	   143#	 16182
UBAVEC	   394#
USER	   456#
USERF	   394#
USRASB	    61#	   446
USRCRF	   575#
USRLFF	   574#
UUODIS	   528#
UUOEXT	   484#	 16269
UUORTN	   485#
UUOSKP	   482#
V1	   784#	   794	   795	   818#	   828	   829	   852#	   862	   863	   886#	   896	   897	   920#	   930
	   931	   954#	   964	   965	   988#	   998	   999	  1022#	  1032	  1033	  1056#	  1066	  1067	  1090#
	  1100	  1101	  1124#	  1134	  1135	  1158#	  1168	  1169	  1192#	  1202	  1203	  1226#	  1236	  1237
	  1260#	  1270	  1271	  1294#	  1304	  1305	  1328#	  1338	  1339	  1362#	  1372	  1373	  1396#	  1406
	  1407	  1430#	  1440	  1441	  1464#	  1474	  1475	  1498#	  1508	  1509	  1532#	  1542	  1543	  1566#
	  1576	  1577	  1600#	  1610	  1611	  1634#	  1644	  1645	  1668#	  1678	  1679	  1702#	  1712	  1713
	  1736#	  1746	  1747	  1770#	  1780	  1781	  1804#	  1814	  1815	  1838#	  1848	  1849	  1872#	  1882
	  1883	  1906#	  1916	  1917	  1940#	  1950	  1951	  1974#	  1984	  1985	  2031#	  2045	  2046	  2054
	  2055	  2065#	  2079	  2080	  2088	  2089	  2099#	  2113	  2114	  2122	  2123	  2133#	  2147	  2148
	  2156	  2157	  2167#	  2181	  2182	  2190	  2191	  2201#	  2215	  2216	  2224	  2225	  2235#	  2249
	  2250	  2258	  2259	  2269#	  2283	  2284	  2292	  2293	  2303#	  2317	  2318	  2326	  2327	  2337#
	  2351	  2352	  2360	  2361	  2371#	  2385	  2386	  2394	  2395	  2405#	  2419	  2420	  2428	  2429
	  2439#	  2453	  2454	  2462	  2463	  2473#	  2487	  2488	  2496	  2497	  2507#	  2521	  2522	  2530
	  2531	  2541#	  2555	  2556	  2564	  2565	  2575#	  2589	  2590	  2598	  2599	  2609#	  2623	  2624
	  2632	  2633	  2643#	  2657	  2658	  2666	  2667	  2677#	  2691	  2692	  2700	  2701	  2711#	  2725
	  2726	  2734	  2735	  2745#	  2759	  2760	  2768	  2769	  2779#	  2793	  2794	  2802	  2803	  2813#
	  2827	  2828	  2836	  2837	  2847#	  2861	  2862	  2870	  2871	  2881#	  2895	  2896	  2904	  2905
	  2915#	  2929	  2930	  2938	  2939	  2949#	  2963	  2964	  2972	  2973	  2983#	  2997	  2998	  3006
	  3007	  3017#	  3031	  3032	  3040	  3041	  3051#	  3065	  3066	  3074	  3075	  3085#	  3099	  3100
	  3108	  3109	  3119#	  3133	  3134	  3142	  3143	  3153#	  3167	  3168	  3176	  3177	  3187#	  3201
	  3202	  3210	  3211	  3221#	  3235	  3236	  3244	  3245	  3277#	  3287	  3288	  3311#	  3321	  3322
	  3345#	  3355	  3356	  3379#	  3389	  3390	  3413#	  3423	  3424	  3447#	  3457	  3458	  3481#	  3491
	  3492	  3515#	  3525	  3526	  3549#	  3559	  3560	  3583#	  3593	  3594	  3617#	  3627	  3628	  3651#
	  3661	  3662	  3685#	  3695	  3696	  3719#	  3729	  3730	  3753#	  3763	  3764	  3787#	  3797	  3798
	  3821#	  3831	  3832	  3855#	  3865	  3866	  3889#	  3899	  3900	  3923#	  3933	  3934	  3957#	  3967     SEQ 0396
	  3968	  3991#	  4001	  4002	  4025#	  4035	  4036	  4059#	  4069	  4070	  4093#	  4103	  4104	  4127#
	  4137	  4138	  4161#	  4171	  4172	  4195#	  4205	  4206	  4229#	  4239	  4240	  4263#	  4273	  4274
	  4297#	  4307	  4308	  4331#	  4341	  4342	  4365#	  4375	  4376	  4399#	  4409	  4410	  4433#	  4443
	  4444	  4467#	  4477	  4478	  4519#	  4538	  4539	  4551#	  4570	  4571	  4583#	  4602	  4603	  4615#
	  4634	  4635	  4647#	  4666	  4667	  4679#	  4698	  4699	  4711#	  4730	  4731	  4743#	  4762	  4763
	  4775#	  4794	  4795	  4807#	  4826	  4827	  4839#	  4858	  4859	  4871#	  4890	  4891	  4903#	  4922
	  4923	  4935#	  4954	  4955	  4967#	  4986	  4987	  4999#	  5018	  5019	  5031#	  5050	  5051	  5063#
	  5082	  5083	  5095#	  5114	  5115	  5127#	  5146	  5147	  5159#	  5178	  5179	  5191#	  5210	  5211
	  5223#	  5242	  5243	  5255#	  5274	  5275	  5287#	  5306	  5307	  5319#	  5338	  5339	  5351#	  5370
	  5371	  5383#	  5402	  5403	  5415#	  5434	  5435	  5447#	  5466	  5467	  5479#	  5498	  5499	  5511#
	  5530	  5531	  5543#	  5562	  5563	  5575#	  5594	  5595	  5607#	  5626	  5627	  5639#	  5658	  5659
	  5692#	  5713	  5714	  5726#	  5747	  5748	  5760#	  5781	  5782	  5794#	  5815	  5816	  5828#	  5849
	  5850	  5862#	  5883	  5884	  5896#	  5917	  5918	  5930#	  5951	  5952	  5964#	  5985	  5986	  5998#
	  6019	  6020	  6032#	  6053	  6054	  6066#	  6087	  6088	  6100#	  6121	  6122	  6134#	  6155	  6156
	  6168#	  6189	  6190	  6202#	  6223	  6224	  6236#	  6257	  6258	  6270#	  6291	  6292	  6304#	  6325
	  6326	  6338#	  6359	  6360	  6372#	  6393	  6394	  6406#	  6427	  6428	  6440#	  6461	  6462	  6474#
	  6495	  6496	  6508#	  6529	  6530	  6542#	  6563	  6564	  6576#	  6597	  6598	  6610#	  6631	  6632
	  6644#	  6665	  6666	  6678#	  6699	  6700	  6712#	  6733	  6734	  6746#	  6767	  6768	  6780#	  6801
	  6802	  6814#	  6835	  6836	  6848#	  6869	  6870	  6882#	  6903	  6904	  6942#	  6963	  6964	  6978#
	  6999	  7000	  7014#	  7035	  7036	  7050#	  7071	  7072	  7086#	  7107	  7108	  7122#	  7143	  7144
	  7158#	  7179	  7180	  7194#	  7215	  7216	  7230#	  7251	  7252	  7266#	  7287	  7288	  7302#	  7323
	  7324	  7338#	  7359	  7360	  7374#	  7395	  7396	  7410#	  7431	  7432	  7446#	  7467	  7468	  7482#
	  7503	  7504	  7518#	  7539	  7540	  7554#	  7575	  7576	  7590#	  7611	  7612	  7626#	  7647	  7648
	  7662#	  7683	  7684	  7698#	  7719	  7720	  7734#	  7755	  7756	  7770#	  7791	  7792	  7806#	  7827
	  7828	  7842#	  7863	  7864	  7878#	  7899	  7900	  7914#	  7935	  7936	  7950#	  7971	  7972	  7986#
	  8007	  8008	  8022#	  8043	  8044	  8058#	  8079	  8080	  8094#	  8115	  8116	  8130#	  8151	  8152
	  8166#	  8187	  8188	  8202#	  8223	  8224	  8262#	  8283	  8284	  8298#	  8319	  8320	  8334#	  8355
	  8356	  8370#	  8391	  8392	  8406#	  8427	  8428	  8442#	  8463	  8464	  8478#	  8499	  8500	  8514#
	  8535	  8536	  8550#	  8571	  8572	  8586#	  8607	  8608	  8622#	  8643	  8644	  8658#	  8679	  8680
	  8694#	  8715	  8716	  8730#	  8751	  8752	  8766#	  8787	  8788	  8802#	  8823	  8824	  8838#	  8859
	  8860	  8874#	  8895	  8896	  8910#	  8931	  8932	  8946#	  8967	  8968	  8982#	  9003	  9004	  9018#
	  9039	  9040	  9054#	  9075	  9076	  9090#	  9111	  9112	  9126#	  9147	  9148	  9162#	  9183	  9184
	  9198#	  9219	  9220	  9234#	  9255	  9256	  9270#	  9291	  9292	  9306#	  9327	  9328	  9342#	  9363
	  9364	  9378#	  9399	  9400	  9414#	  9435	  9436	  9450#	  9471	  9472	  9486#	  9507	  9508	  9522#
	  9543	  9544
V2	   785#	   804	   805	   819#	   838	   839	   853#	   872	   873	   887#	   906	   907	   921#	   940
	   941	   955#	   974	   975	   989#	  1008	  1009	  1023#	  1042	  1043	  1057#	  1076	  1077	  1091#
	  1110	  1111	  1125#	  1144	  1145	  1159#	  1178	  1179	  1193#	  1212	  1213	  1227#	  1246	  1247
	  1261#	  1280	  1281	  1295#	  1314	  1315	  1329#	  1348	  1349	  1363#	  1382	  1383	  1397#	  1416
	  1417	  1431#	  1450	  1451	  1465#	  1484	  1485	  1499#	  1518	  1519	  1533#	  1552	  1553	  1567#
	  1586	  1587	  1601#	  1620	  1621	  1635#	  1654	  1655	  1669#	  1688	  1689	  1703#	  1722	  1723
	  1737#	  1756	  1757	  1771#	  1790	  1791	  1805#	  1824	  1825	  1839#	  1858	  1859	  1873#	  1892
	  1893	  1907#	  1926	  1927	  1941#	  1960	  1961	  1975#	  1994	  1995	  2032#	  2051	  2052	  2066#
	  2085	  2086	  2100#	  2119	  2120	  2134#	  2153	  2154	  2168#	  2187	  2188	  2202#	  2221	  2222
	  2236#	  2255	  2256	  2270#	  2289	  2290	  2304#	  2323	  2324	  2338#	  2357	  2358	  2372#	  2391
	  2392	  2406#	  2425	  2426	  2440#	  2459	  2460	  2474#	  2493	  2494	  2508#	  2527	  2528	  2542#
	  2561	  2562	  2576#	  2595	  2596	  2610#	  2629	  2630	  2644#	  2663	  2664	  2678#	  2697	  2698
	  2712#	  2731	  2732	  2746#	  2765	  2766	  2780#	  2799	  2800	  2814#	  2833	  2834	  2848#	  2867
	  2868	  2882#	  2901	  2902	  2916#	  2935	  2936	  2950#	  2969	  2970	  2984#	  3003	  3004	  3018#
	  3037	  3038	  3052#	  3071	  3072	  3086#	  3105	  3106	  3120#	  3139	  3140	  3154#	  3173	  3174
	  3188#	  3207	  3208	  3222#	  3241	  3242	  3278#	  3297	  3298	  3312#	  3331	  3332	  3346#	  3365
	  3366	  3380#	  3399	  3400	  3414#	  3433	  3434	  3448#	  3467	  3468	  3482#	  3501	  3502	  3516#
	  3535	  3536	  3550#	  3569	  3570	  3584#	  3603	  3604	  3618#	  3637	  3638	  3652#	  3671	  3672     SEQ 0397
	  3686#	  3705	  3706	  3720#	  3739	  3740	  3754#	  3773	  3774	  3788#	  3807	  3808	  3822#	  3841
	  3842	  3856#	  3875	  3876	  3890#	  3909	  3910	  3924#	  3943	  3944	  3958#	  3977	  3978	  3992#
	  4011	  4012	  4026#	  4045	  4046	  4060#	  4079	  4080	  4094#	  4113	  4114	  4128#	  4147	  4148
	  4162#	  4181	  4182	  4196#	  4215	  4216	  4230#	  4249	  4250	  4264#	  4283	  4284	  4298#	  4317
	  4318	  4332#	  4351	  4352	  4366#	  4385	  4386	  4400#	  4419	  4420	  4434#	  4453	  4454	  4468#
	  4487	  4488	  4520#	  4535	  4536	  4552#	  4567	  4568	  4584#	  4599	  4600	  4616#	  4631	  4632
	  4648#	  4663	  4664	  4680#	  4695	  4696	  4712#	  4727	  4728	  4744#	  4759	  4760	  4776#	  4791
	  4792	  4808#	  4823	  4824	  4840#	  4855	  4856	  4872#	  4887	  4888	  4904#	  4919	  4920	  4936#
	  4951	  4952	  4968#	  4983	  4984	  5000#	  5015	  5016	  5032#	  5047	  5048	  5064#	  5079	  5080
	  5096#	  5111	  5112	  5128#	  5143	  5144	  5160#	  5175	  5176	  5192#	  5207	  5208	  5224#	  5239
	  5240	  5256#	  5271	  5272	  5288#	  5303	  5304	  5320#	  5335	  5336	  5352#	  5367	  5368	  5384#
	  5399	  5400	  5416#	  5431	  5432	  5448#	  5463	  5464	  5480#	  5495	  5496	  5512#	  5527	  5528
	  5544#	  5559	  5560	  5576#	  5591	  5592	  5608#	  5623	  5624	  5641#	  5655	  5656	  5695#	  5710
	  5711	  5729#	  5744	  5745	  5763#	  5778	  5779	  5797#	  5812	  5813	  5831#	  5846	  5847	  5865#
	  5880	  5881	  5899#	  5914	  5915	  5933#	  5948	  5949	  5967#	  5982	  5983	  6001#	  6016	  6017
	  6035#	  6050	  6051	  6069#	  6084	  6085	  6103#	  6118	  6119	  6137#	  6152	  6153	  6171#	  6186
	  6187	  6205#	  6220	  6221	  6239#	  6254	  6255	  6273#	  6288	  6289	  6307#	  6322	  6323	  6341#
	  6356	  6357	  6375#	  6390	  6391	  6409#	  6424	  6425	  6443#	  6458	  6459	  6477#	  6492	  6493
	  6511#	  6526	  6527	  6545#	  6560	  6561	  6579#	  6594	  6595	  6613#	  6628	  6629	  6647#	  6662
	  6663	  6681#	  6696	  6697	  6715#	  6730	  6731	  6749#	  6764	  6765	  6783#	  6798	  6799	  6817#
	  6832	  6833	  6851#	  6866	  6867	  6886#	  6900	  6901	  6945#	  6960	  6961	  6981#	  6996	  6997
	  7017#	  7032	  7033	  7053#	  7068	  7069	  7089#	  7104	  7105	  7125#	  7140	  7141	  7161#	  7176
	  7177	  7197#	  7212	  7213	  7233#	  7248	  7249	  7269#	  7284	  7285	  7305#	  7320	  7321	  7341#
	  7356	  7357	  7377#	  7392	  7393	  7413#	  7428	  7429	  7449#	  7464	  7465	  7485#	  7500	  7501
	  7521#	  7536	  7537	  7557#	  7572	  7573	  7593#	  7608	  7609	  7629#	  7644	  7645	  7665#	  7680
	  7681	  7701#	  7716	  7717	  7737#	  7752	  7753	  7773#	  7788	  7789	  7809#	  7824	  7825	  7845#
	  7860	  7861	  7881#	  7896	  7897	  7917#	  7932	  7933	  7953#	  7968	  7969	  7989#	  8004	  8005
	  8025#	  8040	  8041	  8061#	  8076	  8077	  8097#	  8112	  8113	  8133#	  8148	  8149	  8169#	  8184
	  8185	  8206#	  8220	  8221	  8265#	  8280	  8281	  8301#	  8316	  8317	  8337#	  8352	  8353	  8373#
	  8388	  8389	  8409#	  8424	  8425	  8445#	  8460	  8461	  8481#	  8496	  8497	  8517#	  8532	  8533
	  8553#	  8568	  8569	  8589#	  8604	  8605	  8625#	  8640	  8641	  8661#	  8676	  8677	  8697#	  8712
	  8713	  8733#	  8748	  8749	  8769#	  8784	  8785	  8805#	  8820	  8821	  8841#	  8856	  8857	  8877#
	  8892	  8893	  8913#	  8928	  8929	  8949#	  8964	  8965	  8985#	  9000	  9001	  9021#	  9036	  9037
	  9057#	  9072	  9073	  9093#	  9108	  9109	  9129#	  9144	  9145	  9165#	  9180	  9181	  9201#	  9216
	  9217	  9237#	  9252	  9253	  9273#	  9288	  9289	  9309#	  9324	  9325	  9345#	  9360	  9361	  9381#
	  9396	  9397	  9417#	  9432	  9433	  9453#	  9468	  9469	  9489#	  9504	  9505	  9526#	  9540	  9541
V2A	  5694#	  5695	  5728#	  5729	  5762#	  5763	  5796#	  5797	  5830#	  5831	  5864#	  5865	  5898#	  5899
	  5932#	  5933	  5966#	  5967	  6000#	  6001	  6034#	  6035	  6068#	  6069	  6102#	  6103	  6136#	  6137
	  6170#	  6171	  6204#	  6205	  6238#	  6239	  6272#	  6273	  6306#	  6307	  6340#	  6341	  6374#	  6375
	  6408#	  6409	  6442#	  6443	  6476#	  6477	  6510#	  6511	  6544#	  6545	  6578#	  6579	  6612#	  6613
	  6646#	  6647	  6680#	  6681	  6714#	  6715	  6748#	  6749	  6782#	  6783	  6816#	  6817	  6849#	  6851
	  6884#	  6943#	  6945	  6979#	  6981	  7015#	  7017	  7051#	  7053	  7087#	  7089	  7123#	  7125	  7159#
	  7161	  7195#	  7197	  7231#	  7233	  7267#	  7269	  7303#	  7305	  7339#	  7341	  7375#	  7377	  7411#
	  7413	  7447#	  7449	  7483#	  7485	  7519#	  7521	  7555#	  7557	  7592#	  7593	  7628#	  7629	  7664#
	  7665	  7700#	  7701	  7736#	  7737	  7772#	  7773	  7808#	  7809	  7844#	  7845	  7880#	  7881	  7916#
	  7917	  7952#	  7953	  7988#	  7989	  8024#	  8025	  8060#	  8061	  8096#	  8097	  8132#	  8133	  8168#
	  8169	  8204#	  8263#	  8265	  8299#	  8301	  8335#	  8337	  8371#	  8373	  8407#	  8409	  8443#	  8445
	  8479#	  8481	  8515#	  8517	  8551#	  8553	  8587#	  8589	  8623#	  8625	  8659#	  8661	  8695#	  8697
	  8731#	  8733	  8767#	  8769	  8803#	  8805	  8839#	  8841	  8875#	  8877	  8912#	  8913	  8948#	  8949
	  8984#	  8985	  9020#	  9021	  9056#	  9057	  9092#	  9093	  9128#	  9129	  9164#	  9165	  9200#	  9201
	  9236#	  9237	  9272#	  9273	  9308#	  9309	  9344#	  9345	  9380#	  9381	  9416#	  9417	  9452#	  9453
	  9488#	  9489	  9524#
V3	   787#	   801	   802	   821#	   835	   836	   855#	   869	   870	   889#	   903	   904	   923#	   937     SEQ 0398
	   938	   957#	   971	   972	   991#	  1005	  1006	  1025#	  1039	  1040	  1059#	  1073	  1074	  1093#
	  1107	  1108	  1127#	  1141	  1142	  1161#	  1175	  1176	  1195#	  1209	  1210	  1229#	  1243	  1244
	  1263#	  1277	  1278	  1297#	  1311	  1312	  1331#	  1345	  1346	  1365#	  1379	  1380	  1399#	  1413
	  1414	  1433#	  1447	  1448	  1467#	  1481	  1482	  1501#	  1515	  1516	  1535#	  1549	  1550	  1569#
	  1583	  1584	  1603#	  1617	  1618	  1637#	  1651	  1652	  1671#	  1685	  1686	  1705#	  1719	  1720
	  1739#	  1753	  1754	  1773#	  1787	  1788	  1807#	  1821	  1822	  1841#	  1855	  1856	  1875#	  1889
	  1890	  1909#	  1923	  1924	  1943#	  1957	  1958	  1976#	  1991	  1992	  2033#	  2048	  2049	  2067#
	  2082	  2083	  2101#	  2116	  2117	  2135#	  2150	  2151	  2169#	  2184	  2185	  2203#	  2218	  2219
	  2237#	  2252	  2253	  2271#	  2286	  2287	  2305#	  2320	  2321	  2339#	  2354	  2355	  2373#	  2388
	  2389	  2407#	  2422	  2423	  2441#	  2456	  2457	  2475#	  2490	  2491	  2509#	  2524	  2525	  2543#
	  2558	  2559	  2577#	  2592	  2593	  2611#	  2626	  2627	  2645#	  2660	  2661	  2679#	  2694	  2695
	  2713#	  2728	  2729	  2747#	  2762	  2763	  2781#	  2796	  2797	  2815#	  2830	  2831	  2849#	  2864
	  2865	  2883#	  2898	  2899	  2917#	  2932	  2933	  2951#	  2966	  2967	  2985#	  3000	  3001	  3019#
	  3034	  3035	  3053#	  3068	  3069	  3087#	  3102	  3103	  3121#	  3136	  3137	  3155#	  3170	  3171
	  3189#	  3204	  3205	  3224#	  3238	  3239	  3279#	  3294	  3295	  3313#	  3328	  3329	  3347#	  3362
	  3363	  3381#	  3396	  3397	  3415#	  3430	  3431	  3449#	  3464	  3465	  3483#	  3498	  3499	  3517#
	  3532	  3533	  3551#	  3566	  3567	  3585#	  3600	  3601	  3619#	  3634	  3635	  3653#	  3668	  3669
	  3687#	  3702	  3703	  3721#	  3736	  3737	  3755#	  3770	  3771	  3789#	  3804	  3805	  3823#	  3838
	  3839	  3857#	  3872	  3873	  3891#	  3906	  3907	  3925#	  3940	  3941	  3959#	  3974	  3975	  3993#
	  4008	  4009	  4027#	  4042	  4043	  4061#	  4076	  4077	  4095#	  4110	  4111	  4129#	  4144	  4145
	  4163#	  4178	  4179	  4197#	  4212	  4213	  4231#	  4246	  4247	  4265#	  4280	  4281	  4299#	  4314
	  4315	  4333#	  4348	  4349	  4367#	  4382	  4383	  4401#	  4416	  4417	  4435#	  4450	  4451	  4470#
	  4484	  4485
WW	   762#	   779	   779#	   787	   813	   813#	   821	   847	   847#	   855	   881	   881#	   889	   915
	   915#	   923	   949	   949#	   957	   983	   983#	   991	  1017	  1017#	  1025	  1051	  1051#	  1059
	  1085	  1085#	  1093	  1119	  1119#	  1127	  1153	  1153#	  1161	  1187	  1187#	  1195	  1221	  1221#
	  1229	  1255	  1255#	  1263	  1289	  1289#	  1297	  1323	  1323#	  1331	  1357	  1357#	  1365	  1391
	  1391#	  1399	  1425	  1425#	  1433	  1459	  1459#	  1467	  1493	  1493#	  1501	  1527	  1527#	  1535
	  1561	  1561#	  1569	  1595	  1595#	  1603	  1629	  1629#	  1637	  1663	  1663#	  1671	  1697	  1697#
	  1705	  1731	  1731#	  1739	  1765	  1765#	  1773	  1799	  1799#	  1807	  1833	  1833#	  1841	  1867
	  1867#	  1875	  1901	  1901#	  1909	  1935	  1935#	  1943	  1969	  1969#	  2009#	  2026	  2026#	  2033
	  2060	  2060#	  2067	  2094	  2094#	  2101	  2128	  2128#	  2135	  2162	  2162#	  2169	  2196	  2196#
	  2203	  2230	  2230#	  2237	  2264	  2264#	  2271	  2298	  2298#	  2305	  2332	  2332#	  2339	  2366
	  2366#	  2373	  2400	  2400#	  2407	  2434	  2434#	  2441	  2468	  2468#	  2475	  2502	  2502#	  2509
	  2536	  2536#	  2543	  2570	  2570#	  2577	  2604	  2604#	  2611	  2638	  2638#	  2645	  2672	  2672#
	  2679	  2706	  2706#	  2713	  2740	  2740#	  2747	  2774	  2774#	  2781	  2808	  2808#	  2815	  2842
	  2842#	  2849	  2876	  2876#	  2883	  2910	  2910#	  2917	  2944	  2944#	  2951	  2978	  2978#	  2985
	  3012	  3012#	  3019	  3046	  3046#	  3053	  3080	  3080#	  3087	  3114	  3114#	  3121	  3148	  3148#
	  3155	  3182	  3182#	  3189	  3216	  3216#	  3255#	  3272	  3272#	  3279	  3306	  3306#	  3313	  3340
	  3340#	  3347	  3374	  3374#	  3381	  3408	  3408#	  3415	  3442	  3442#	  3449	  3476	  3476#	  3483
	  3510	  3510#	  3517	  3544	  3544#	  3551	  3578	  3578#	  3585	  3612	  3612#	  3619	  3646	  3646#
	  3653	  3680	  3680#	  3687	  3714	  3714#	  3721	  3748	  3748#	  3755	  3782	  3782#	  3789	  3816
	  3816#	  3823	  3850	  3850#	  3857	  3884	  3884#	  3891	  3918	  3918#	  3925	  3952	  3952#	  3959
	  3986	  3986#	  3993	  4020	  4020#	  4027	  4054	  4054#	  4061	  4088	  4088#	  4095	  4122	  4122#
	  4129	  4156	  4156#	  4163	  4190	  4190#	  4197	  4224	  4224#	  4231	  4258	  4258#	  4265	  4292
	  4292#	  4299	  4326	  4326#	  4333	  4360	  4360#	  4367	  4394	  4394#	  4401	  4428	  4428#	  4435
	  4462	  4462#	 12852#	 12879	 12879#	 12883	 12900	 12900#	 12904
XX	   763#	   780	   780#	   781	   781#	   785	   786	   787	   798	   799	   807	   808	   814	   814#
	   815	   819	   820	   821	   832	   833	   841	   842	   848	   848#	   849	   853	   854	   855
	   866	   867	   875	   876	   882	   882#	   883	   887	   888	   889	   900	   901	   909	   910
	   916	   916#	   917	   921	   922	   923	   934	   935	   943	   944	   950	   950#	   951	   955
	   956	   957	   968	   969	   977	   978	   984	   984#	   985	   989	   990	   991	  1002	  1003
	  1011	  1012	  1018	  1018#	  1019	  1023	  1024	  1025	  1036	  1037	  1045	  1046	  1052	  1052#    SEQ 0399
	  1053	  1057	  1058	  1059	  1070	  1071	  1079	  1080	  1086	  1086#	  1087	  1091	  1092	  1093
	  1104	  1105	  1113	  1114	  1120	  1120#	  1121	  1125	  1126	  1127	  1138	  1139	  1147	  1148
	  1154	  1154#	  1155	  1159	  1160	  1161	  1172	  1173	  1181	  1182	  1188	  1188#	  1189	  1193
	  1194	  1195	  1206	  1207	  1215	  1216	  1222	  1222#	  1223	  1227	  1228	  1229	  1240	  1241
	  1249	  1250	  1256	  1256#	  1257	  1261	  1262	  1263	  1274	  1275	  1283	  1284	  1290	  1290#
	  1291	  1295	  1296	  1297	  1308	  1309	  1317	  1318	  1324	  1324#	  1325	  1329	  1330	  1331
	  1342	  1343	  1351	  1352	  1358	  1358#	  1359	  1363	  1364	  1365	  1376	  1377	  1385	  1386
	  1392	  1392#	  1393	  1397	  1398	  1399	  1410	  1411	  1419	  1420	  1426	  1426#	  1427	  1431
	  1432	  1433	  1444	  1445	  1453	  1454	  1460	  1460#	  1461	  1465	  1466	  1467	  1478	  1479
	  1487	  1488	  1494	  1494#	  1495	  1499	  1500	  1501	  1512	  1513	  1521	  1522	  1528	  1528#
	  1529	  1533	  1534	  1535	  1546	  1547	  1555	  1556	  1562	  1562#	  1563	  1567	  1568	  1569
	  1580	  1581	  1589	  1590	  1596	  1596#	  1597	  1601	  1602	  1603	  1614	  1615	  1623	  1624
	  1630	  1630#	  1631	  1635	  1636	  1637	  1648	  1649	  1657	  1658	  1664	  1664#	  1665	  1669
	  1670	  1671	  1682	  1683	  1691	  1692	  1698	  1698#	  1699	  1703	  1704	  1705	  1716	  1717
	  1725	  1726	  1732	  1732#	  1733	  1737	  1738	  1739	  1750	  1751	  1759	  1760	  1766	  1766#
	  1767	  1771	  1772	  1773	  1784	  1785	  1793	  1794	  1800	  1800#	  1801	  1805	  1806	  1807
	  1818	  1819	  1827	  1828	  1834	  1834#	  1835	  1839	  1840	  1841	  1852	  1853	  1861	  1862
	  1868	  1868#	  1869	  1873	  1874	  1875	  1886	  1887	  1895	  1896	  1902	  1902#	  1903	  1907
	  1908	  1909	  1920	  1921	  1929	  1930	  1936	  1936#	  1937	  1941	  1942	  1943	  1954	  1955
	  1963	  1964	  1970	  1970#	  1971	  1975	  1976	  1977	  1988	  1989	  1997	  1998	  2010#	  2027
	  2027#	  2028	  2028#	  2032	  2033	  2034	  2041	  2042	  2061	  2061#	  2062	  2066	  2067	  2068
	  2075	  2076	  2095	  2095#	  2096	  2100	  2101	  2102	  2109	  2110	  2129	  2129#	  2130	  2134
	  2135	  2136	  2143	  2144	  2163	  2163#	  2164	  2168	  2169	  2170	  2177	  2178	  2197	  2197#
	  2198	  2202	  2203	  2204	  2211	  2212	  2231	  2231#	  2232	  2236	  2237	  2238	  2245	  2246
	  2265	  2265#	  2266	  2270	  2271	  2272	  2279	  2280	  2299	  2299#	  2300	  2304	  2305	  2306
	  2313	  2314	  2333	  2333#	  2334	  2338	  2339	  2340	  2347	  2348	  2367	  2367#	  2368	  2372
	  2373	  2374	  2381	  2382	  2401	  2401#	  2402	  2406	  2407	  2408	  2415	  2416	  2435	  2435#
	  2436	  2440	  2441	  2442	  2449	  2450	  2469	  2469#	  2470	  2474	  2475	  2476	  2483	  2484
	  2503	  2503#	  2504	  2508	  2509	  2510	  2517	  2518	  2537	  2537#	  2538	  2542	  2543	  2544
	  2551	  2552	  2571	  2571#	  2572	  2576	  2577	  2578	  2585	  2586	  2605	  2605#	  2606	  2610
	  2611	  2612	  2619	  2620	  2639	  2639#	  2640	  2644	  2645	  2646	  2653	  2654	  2673	  2673#
	  2674	  2678	  2679	  2680	  2687	  2688	  2707	  2707#	  2708	  2712	  2713	  2714	  2721	  2722
	  2741	  2741#	  2742	  2746	  2747	  2748	  2755	  2756	  2775	  2775#	  2776	  2780	  2781	  2782
	  2789	  2790	  2809	  2809#	  2810	  2814	  2815	  2816	  2823	  2824	  2843	  2843#	  2844	  2848
	  2849	  2850	  2857	  2858	  2877	  2877#	  2878	  2882	  2883	  2884	  2891	  2892	  2911	  2911#
	  2912	  2916	  2917	  2918	  2925	  2926	  2945	  2945#	  2946	  2950	  2951	  2952	  2959	  2960
	  2979	  2979#	  2980	  2984	  2985	  2986	  2993	  2994	  3013	  3013#	  3014	  3018	  3019	  3020
	  3027	  3028	  3047	  3047#	  3048	  3052	  3053	  3054	  3061	  3062	  3081	  3081#	  3082	  3086
	  3087	  3088	  3095	  3096	  3115	  3115#	  3116	  3120	  3121	  3122	  3129	  3130	  3149	  3149#
	  3150	  3154	  3155	  3156	  3163	  3164	  3183	  3183#	  3184	  3188	  3189	  3190	  3197	  3198
	  3217	  3217#	  3218	  3222	  3223	  3224	  3231	  3232	  3256#	  3273	  3273#	  3274	  3274#	  3278
	  3279	  3280	  3291	  3292	  3300	  3301	  3307	  3307#	  3308	  3312	  3313	  3314	  3325	  3326
	  3334	  3335	  3341	  3341#	  3342	  3346	  3347	  3348	  3359	  3360	  3368	  3369	  3375	  3375#
	  3376	  3380	  3381	  3382	  3393	  3394	  3402	  3403	  3409	  3409#	  3410	  3414	  3415	  3416
	  3427	  3428	  3436	  3437	  3443	  3443#	  3444	  3448	  3449	  3450	  3461	  3462	  3470	  3471
	  3477	  3477#	  3478	  3482	  3483	  3484	  3495	  3496	  3504	  3505	  3511	  3511#	  3512	  3516
	  3517	  3518	  3529	  3530	  3538	  3539	  3545	  3545#	  3546	  3550	  3551	  3552	  3563	  3564
	  3572	  3573	  3579	  3579#	  3580	  3584	  3585	  3586	  3597	  3598	  3606	  3607	  3613	  3613#
	  3614	  3618	  3619	  3620	  3631	  3632	  3640	  3641	  3647	  3647#	  3648	  3652	  3653	  3654
	  3665	  3666	  3674	  3675	  3681	  3681#	  3682	  3686	  3687	  3688	  3699	  3700	  3708	  3709
	  3715	  3715#	  3716	  3720	  3721	  3722	  3733	  3734	  3742	  3743	  3749	  3749#	  3750	  3754
	  3755	  3756	  3767	  3768	  3776	  3777	  3783	  3783#	  3784	  3788	  3789	  3790	  3801	  3802
	  3810	  3811	  3817	  3817#	  3818	  3822	  3823	  3824	  3835	  3836	  3844	  3845	  3851	  3851#    SEQ 0400
	  3852	  3856	  3857	  3858	  3869	  3870	  3878	  3879	  3885	  3885#	  3886	  3890	  3891	  3892
	  3903	  3904	  3912	  3913	  3919	  3919#	  3920	  3924	  3925	  3926	  3937	  3938	  3946	  3947
	  3953	  3953#	  3954	  3958	  3959	  3960	  3971	  3972	  3980	  3981	  3987	  3987#	  3988	  3992
	  3993	  3994	  4005	  4006	  4014	  4015	  4021	  4021#	  4022	  4026	  4027	  4028	  4039	  4040
	  4048	  4049	  4055	  4055#	  4056	  4060	  4061	  4062	  4073	  4074	  4082	  4083	  4089	  4089#
	  4090	  4094	  4095	  4096	  4107	  4108	  4116	  4117	  4123	  4123#	  4124	  4128	  4129	  4130
	  4141	  4142	  4150	  4151	  4157	  4157#	  4158	  4162	  4163	  4164	  4175	  4176	  4184	  4185
	  4191	  4191#	  4192	  4196	  4197	  4198	  4209	  4210	  4218	  4219	  4225	  4225#	  4226	  4230
	  4231	  4232	  4243	  4244	  4252	  4253	  4259	  4259#	  4260	  4264	  4265	  4266	  4277	  4278
	  4286	  4287	  4293	  4293#	  4294	  4298	  4299	  4300	  4311	  4312	  4320	  4321	  4327	  4327#
	  4328	  4332	  4333	  4334	  4345	  4346	  4354	  4355	  4361	  4361#	  4362	  4366	  4367	  4368
	  4379	  4380	  4388	  4389	  4395	  4395#	  4396	  4400	  4401	  4402	  4413	  4414	  4422	  4423
	  4429	  4429#	  4430	  4434	  4435	  4436	  4447	  4448	  4456	  4457	  4463	  4463#	  4464	  4468
	  4469	  4470	  4481	  4482	  4490	  4491	  4501#	  4515	  4515#	  4516	  4516#	  4519	  4520	  4521
	  4528	  4529	  4532	  4533	  4541	  4542	  4547	  4547#	  4548	  4551	  4552	  4553	  4560	  4561
	  4564	  4565	  4573	  4574	  4579	  4579#	  4580	  4583	  4584	  4585	  4592	  4593	  4596	  4597
	  4605	  4606	  4611	  4611#	  4612	  4615	  4616	  4617	  4624	  4625	  4628	  4629	  4637	  4638
	  4643	  4643#	  4644	  4647	  4648	  4649	  4656	  4657	  4660	  4661	  4669	  4670	  4675	  4675#
	  4676	  4679	  4680	  4681	  4688	  4689	  4692	  4693	  4701	  4702	  4707	  4707#	  4708	  4711
	  4712	  4713	  4720	  4721	  4724	  4725	  4733	  4734	  4739	  4739#	  4740	  4743	  4744	  4745
	  4752	  4753	  4756	  4757	  4765	  4766	  4771	  4771#	  4772	  4775	  4776	  4777	  4784	  4785
	  4788	  4789	  4797	  4798	  4803	  4803#	  4804	  4807	  4808	  4809	  4816	  4817	  4820	  4821
	  4829	  4830	  4835	  4835#	  4836	  4839	  4840	  4841	  4848	  4849	  4852	  4853	  4861	  4862
	  4867	  4867#	  4868	  4871	  4872	  4873	  4880	  4881	  4884	  4885	  4893	  4894	  4899	  4899#
	  4900	  4903	  4904	  4905	  4912	  4913	  4916	  4917	  4925	  4926	  4931	  4931#	  4932	  4935
	  4936	  4937	  4944	  4945	  4948	  4949	  4957	  4958	  4963	  4963#	  4964	  4967	  4968	  4969
	  4976	  4977	  4980	  4981	  4989	  4990	  4995	  4995#	  4996	  4999	  5000	  5001	  5008	  5009
	  5012	  5013	  5021	  5022	  5027	  5027#	  5028	  5031	  5032	  5033	  5040	  5041	  5044	  5045
	  5053	  5054	  5059	  5059#	  5060	  5063	  5064	  5065	  5072	  5073	  5076	  5077	  5085	  5086
	  5091	  5091#	  5092	  5095	  5096	  5097	  5104	  5105	  5108	  5109	  5117	  5118	  5123	  5123#
	  5124	  5127	  5128	  5129	  5136	  5137	  5140	  5141	  5149	  5150	  5155	  5155#	  5156	  5159
	  5160	  5161	  5168	  5169	  5172	  5173	  5181	  5182	  5187	  5187#	  5188	  5191	  5192	  5193
	  5200	  5201	  5204	  5205	  5213	  5214	  5219	  5219#	  5220	  5223	  5224	  5225	  5232	  5233
	  5236	  5237	  5245	  5246	  5251	  5251#	  5252	  5255	  5256	  5257	  5264	  5265	  5268	  5269
	  5277	  5278	  5283	  5283#	  5284	  5287	  5288	  5289	  5296	  5297	  5300	  5301	  5309	  5310
	  5315	  5315#	  5316	  5319	  5320	  5321	  5328	  5329	  5332	  5333	  5341	  5342	  5347	  5347#
	  5348	  5351	  5352	  5353	  5360	  5361	  5364	  5365	  5373	  5374	  5379	  5379#	  5380	  5383
	  5384	  5385	  5392	  5393	  5396	  5397	  5405	  5406	  5411	  5411#	  5412	  5415	  5416	  5417
	  5424	  5425	  5428	  5429	  5437	  5438	  5443	  5443#	  5444	  5447	  5448	  5449	  5456	  5457
	  5460	  5461	  5469	  5470	  5475	  5475#	  5476	  5479	  5480	  5481	  5488	  5489	  5492	  5493
	  5501	  5502	  5507	  5507#	  5508	  5511	  5512	  5513	  5520	  5521	  5524	  5525	  5533	  5534
	  5539	  5539#	  5540	  5543	  5544	  5545	  5552	  5553	  5556	  5557	  5565	  5566	  5571	  5571#
	  5572	  5575	  5576	  5577	  5584	  5585	  5588	  5589	  5597	  5598	  5603	  5603#	  5604	  5607
	  5608	  5609	  5616	  5617	  5620	  5621	  5629	  5630	  5635	  5635#	  5636	  5639	  5640	  5641
	  5648	  5649	  5652	  5653	  5661	  5662	  5672#	  5688	  5688#	  5689	  5689#	  5692	  5693	  5694
	  5695	  5696	  5703	  5704	  5707	  5708	  5716	  5717	  5722	  5722#	  5723	  5726	  5727	  5728
	  5729	  5730	  5737	  5738	  5741	  5742	  5750	  5751	  5756	  5756#	  5757	  5760	  5761	  5762
	  5763	  5764	  5771	  5772	  5775	  5776	  5784	  5785	  5790	  5790#	  5791	  5794	  5795	  5796
	  5797	  5798	  5805	  5806	  5809	  5810	  5818	  5819	  5824	  5824#	  5825	  5828	  5829	  5830
	  5831	  5832	  5839	  5840	  5843	  5844	  5852	  5853	  5858	  5858#	  5859	  5862	  5863	  5864
	  5865	  5866	  5873	  5874	  5877	  5878	  5886	  5887	  5892	  5892#	  5893	  5896	  5897	  5898
	  5899	  5900	  5907	  5908	  5911	  5912	  5920	  5921	  5926	  5926#	  5927	  5930	  5931	  5932
	  5933	  5934	  5941	  5942	  5945	  5946	  5954	  5955	  5960	  5960#	  5961	  5964	  5965	  5966     SEQ 0401
	  5967	  5968	  5975	  5976	  5979	  5980	  5988	  5989	  5994	  5994#	  5995	  5998	  5999	  6000
	  6001	  6002	  6009	  6010	  6013	  6014	  6022	  6023	  6028	  6028#	  6029	  6032	  6033	  6034
	  6035	  6036	  6043	  6044	  6047	  6048	  6056	  6057	  6062	  6062#	  6063	  6066	  6067	  6068
	  6069	  6070	  6077	  6078	  6081	  6082	  6090	  6091	  6096	  6096#	  6097	  6100	  6101	  6102
	  6103	  6104	  6111	  6112	  6115	  6116	  6124	  6125	  6130	  6130#	  6131	  6134	  6135	  6136
	  6137	  6138	  6145	  6146	  6149	  6150	  6158	  6159	  6164	  6164#	  6165	  6168	  6169	  6170
	  6171	  6172	  6179	  6180	  6183	  6184	  6192	  6193	  6198	  6198#	  6199	  6202	  6203	  6204
	  6205	  6206	  6213	  6214	  6217	  6218	  6226	  6227	  6232	  6232#	  6233	  6236	  6237	  6238
	  6239	  6240	  6247	  6248	  6251	  6252	  6260	  6261	  6266	  6266#	  6267	  6270	  6271	  6272
	  6273	  6274	  6281	  6282	  6285	  6286	  6294	  6295	  6300	  6300#	  6301	  6304	  6305	  6306
	  6307	  6308	  6315	  6316	  6319	  6320	  6328	  6329	  6334	  6334#	  6335	  6338	  6339	  6340
	  6341	  6342	  6349	  6350	  6353	  6354	  6362	  6363	  6368	  6368#	  6369	  6372	  6373	  6374
	  6375	  6376	  6383	  6384	  6387	  6388	  6396	  6397	  6402	  6402#	  6403	  6406	  6407	  6408
	  6409	  6410	  6417	  6418	  6421	  6422	  6430	  6431	  6436	  6436#	  6437	  6440	  6441	  6442
	  6443	  6444	  6451	  6452	  6455	  6456	  6464	  6465	  6470	  6470#	  6471	  6474	  6475	  6476
	  6477	  6478	  6485	  6486	  6489	  6490	  6498	  6499	  6504	  6504#	  6505	  6508	  6509	  6510
	  6511	  6512	  6519	  6520	  6523	  6524	  6532	  6533	  6538	  6538#	  6539	  6542	  6543	  6544
	  6545	  6546	  6553	  6554	  6557	  6558	  6566	  6567	  6572	  6572#	  6573	  6576	  6577	  6578
	  6579	  6580	  6587	  6588	  6591	  6592	  6600	  6601	  6606	  6606#	  6607	  6610	  6611	  6612
	  6613	  6614	  6621	  6622	  6625	  6626	  6634	  6635	  6640	  6640#	  6641	  6644	  6645	  6646
	  6647	  6648	  6655	  6656	  6659	  6660	  6668	  6669	  6674	  6674#	  6675	  6678	  6679	  6680
	  6681	  6682	  6689	  6690	  6693	  6694	  6702	  6703	  6708	  6708#	  6709	  6712	  6713	  6714
	  6715	  6716	  6723	  6724	  6727	  6728	  6736	  6737	  6742	  6742#	  6743	  6746	  6747	  6748
	  6749	  6750	  6757	  6758	  6761	  6762	  6770	  6771	  6776	  6776#	  6777	  6780	  6781	  6782
	  6783	  6784	  6791	  6792	  6795	  6796	  6804	  6805	  6810	  6810#	  6811	  6814	  6815	  6816
	  6817	  6818	  6825	  6826	  6829	  6830	  6838	  6839	  6844	  6844#	  6845	  6848	  6849	  6850
	  6851	  6852	  6859	  6860	  6863	  6864	  6872	  6873	  6878	  6878#	  6879	  6882	  6883	  6884
	  6885	  6886	  6893	  6894	  6897	  6898	  6906	  6907	  6917#	  6936	  6936#	  6938	  6938#	  6942
	  6943	  6944	  6945	  6946	  6957	  6958	  6966	  6967	  6972	  6972#	  6974	  6978	  6979	  6980
	  6981	  6982	  6993	  6994	  7002	  7003	  7008	  7008#	  7010	  7014	  7015	  7016	  7017	  7018
	  7029	  7030	  7038	  7039	  7044	  7044#	  7046	  7050	  7051	  7052	  7053	  7054	  7065	  7066
	  7074	  7075	  7080	  7080#	  7082	  7086	  7087	  7088	  7089	  7090	  7101	  7102	  7110	  7111
	  7116	  7116#	  7118	  7122	  7123	  7124	  7125	  7126	  7137	  7138	  7146	  7147	  7152	  7152#
	  7154	  7158	  7159	  7160	  7161	  7162	  7173	  7174	  7182	  7183	  7188	  7188#	  7190	  7194
	  7195	  7196	  7197	  7198	  7209	  7210	  7218	  7219	  7224	  7224#	  7226	  7230	  7231	  7232
	  7233	  7234	  7245	  7246	  7254	  7255	  7260	  7260#	  7262	  7266	  7267	  7268	  7269	  7270
	  7281	  7282	  7290	  7291	  7296	  7296#	  7298	  7302	  7303	  7304	  7305	  7306	  7317	  7318
	  7326	  7327	  7332	  7332#	  7334	  7338	  7339	  7340	  7341	  7342	  7353	  7354	  7362	  7363
	  7368	  7368#	  7370	  7374	  7375	  7376	  7377	  7378	  7389	  7390	  7398	  7399	  7404	  7404#
	  7406	  7410	  7411	  7412	  7413	  7414	  7425	  7426	  7434	  7435	  7440	  7440#	  7442	  7446
	  7447	  7448	  7449	  7450	  7461	  7462	  7470	  7471	  7476	  7476#	  7478	  7482	  7483	  7484
	  7485	  7486	  7497	  7498	  7506	  7507	  7512	  7512#	  7514	  7518	  7519	  7520	  7521	  7522
	  7533	  7534	  7542	  7543	  7548	  7548#	  7550	  7554	  7555	  7556	  7557	  7558	  7569	  7570
	  7578	  7579	  7584	  7584#	  7586	  7590	  7591	  7592	  7593	  7594	  7605	  7606	  7614	  7615
	  7620	  7620#	  7622	  7626	  7627	  7628	  7629	  7630	  7641	  7642	  7650	  7651	  7656	  7656#
	  7658	  7662	  7663	  7664	  7665	  7666	  7677	  7678	  7686	  7687	  7692	  7692#	  7694	  7698
	  7699	  7700	  7701	  7702	  7713	  7714	  7722	  7723	  7728	  7728#	  7730	  7734	  7735	  7736
	  7737	  7738	  7749	  7750	  7758	  7759	  7764	  7764#	  7766	  7770	  7771	  7772	  7773	  7774
	  7785	  7786	  7794	  7795	  7800	  7800#	  7802	  7806	  7807	  7808	  7809	  7810	  7821	  7822
	  7830	  7831	  7836	  7836#	  7838	  7842	  7843	  7844	  7845	  7846	  7857	  7858	  7866	  7867
	  7872	  7872#	  7874	  7878	  7879	  7880	  7881	  7882	  7893	  7894	  7902	  7903	  7908	  7908#
	  7910	  7914	  7915	  7916	  7917	  7918	  7929	  7930	  7938	  7939	  7944	  7944#	  7946	  7950
	  7951	  7952	  7953	  7954	  7965	  7966	  7974	  7975	  7980	  7980#	  7982	  7986	  7987	  7988     SEQ 0402
	  7989	  7990	  8001	  8002	  8010	  8011	  8016	  8016#	  8018	  8022	  8023	  8024	  8025	  8026
	  8037	  8038	  8046	  8047	  8052	  8052#	  8054	  8058	  8059	  8060	  8061	  8062	  8073	  8074
	  8082	  8083	  8088	  8088#	  8090	  8094	  8095	  8096	  8097	  8098	  8109	  8110	  8118	  8119
	  8124	  8124#	  8126	  8130	  8131	  8132	  8133	  8134	  8145	  8146	  8154	  8155	  8160	  8160#
	  8162	  8166	  8167	  8168	  8169	  8170	  8181	  8182	  8190	  8191	  8196	  8196#	  8198	  8202
	  8203	  8204	  8205	  8206	  8217	  8218	  8226	  8227	  8237#	  8256	  8256#	  8258	  8258#	  8262
	  8263	  8264	  8265	  8266	  8273	  8274	  8292	  8292#	  8294	  8298	  8299	  8300	  8301	  8302
	  8309	  8310	  8328	  8328#	  8330	  8334	  8335	  8336	  8337	  8338	  8345	  8346	  8364	  8364#
	  8366	  8370	  8371	  8372	  8373	  8374	  8381	  8382	  8400	  8400#	  8402	  8406	  8407	  8408
	  8409	  8410	  8417	  8418	  8436	  8436#	  8438	  8442	  8443	  8444	  8445	  8446	  8453	  8454
	  8472	  8472#	  8474	  8478	  8479	  8480	  8481	  8482	  8489	  8490	  8508	  8508#	  8510	  8514
	  8515	  8516	  8517	  8518	  8525	  8526	  8544	  8544#	  8546	  8550	  8551	  8552	  8553	  8554
	  8561	  8562	  8580	  8580#	  8582	  8586	  8587	  8588	  8589	  8590	  8597	  8598	  8616	  8616#
	  8618	  8622	  8623	  8624	  8625	  8626	  8633	  8634	  8652	  8652#	  8654	  8658	  8659	  8660
	  8661	  8662	  8669	  8670	  8688	  8688#	  8690	  8694	  8695	  8696	  8697	  8698	  8705	  8706
	  8724	  8724#	  8726	  8730	  8731	  8732	  8733	  8734	  8741	  8742	  8760	  8760#	  8762	  8766
	  8767	  8768	  8769	  8770	  8777	  8778	  8796	  8796#	  8798	  8802	  8803	  8804	  8805	  8806
	  8813	  8814	  8832	  8832#	  8834	  8838	  8839	  8840	  8841	  8842	  8849	  8850	  8868	  8868#
	  8870	  8874	  8875	  8876	  8877	  8878	  8885	  8886	  8904	  8904#	  8906	  8910	  8911	  8912
	  8913	  8914	  8921	  8922	  8940	  8940#	  8942	  8946	  8947	  8948	  8949	  8950	  8957	  8958
	  8976	  8976#	  8978	  8982	  8983	  8984	  8985	  8986	  8993	  8994	  9012	  9012#	  9014	  9018
	  9019	  9020	  9021	  9022	  9029	  9030	  9048	  9048#	  9050	  9054	  9055	  9056	  9057	  9058
	  9065	  9066	  9084	  9084#	  9086	  9090	  9091	  9092	  9093	  9094	  9101	  9102	  9120	  9120#
	  9122	  9126	  9127	  9128	  9129	  9130	  9137	  9138	  9156	  9156#	  9158	  9162	  9163	  9164
	  9165	  9166	  9173	  9174	  9192	  9192#	  9194	  9198	  9199	  9200	  9201	  9202	  9209	  9210
	  9228	  9228#	  92