Google
 

Trailing-Edge - PDP-10 Archives - klad_sources - klad.sources/dbkcet.mac
There are no other files named dbkcet.mac in the archive.
;MAINDEC-10-DBKCE

DECVER=003
MCNVER=000

	XLIST
DEFINE	NAME	(MCNVER,DECVER),<
TITLE	DBKCE	PDP-10 KI10 ADVANCED INSTRUCTION DIAGNOSTIC #5, VERSION MCNVER,DECVER >
	LIST
	LALL

NAME	\MCNVER,\DECVER

;(DOUBLE FLOATING POINT INSTRUCTIONS - DFAD, DFSB, DFMP, DFDV)

;COPYRIGHT 1972, 1973, 1974, 1975
;DIGITAL EQUIPMENT CORPORATION
;MAYNARD, MASS.  01754

;JOHN R. KIRCHOFF
;LINDA GARLAND

LOC	137
MCNVER,,DECVER
	NOSYM
SUBTTL	DIAGNOSTIC PARAMETERS

;OPERATOR DEFINITIONS

OPDEF	DFAD	[110B8]
OPDEF	DFSB	[111B8]
OPDEF	DFMP	[112B8]
OPDEF	DFDV	[113B8]
OPDEF	DMOVE	[120B8]
OPDEF	DMOVN	[121B8]
OPDEF	DMOVEM	[122B8]
OPDEF	DMOVNM	[123B8]

OPDEF	ER1	[1B8]
OPDEF	ER2	[2B8]
OPDEF	ER3	[3B8]
OPDEF	ER4	[4B8]
OPDEF	ER5	[5B8]
OPDEF	ER6	[6B8]
OPDEF	ER7	[7B8]
OPDEF	ER10	[10B8]
OPDEF	ER11	[11B8]
OPDEF	ER12	[12B8]
OPDEF	ER13	[13B8]

LUUO1==ERRMES
LUUO2==ERRMES
LUUO3==ERRMES
LUUO4==ERRMES
LUUO5==ERRMES
LUUO6==ERRMES
LUUO7==ERRMES
LUUO10==ERRMES
LUUO11==ERRMES
LUUO12==ERRMES
LUUO13==ERRMES

;SUBROUTINE ASSEMBLY DEFINITIONS

DEBUG=100
EXCASB=1
USRASB=1
KI10=1
KL10=1
KL10P0=1
PGMEND=1
ERDIAG=1
KLOLD=1
MODDVU=BEGIN
MODDVL=BEGIN
;MACROS

DEFINE	SAVEAC	(A,B)<
	MOVEI	AC+4,.
	MOVEM	AC+4,TESTPC	;SETUP SUBTEST PC
	MOVEI	AC+4,<AC+4>&17	;INFORM ERROR ROUTINE WHICH
	MOVEM	AC+4,ERRLOP#	;AC IS USED FOR ITERATION>

;BEGIN ASSEMBLY PARAMETERS

SADR1=BEGIN
SADR2=RESRT1
SADR3=RENTR1
SADR4=BEGIN
SADR5=BEGIN
SADR6=BEGIN
SADR7=0
SADR8=0
SADR9=0
SADR10=0
SADR11=0

PAREA1=0
PAREA2=0
PAREA3=SIXBIT/DBKCE/
PAREA4=SIXBIT/PNT/
PAREA5=0
PAREA6=0

ITERAT=1000
DEFINE	DFA	(T,A,B,C,D,E,F,G,H,I,M,K,L)	<
S'T'00:	DMOVE	AC,[A,,B
		C,,D]
	DFAD	AC,[E,,F
		G,,H]
	CAME	AC,[I,,M]
	ER3	AC,T'01
	CAME	AC+1,[K,,L]
	ER4	AC+1,T'01
	JUMPL	AC+4,S'T'00	;LOOP ON ERROR SWITCH>

DEFINE	DFS	(T,A,B,C,D,E,F,G,H,I,M,K,L)	<
S'T'00:	DMOVE	AC,[A,,B
		C,,D]
	DFSB	AC,[E,,F
		G,,H]
	CAME	AC,[I,,M]
	ER3	AC,T'01
	CAME	AC+1,[K,,L]
	ER4	AC+1,T'01
	JUMPL	AC+4,S'T'00	;LOOP ON ERROR SWITCH>

DEFINE	DFM	(T,A,B,C,D,E,F,G,H,I,M,K,L)	<
S'T'00:	DMOVE	AC,[A,,B
		C,,D]
	DFMP	AC,[E,,F
		G,,H]
	CAME	AC,[I,,M]
	ER3	AC,T'01
	CAME	AC+1,[K,,L]
	ER4	AC+1,T'01
	JUMPL	AC+4,S'T'00	;LOOP ON ERROR SWITCH>

DEFINE	DFMKL	(T,A,B,C,D,E,F,G,H,I,M,K,L,KL1,KL2,KL3,KL4)	<
S'T'00:	DMOVE	AC,[A,,B
		C,,D]
	DFMP	AC,[E,,F
		G,,H]
	SKIPE	KLFLG
	JRST	S'T'05
	CAME	AC,[I,,M]
	ER3	AC,T'01
	CAME	AC+1,[K,,L]
	ER4	AC+1,T'01
S'T'06:	JUMPL	AC+4,S'T'00		;LOOP ON ERROR SWITCH
	JRST	S'T'07

S'T'05:	CAME	AC,[KL1,,KL2]
	ER3	AC,T'01
	CAME	AC+1,[KL3,,KL4]
	ER4	AC+1,T'01
	JRST	S'T'06

S'T'07:	JRST	.+1	>

DEFINE	DFD	(T,A,B,C,D,E,F,G,H,I,M,K,L)	<
S'T'00:	DMOVE	AC,[A,,B
		C,,D]
	DFDV	AC,[E,,F
		G,,H]
	CAME	AC,[I,,M]
	ER3	AC,T'01
	CAME	AC+1,[K,,L]
	ER4	AC+1,T'01
	JUMPL	AC+4,S'T'00	;LOOP ON ERROR SWITCH>
DEFINE	DFDKL	(T,A,B,C,D,E,F,G,H,I,M,K,L,KL1,KL2,KL3,KL4)	<
S'T'00:	DMOVE	AC,[A,,B
		C,,D]
	DFDV	AC,[E,,F
		G,,H]
	SKIPE	KLFLG
	JRST	S'T'05
	CAME	AC,[I,,M]
	ER3	AC,T'01
	CAME	AC+1,[K,,L]
	ER4	AC+1,T'01
S'T'06:	JUMPL	AC+4,S'T'00		;LOOP ON ERROR SWITCH
	JRST	S'T'07

S'T'05:	CAME	AC,[KL1,,KL2]
	ER3	AC,T'01
	CAME	AC+1,[KL3,,KL4]
	ER4	AC+1,T'01
	JRST	S'T'06

S'T'07:	JRST	.+1	>
DEFINE	DFARP	(T,A,B,C,D,E,F,G,H,I,M,K,L)	<
	DMOVE	AC,[A,,B
		C,,D]
	DFAD	AC,[E,,F
		G,,H]
	CAME	AC,[I,,M]
	ER3	AC,T
	CAME	AC+1,[K,,L]
	ER4	AC+1,T
	JUMPL	AC+4,.-^D6	;LOOP ON ERROR SWITCH>