!* modified 12/01/85 !* %routine Copy(%integer Length,Fbase,Fdisp,Tbase,Tdisp) !*********************************************************************** !* copy Length bytes from fbase(fdisp) to tbase(tdisp) * !*********************************************************************** %integer I,From,To %if Length<=0 %then %return %if HOST=PERQPNX %thenstart From=Fbase<<1+Fdisp To=Tbase<<1+Tdisp %finishelsestart From=Fbase+Fdisp To=Tbase+Tdisp %finish %cycle I=0,1,Length-1 byteinteger(To+I)=byteinteger(From+I) %repeat %end;! Copy !* %routine Fill(%integer Length,Fbase,Fdisp,Filler) !*********************************************************************** !* fill Length bytes from fbase(fdisp) with Filler * !*********************************************************************** %integer I,From %if Length<=0 %then %return %if HOST=PERQPNX %thenstart From=Fbase<<1+Fdisp %finishelsestart From=Fbase+Fdisp %finish %cycle I=0,1,Length-1 byteinteger(From+I)=Filler %repeat %end;! Fill !* %routine Zero(%integer Addr,Length) !*********************************************************************** !* Set Length (a multiple of 4) bytes to zero * !*********************************************************************** %integer I %if HOST=PERQPNX %thenstart Length=Length>>1 %finish I=0 %while I