/* PLACE.INS.PLP, SEGSRC, KJC, 12/19/79 /* Insert file for subroutines PLACE /* Copyright (c) 1981, Prime Computer, Inc., Natick, MA 01760 /*******************************************************************/ declare word fixed binary(15); declare 1 buffer based, 2 page bit( 5) unaligned, 2 offset bit(11) unaligned; declare locpag entry(bin); declare errsev fixed bin static external; if addr(loadpt)->bits > addr(high1)->bits then high1 = loadpt; /* will change high location */ else; if addr(loadpt)->bits < addr(low1)->bits then low1 = loadpt; /* will change low location */ else; if segpnt = curseg(1) & addr(loadpt)->page = curpag(1) then; else do; curpag(1) = addr(loadpt)->page; call locpag(0); end; loasav = curbuf(1) + addr(loadpt)->offset;/* save location loaded */ addr(loadsg)->pointer->bin = word; /* load location */ loadpt = loadpt + 1; /*update load point*/ if loadpt = 0 & relflag = 0 then do; call tnou('SEGMENT WRAP AROUND TO 0',24); /* error checking */ errsev =1;end; else; return;