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 ; 0 - 5 TABSEP ; 6 - 14 TABSEP ; 15, 16, 17, 20 TABSEP TABSEP TABSEP TABSEP > DEFINE TABLE2,< UUO3: TABSEP TABSEP UUO4: TABSEP TABSEP TABSEP > DEFINE TABLE3,< UUO5: TABSEP TABSEP > DEFINE TABSEP (Y),< IRP Y, EXP Y >> TABLE1 HI.OP==.-UUO1. TABLE2 TABLE3 END