ASMB,L,C HED COMPILER LIBRARY - GET SEGMENT * *************************************************************** * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1977. ALL RIGHTS * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, RE- * * REPRODUCED, OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITH- * * OUT THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * *************************************************************** * * SOURCE: 19060-18062 * * * NAM OLY.C,7 92060-16103 780815 REV. 1901 $CLIB EXT EXEC,$OPSY ENT OLY.C ENT C.OLY ADDRESS OF CURRENT SEGS ID * * THIS COMPILER LIBRARY ROUTINE LOADS A NEW SEGMENT INTO MEMORY * AND TRANSFERS CONTROL TO IT. * * CALLING SEQUENCE: JSB OLY.C * DEF SEGID POINTER TO SEGMENT NAME * * OLY.C NOP ENTRY LDA OLY.C,I STA C.OLY SEGMENT NAME TRY JSB EXEC CALL THE SUPERVISOR DEF *+3 DEF SEGL C.OLY NOP LDA C.OLY SEGMENT NOT FOUND TRY TO RP IT INA STA N34 SET UP ADDRESSES FOR T5IDM INA STA N5 JSB EXEC CALL T5IDM TO LOAD THE SEGMENT DEF RTN DEF N23I DEF T5IDM DEF C.OLY,I N34 NOP N5 NOP DEF K1 RTN JMP EXIT ERROR RETURN JUST EXIT * LDA $OPSY FIGURE OUT HOW TO GET THE RETURN VALUE ERA,SLA TEST THE DMS BIT JMP DMS IF DMS INSTALLED JMP * LDA B,I ELSE JUST LOAD THE DATA JMP TS GO TEST THE RESULT * DMS XLA B,I DMS DO THE DMS CROSS LOAD TS SZA,RSS IF ZERO THEN THE SEGMENT WAS SET UP JMP TRY SO GO TRY AGAIN EXIT ISZ OLY.C SHOULD NOT RETURN JMP OLY.C,I IF IT RETURNS, EXIT * SEGL OCT 100010 T5IDM ASC 3,T5IDM N23I DEF 23,I K1 DEC 1 A EQU 0 B EQU 1 END