Google
 

Trailing-Edge - PDP-10 Archives - decuslib10-10 - 43,50517/uuohan.mac
There is 1 other file named uuohan.mac in the archive. Click here to see a list.
	TITLE	UUOHAN FOR RPGLIB
	SUBTTL	HANDLE UUO DISPATCHING


;	UUOHAN
;
;	THIS SECTION OF RPGLIB INTERCEPTS THE VARIOUS UUO'S
;	AND DISPATCHES TO THE APPROPRIATE ROUTINE.
;
;	BOB CURRIER	OCTOBER 17, 1975  17:00:12
;
;	ALL RIGHTS RESERVED
;

	HISEG

	ENTRY	UUO.			; CALL ME UUO.

;
;THIS ROUTINE IS CALLED BY A PUSHJ PP,UUO. WHEN OP-CODES 001-037 ARE USED
;THE OP-CODE AND AC FIELDS ARE USED TO DETERMINE WHICH ROUTINE TO ENTER.
;
;

UUO.:	MOVE	PA,.JBUUO##		; PICK UP THE UUO
	HRRZ	TA,(PP)			; GET THE UUO CALL RETURN ADDR
	MOVEM	TA,UOCAL.##		; SAVE IT IN UOCAL.
	LDB	TA,UUO			; GET THE OP-CODE FIELD
	CAIG	TA,HI.OP		; IS IT VALID?
	JRST	@UUO1.(TA)		; YES - DISPATCH

	OUTSTR	[ASCIZ "?Illegal UUO at user address "]
	HRLO	TD,(PP)			; GET PC
	PUSHJ	PP,PPOUT##		; TYPE IT
	JRST	DEATH##			; THAT'S ALL SHE WROTE

UUO.3:	LDB	TA,AC			; GET AC FIELD
	JRST	@UUO3(TA)		; AND OFF WE GO

UUO.4:	LDB	TA,AC			; GET AC FIELD
	JRST	@UUO4(TA)		; LEAP

UUO.5:	LDB	TA,AC			; GET AC FIELD
	JRST	@UUO5(TA)		; OFF TO OBLIVION


UUO:	POINT 9,PA,8			; THE OP CODE FIELD OF THE UUO
AC:	POINT 4,PA,12			; AC FIELD OF THE UUO


;DEFINE AC'S

	SW==0
	TA==10
	TD==11
	PA==16
	PP==17


DEFINE	TABLE1,<
UUO1.:	TABSEP	<ULOSE.,SUBSCR,ULOSE.,UUO.3,UUO.4,UUO.5>	; 0 - 5
	TABSEP	<ULOSE.,ULOSE.,FIX.,ULOSE.,ULOSE.,FLOT.1,FLOT.2>	; 6 - 14
	TABSEP	<PD6.,PD7.,GD6.,GD7.>	; 15, 16, 17, 20
	TABSEP	<NEG.,MAG.,ADD.12,ADD.21,ADD.22>
	TABSEP	<SUB.12,SUB.21,SUB.22>
	TABSEP	<MUL.12,MUL.21,MUL.22>
	TABSEP	<DIV.11,DIV.12,DIV.21,DIV.22>
	>

DEFINE	TABLE2,<

UUO3:	TABSEP	<COMP.,CMP.11,CMP.12,CMP.21,CMP.22,CMP.76,CMP.96,CMP.97>
	TABSEP	<SPAC.6,SPAC.7,SPAC.9,COMP%,CMP%11,CMP%12,CMP%21,CMP%22>

UUO4:	TABSEP	<MOVE.,C.D6D7,C.D6D9,C.D7D6,C.D7D9,C.D9D6,C.D9D7>
	TABSEP	<MVSGNR,MVSGN,TESTZ,TIME.,TIMED.,RSVWD.,TESTB>
	TABSEP	<SQRT.,DEBUG.>

	>

DEFINE	TABLE3,<

UUO5:	TABSEP	<SETOF.,SETON.,INDC.,ULOSE.,EXCPT.,.READ.,CHAIN.,DSPLY.>
	TABSEP	<ULOSE.,ULOSE.,ULOSE.,ULOSE.,ULOSE.,ULOSE.,ULOSE.,ULOSE.>

	>


	DEFINE	TABSEP (Y),<
	IRP Y,<IFNDEF Y,<EXTERNAL Y>
	EXP	Y
	>>




	TABLE1

HI.OP==.-UUO1.

	TABLE2

	TABLE3





	END