TITLE LNKCST - LOAD CUSTOMER LINK ITEMS MODULE FOR LINK SUBTTL D.M.NIXON/DMN/JBC/JNG/DZN/PAH 2-OCT-85 ;COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION 1974,1983,1986. ALL RIGHTS RESERVED. ; ; ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED ;ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND 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. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY ;TRANSFERRED. ; ; ;THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE ;AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT ;CORPORATION. ; ;DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS ;SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL. SEARCH LNKPAR,LNKLOW,MACTEN,UUOSYM,SCNMAC SALL ENTRY LNKCST EXTERN LNKSCN,LNKLOD,LNKCOR,LNKWLD,LNKLOG CUSTVR==0 ;CUSTOMER VERSION DECVER==5 ;DEC VERSION DECMVR==1 ;DEC MINOR VERSION DECEVR==2027 ;DEC EDIT VERSION SEGMENT ;LOCAL ACC DEFINITIONS INTERN R,RB,WC R=R1 ;CURRENT RELOCATION COUNTER RB=R+1 ;RELOCATION BYTE WORD WC=R3 ;WORD COUNT SUBTTL REVISION HISTORY ;START OF VERSION 2 ;START OF VERSION 2B ;363 UPDATE MINOR VERSION # ;START OF VERSION 2C ;465 Redo entire module, remove T.100. ;START OF VERSION 3A ;560 Release on both TOPS-10 and TOPS-20 as LINK version 3A(560) ;START OF VERSION 4 ;731 SEARCH MACTEN,UUOSYM ;765 Release on both TOPS-10 and TOPS-20 as LINK version 4(765) ;START OF VERSION 4A ;1174 Label and clean up all error messages. ;1217 Clean up the listings for release. ;1220 Release on both TOPS-10 and TOPS-20 as version 4A(1220). ;Start of Version 5.1 ;2026 Update copyright notice. ;2027 Update copyright notice. SUBTTL DISPATCH TABLES FOR CUSTOMER TYPES ;CUSTOMERS HAVE THE FOLLOWING TYPES RESERVED TO THEM: ; 40 - 77 ; 402 - 677 ; 2000 - 3777 ;WHERE 40-577 SHOULD BE USED FOR THOSE TYPES INVOLVING RADIX50, ;ONE OR TWO SEGMENTS, OR SINGLE LENGTH SYMBOLS (OLD STYLE BLOCKS), ;600-677 SHOULD BE USED FOR CUSTOMER SPECIAL FILE TYPES, AND ;2000-3777 SHOULD BE USED FOR BLOCK TYPES INVOLVING SIXBIT, ;EXTENDED SYMBOLS, OR MULTIPLE SEGMENTS (NEW BLOCK TYPES) ;ON THE OTHER HAND, CUSTOMERS CAN DO ANYTHING THEY PLEASE. ;DISPATCH FOR TYPES 40-77 CDSTB1: LITYPE (40,41) CDSTL1==.-CDSTB1 ;DISPATCH FOR TYPES 402-677 CDSTB2: LITYPE (402,403) CDSTL2==.-CDSTB2 IFN .NWBLK,< ;DISPATCH FOR TYPES 2000-3777 CDSTB3: LITYPE (2000,2001) CDSTL3==.-CDSTB3 > ;END OF IFN .NWBLK SALL SUBTTL DISPATCH TO LINK ITEM TYPE ;ENTER WITH LINK ITEM TYPE IN T1 ;ALSO IN W1 LNKCST: CAIL T1,40 ;IN FIRST RANGE? CAIL T1,40+2*CDSTL1 ;.. SKIPA ;NO, CHECK OTHER RANGES JRST CSTYP1 ;YES, GO HANDLE CAIL T1,402 ;HOW ABOUT 2ND RANGE? CAIL T1,402+2*CDSTL2 ;.. IFE .NWBLK,< JRST E$$IRB## ;[1174] NEW BLOCK TYPES NOT IMPLEMENTED > ;END IFE .NWBLK IFN .NWBLK,< SKIPA ;NO, MUST BE 3RD RANGE JRST CSTYP2 ;OK, GO DISPATCH CAIL T1,2000 ;IN NEW CUSTOMER RANGE? CAIL T1,2000+2*CDSTL3;.. JRST E$$IRB## ;[1174] SNH,GIVE ERROR MESSAGE HRREI T2,-<2000+CDSTL3>(T1) ;OFFSET TYPE JUMPGE T2,.+2 ;IF NEGATIVE, USE RHS SKIPA T2,CDSTB3+CDSTL3(T2) ;USE RIGHT HALF HLRZ T2,CDSTB3(T2) ;USE LEFT HALF JRST (T2) ;DISPATCH > ;END IFN .NWBLK CSTYP2: HRREI T2,-<402+CDSTL2>(T1) ;OFFSET TYPE JUMPGE T2,.+2 ;IF NEGATIVE, USE RHS SKIPA T2,CDSTB2+CDSTL2(T2) ;USE RIGHT HALF HLRZ T2,CDSTB2(T2) ;USE LEFT HALF JRST (T2) ;DISPATCH CSTYP1: HRREI T2,-<2000+CDSTL1>(T1) ;OFFSET TYPE JUMPGE T2,.+2 ;IF NEGATIVE, USE RHS SKIPA T2,CDSTB1+CDSTL1(T2) ;USE RIGHT HALF HLRZ T2,CDSTB1(T2) ;USE LEFT HALF JRST (T2) ;DISPATCH SUBTTL THE END CSTLIT: END